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):  RX기준
    1. RX의 Anthena 는 최소 2개 이상필요하며, Radar 거의 유사 
    2. n개의 RX Anthena의 Phase 차이로 위치를 파악 
  2. AoD(Angle of Departure): TX기준
    1. TX의 Anthen 최소 2개 이상 필요  
    2. RX에서 아래 그림 같은 구조 
    3. Beamforming으로 TX 다중 안테나를 이용하여 하는 것 같음



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

AoA의 결론 
RX 의 안테나 최소 2개 이상으로, 아래와 같이 Radar 와 거의 동일하게 측정하는 것 같다.
  1. d = Antenna-1 - Antenna-2  --> 안테나 사이 거리 (보통 lamda/2)
  2. theta = phase diffrence (Antenna-1 and Antenna-2) 의 time 
  3. r = phase difference 의 distance 
  4. r = d sin(theta)

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
  1. Initiator   TX 송신 
  2. Reflector RX 수신 후 Mixer를 통해 LO 와 Phase difference 확인 
  3. Reflector TX 송신 시 Phase difference(offset) 적용
  4. Initiator  RX 수신 
2개의 Device가 존재하므로, 
LO initiator 와 LO Refrector 의 Clock Sync? 누가 맞추는지? (안 맞춘다면 어떻게 보정하는지?)


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


Appendix A: Basics of Phase Based Ranging and Multi-Carrier Phase Ranging
상위에서 언급한,  Phase offset(difference)  의 세부 적용은 아래 theta 와 같다. 
FMCW Radar를 이해했다면, 그리 어렵지 않다. 
  • Channel Sounding 과 LO Clock Sync
상위 Clock Sync의 답일 듯하며, 다만 LO Calibration 방식으로 2개 가 일정 거리를 유지해야 보정이 될 듯하다.(개인생각으로 )
예를 들면, 10m 로 하고 RF Calibration 방식으로 2개의 LO Clock의 Sync를 맞추는 것이다. 
만약, 아무런 조정(Calibration)을 안하다면, Offset 값으로 조정해서 맞출 것 같다. 


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

PBR(Phase-Based Ranging)
  • Channel Sounding PBR 신호 
FMCW Radar의 Chirp 과 유사하지만 다름  
아래를 봐도 Ramp 신호기반 PM 방식?  FMCW 의 Chirp 거의 유사하지만, 아래를 그림보면 X축이 시간 축이 없어서 일단 나도 확실히 장담을 못함 (Y: Phase , X: Frequency)
  • Channel Sounding Security 
거리 기반으로 보안을 높인다고 하는 것 같은데, 이 부분은 추후 더 확인을 해봐야 할 듯하다.
현재 생각으로는 RTT를 범위를 벗어나 것을 무시? (현재 생각?)
Max = 150m라고 하며, 1MHz 라면 어떻게 해상도를 늘리는지? 

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만 가능