1. 4D Radar Image Radar 구조
- Radar 시장분석 과 TI Radar 자료분석
Radar 시장분석 과 각 Chip 사의 Radar 확인
- TI Radar 개발 IDE 와 Tool 정리
TI의 IDE 구성과 각 Tool 및 관련 사항들 정리
아래의 내용은 일단 Radar를 직접적으로 개발을 해보지 못했기 때문에, 각 TI 문서를 보고 이해한 수준이라 틀린 부분이 많이 있을 수 있다.
이전에 블로그 이 글을 올려다가 내린 글이나, TI Academy에서 거의 다 확인 가능하니 다시 올린다
- FMCW(Frequency Modulated Continuous Wave)
FM기반의 Chirp(Ramp)들 을 지속적으로 TX 와 반사된 RX를 차이를 측정하는 기술이다.
SIMO or MIMO 통해서 얻고자 하는 4D image Data들은 다음과 같다.
- 4D Image Radar 구성
- Range(거리) : 쉽게 1개 Chirp으로 파악 가능
- Doppler(Velocity,속도) : 여러개 Chirp 기반으로 파악 가능
- Angle-Azimuth(좌/우,수평) : 다중 RX의 Phase 좌/우 물체위치 파악
- Angle-Elevation(상/하,수직) : 다중 RX의 Phase 상/하 물체위치 파악
4D Image Radar, 3차원 공간에 더불어 각 속도(Velocity) 하나 더 추가된 구조이다.
- TI Radar Academy
TI에서 공식으로 Radar 교육하는 자료이며, Radar 의 H/W 부터 S/W 까지 다양하게 세부적으로 교육한다.
https://dev.ti.com/tirex/explore/node?node=A__AEIJm0rwIeU.2P1OBWwlaA__RADAR-ACADEMY__GwxShWe__LATEST
Fundamentals of mmWave Radar Sensors
Radar 기본이며, 이전에 이 부분을 Blog에 다루었으나, 삭제 했으며, 아래의 TI 사이트에서 참고하면, 쉽게 Radar에 대해 이해 할 수 있을 것 같다.
이외 TI에서 PDF 와 영상도 제공한다.
Radar Terminology
Radar 관련 용어지만, TI에서 만 사용하는 용어도 있으며, 알면 좋을 거 같아 링크
mmWave Production Testing Overview
mmWave TEST 방법으로 주로 저가(Low Cost) Chamber 구성 과 SNR 정보 파악 가능
https://www.ti.com/lit/an/spracx7/spracx7.pdf- TI mmWave Radar sensors 제품군
- Automotive mmWave radar sensors
- Industrial mmWave radar sensors
1.1 Chirp 의 구성 과 디자인
FMCW에서 Chirp은 일반적으로 FM 기반으로 Ramp 신호 기반으로 생겼으며, 이외에도 상승과 하강 조합 삼각파도 가능한 것 같다.
- Chirp 의 구성
FM기반으로 보통 아래와 같이 Design 하지만, TI 문서를 보면 삼각으로도 Deging 도 하는 것 같다.
- Chirp Cycle Time : 1 Chirp 마다 전체 Cycle Time
- Inter Frame Time : 한번 Chirp 몇 개 구성한 후, 이 간격의 Idle Time 이라고 생각
- Sweep Bandwith : FM End 주파수 - FM Start주파수
- ADC Sampling: IF Frequecy Sampling ADC 이용하므로, 각 12bit or 16bit , 그 이상 확인
- Slope : Chirp 의 기울기이므로 기울기 변화에 따라 거래 해상도 , SNR 변화
- Slope : Sweep Bandwith / Chirp Duration
![]() |
https://www.ti.com/lit/an/swra553a/swra553a.pdf |
- TI AWR2234 Spec 확인
- Sweep Bandwith: 5GHz
- 76GHz ~ 81GHz
![]() |
https://www.ti.com/lit/ds/symlink/awr2243.pdf |
TI의 글을 읽고, 간단히 계산을 해보자.
IF Max는 ADC Sampling 에 따라 다르며, 상위 각 Chip에서 확인해야 함
![]() |
https://www.ti.com/lit/an/swra553a/swra553a.pdf |
상위의 Range Max 값을 대충 구해보도록 하자
- Range Max
1st Rmax = (IFmax * c ) / 2xS
IFmax = 2e7, 20MHz -> 상위 TI AWR2243 Spec 참고
c = 3×10⁸,3e8 m/s (빛의 속도) -> 전파/빛 속도
Slope = TR Chirp 의 Slope
c = 3×10⁸,3e8 m/s (빛의 속도) -> 전파/빛 속도
Slope = TR Chirp 의 Slope
Slope = Sweep Bandwith / Chirp Duration
대충 계산하면, 다음 과 같을 것이다.
- Range Max based on SNR
좀 더 세부적으로 계산한다면, 상위의 공식을 사용하는데,
공식을 보면, RF를 TX(PA) 와 RX(LNA) 기반으로 구의 표면적으로 구성해서 작성을 한 것 같다.
세부적인 것은 아래에서 알아 보도록 하자
- Range Max based on SNR -> 보정(Calibration)
문제는 주파수가 높아지면, 높아질수록, 전파 직진성이 높아지므로, 완전히 구의 표면적처럼 방사 하지 않게 되므로,
상위에도 오류 와 보정이 있을 것 같으며,이를 각 보정 방법을 알아야 할 것 같다.
흔히 Beamforming 이라고 도 불린다.
1.2.1 Range Max based on SNR 공식
- TX(PA)의 기반의 생각
Non-directional Power Density (TX)
PA (송신 Amp) 기반으로 생각을 해보면 될 것 같으며, 아래 그림처럼 구의 면적으로 생각하면된다.
다만 방향이 없다.
Su = Ps * 4πR²
- Ps: 송신 전력
- G: 송신 안테나 이득
- 4πR²: 구의 표면적
![]() |
https://www.radartutorial.eu/01.basics/The%20Radar%20Range%20Equation.en.html |
방향성 과 Anthena 를 생각해서 상위 기반으로 다시 수정해하자
Power Density = Sg = Ps * G / (4πR²)
- Ps: 송신 전력
- G: 송신 안테나 이득
- 4πR²: 구의 표면적
![]() |
https://www.radartutorial.eu/01.basics/The%20Radar%20Range%20Equation.en.html |
전부 캡쳐 할 수 없어 간단히 상위 링크 기반으로 간단히 중요 포인트만 이해하고, 아래와 같이 정리되어지는 것 같다.
- RX(LNA) 기반으로 생각
RX에서 생각하면, 신호가 반사(Refrect)되어서 오니, 이를 반영하고, TX 와 RX의 Cross 영역을 생각하고,
Pr = Reflected Power = Power Density × σ = (Ps * G * σ) / (4πR1²)
Pr = reflected power [W]
σ = radar cross section [m²]
R1 = range, distance antenna - aim [m]
Se = power density at receiving place
Pr = reflected power [W]
R2 = range aim - receiving antenna [m]
상위처럼 4πR²: 구의 표면적이 이렇게 2번 들어간다.
이곳에 다시 Anthenna 면적 과 Gain 부분을 적용을 하면, 아래와 같은 최종 공식이 나오는 것 같다.
- 상위 TI 공식과 비교
아래 공식을 보면, 얼추 상위의 TI의 Manaul 설명한 공식이 대충 비슷하게 나오는 것 같다.
자세한 것은 나도 더 알아봐야겠지만, 일단 이해하기 위해서 포인트 만 집고 넘어가자.
![]() |
https://www.radartutorial.eu/01.basics/The%20Radar%20Range%20Equation.en.html |
- 이외 기타 사항
TX(PA)를 높아지면, Range Max는 증가는 되지만, SNR부분도 같이 증가하므로,
현재 생각으로는, 특정 거리 이상이 되면, 이를 SNR 수정하여, Noise로 해서 필터하는 방법도 될 것 으로 추측되어진다.
일단 추후 시간이 되면, 자세한 내용들은 추후 TI Calibration을 별도로 알아 보도록 하겠다.
1.3 Range Resolution
- Range Resolution
ΔR = c / (2 * B)
c = 3×10⁸,3e8 m/s (빛의 속도)
B = Sweepbandwidth of FMCW chirp
상위에서 중요한 것은 B 즉, Chirp의 Bandwith이지, Radar RF Center 주파수가 아니다.
이유는 FMCW의 최종 받는 IF의 값은 주파수는 TX와 RX 차이를 나타내기 때문에 주파수 가 낮다.
아무리 주파수가 높다고 하더라고, IF의 주파수 대역은 낮다.
![]() |
https://www.ti.com/lit/an/swra553a/swra553a.pdf |
Range Resolution 관련 참조
Range Max 와 Range Resolution
글을 읽어보면, FFT는 1 / T로 Saw 즉 Chirp의 길이에 의해 결정되는 듯 하다
- Range Resolution 실제로 계산을 해보도록 하자.
B = Sweepbandwidth of FMCW chirp / FFT Size
IF Bandwith가 5GHz 일 때,
Range Resolution
1. ΔR = 3e8 / (2 * 5e9) = 0.075 m
2. ΔR = 3e8 / (2 * 5e9) = 0.0375 m
3. ΔR = 3e8 / (2 * 5e9) = 0.05 m
즉, 나중에 다시 설명하겠지만, Range FFT SIZE 와 중요하다
2. 각 TI Radar 비교 및 분석 방법
- The Number of Sample for Chirp 결정
Range Max / Range Resolution = Range Sample 수 가 나온다.
- The Number of Sample for Chirp : Range Sample 결정
- Range Sample 값 기반으로 1st FFT 인 Range FFT Size 결정
- Number of Chirps : 2nd FFT Size (Doppler-FFT) 결정
- IF ADC 의 성능 확인 (12bit/14bit) (ADC 중앙값 확인)
- TI Radar 기반으로 비교
- Max unambiguous Range : Range Max 보다는 작은 값
- Number of Samples per chirp : Range Max/ Range Resolution
- Number of Chirps : 2nd FFT Size
- Range FFT Size: 1st FFT Size
- Ramp Slope : Sweep Bandwith / Chirp Duration
![]() |
https://www.ti.com/lit/an/swra553a/swra553a.pdf |
2.1 Radar 의 Range FFT Size 와 Sample 비교
Range FFT Size 결정은 의외로 간단한 것 같으며, 아래로 정해지는 것 같다.
- Range Max -> 상위 1.2 참조
- Range Resolution -> 상위 1.3 참조
Sample = Range Max / Range Resolution (상위참조)
Sample 의 갯수 정해지면, 이에 맞춰서 Range FFT Size를 정해지는 듯 하다.
상위 도표 기반으로 각 Radar 이제 계산하고 비교해보자.
- LRR 의 Number of Samples per Chirp 비교
- Range-Resolution = 3e8 / (2 * (3e8)) = 0.50 meter
- Range-Max = 225 <- (상위 Max unambiguous range , 250로 하면 동일)
- Sample = Range Max / Range Resolution = 450 (500 과 거의 비슷)
- Range FFT Size = 512 (2의 지수이니, 512)
- MRR 의 Number of Samples per Chirp 비교
- Range-Resolution = 3e8 / (2 * (5.4e8)) = 0.28 meter
- Range-Max = 125 <- (상위 Max unambiguous range, 140로 하면 동일)
- Sample = Range Max / Range Resolution = 450 (500 과 거의 비슷)
- Range FFT Size = 512
- SRR 의 Number of Samples per Chirp 비교
- Range-Resolution = 3e8 / (2 * (7.5e8)) = 0.20 meter
- Range-Max = 45 <- (상위 Max unambiguous range, 50로 하면 동일)
- Sample = Range Max / Range Resolution = 225 (250과 거의 비슷)
- Range FFT Size = 256
- USRR 의 Number of Samples per Chirp 비교
- Range-Resolution = 3e8 / (2 * (1.5e9)) = 0.10 meter
- Range-Max = 22.5 <- (상위 Max unambiguous range, 25로 하면 동일)
- Sample = Range Max / Range Resolution = 225 (250과 거의 비슷)
- Range FFT Size = 256
상위 도표에서 각 찾아서 보도록 하자
3. FMCW 의 FFT 구성
FMCW Radar이며, 관련해서는 TI Academy에서 세부적으로 설명을 해주고 있다.
- TI FMCW 의 FFT 순서구성
- Range Resolution(FFT): TX 와 RX 1 Chirp을 이용하여 거리를 측정
- Velocity Resolution(FFT): Range에 각 변화, 여러 Chirp를 이용하여 속도 측정
- Angle Resolution(FFT): TI에서는 Angle resolution (spatial resolution)이라고 함
- 상위 MIMO문서참조
- Motion and Presence Detection OOB Demo
주로 Motion/Presence 와 Gesture Recognition Demo 의 API 와 Antenna 설계 부터 API 흐름
나중에 시간이 되면 다시 보도록 하자
3.1 Range Resolution 과 FFT
IF ADC 의 Sample의 수를 정하고, 이를 정하는 것이 될 것 같다.
일단, ADC의 성능 12/14/16 bit 등 정확히 아는 것이 중요 할 것이며, IF는 주파수 높지가 않아서, ADC의 경우, 그렇게 높게 사용하지는 않는 것으로 생각되어진다.
(ADC 성능에 따라, 나중에 중앙값도 구해야 한다)
- 1st FFT (FFT SIze/ FFT Number)
- Range FFT : 주로 Range , 즉 거리 측정을 위해서 파악하는 FFT
- FFT SIZE : Sample 의 수에 정해짐
- FFT Number : Chirp 의 수 에 의해 정해짐 -> FFT 하는 횟수
- 1st FFT (Input/Output)
- Input : Radar IF ADC 값
- Output : 1st FFT (1D FFT)
- Magnitude Peak 값 기반 으로 Range 위치 파악
- Range Resolution 에 적용하여 이를 파악
- 1st FFT Example
- Range Max : 10m
- Range Resolution: 0.05m (기본 Unit)
- Sample 수 : 200 -> Range Max/Range Resolution
- FFT SIZE : 256
- Calibration 의 개인적 생각
FFT Range Bin : 기본 Unit 은 0.05m 이지만, 이를 보정을 해야 한다고 생각을 한다.
보정을 하는 이유는 다음과 같다고 생각함
- Range Max 불확실성 (SNR?) -> Range Max 확실성, 즉 일정 거리 이후는 Noise 처리? or CFAR 처리?
- Sample 수 와 FFT SIZE 의 괴리율 -> 상위에서 구한 Sample 과 Range FFT Size 오차 보정
3.2 Velocity Resolution 과 FFT
1st FFT 값들을 Chirp 의 갯수 만큼 모은 다음, 이를 각 Range 별로 FFT를 하여 Doppler Frequcy 파악하여 , Velocity를 얻어냄
- 2nd FFT
- Doppler FFT: 주로 Velocity 파악하기 위해서 진행하는 FFT
- FFT SIZE: Chirp의 수 정해짐
- FFT Number: Sample 의 수 에 정해짐 -> FFT 하는 횟수
- 2nd FFT
- Input : 1st FFT
- Output : 2nd FFT (2D FFT)
상위에서 각 Chirp 의 다시 FFT를 해서 Doppler Frequency 를 파악 가능하다.
아래의 설명을 보면, RDM (Range Doppler Map) 이라고 하는 것 같으며, Heat Map을 주로 이용한다고 한다.
TI mmWaveTool에서 기본으로 지원이 가능한 것 같으며, 나중에 사용할 기회가 있다면 사용해 보도록 하겠다.
- Range-Doppler Map
상위의 결과로 나온 2D FFT기반으로 생각을 해보면, 아래와 같을 것 같다.
- Range Bin 의 갯수: Range FFT Size 결정 (상위에서 참조)
- Doppler Bin 의 갯수: Doppler FFT Size 결정
실제 Data 의 구성
Doppler Bin0 Doppler Bin1 Doppler Bin2
Range Bin 0 움직임 0 움직임 1 움직임 2
Rnage Bin 1
Rnage Bin 2
Rnage Bin 3
.....
![]() |
- mmWave Tool
3.5 Range-DopplerHeatmap.
![]() |
https://www.ti.com/lit/ug/swru529c/swru529c.pdf |
Sweep Bandwith 4GHz
300,000,000m / 8,000,000,000 = 0.0375m 약 4cm
3.3 Angular Resolution 과 FFT
완벽히는 이해는 못했지만, 개념만 이해한 상태로 아래와 같이 간단히 이해한 부분들을 정리한다.
추후 시간이 되면, 세부적으로 Cascade 기반의 TI 문서 보도록 하겠다.
- 영상 이해 목적(Spartial Frequency)
YUV의 이해
이전에 대충 써 놓은 것이라 틀릴 수 도 있으며, 대충 이해하자.
Y값 Luminance , UV 값 Chrominance
- NTSC 와 YUV (영상 방송)
간단히 생각을 해보면, NTSC의 경우, Y값만 전송하면 흑백 TV이며, 이에 색상을 넣기 위해서 I/Q 시그널 기반으로 색상 정보를 넣는다.
I/Q 시그널 생각하지 말고, Y 값 기반으로 , 영상의 윤곽을 추출하여 이를 상위 Angle-FFT와 Mapping 가능할 것이다.
- Angle-FFT 이해 와 영상 Fusion (Spartial Resolution)
영상 기반으로 DSP 사용할 경우, 주로 언급되어지는 것이 공간 주파수 (Spartial Frequency)이다.
주파수(시간기반)가 아닌, 공간 주파수는 공간 즉 각 픽셀 사이 거리를 시간으로 변경해서 사용하는 기술이다.
영상 DSP 관련 부분을 한번 보고 오면 대충 이해는 가능할 것 같다.
간단히 정리해서 말해 시간-주파수는 시간 기반이지만, 공간-주파수는 공간 기반이다.
즉 시간 대신에 공간의 거리로 나누어 사용하면 된다.
Angle-FFT (Azimuth and Elevation FFT) 다 동일한 말 인 것으로 보이며, 즉 공간(Spartial) 주파수 개념으로 위치를 파악하는데 사용하는 것 같다.
상위에 언급했듯이, 주파수 개념을 시간에 적용하는게 아니라, 공간(공간 변화값?)에 적용하는 개념이다.
Angle의 공간(Sparitial) 즉, Phase 차이를 영상의 Y 값 변화율과 얼 추 Matching될 듯하다.
상위링크에서 영상처리의 Y 값 변화율을 보면 대충은 이해를 할 듯하다.
Angle-FFT(Spartial)개념으로, 지금까지 이해한 것으로 보면, Input 아래와 같이 Phase 정보를 선택해서 넣으면 될 것 같다.
- Angle-FFT 순서 위치
- Angle-Azimuth : Anthena Array 에 따라 FFT 사용
- Angle-Elevation: Anthena Array 에 따라 FFT 사용
- Angle-FFT 위치에따른 것
- Range-FFT(1D) 한 후, 각 Peak 주파수 Phase(물체 위치)
- Doppler-FFT(2D) 한 후, 각 Peak 주파수 Phase (속도위치)
간단히 설명하면, Phase를 이용하여, Range-FFT 물체 위치(Postion) or Dopper-FFT,물체 속도 위치(Velocity)를 방향 파악하는 것 같음
- Angle-FFT 는 TDM-MIMO
처음 1D FFT 후에도 사용할 줄 알았는데, 2D FFT 후 사용하는 것으로 보인다.
https://dev.ti.com/tirex/explore/node?node=A__AKOmExskMEWAq1-czyBa0w__RADAR-ACADEMY__GwxShWe__LATEST
- Angle-FFT 관련내용
Angle-FFT 관련 부분들은 자료들은 너무 좋으니 링크만 (Radar Cube)
- TI mmWave Tool
3.6 Range-AzimuthHeatmap
4. Radar Cube 와 세부적인 TI DSP 흐름 파악
전체적인 Radar 처리 구조를 보고 싶다면, 아래의 TI 문서를 보면 될 듯 하다.
이외에도 문서는 많으며, 각 문서를 찾아 세부적으로 보면 될 듯 하다.
- Introduction to the DSP
TI DSP(HWA)기반으로 Radar를 어떻게 처리하는지 설명하고 있으므로, 나에게 있어 중요한 문서이며 시간이 더 된다면 그 때 세부적으로 더 보겠다.
물론, 상위 내용을 좀 더 알고 싶다면,
- TI의 DSP와 같이 사용하는 EDMA(이거 하나만도 복잡함?)
- TI Radar CFAR(Constant False Alram Rate) 알고리즘 개념
다 알아야 할 듯 하다.
상위 Pipe 구조의 Chaining 도 아마 다 EDMA 기반으로 했을 것 같다.
- traffic and intersection monitoring using millimeter wave sensors
ITS에서 실제로 사용하는 구조를 설명
4.1 기타 링크 및 참조
- MIMO와 Virtual Array
추후에 시간이 되면 이 부분은 별도로 설명하겠다
- AXIS Camera and Radar (Spartial Frequency and Radar Fusion)
카메라 업체인 AXIS의 Radar 와 Camear Fusion의 링크들