5/11/2025

RF RTLS WIFI Sensing Array

1. WIFI Sensing 과 RTLS

RF Communication 과 RF Radar 비교 

RF RTLS 와 BLE의 Channel Sounding 
BLE의 경우, Radar 처럼 1개가 아니라 2개의 BLE Device 로 Range를 측정 (가장 비슷?)   

WIFI Sensing 
설명이 잘되어 있음 

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


2. WIFI Sensing Array 

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

개인적으로 RTLS 관련 사항을 보다가, 이걸 보고 많이 충격이었다.
현재도 많은 부분이 이해가 안 가지만, 대충 정리하고 나중에 좀 더 보도록 하겠다. 

  • 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 할 때마다 왠지 필요 할 듯 하다)
이미 각 시간들을 시간 오차를 계산을 한 듯 하다 (TDoA?)
각 위치가 있으니 ESP32 위치 배열이 있으니 (AoA?)
삼각측량도 하는지도? 
https://www.youtube.com/watch?v=sXwDrcd1t-E


그리고, 일단 WIFI Sensing 만 생각하면, ESP32 와 스마트폰 거리 가능할 거 같으나,
다 각자 8개 ESP32  WIFI 와 SmartPhone WIFI 통신해서 이를 RTLS로 하는 듯 하다 
CSI로 하는 부분이 아직 이해가 되지 않아 간단히 만 본다 (I/Q 시그널)
https://www.youtube.com/watch?v=sXwDrcd1t-E

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

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


  • WIFI Sensing Array 확장
상위 8 개 WIFI Sensing Array 단위로 다시 또 묶어서 더 확장하려고 하는 듯 하다





  • 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로  신호 방향을 추정하는 알고리즘 

5/09/2025

TI Radar Anthena 구조 와 Virtual Array

1. TI Radar Anthena 분석  

Radar Anthena H/W 부분 과 관련된 부분을 분석을 해보며, 최대한 분석을 할 수 있는데 까지 분석을 해보도록 하겠다. 

일단 Radar 직접 개발을 해본 적이 없기에 문서로 확인하는데, 한계가 있으므로, 많은 부분들이 틀린 수 있으므로, 관련 부분을 미리 언급한다. 

  • Radar 와 RF Communcation 비교 
RF Communication 과  MIMO-Radar Virtual Array 구성파악 
2.2 MIMO-FMCW Radar 부분파악 

  • 4D FMCW Radar 이해 와 용어
4D FMCW Radar 이해 

  • Radar 의 Cascade 의 이해 
Radar Cascade 방법 


1.1  MIMO 의 Virtual Array

MIMO(Mutiple Output Multiple Output)기반 으로 되며, Anthena 구성 하면, 
Virtual Array 가 발생하며, Anthena  설계 구성에 따라 아래와 같이 
Angle-Azimuth 와 Angle-Elevation 측정 가능하다  
즉, 간단히 생각하면, 가상으로 Channel이 생기는 것이다. 

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



  • A. MIMO-Anthena 구조 와 Virtual Array 
RX1~RX4 와 TX1,TX3 전부 수평으로 동일하게 있으며, TX2만 다르며, 구조가 간단.
Virtual Array 간단하며, 구조도 쉬움 

3(TX) x 4(RX) = 12 Virtual Array 구성 (Channel) 
TX2를 좀 더 위에 설계하여, Elevation(수직) 측정이 가능해짐  

  
TDM-MIMO 예상-(확실치는 않음)
즉 3 개의 TX가 시간차이를 두고 전송하며, RX는 모두 이 TX를 받아 Phase 차이 이용하여 분석한다. 


  • Antenna Radiation
아래는 즉 RX 입장에서 각 TX의 각도 와 Amp 값 
FoV 부분에서 좀 이해가 되지가 않으며, 문서와 맞지 않음 
Patch 과다 사용으로 FoV가 좁아진건지??  (정확히는 모르겠음)
TX1,TX2,TX3 가 Elevation Degree하고 연관성도 정확히 모르겠음 


https://www.ti.com/lit/ug/swru546e/swru546e.pdf



  • Radar AOP Type Anthena Design
IWRL6432AOP
7.14 Antenna Positions
AOP Type을 보면 RX Antena는 좌/우(Azimuth), 상/하(Elevation) 위치되어 있으며, 이는 각 Angle 을 알기 위함인 걸로 보인다. 


  • B. MIMO-Anthena 구조 와 Virtual Array 
RX2 과 RX3 이 RX1 과 RX 4 위상이 180 이상이라고 하므로,
TDM-MIMO방식이 아닌 것 같으며, 이전의 BPM-MIMO 방식인 것 같음 

3(TX) x 4(RX) = 12 Virtual Array
https://www.ti.com/lit/ug/swru546e/swru546e.pdf


BPM-MIMO(Datasheet에서 확인 안했음)
BPM이지만, BPM도 기본이 TDM방식이며, TX가 최대 2개 까지 동시전송(Phase 180)이 되는 듯 하다.
즉 상위 Virtual Array BLUE 와 RED는 Phase 분리해서 처리를 해야 하는 듯 하다. 


  • Antenna Radiation

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

  • C. MIMO-Anthena 구조 
B구조와 거의 동일하지만, Virtual Array 구성이 아래와 같이 조금 달라진다. 

https://www.ti.com/lit/ug/swru546e/swru546e.pdf


BPM-MIMO(Datasheet에서 확인 안했음)
BPM이지만, BPM도 기본이 TDM방식이며, TX가 최대 2개 까지 동시전송(Phase 180)이 되는 듯 하다.
즉 상위 Virtual Array BLUE 와 RED는 Phase 분리해서 처리를 해야 하는 듯 하다. 


  • Antenna Radiation Pattern 확인 
TX1,2,3 -> RX1,2,3,4 받은 것들을 전부 Virtual Array 출력해서 보여주고 이를 비교하는 것 같다.
  1. 4.9의 경우, 설명에 있듯이 Azimuth 
  2. 4.10의 경우, 설명에 있듯이 Elevation 
https://www.ti.com/lit/ug/swru546e/swru546e.pdf




1.2 TDM-MIMO 와 BPM-MIMO 복습 

  • FFT 관점
  1. Range   1D FFT :  Input  IF의 ADC  각 Chirp 의 ADC 
  2. Doppler 2D FFT :  Input  Range 1D FFT 
  3. Angle    3D FFT :  Input  Doppler 2D FFT 

  • TDM-MIMO(Time Division Multiplexing)
RX 입장에서 TX1 과 TX2를 동시에 받을 수가 없으며, 아래와 같이 Time 나누어서 전송 
그러므로, 이전에도 말을 했지만, 전체 Chirp의 갯수는 이미 정해져 있다.
Chirp 디자인도 중요한 듯 하다. 

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

2D FFT를 처리 후에 Phase 차이 기반에 마지막에 각 Virtual Array (Anthena1 ~ 8) 기반으로 ,
Angle-FFT를 하여 2차원 공간 수평(Azuimth)/수직(Elevation) 위치파악을 한다. 
영상처럼 3D FFT도 하며, FFT 숫자에 너무 생각하지 마시길 ~~ 
이 부분은 나중에 다시 세부적으로 설명하겠다. 

  • BPM-MIMO(Binary Phase Modulation)
RX 입장에서 TX1 과 TX2를 동시에 받을 수 있으며, 이 때 위상(Phase)차이가 180 차이 나서 받을 수 있다고 하는 것 같다.
즉, 동시에 TX 2 Channel 까지만 동시 전송이 가능한 걸로 판단되어진다. 
나머지 사항은, 기본적인 TDM과 거의 유사할 것이라고 생각되어짐 

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

  • 기타사항
이외에도 통신 기반으로 생각하면, 여러가지 아이디어는 있으며, 구지 상위에 너무 한정적으로 생각 할 필요가 없을 듯 하다. 



1.3  Coordinate Systems

Azimuth 와 Elevation을 구하면, 어떻게 이를 표시를 할지가 좌표시스템이며, 상위를 보면 아래의 좌표 시스템을 이용하는 듯 하다. 
https://kr.mathworks.com/help/phased/ref/azel2uv.html

좌표는 상위와 구성되는 것 같음 (쉽게 생각하면, 지구의 위도, 경도)
이를 Spherical Coordinate System이라고 하는 것 같으며, 구형 기반으로 생각하는 것 같다.
다만, 간단히 생각해보면, 구형 기반으로 하다보니, Range가 커지면, 점점 면적이 넓어져서 오차가 커지는 문제가 있는 거 같다.

  • Spherical Coordinate Systems
X Azimuth (-180 ~  +180)
Z Elevation (-90 ~   +90)
X-Y-Azimuth, X-Z-Elevation, Range 


1.4 Programming Chirp Parameters

아래의 사항들을 완벽히 이해를 하지 못해서, 넘어가면, 나중에 필요시 정리 

2.1.1 Maximum Range
2.1.2 Range Resolution
2.2.1 Maximum Velocity
2.2.2 Velocity Resolution
2.3 Angular Range and Resolution


2. Anthena 기본구성 


기본사항들은 TI에서 제공하는 Radar Anthena Degin을 이해 해보도록 하자.
나중에 분명히 업데이트가 될꺼이며, 가능하면, 아래에서 이해하는게 맞을 꺼 같다.


2.1 Anthena Spacing 


  • RX-RX Spacing
좌/우로 theta 가 0~ 90 degree 기반으로 Max FoV 최대 180 degree 이다.
https://dev.ti.com/tirex/explore/content/radar_academy_2_10_00_2/_build_radar_academy_2_10_00_2/source/introduction/fundamentals.html

FoV에 따라 d = Lamda/2 기반으로 Space를 두고 설계를 진행을 하는 것 같다.
그래서 상위의 물리적 RX-RX 사이의 거리가 즉 d = Lamda/2 인 것 같다.

  • TX-TX Spacing
아래 3가지의 TX 방사(radiation) 형태를 보면, d > lamda/2 가 가장 Beaforming 답게 구성이 되어지는 것 같은데, Slide Lobe는 이해가 되지 가 않아 이 부분은 생략 
  1. d > lamda/2
  2. d = lamda/2
  3. d < lamda/2

https://dev.ti.com/tirex/explore/content/radar_academy_2_10_00_2/_build_radar_academy_2_10_00_2/source/introduction/fundamentals.html


  • TX-RX Spacing
글을 읽어보면, TX 와 RX 사이의 거리는 가급적 멀리 두라는 이야기이며, SNR 이외 크게 언급이 없어 이 부분도 생략 




2.2 Anthena Patch 


Patch는 아래와 같이 Anthena에 TX 와 RX에 면적을 확장하는 구조로 되어있다.
간격 보통 d = Lamda/2로 구성을 한다고 하며, 아래는 최근 문서가 업데이트되어서 그렇지 이전 Patch 구조를 보고 많이 혼동했다.



  • Patch의 개념
  1. Patch 증가하면, RX/TX 에서 dB 증가 와 FoV 감소
  2. Patch 감소하면, RX/TX 에서 dB 감소 와 FoV 증가
dB 증가/감소 이유는이 Anthena 면적과 길이 때문일 것이며, FoV는 면적과 길이가 늘어나니 감지할 수 있는 범위도 줄어든 것 같다. 



120° azimuth field of view (FoV) and 30° elevation FoV



2.3 TI 의 PCB Design Guide

EVM 과 각 Design Reference로 쉽게 각 부분을 파악가능 

RF PCB 의 소재 와 간단한 구성 소개 

5/08/2025

TI Radar Cascade 구조 및 분석

1. TI Radar Cascade

  • 4D FMCW Radar 이해 와 용어
4D FMCW Radar 이해 

  • Radar 와 RF Communcation 비교 
RF Communication 과  MIMO-Radar Virtual Array 구성파악 
2.2 MIMO-FMCW Radar 부분파악 


아래의 내용은 일단 Radar를 직접적으로 개발을 해보지 못했기 때문에, 각 TI 문서를 보고 이해한 수준이라 틀린 부분이 많이 있을 수 있다. 

  • Cacade 란?
Cascade Radar는 Sigle Radar를 여러 개 붙혀서 사용하는 기술이라고 생각하면 되겠으며,
핵심은 Anthena 설계와 각 Clock의 동기화일 것 같다. 
동시에 물리적 Single Radar를 여러 개 사용하면, 각 Virtual Array(Channel)을 확장이 쉬우므로,
각 Channel의 수가 엄청나게 늘어난다. 
다만, 상위 계산량이 더 증가하겠지만, 이 부분은 TDA 기반으로 다시 봐야 할 듯 하다. 

TI TDA의 경우, OMAP 이후 생산된 것으로 내가 처음 접한 지는 오래되었다. 
그때만 당시만 해도, mmWave가 Radar 가 아니라 5G 라고 단정 지어 생각해서 그렇게 비중을 두고 보지 않았다. 
(사실 Radar라는 것을 몰랐으니?)

  • TI Automotive Image Radar 설계 (Cascade 이해)
TI 경우, Image Radar 관련 Cascade 부터 MIMO 기술들을 공유해주고 있지만, 
세부적인 것은 보드기반으로 개발과 테스트 및 각 Tool들을 사용해보고 나서 이야기 해야 할 것 같다.(mmWaveSDK 기반으로 제공)

TI에서 제공하는 각 모든 Radar 를 쉽게 파악
좌측 4D image 확인가능 
https://www.ti.com/content/dam/videos/external-videos/en-us/4/3816841626001/6073597470001.mp4/subassets/07_ti_automotive_mmwave_radar_solution_0.pdf


1.1  Radar Cascade Design 과 DRAM Design 비교 

개인적으로, 처음부터 Radar 와 DRAM PCB 부분이 많은 부분이 비슷한 것 같아 아래와 같이 간단히 정리했고, 비슷할 거라고 생각했다.

  • PCB Design 공통 사항의 추측 
물론, 비슷하다는 것이 개인 생각이므로, 아래의 나의 추측이 틀리 수도 있음 
  1. Trace Length : 둘 다 Trace Length는 민감하며, 중요할 것으로 생각?(어떻게 보정?)
  2. Signal Reflection: 반사 파에 대해 부분을 제거하는 부분 (RF가 아니라 Clock Refrection)
  3. Timing 보정: RAM처럼 Timing 보정을 위해서 DLL 이용하여 보정하는가? 

  • PCB Radar Cascade Design
Clcok을 Master 와 Slave 개념으로 동기화를 하고 있으며,이 부분은 추후 다시 다른 Chip 제조사에서 확인 해보겠다. 
2.6 Anthena 
2.6.1 TX and RX Antenna Arrays
Table 5. RX Antenna Array Dimensions
Table 6. TX Antenna Array Dimensions (continued)
RX는 전부 좌/우(Azimuth)위치가 거의 동일한 듯하고, TX를 이용하여 상/하(Elevation)을 하는 듯하다.

  • PCB DRAM Design 과 설정 
아래 부분은 이전에 내가 DRAM 설계 및 Timing 도, 직접 Datasheet기반으로 설정할 때, 정리해 둔것이다.(RADAR 와 비교)


1.2 TI Cascade Radar Clock Sync 

처음 TI 문서를 보기 전에, 이 부분을  Clock Sync 를 아마 RAM 과 비슷할 것 이라고 거의 추측으로 예상하며 생각했다.(처음부터 나의 생각은, 거의 상위로 결론 지었다?)

아래 문서를 보고 상위 나의 생각(DLL로 보정하고 사용할 줄 알았는데) 은 거의 다 틀린 것 같으며, 일단 아래의 기반으로 Clock Sync 이해 보도록 하자  
더불어 나중에 시간이 되면, Calibration 부분 과 PCB Design Guide도 보도록 하자 
 
  • Cascaded AWR2243의 Clock 공유와 동기화(Master/Slave)
Cacade 의 핵심은 Master / Slave 모드이며, 모든 Clock은 Master가 Control하여 동작하는 것이다.
Cacade 의미도 Clock Cascade(직렬화) 의미 인 것 같다. 

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

  • 상위 1번/2번 Clock 동기화 
  1. Master : 상위 1번 Clock를 가지고 있는 Single Radar
  2. Slave   : 상위 2번 OSC_CLKOUT 으로 Clock 넘겨줌 
관련핀
  1. OSC_CLKOUT
  2. CLKP
  3. CLKM
상위로 일단 Clock의 오차를 줄여서 사용이 가능할 것이지만, 완벽한 Clock Sync는 되지 않는다. 


  • 상위 3번 20GHz 의 Clock 동기화 
  1. Master : FMCW_SYNOUT  만들고 이를 다시 FMCW_SYNIN Master 와 Slave가 동일 하게 받는 구조
  2. Slave   : 상위 FMCW_SYNOUT를 받아 FMCW_SYNIN 넣는 구조 (20GHz SYNTH 미사용)
관련핀
  1. FMCW_SYNOUT  
  2. FMCW_CLKOUT: 1번 과 동일 
  3. FMCW_SYNIN1
  4. FMCW_SYNIN2

아래와 같이 중간에서 Splitter를 통해서 PCB Trace Lenth  동일하게 설계 후, 이를 양쪽으로 다시 넣는 구조이다.
거의 Clock 동기화가 되겠지만, 안될 가능성도 있을 거 같기는 한데, 현재 생각으로는 PLL로 보정해서 사용 할 것 같다.
핵심은 Splitter 기반의 Trace Length , 즉 Routing 방법일 거 같다. 

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

  • 상위 4번 Digitlal  Frame Sync 필요 
  1. Master: SYNC_OUT  과 SYNC_IN 을 양쪽으로 Device 넣는 구조 
  2. Slave  : SYNC_IN 받는 구조 
별도로 Digtal Sync가 별도로 존재하여, SYNC_OUT 과 SYNC_IN 다시 또 동일하게 설계
현재 파악한 것으로 생각하면, Chirp의 처음 시작의 Sync부분 인 듯 하다. (현재 이해하기로?)
https://www.ti.com/lit/an/swra574b/swra574b.pdf


https://www.ti.com/lit/ds/swrs223d/swrs223d.pdf



  • Cacade 지원 되는 TI Radar
TI Single Radar는 전부 다 지원하는가? 아니다 아래를 보면, 이미 정해져 있다. 
https://www.ti.com/lit/ds/swrs223d/swrs223d.pdf


1.3 TI TDA2 기반의 Radar 4개 구조 


물리적 Anthenna 설계로 보면, 간단히 Virtual Array를 파악 가능 

https://www.ti.com/lit/ug/swru553a/swru553a.pdf

  • TX Antenna 기반으로 Elevation Anthenna 설계 
Virtual Array 보면, Anthena 설계 간단히 보면 Azimuth 우선적으로 설계가 되어 진 거 같다. 
Elevation 단계가 별로 이다. 
https://www.ti.com/lit/ug/swru553a/swru553a.pdf



  • TI AWRx RF 4 개 와 Lattice FPGA 와 TDA2 설계 
12TX x 16RX Anthena 와 각 Anthena 설계 
TDM-MIMO (아마 Chirp도 별도로 Desgin해서 사용 해야할 듯??, 추후 시간이 되며 더 보도록??)


1.4 TI Cacade image Radar EVM 정보 및 링크 

TI mmWave Cascade Image Radar EVM 과 구조 (최신 Revision 과 이전비교 하도록)
관련자료들은, 링크만 남기도록 하며, 세부사항 은 생략하도록 하겠다.