- 기존 자작 FMCW 레이더 경험을 바탕으로, 저가 부품과 고속 디지털 신호 처리만으로 6 GHz 대역 펄스 압축 레이더를 구현한 제작기임
- Zynq 7020 FPGA, 250 MHz 12-bit ADC, 500 MHz 14-bit DAC, zero-IF IQ 송수신 구조를 조합해 임의 파형 송신과 펄스 압축 처리를 지원함
- 구현 난도는 ADC/DAC 필터, DDR3 라우팅, LVDS 인터페이스, 1 Gbps Ethernet, 클록 동기화, 전원 필터링, 송수신 스위칭, LO 누설 보정 같은 고속 디지털·RF 제약에 집중됨
- 실측에서는 150 MHz 대역폭으로 약 1 m 거리 해상도를 얻고, 도로변 차량을 약 400~450 m까지 탐지했으며, 계산상 1 m² 레이더 단면적 표적의 최대 탐지 거리는 약 1 km 수준임
- PCB 제조·조립 2장 330 USD와 직접 납땜한 Digikey 부품 225 EUR로 완성했으며, 같은 가격대의 상용 펄스 압축 레이더나 유사 RF 대역폭 SDR은 찾기 어렵다고 봄
FMCW 대신 펄스 압축 레이더를 만든 이유
- FMCW 레이더는 송신·수신 안테나를 분리하면 스위칭이 필요 없고, 수신 신호를 송신 신호와 섞어 낮은 주파수로 만들 수 있어 저속 ADC로도 구현하기 쉬움
- 대형 레이더는 주로 펄스 레이더를 사용함
- 하나의 안테나를 송수신에 공유할 수 있음
- 큰 송신 전력을 사용할 때 수신기 포화 문제를 FMCW보다 덜 걱정할 수 있음
- 펄스를 더 자주 보낼 수 있어 빠른 표적의 속도 측정에서 최대 비모호 Doppler shift가 커짐
- 대신 펄스 레이더는 구현 제약이 훨씬 큼
- 송수신 전환에 1 µs가 걸리면 150 m 거리 표적의 반사를 놓침
- 하나의 안테나를 공유하면 최소 탐지 거리가 수백 m가 될 수 있음
- 송신 펄스의 RF 대역폭 전체를 샘플링해야 하므로 수백 MHz 또는 1 GHz 이상의 ADC가 필요할 수 있음
- 목표는 선형 주파수 스윕에 머무르지 않고 임의 파형을 지원하는 펄스 압축 레이더임
- 이를 위해 충분한 샘플레이트의 DAC와 ADC가 필요함
전체 아키텍처와 신호 처리
- 레이더는 SDR과 비슷한 구조이며, 시간 다중화된 수신 안테나 2개와 송신부를 가짐
- 송신부는 수신 안테나 중 하나와 공유됨
- 두 번째 수신 채널은 스위치, LNA, SMA 커넥터만 추가하면 되어 저렴했고, FMCW 모드 사용 가능성도 남김
- TX와 RX는 zero-IF 구조임
- 성능상 최선은 아니지만 가장 저렴한 선택임
- 믹서 출력에는 원하는 신호뿐 아니라 LO 누설과 이미지 신호가 포함됨
- zero-IF에서는 원치 않는 성분이 신호와 겹쳐 고정 필터로 제거하기 어려움
- 일부 비이상성은 디지털 보정으로 줄일 수 있음
- DAC 출력 사전 왜곡으로 믹서 비이상성을 보정해 송신 신호를 깨끗하게 만들 수 있음
- 수신기 출력도 충분히 정밀하게 특성화하면 디지털 보정이 가능함
- DAC는 complex IQ 신호를 출력하고, IQ 믹서가 이를 LO 주파수로 변조해 안테나로 송신함
- complex IQ는 베이스밴드에서 양수·음수 주파수를 모두 표현함
- 송신 뒤 T/R 스위치를 수신으로 전환하고, 수신기가 반사 신호를 샘플링함
- 표적 위치는 송신 신호와 수신 신호의 상관 계산으로 얻음
- 실제 구현은 시간 영역 직접 컨볼루션 대신 FFT를 사용함
- 표적이 있는 시간에서는 수신·송신 신호 상관이 커지고, 표적이 없으면 작아짐
- 사이드로브는 윈도 함수로 제어함
- 참조 펄스에 윈도 함수를 곱하면 컨볼루션 출력의 사이드로브를 조절할 수 있음
- 송신 펄스에도 윈도를 적용하면 사이드로브를 더 낮출 수 있음
- 단점은 메인로브가 넓어지고 거리 해상도가 약간 나빠짐
- 속도는 여러 펄스 동안 수신 신호의 위상 변화를 이용해 측정함
- 펄스 버스트를 보내고 펄스 차원으로 FFT를 계산하면 range-Doppler map에서 거리와 속도가 분리됨
- 같은 거리의 여러 물체도 속도가 다르면 구분할 수 있음
- 단일 안테나만으로는 각도 정보가 없음
ADC, DAC, FPGA 선택
- ADC 샘플레이트는 수신 가능한 최대 RF 대역폭을 결정하는 핵심 파라미터임
- RF 측과 DAC의 대역폭을 키우는 것보다 ADC 대역폭 확보가 더 어려움
- IQ 샘플링을 위해 최소 2채널 ADC가 필요함
- JESD204B 인터페이스 ADC는 고급 FPGA의 고속 직렬 트랜시버가 필요해 예산에 맞지 않았고, 일반 FPGA I/O에 연결 가능한 가장 빠른 선택지로 LVDS를 사용함
- 선택한 ADC는 ADS4229임
- 2채널, LVDS, 250 MHz 샘플레이트
- 단품 가격 58 EUR
- 500 MHz 8-bit ADC도 있었지만 12-bit ADC보다 SNR이 20 dB 낮고, 샘플레이트 2배 증가는 SNR 3 dB만 되돌려주므로 제외함
- 선택한 DAC는 DAC3174임
- 2채널, 14-bit, 500 MHz
- 단품 가격 33 EUR
- 시스템 대역폭은 ADC가 제한하지만, DAC 대역폭 여유가 필터링을 쉽게 함
- 마이크로컨트롤러만으로는 펄스 생성 타이밍, ADC/DAC 데이터 관리, 송수신 전환 제어를 처리하기 어려워 FPGA가 필요함
- 선택한 FPGA는 Zynq 7020임
- dual-core ARM-A9 CPU와 FPGA fabric을 같은 패키지에 포함함
- 중국에서는 $17에 구할 수 있었고, Digikey 가격은 $173였음
- CPU는 PC 통신과 제어를 맡을 수 있음
- Linux 실행을 위해 SD 카드도 추가했지만 초기 소프트웨어는 OS 없이 실행함
ADC/DAC 필터와 대역폭 제약
- ADC 앞에는 anti-aliasing 저역통과 필터가 필요함
- 샘플레이트 250 MHz의 Nyquist 주파수는 125 MHz
- 사용 가능한 대역폭을 키우려면 컷오프를 Nyquist에 가깝게 둬야 하지만, 급격한 컷오프가 필요해 필터 설계가 어려워짐
- ADC 필터는 통과대역에서 진폭과 그룹 지연이 균일해야 함
- 주파수별 감쇠가 다르면 수신 펄스가 왜곡됨
- 그룹 지연 차이가 크면 참조 펄스와의 상관이 낮아지고 사이드로브가 증가함
- ADC 필터 설계값은 컷오프 100 MHz, Nyquist 125 MHz에서 -20 dB 감쇠임
- 약 60 MHz까지는 진폭과 그룹 지연이 좋음
- 그 이상에서는 제약 때문에 개선이 어려움
- 필요하면 필터 응답을 디지털로 보정할 수 있음
- DAC도 샘플링 시스템이므로 출력 alias를 필터링해야 함
- DAC 샘플레이트는 500 MHz이고 필요한 신호 대역폭은 100 MHz라 ADC보다 필터 설계가 쉬움
- 0~100 MHz 신호의 alias는 400~500 MHz 범위에 있음
- 시뮬레이션상 alias는 신호보다 최소 65 dB 더 감쇠됨
- 30 dBm 신호 전력에서는 이미지 신호가 약 -35 dBm이 될 수 있음
- 동작에는 충분하다고 보지만, 제대로 된 레이더라면 할당 주파수 밖 방사를 피하기 위해 더 큰 감쇠가 필요할 가능성이 있음
디지털 설계와 데이터 흐름
- Zynq SoC는 processing system(PS)과 programmable logic(PL)으로 구성됨
- PS는 dual-core ARM A9 CPU
- PL은 FPGA fabric
- 둘은 64-bit AXI 버스로 연결됨
- AXI 클록은 130 MHz로 설정함
- ADC DMA용 AXI 버스 1개
- DAC DMA용 AXI 버스 1개
- PL 레지스터 설정용 저속 AXI 버스가 별도로 있음
- PC와의 빠른 연결에는 1 Gbps Ethernet을 선택함
- USB 3는 5 Gbps를 제공할 수 있지만 외부 USB 3 트랜시버와 추가 구현 노력이 필요함
- 초기 디지털 처리를 PC에서 수행하므로 캡처한 ADC 샘플 전송 속도가 중요함
- DDR3 DRAM은 PS 쪽에 단일 칩으로 연결됨
- 메모리 컨트롤러 제한으로 1066 MHz 동작
- 버스 폭은 16-bit
- 32-bit 구성을 위해 두 번째 DDR3 칩을 추가할 수 있지만 필요하지 않았음
- DDR3 대역폭은 DAC와 ADC 대역폭 합보다 작음
- DRAM에서 DAC 샘플을 스트리밍하면서 동시에 ADC 샘플을 저장하는 방식은 불가능함
- PL 쪽에 1 MB 메모리를 두고 DAC 샘플을 저장함
- PC에서 Ethernet으로 DRAM에 펄스 샘플을 보내고, DMA가 PL 메모리로 옮긴 뒤 각 펄스마다 DAC로 전송함
- 1 MB DAC 메모리는 펄스 길이를 130 µs로 제한함
- 130 µs 펄스는 20 km 최소 탐지 거리에 해당함
- 일반적인 펄스 길이는 약 1 µs라 충분함
- LUT 방식은 윈도 함수, 사전 왜곡, 다양한 펄스 파형 실험을 쉽게 함
RF 프런트엔드와 송수신 스위칭
- 동작 주파수는 기존 자작 레이더와 비슷한 약 6 GHz임
- 소비자 애플리케이션 덕분에 저렴한 기성 부품이 많은 가장 높은 주파수대로 판단함
- RF부는 IQ modulator, IQ demodulator, LO용 PLL, power amplifier, LNA, 스위치로 구성됨
- 전력 증폭기는 Skyworks SE5004L을 선택함
- 일반 출력 1 dB compression point가 2 W
- 이득은 32 dB
- 데이터시트 문서화가 부족하고 외부 부품 값도 없었지만, 평가보드 문서에서 회로도를 확인함
- T/R 스위치는 MASW-007588을 선택함
- 스위칭 속도 55 ns
- 1 dB compression point 37 dBm
- 55 ns 동안 빛은 16.5 m를 이동함
- 더 좋은 전용 스위치가 있지만 예산에 맞지 않았음
- circulator도 대안이지만 사용하지 않음
- 고출력 레이더에서 흔하고 수백 W를 처리할 수 있으며 스위칭 속도 문제가 없음
- 이 주파수대 제품은 크고 단순 스위치보다 훨씬 비쌈
- 수신기는 RF 잡음 바닥이 ADC 양자화 잡음보다 충분히 높아야 함
- 계산상 RF 잡음 바닥은 ADC 입력에서 약 -155 dBV/Hz
- ADC 잡음 바닥은 약 -156 dBV/Hz
- 일반적으로 RF 잡음 바닥이 ADC보다 약 10 dB 높아야 하지만, 실제 설계에서는 몇 dB 높은 수준으로 타협함
최대 탐지 거리 계산
- 레이더 방정식으로 최대 탐지 거리를 계산함
- 송신 전력, 안테나 이득, 파장, 표적 레이더 단면적, 수신기 온도, 펄스 길이, 펄스 수, 잡음 지수, 탐지 임계값을 사용함
- 사용한 추정 파라미터는 다음과 같음
- 송신 전력: 30 dBm
- 안테나 이득: 14 dBi
- 파장: 5.2 cm
- 표적 레이더 단면적: 1 m²
- 수신기 온도: 290 K
- 펄스 길이: 1 µs
- 버스트 내 펄스 수: 1024
- 수신기 잡음 지수: 5 dB
- 탐지 임계값: 15 dB
- 계산 결과 1 m² 레이더 단면적 표적의 최대 탐지 거리는 1200 m임
- 이 값은 약간 낙관적일 수 있음
- 안테나 케이블 손실
- 안테나 효율 손실
- 임피던스 불일치 손실
- 대기 감쇠가 포함되지 않음
- 그래도 최대 탐지 거리는 약 1 km 수준이어야 한다고 봄
- 최대 거리에서 평균 수신 전력은 최소 탐지 임계값과 같음
- 평균적으로 이 거리의 표적은 50% 확률로 탐지됨
- 수신 전력은 거리의 네제곱에 반비례하므로 더 먼 거리에서는 탐지 확률이 빠르게 떨어짐
PCB, DDR3, 전송선, 전원 설계
- PCB는 RF와 고속 디지털 회로를 모두 포함하므로 라우팅에 주의가 필요함
- 6층 PCB를 사용함
- 표준 FR-4 재질은 RF에 이상적이지 않지만 RF trace를 매우 짧게 유지해 큰 문제가 아니라고 봄
- DDR3L 메모리는 533 MHz 클록, 클록당 2회 전송으로 동작함
- 1.35 V 저전압 DDR3L 표준
- trace 길이 매칭, 특성 임피던스, 종단이 필요함
- DDR3 주소 버스 종단 저항 생략 여부를 시뮬레이션함
- 종단 저항 없이도 임계값 기준으로는 동작해 보였음
- 하지만 약 0.7 V overshoot가 발생해 메모리 데이터시트의 최대 0.4 V overshoot 조건을 위반함
- 결국 주소선 종단 저항을 추가함
- DDR3 라우팅에서는 60 ohm trace와 50 ohm 종단 저항을 사용함
- 40 ohm trace는 0.24 mm 폭
- 60 ohm trace는 0.10 mm 폭이라 더 조밀한 배치가 가능함
- 50 ohm 저항은 다른 PCB 위치에서도 필요해 BOM을 줄일 수 있음
- T/R 스위치와 IQ modulator enable 핀은 매우 빠르게 전환해야 함
- FPGA 최고 drive strength에서 스위치 입력 rise time은 시뮬레이션상 약 400 ps
- 수 cm PCB trace가 전송선처럼 동작해 반사가 발생함
- 50 ohm 저항과 작은 커패시터를 직렬로 둔 AC 종단으로 DC 레벨 문제 없이 반사를 줄임
- 전원은 스위칭 레귤레이터와 LDO, ferrite bead 필터를 조합함
- 스위칭 노이즈가 수신기 열잡음 바닥보다 훨씬 크기 때문에 강한 필터링이 필요함
- 계산상 최악 조건에서 100 dB 수준의 전원 필터링 요구가 나옴
- ferrite bead 2단 필터는 1 MHz에서 100 dB 감쇠를 달성함
- PCB에는 총 9개 전원 rail이 있음
- 디지털·FPGA용 1.0 V, 1.8 V, 2.5 V, 3.3 V, DDR3용 1.35 V와 0.675 V
- 아날로그용 저잡음 1.8 V, 3.3 V, 5.0 V는 LDO와 ferrite bead 필터를 사용함
고속 인터페이스와 클록
- ADC는 FPGA와 12-bit LVDS 버스로 연결됨
- ADC 샘플레이트는 250 MHz
- 두 채널 데이터가 클록 상승·하강 edge에 실림
- FPGA는 adjustable delay line을 사용해 동적으로 캡처 타이밍을 보정함
- DAC는 500 MHz, 14-bit LVDS 인터페이스를 사용함
- 이 FPGA는 출력 지연선 조정이 없어 PCB trace 길이 매칭이 중요함
- 합성 도구 기준 ±25 ps trace delay, 약 ±4 mm 길이 차이에서 타이밍을 맞출 수 있음
- Ethernet PHY는 Realtek RTL8211F를 사용함
- 중국에서 단품 $1에 구할 수 있었음
- 공식 데이터시트는 NDA 대상이지만 중국 리셀러에서 “Confidential” 표시가 있는 문서를 구할 수 있었음
- Zynq FPGA의 RGMII 인터페이스는 3.3 V에서 스펙을 만족하지 않아 PS 쪽 전원을 1.8 V로 설정함
- SD 카드와 UART에는 level shifter가 필요해짐
- JTAG과 debug UART는 FTDI FT2232H로 구현함
- 공식 Xilinx JTAG debugger의 정가는 $270라 사용하지 않음
- Xilinx의
program_ftdi도구로 EEPROM을 설정하면 Vivado가 인식함
- 클록 동기화는 레이더 성능에 중요함
- ADC는 250 MHz
- DAC는 500 MHz
- FPGA 로직은 더 낮은 클록이 필요함
- FPGA 내부 PLL의 100 MHz 클록 jitter는 도구 예측상 130 ps peak-to-peak인 반면, 외부 클록 생성기는 약 4 ps peak-to-peak임
- PL 쪽은 CDCM6208 클록 생성기로 25 MHz crystal에서 여러 250 MHz와 500 MHz 클록을 생성함
- 이 클록들은 서로 phase synchronized 상태임
- PS 쪽은 자체 33 MHz crystal을 사용하고, 전원 인가 후 클록 생성기 프로그래밍에 필요함
- PS와 PL의 독립 클록 도메인은 적절한 clock domain crossing으로 처리함
제조와 보드 bring-up
- PCB는 중국 제조사에 조립 포함으로 주문함
- 조립된 보드 2장과 빈 PCB 3장을 받음
- 일부 흔치 않은 부품은 조립 서비스에서 제공되지 않아 직접 주문·납땜함
- ADC, DAC, PLL 같은 고가 부품이 여기에 포함됨
- FPGA는 조립 가능해 484-pin BGA 직접 납땜을 피함
- PCB 품질은 가격 대비 좋았지만, 조립된 2장 중 1장은 납땜 문제로 바로 동작하지 않았음
- 저렴한 $15 FPGA는 날짜와 lot code가 가려져 있었음
- 동일 계열 개발보드의 칩 마킹과 달랐음
- 결국 동작했지만 출처는 의문으로 남음
- 나머지 부품은 solder paste와 hot air tool로 직접 납땜함
- 이미 부품이 실장된 보드에서 QFN 패키지를 납땜하려면 hot air tool이 필요함
- 양면 조립 비용을 줄이기 위해 모든 부품은 top side에 배치함
- bottom side에는 필요시 추가 decoupling capacitor를 넣을 자리만 두었고 실제로는 필요하지 않았음
- FT2232H EEPROM을 프로그래밍한 뒤 Vivado hardware manager에서 Zynq 7020을 인식했고, FPGA 프로그래밍과 디버깅이 가능해짐
FPGA 펌웨어와 타이밍
- FPGA 로직은 주로 데이터를 이동시키는 역할을 함
- ADC/DAC LVDS 인터페이스
- 스위치, PA, LNA 등을 제때 켜고 끄는 펄스 타이밍
- PS에서 PL을 설정하기 위한 AXI 레지스터
- ADC/DAC 샘플용 DMA 2개
- ADC, DAC, PLL, 클록 생성기용 SPI 인터페이스
- 대부분의 신호 처리는 PC에서 수행함
- 향후 FPGA에서 디지털 필터링과 decimation을 하면 PC로 보내는 데이터량을 줄이고 프레임레이트를 높일 수 있음
- LVDS receiver는 Xilinx appnote xapp1017을 기반으로 함
- 각 LVDS lane에 delay line과 flip-flop을 연결함
- 상태 머신이 delay를 바꿔 데이터 eye 중앙에서 샘플링하게 함
- PCB 라우팅과 FPGA 내부 지연 차이를 동적으로 보정함
- 펄스 타이밍 회로는 이벤트별 equality comparison을 가진 counter 구조임
- PS가 트리거하면 counter가 시작됨
- 각 서브시스템과 외부 칩을 정확한 클록 사이클에 제어함
- 반복 interval을 정확히 맞춰 여러 펄스를 보내는 loop 기능이 있음
- 정확한 버스트 타이밍은 속도 측정에 필수임
- ADC 또는 DAC 트리거에서 125 MHz 클록 1사이클 오류가 나면 측정 거리 오차가 1.2 m 발생함
수신기 잡음과 송신 전력 측정
- 안테나 커넥터에 matched load를 연결하고 송신기를 끈 상태에서 ADC 출력을 기록해 수신기 잡음을 확인함
- 33 ms, 800만 샘플 기록
- 평균 잡음 바닥은 -139 dBFs로 예상과 비슷함
- 여러 간섭 신호가 보였고, 가장 큰 것은 25 MHz 배수였음
- 진폭은 약 -100 dBFs
- ADC 입력에서 약 15 µV RMS에 해당함
- 원인은 PLL fractional spur임
- PLL 출력 주파수를 기준 클록의 정수 배로 설정하면 spur가 최소화됨
- PLL reference clock은 250 MHz이지만 phase detector에는 2분주된 125 MHz가 사용됨
- 5.75 GHz 설정에서 spur가 거의 사라짐
- 5.875 GHz도 근처 배수로 잘 동작함
- DC/DC converter의 스위칭 주파수는 2.5 MHz였고 출력 스펙트럼에 보이지 않았음
- 전원 필터링이 의도대로 동작함
- 송신 전력은 PA 내장 power detector로 확인함
- DAC 출력은 최대 진폭의 85%로 설정함
- IQ modulator 출력은 약 +3 dBm으로 예상됨
- PA 이득 32 dB로 compression에 들어가기에 충분함
- 측정된 detector peak voltage는 1.72 V였음
- 데이터시트 그래프를 선형 외삽하면 출력 전력 약 33 dBm, 즉 2 W 수준임
- PA의 -1 dB compression point 34 dBm typical과 맞아 compression 상태로 보임
보정과 펄스 압축 품질
- matched load 상태에서 T/R 스위치를 통한 송신 누설 신호를 기록함
- 송신 파형은 100 MHz 대역폭, 1 µs 길이 선형 주파수 스윕
- DAC 최대 진폭의 0.1을 사용함
- 보정 전 수신 파형에는 여러 비이상성이 나타남
- 펄스 전 ADC DC offset
- 송신기 켜짐에 따른 spike
- 송신기 LO 누설로 인한 pulse DC offset
- 높은 베이스밴드 주파수의 더 큰 감쇠
- 펄스 후 ADC offset과 ADC filter high-pass 동작에 따른 DC level
- 보정 전 pulse compression에서 sidelobe level은 -21 dBc였음
- 가장 큰 원인은 송신기 LO 누설임
- 송신기와 수신기가 같은 LO를 공유하므로 LO 누설은 수신기에서 DC로 down-mix됨
- ADC DC offset은 송신기를 끈 상태에서 수신기를 트리거해 측정한 뒤 이후 측정에서 빼는 방식으로 보정함
- LO 누설은 DAC가 0을 출력하도록 한 상태에서 sweep을 트리거해 측정함
- 이상적으로 송신은 없어야 하지만 LO 누설 때문에 LO 주파수 신호가 송신됨
- 송신 신호의 DC level을 조정해 ADC 입력이 0이 되도록 만들어 LO 누설을 상쇄함
- LO 누설 보정 후 sidelobe level은 -36 dB로 개선됨
- 이상적인 -42 dB보다 몇 dB 높음
- AC coupling capacitor의 high-pass 동작 때문에 긴 -60 dB 직선형 응답이 남음
- DC offset 문제를 줄이는 다른 방법으로 sweep을 zero-centered가 아닌 low-IF로 변조함
- 50 MHz sweep에 25 MHz offset을 사용해 0~50 MHz로 스윕함
- high-pass filter로 인한 DC offset 문제가 사라짐
- 단점은 zero-centered sweep 대비 최대 사용 가능 대역폭이 절반으로 줄어듦
- 송신 펄스에 Tukey window를 적용하면 먼 sidelobe가 크게 줄어듦
- α=0.1에서 pulse energy와 수신기 SNR은 0.8 dB 감소함
- 500 ns offset에서 sidelobe level은 약 20 dB 감소함
PA 잡음 누설 문제
- 수신으로 전환할 때 T/R 스위치는 송신기에서 수신기로 바뀌지만, PA가 계속 켜져 있으면 PA 출력 잡음이 수신기로 누설됨
- T/R 스위치는 약 50 ns에 전환되지만 PA enable/disable은 약 10 µs가 걸림
- 단일 안테나 사용 시 이 긴 PA 전환 시간 때문에 수신기 잡음이 증가함
- PA 입력이 50 ohm 저항의 열잡음이라면 -174 dBm/Hz이고, PA 이득 32 dB와 PA 자체 잡음을 거쳐 출력 잡음 바닥은 약 -135 dBm/Hz가 됨
- T/R 스위치 isolation을 거치면 LNA 입력의 PA 잡음은 약 -165 dBm/Hz로 추정됨
- 열잡음 바닥 -174 dBm/Hz보다 커서 PA를 끄지 않으면 수신기 성능을 제한함
- 실제 측정에서 PA on 상태로 T/R 스위치에 연결된 수신기의 ADC 잡음 바닥은 다른 포트에 연결했을 때보다 2.1 dB 높았음
- 계산값의 불확실성을 고려하면 이론과 잘 맞음
- 두 안테나를 쓰면 두 번째 수신 스위치를 RX2로 전환하고 RX1의 LNA를 끌 수 있어 PA 누설이 수신기 잡음에 영향을 주지 않을 만큼 isolation이 개선됨
탐지와 추적 소프트웨어
- ADC 샘플에서 표적 탐지를 얻기 위한 파이프라인은 다음과 같음
- 각 수신 펄스에 pulse compression 수행
- 펄스 수 차원으로 FFT 수행
- 거리와 Doppler 속도를 축으로 하는 range-Doppler map 생성
- range-Doppler map의 각 pixel amplitude는 해당 거리·속도 bin의 수신 전력을 나타냄
- 표적 bin은 CFAR 알고리듬으로 식별함
- 고정 잡음 바닥 대신 주변 bin 평균으로 지역 잡음 바닥을 추정함
- 테스트 중인 bin amplitude가 threshold × 추정 잡음 바닥보다 크면 표적으로 표시함
- 잡음 바닥은 시간, 주변 표적 sidelobe, ground reflection 같은 clutter에 따라 달라질 수 있음
- 큰 표적의 sidelobe로 인한 false detection은 후처리로 제거함
- 같은 행 또는 열에 훨씬 큰 표적이 있으면 sidelobe로 판단함
- 인접 bin보다 amplitude가 커야 하므로 compressed pulse의 peak 위치만 검출됨
- 표적 추적에는 Stonesoup Python library를 사용함
- 각 표적의 위치와 속도, 불확실성을 Kalman filter로 추적함
- 구현은 StoneSoup tutorial에 크게 기반함
- 레이더는 거리와 속도를 측정하지만 각도 정보가 없어 1D tracking만 가능함
- transition model은 constant acceleration을 사용함
- Kalman filter가 측정에서 가속도를 추정하고 다음 위치를 예측함
도로변 실측 결과
- 도로 옆에 레이더를 설치해 차량을 측정함
- 펄스 길이: 2 µs
- 대역폭: 150 MHz
- 펄스 수: 1024
- RX 길이: 5 µs
- 다음 펄스 전 지연: 7 µs
- 별도 TX/RX 안테나 2개 사용
- 안테나는 직접 만든 horn antenna임
- 150 MHz 대역폭은 1 m 거리 해상도에 해당함
- 해상도는 두 점 표적을 분리할 수 있는 최소 거리임
- 단일 표적 위치 정확도는 SNR에 따라 해상도보다 좋아질 수 있음
- 펄스 간격 12 µs는 83 kHz pulse repetition frequency에 해당함
- 5.8 GHz RF와 12 µs pulse repetition interval에서 비모호 속도 범위는 -1077 m/s ~ +1077 m/s임
- 음속의 3배 이상이라 자동차 측정에서는 속도 모호성 문제가 없음
- Doppler 속도 해상도는 2155 m/s ÷ 1024 = 2.1 m/s임
- 같은 거리에서 두 표적이 분리되려면 이 정도 속도 차이가 필요함
- 단일 표적 속도 정확도는 SNR에 따라 더 좋아짐
- Video 9는 휴대폰 영상과 range-Doppler map을 동기화한 결과임
- CFAR detection은 빨간 plus로 표시됨
- Y축은 Doppler velocity, 음수는 레이더 쪽으로 접근하는 방향임
- X축은 거리임
- zero Doppler의 큰 선은 정지 표적 반사임
- 가까운 차량은 카메라 영상과 레이더 detection을 쉽게 대응시킬 수 있었음
- 앞쪽 차량이 더 먼 물체를 가리는 shadowing이 있음
- 카메라에서 잘 보이지 않는 물체도 레이더는 잘 탐지함
- 도로가 꺾여 line of sight가 막히기 전까지 약 400 m 거리의 차량을 탐지함
- DC offset 영향으로 거리 방향에 큰 sidelobe가 보임
- 큰 표적 근처의 작은 물체 탐지를 어렵게 함
- 가장 먼 차량은 겹친 sidelobe 때문에 CFAR에서 항상 탐지되지 않음
- Video 10는 같은 측정에 Kalman tracker를 적용한 결과임
- tracker는 CFAR detection을 고유 ID의 표적에 할당함
- shadowing과 sidelobe 때문에 먼 표적의 detection이 부족하면 track을 잃고, 다시 보이면 새 ID가 할당됨
Low-IF 펄스와 단일 안테나 실험
- 두 번째 도로 실험에서는 RF 대역폭 75 MHz, 변조 주파수 38 MHz를 사용함
- 주파수는 0.5 MHz에서 75.5 MHz까지 sweep함
- 다른 파라미터는 유지함
- 예상대로 DC offset에 의한 매우 넓은 sidelobe가 보이지 않았음
- 거리 해상도는 이전의 절반 수준으로 나빠졌지만, 차량 추적에는 문제가 없었음
- 차량은 커서 2 m 거리 해상도에서도 분리가 가능함
- 초반에는 지나가는 차량의 두 번째 반사가 두 배 거리와 두 배 속도로 보였음
- 신호가 차량, 근처 표지판, 차량을 거쳐 레이더로 돌아오는 경로였음
- 진폭이 약하고 퍼져 있어 CFAR 표적으로 검출되지 않음
- 자전거는 표적으로 탐지되지 않았음
- 속도가 정지 표적과 충분히 분리되지 않았음
- low-speed target 주변의 정지 표적이 CFAR 잡음 바닥 계산에 포함됨
- 자전거의 작은 레이더 단면적이 높아진 잡음 바닥보다 충분히 크지 않았음
- 이 용도에서는 더 높은 RF 주파수가 유리함
- RF 주파수를 두 배로 올리면 Doppler velocity bin separation이 두 배가 됨
- 최대 비모호 Doppler velocity는 절반으로 줄어듦
- 경찰 속도 측정 레이더는 보통 10~35 GHz 대역을 사용함
- 탐지된 물체의 SNR은 이 거리에서 좋았음
- 450 m 거리에서 최대 SNR은 약 35 dB
- 550 m 이후에는 line of sight가 없어 detection이 없음
- 거리 2배에서 SNR은 12 dB 감소해야 함
- 단일 안테나 실험에서는 low-IF 측정과 같은 파라미터를 사용하되 펄스 길이를 2 µs에서 1 µs로 줄임
- 하나의 안테나를 송수신 전환해 사용함
- 1 µs는 빛의 이동거리 300 m이지만 왕복 신호이므로 full pulse 수신 최소 거리는 150 m임
- 150 m보다 가까운 표적도 partial pulse로 탐지 가능했음
- pulse compression에 partial pulse만 쓰면 거리 해상도와 SNR이 낮아짐
- 이 설정에서 최소 탐지 거리는 약 40 m였음
비용, 공개 자료, 최종 평가
- 레이더 Schematic이 공개됨
- 약간 수정하면 SDR로도 유용할 수 있음
- FPGA가 필요한 다른 애플리케이션의 참고 자료로도 쓸 수 있음
- 펌웨어와 소프트웨어는 현재 공개되지 않음
- 공개 여부를 아직 결정하지 않았음
- 비용은 다음과 같음
- PCB 제조와 2장 조립: 330 USD
- 직접 납땜한 Digikey 부품: 225 EUR, 약 240 USD
- 가격에는 24% VAT와 배송비가 포함됨
- 같은 가격대에 유사한 상용 펄스 압축 레이더는 없다고 봄
- 유사 RF 대역폭을 가진 SDR도 훨씬 비쌈
- 완성된 레이더는 현대 대형 레이더와 기본적으로 유사한 구조임
- 디지털 신호 처리를 사용함
- 임의 파형을 지원함
- 높은 pulse repetition frequency 덕분에 최대 비모호 Doppler velocity가 큼
- 출력 전력과 안테나 크기가 작아 대형 레이더보다 최대 거리는 짧음