Github Page

레이블이 RF-RTLS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 RF-RTLS인 게시물을 표시합니다. 모든 게시물 표시

10/29/2025

Nordic BLE Channel Sounding

1. Nordic BLE Channel Sounding 

RF-RTLS(TI Channel Sounding)
RTLS의 이해 필요 와 이전 TI BLE Channel Sounding 참고 (아참 Beacon 기반이 아님,주의)
각 Chip 제조사 별로 나중에 각 비교를 해보자. 

RF Radar 와 RF Communication 비교 
Range 측정은 Radar 1개 가능하지만, RF Communication 최소 2개 이상 필요 



  • BLE 6.0 BLE Channel Sounding 소개 
글을 읽어보면, BLE 6.0 Key Feature이며, PBR을 이용하여 거리 감지 가능하다. 
처음에는 자료가 못 구해서, 이게 Beacon 기반인 줄 착각했다. (Beacon 암호화 <-이곳에 꽂혀서)
쉽게 설명하면, BLE Channel을 생성하여, Sound 즉 일종의 Tone(PBR) 신호를 보내서 Radar처럼 거리를 감지하는 기술이다.  
물론 좀 확장되면, Radar 처럼 AoA도 가능할 것이지만, 매번 BLE Demo에는 빠져있다. 
RF 통신 기반이므로, 당연히 기기는 2개 이어야 가능하다. 

  • BLE 의 Nordic Channel Sounding Demo
아래 Nordic Demo를 보면, AoA까지는 안되는 듯하며, Range만 즉 거리만 가능한 것 같다.  


  • Nordic BLE Channel Sounding 
BT/BLE를 개발을 해본 사람이라면, 모르는 회사는 아닐 듯하다.
저번에 TI BLE Channel Sounding 데모를 보고, AoA 언급을 한 것 같은데, Noridc도 아직 AoA는  안될 듯하다.



  • Nordic 3rd Party Product 
관련 제품 군들을 나중에 이곳에서 찾아 보자 


  • Nordic BLE Channel Sounding 
  1. BLE Chip 정보 와 EVM 확인 
  2. 내가 가지고 있는 nRF7002DK는 안됨 
아래는 Initiator /Reflector 이며, 아래 이해하려면 우선 상위 이전 RTLS의 TI BLE Channel Sounding부터 이해하고 각 역할을 좀 더 보도록하자.

Initiator 

Reflector 
  https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/channel_sounding_ras_reflector/README.html

  • Nordic 의 BLE Channel Sounding
  1. Ranging Service Specification  각 확인 
  2. Ranging Profile Specification  각 확인 
  3. IFFT SIZE 즉 Sampe 갯 수 확인 
    1. Inverse 사용하는 이유는 보통 신호복구 


  • Nordic BLE Channel Sounding TEST Result
Anthena 4개이면, AoA도 될 듯한데, 언급이 없으며, 문서를 좀 자세히 읽어 보면, 각 Anthena를 Switch를 진행을 한다.
아직 AoA / AoD에 대한 언급 아직 없다. 



2. Nordic BT/BLE Tools

BLE를 다시 개발하면, 그 때 다시 사용해보도록 하겠으며, 항상 Nordic Tool들은 추천한다. 

보통 nRF Connect Tool 가장 많이 이용하지 않나 싶다. 
관련 BLE Profile 분석 확인 
ESP32로 BLE 개발을 해도, 필요하다. 

  • Mobile 용 BT/BLE Tools
  1. nRF Connect Device Manager : 각 Profile 분석/ Scan 기능 부터 다양하게 제공 
  2. nRF Edge Impuse 지원: Edge AI(TinyML)
https://docs.nordicsemi.com/category/nrf-tools


   

  • Nordic BT/BLE Tools
개인적으로 너무 좋으며, 이외 다양하게 최근에 다양하게 제공을 해주는 듯하다. 
나도 나중에 다시 개발을 할 경우, 다시 써보고 나서 말을 하는 것이 좋겠다. 
  1. nRF Sniffer의 경우, 나중에 Wireshark와 연결되는 지 확인 
    1. 왠지 Wireshark과 될 듯하다. 
https://docs.nordicsemi.com/category/nrf-tools



nRF 관련 Tool 
이게 더 Mobile 과 Desktop 같이 나오니 더 편하게 Download 가능할 듯하다.

BLE Sniffer 
나중에 이 부분은 가능하다면, 비교를 해보도록 하겠다. 
  https://novelbits.io/bluetooth-low-energy-ble-sniffer-tutorial/


2.1 BLE Sniffer 과 Wireshark

Wireshark는 Ethernet /USB/ WIFI 비롯하여 거의 pCap만 되면, 거의 된다.
꼼수로 기존 것을 이용해서 본인이 만들어도 좋다. 

  • ESP32 BLE Sniffer
참고로, WIFI Sniffer도 별도로 만드는 것도 가능 한듯하다. (별도로 테스트를 안 해봄) 


2.2 WIFI Sniffer 와 Wireshark

WIFI와 BLE는 항상 거의 같이부터 다니므로, 이 부분도 같이 기술을 하도록 한다. 

  • ESP32 Wireshark(WIFI)
EspressIF Manual은 전제는 PC의 WIFI가 monitor 모드가 지원될 경우이다. (착각하시지 마시길)
PC의 WIFI의 경우, Driver에 따라 동작 모드가 제한이 있으므로 반드시 확인하시길 
특히, Broadcom WIFI는 제공을 안 하며, 제공하지 않는 칩 제조사도 많다. 


WLAN
참고로, 상위내용을 더 설명하면, 각 WIFI의 경우, MLME로  걸쳐서, Ethernet2로 나오는 경우가 많다.
각 세부 사항을 알고 싶다면, WIFI Driver 내부까지 알아야 하며, 각 칩 제조사의 WIFI Driver는 대충알아야 할 듯하다. 
(요즘 WIFI Driver 직접 개발하지 않아 잘 모르겠으나, 예전에는 다 달랐으며, 아래참조)


  • ESP32 WIFI Sniffer
본인이 ESP32에서 Sniffer 직접 만들어서, tcpdump를 이용해서 적용 하는 방법도 존재한다. 
ESP32 WIFI 의 경우, 거의 모든 WIFI 기능을 마음대로 제공해서, 최적의 Sniffer가 아닐지 생각이 쉽다. 
(솔직히 이렇게 WIFI를 마음대로 Control하게 해주는 곳은 Chip 제조사 거의 본 적이 없는 듯하다)
나중에 시간이 되면, 이것을 만들도록 하겠다. 

6/14/2025

RF RTLS WIFI Sensing Array

1. WIFI Sensing 과 RTLS

RF Communication 과 RF Radar 비교 

WIFI Sensing 
설명이 잘되어 있음 

RF Radar  
FMCW 의 Radar 를 이해 와 Anthena 이해


2. WIFI Sensing Array 

Radar의 Cascade 처럼, 각 Clock을 맞추어 여러 ESP32 기반으로 Anthena 구성 후, 이를 Radar 처럼,  
WIFI Sensing Array 가 어떻게 동작하는지 이해가 되지 가 않아 정리만 한다.

개인적으로 RTLS 관련 사항을 보다가, 이걸 보고 많이 충격이었으며, 
많은 부분이 이해 안 가지만, 아래와 같이 간단히 정리하면서 더 지켜보도록 하겠다. 
이유는 WIFI 뿐만 아니라, C-V2X/BLE/5G 에도 관심이 있기 때문이다. 


2.1 H/W Boards 구성 

  • Radar Antenna 구조이해 
TI Radar 의 Antenna 구조 와 Virtual Array 자료분석 
Radar부분을 이해하면 쉽게 이해가 가능하다 


  • Sensor Board (2.5GHz 기반으로 Antenna 설계) 
  1. λ / 2 antenna spacing (60mm)
  2. 8×RHCP ceramic patch antennas 
  3. U.FL / SMA (not placed) reference signal input
2.5Ghz  Lamda/2 를 구하면,  Lamda = (3e8/2.5e9)/2  = 0.12m= 120mm -> Lamda/2 = 60mm

Patch 안테나도 사용별도 사용하는 듯하다. 

https://espargos.net/setup/

  • Controller Board 
  1. U.FL / SMA (not placed) reference signal output
분명히 Controller Board가 각 Clock 싱크도 관여를 할텐데, 이 부분도 알 수 있다 추후~~
RF Calibration 과 밀접하므로 이 부분은 WIFI Clock Sync에서 자세히 알아 보도록하자. 

  • ESP32 의 구성 설명 
처음에는 ESP32(WIFI)는 내부에 I/Q Mixer 가 없는 줄 알았으나, 아닌가 보다, 
이 부분 때문에 ESP32 Reference Design Guide 부터 각 Datasheet 여러 부분을 봤는데, 아래 내용은 없다.

  • WIFI Sensing Array(8)x4 확장 구조 
ESP32x8 개 WIFI Sensing Array를 4개 씩 묶어서 더 확장하여 사용한다. 
  1. Sensor Board(WIFI Sensing Array)
  2. Control Board 
    1. Clock + Phase Reference Generator: PA가 있음 (WIFI Phy?)
    2. -3dB : 아마 50옴 일듯 (Signal Reflection 제거)



  • WIFi Sensing Array x 4 확장 Python 소스 
Sensor Board(8 WIFI Sensing Array)x4
32=  8x4개로 묶어서 상위와 같이 구조로 구성 



  • ESP32의 외부 Phy 확장사용여부 파악  (PA/LNA)
PA를 외부에서 연결되어 공급해서 하는 것 같은데 좀 이해가 되지 않아, 내부 이미 PA가 있을텐데, 구조가 좀 이해가 되지 않아, 
외부에 별도의 Phy(Tranceiver)를 가 있는 회로도 or 구조도 가 있나 해서 구해봤는데 인터넷에서 찾았다.

https://www.crowdsupply.com/bison-science/esp32-m1-reach-out




2.2 WIFI Clock Sync

  • TI Radar Cascade 구조 및 분석
Radar에서 Cascade에서 Clock Sync가 중요하므로 이 부분 참조 

각 Clock 동기화이며, 추후 이 부분 좀 더 자세히 

  • Clock distribution
기본 8개로 ESP32 로 WIFI Sensing Array 구성 
https://www.youtube.com/watch?v=sXwDrcd1t-E


  • Clock distribution and Phase Sync 
처음에 PLL로 Sync로 맞추는 지 알았더니, 1개 Refrence ESP32 WIFI 로 각 Phase Sync를 별도로 맟춘다.
즉 Phase Sync 맞추기 위해서 별도로 1개 필요하지만, 나중에 TEST 시 필요가 없는 듯 (Power on/off 할 때마다 왠지 필요 할 듯 하다)
  • Calibration Python 소스 


2.3 WIFI 의 RTLS  

  • RF RTLS 와 BLE의 Channel Sounding 
TI Demo BLE5.x Channel Sounding 의 경우, Radar 처럼 1개가 아니라 2개의 BLE Device 로 Range를 측정 (가장 비슷하니라 본다?)   
  1. TDOA(Time Difference of Arrival)  
  2. AoA(Angle-of-Arrival)
  3. AoD(Angle of Departure)

  • RF Radar 와 RF Communication(WIFI/BLE) 비교
MIMO의 AoA를 이해하고 Antena 구조도 이해 


  • TDOA  Python 소스 
TDOA(Time Difference of Arrival)  
TDOA를 좀 깊게 보면, 기본이 삼각측량이 기반인 것 같으며, 최소 3/4개 이상의 Anchor 기반으로 측정하는 듯하다.
또한 2개 가지고는 위치파악은 힘들 것 같으며, 3개 사용하면 삼각측량이며, 4개 사용하면 좀 더 정확해질 것이다. (아마 3D?)
현재 여기서 데모를 보면, Anchor를 여러개 사용했을 때만 사용하는 듯 하다 

  • AoA Python 소스 
AoA(Angle-of-Arrival) 각 Phase 차이를 어떻게 보는지 이며, 이것을 어떻게 사용하는지가 가장 궁금하다. 
Phase over Time으로 하면, 각 Packet 도착시 Phase 차이 시간축으로 보느냐?
Phase over Space으로 하면, 각 Packet 도착시 Phase 차이 공간축으로 보느냐? 

  • TDoA/AoA 기반으로 동작기반의 MUSIC 알고리즘 사용
이미 각 시간들을 시간 오차를 계산을 한 듯 하다(TDoA)
각 위치가 있으니 ESP32 위치 배열이 있으니 (AoA)
내가 이상하게 느끼는 것은 수직(Angle-Elevation)은?
https://www.youtube.com/watch?v=sXwDrcd1t-E

  • Demo 확인 
TDOA(Time Difference of Arrival)  의 Anchor는 4개 사용 ( 이부분 보다 AoA?)
AoA(Angle-of-Arrival) 사용 
근데,AoD(Angle of Departure)의 언급이 없어  이부분 사용여부도 좀 궁금? 
https://www.youtube.com/watch?v=sXwDrcd1t-E




2.4 WIFI Sensing Array 관련 내용

  • 상위 개발 사이트
상위 관련 사이트 

아래를 봐도 동시에 WIFI  8 Channel 의 CSI 로 I/Q 시그널 기반으로 분석 하는 듯 하다 
https://espargos.net/setup/


  • WIFI Sensing Array Experiment Setup
  1. Experiment Setup :  RADAR의 Reflector 와 비슷
  2. Receiver Array Setup :  공개 
  3. Point Cloud :  거의 4D RADAR 와 비슷하게 할 거 같은데, 

  • Github 기반 소스 
Github 의 Python 기반으로 각 테스트 소스 제공 


  • 추후 반드시 다시 봐야 할 것
일단 아래의 알고리즘 부터 동작 원리를 이해를 해야 할 듯하다 
이외 아직 아래 부분들은 이해를 못해 링크만 

Channel Chartering 
나중에 시간이 되면 , 더 보도록 하겠으며, 이를 링크만 

MUSIC(Multiple Signal Classification)
Anthena Arrary로  신호 방향을 추정하는 알고리즘 

11/15/2024

RF RTLS 의 개념

1. RTLS  개념 

주로 RF 통신기반으로 나오는 이야기 이며, 위치를 파악하는 기술이다. 

  • RTLS(Real Time Location System, Real Time Tracking System)
RF에서 가끔 나오는 이야기이며, GPS 없이 위치를 파악하는 기능

  • AoA(Angle of Arrival)
최소 2개 이상의 Anthena를 이용하여 들어오는 신호 위상(Phase)차이를 이용하여 방향을 감지하는 방법이다.
Anthena 의 설계에 따라 다르겠지만, 좀 깊게 들어가면, Angle-Azimuth 와 Angle-Elevation 으로 2가지 방향으로 설계가 가능하며, Radar를 보면 쉽게 이해가 간다. 

  • Radar 의 AoA 이해 
Radar의 AoA를 이해를 하면  최근 BLE의 AoA도 금방이해가능하며, 구지 깊게 설명 

Radar의 전반 이해 (Antena)
Radar 에 전반적인 이해 



2. BLE의 RTLS 

최근에 TI가 Channel Sounding과 함께 Demo를 보여줘서 RTLS 부분을 간단히 정리한다.
아래에서 한글자료들을 찾았으며, 간단히 링크만 


  • RTLS의 용어 및 설명 
  1. Angle of Arrival (AoA)    -> Radar 와 거의 동일  
    1. N 개의 RX Anthena 를 이용하여, 도착시간의 차이를 Phase 차이로 계산 
  2. Time of Arrival (ToA)      -> Network Ping과 유사
    1. ToF라고도 하며, 왕복거리를 걸린 시간으로 나누면 됨 
  3. Time Difference of Arrival (TDOA)  -> Time Sync를 어떻게 맞출지가? 
    1. 2개 이상에서 Anchor들 사이 ToA or ToF 기반으로 위치 측정 , 삼각측량과 비슷 
  4. Received Signal Strength (RSS)      -> 거의 이제 잘 사용하지 않는 것 같음 
    1. 각 Channel의 RX 신호 세기
  5. Time of Flight (ToF)                     -> RF의 경우, Beacon Packet RTT 계산? 


  • RTLS AoA BLE Beacon 기반으로 설명 
BLE기반으로 한글로 잘 설명해주셔 감사 

  • TI Wireless connectivity->RTLS
  1. AoA(Angle-of-Arrival):  
    1. RX의 Anthena 는 최소 2개 이상필요하며, Radar 거의 유사 
    2. n개의 RX Anthena의 Phase 차이로 위치를 파악 
  2. AoD(Angle of Departure)
    1. TX의 Anthen 최소 2개 이상 필요  
    2. RX에서 아래 그림 같은 구조 
    3. Beaforming으로 TX 다중 안테나를 이용하여 하는 것 같음



  1. AoA(Angle-of-Arrival) :  수신측(RX) 기반으로 안테나 최소 2개 이상으로 RX에서 Angle 파악 
  2. AoD(Angle of Departure): 송신측(TX) 기반으로 방향감지 Packet 전송에서 RX Angle 파악 

AoA의 결론 
RX 의 안테나 최소 2개 이상으로, 아래와 같이 Radar 와 거의 동일하게 측정하는 것 같다.

https://dev.ti.com/tirex/explore/node?node=A__AQ0TYkLXd7cPWtNUtMqjSw__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST 



1.2 BLE 의 Channel Sounding (RTLS) 

BLE의 새로운 기술  Channel Sounding 이라고 하며 거의 Radar와 비슷하다. 

RF Radar 와 RF Communication 비교 
Radar 1개이면 Range 측정이 가능하지만, RF Communication 2개 이상 필요 

  • Channel Sounding
BLE에서 2개로 통신을 하면서 Beacon 기반?으로 Radar처럼 Range 와 방향을 찾는 기술인 것 같으나, 현재 아래 TI 데모를 보면, Range만 측정가능 하다   
Radar 의 Chirp처럼 지속적인 신호를 보내는 것을 명시 되었으면 좋은데, 아직 별다른 명시가 되어 있지 않아, 추후 좀 더 이 부분은 찾아보도록 하겠다. 


Channel Sounding Range 측정방법  
  1. Phased-Based Ranging (PBR)
  2. Round-Trip Time (RTT) 

아래의 TI 데모 자료에도 AoA의 언급이 없음 
링크도 깨짐

  • Phased-Based Ranging (PBR)
FMCW Radar 처럼 Phase 차이로 손쉽게 Range를 측정
아래의 initiator 가 되돌아온 Frequency Phase 차이로 Range 파악가능 
거의 Radar와 비슷하며, 다만 통신이기에 2개의 Device를 사용을 해야 한다. 
제대로만 된다면, AoA도 괜찮게 될 듯하다. 


https://www.bluetooth.com/learn-about-bluetooth/feature-enhancements/channel-sounding/

  • Round-Trip Time (RTT) 
Packet의 ToF 기반으로 거리를 추정하는 것으로 모든 곳에서 사용이 되어지며, 사실 BLE 가 아니더라도 WIFI 비롯하여 어디듯 사용가능하다. 
https://www.bluetooth.com/learn-about-bluetooth/feature-enhancements/channel-sounding



  • Phase 차이로 쉽게 Radar 처럼 Range 측정 (TI 자료,AoA 설명은 없음)
4 Bluetooth Channel Sounding Flow for Phase-Based Ranging
Appendix A: Basics of Phase Based Ranging and Multi-Carrier Phase Ranging
LO initiator 와 LO Refrector 의 Clock Sync? 누가 맞추는지?


https://www.ti.com/lit/an/swra791/swra791.pdf


  • Channel Sounding Flow 
  1. CS Step Mode 0  :  양쪽 Clock Sync  (상위 문제는 이곳에서?)
  2. CS Step Mode 2  :  PBR 시작 
  3. BLE Data : 반사파 받아 이를 Range 측정 

  • Channel Sounding 와 Clock Sync 
상위 의 Clock Sync의 답일 듯하며, 다만 Calibration 방식으로 2개 가 일정 거리를 유지해야 보정이 될 듯하다.  
예를 들면, 10m 로 하고 RF Calibration 방식으로 2개의 Clock의 Sync를 맞추는 것이다. 

  • Channel Sounding PBR 신호 
FMCW Radar의 Chirp 과 유사하지만 다름  
아래를 봐도 Ramp 신호기반 PM 방식?  FMCW 의 Chirp 거의 유사하지만, 아래를 그림보면 X축이 시간 축이 없어서 일단 나도 확실히 장담을 못함 (Y: Phase , X: Frequency)



  • Channel Sounding Security 
거리 기반으로 보안을 높인다고 하는 것 같은데, 이 부분은 추후 더 확인을 해봐야 할 듯하다.
현재 생각으로는 RTT를 범위를 벗어나 것을 무시? (현재 생각?)

RTT
  1. Initiator ToD -> Reflector ToA = ToF
  2. Reflector ToD -> Initiator ToA = ToF

https://www.ti.com/lit/an/swra791/swra791.pdf

  • TI의 Channel Sounding 기술 Demo 
자세한 설명이 없어, BLE의 Phy칩에서 Beacon기반으로 상위 Refletor로 반사파를 보내주는 것으로 생각?? (추측, 근데 지속성은?, 특정채널?) 
일단 Initiator 와 Refector 와 Clock Sync를 어떻게 맞추는지는 잘 모르겠으며, TI에서 제공하는 상위 Channel Souding Draft Specfication 의 링크도 깨짐  
현재 결론은, 
PBR TX 신호를 보내기 전에, Clock Sync 통신으로 맞추고,  이후 특정 채널을 이용하여 그냥 Signal Reflecting 되어서 이를 Phase 감지하는 기술로 생각하면 될 것으로 추측되어짐  
다만 FMCW Radar처럼 Chirp Design이나 이런 부분은 별도로 거의 설명이 없고, BT의 어느패킷 과 채널 인지도 세부 내용은 더 찾아 봐야 할 듯하다  

FMCW Radar처럼 AoA까지 된다고 하면, RX 의 안테나 설계에 따라 방향도 감지 가능할 것이다.
아쉬운 점은 상위 TI에서도 RTLS의 AoA 를 문서로 남겼지만, BLE Channel Sounding에는 별도 언급이 없고,  Range만 측정 가능한 걸로 보인다.   


  • WIFI 의 의문?
현재는 왜 WIFI는 비슷한 기술이 나올 만 한데, 나중에 시간이 되면 좀 더 찾아 보도록 하겠다. 
 

  • TI BLE Channel Sounding 기술 시연
아래 기술시연을 보면, AoA는 아직 아닌 것 같으며, Range만 가능