2P by GN⁺ | ★ favorite | 댓글 2개
  • 기존 자작 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가 큼
    • 출력 전력과 안테나 크기가 작아 대형 레이더보다 최대 거리는 짧음

댓글과 토론

Hacker News 의견들
  • 같은 사이트의 예전 글 https://hforsten.com/heartbeat-detection-with-radar.html이 떠오름
    Amazon에서 저가 10GHz/24GHz 도플러 레이더 모듈을 사서 만져봤는데, 스펙트로그램만 봐도 심박과 호흡을 확실히 잡을 수 있었음
    당시 샘플로는 천장 선풍기를 향한 10GHz 영상 https://www.youtube.com/watch?v=tIiFvByf1CQ, 동전을 튕겨 떨어뜨린 표면 아래에서 위로 향한 영상 https://www.youtube.com/watch?v=8riretP8ylE, 표면 위에서 도는 동전을 향한 영상 https://www.youtube.com/watch?v=5lnYvJoxRak이 있음
    회전 표면에서 생기는 빗살형 필터링이 정말 멋지고, 사용한 10GHz 모듈은 https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1...였음

    • 구조물 뒤에서도 동작할 수 있는지 궁금하고, 이걸 자기 몸에 겨눠도 안전한지 알고 싶음
  • 멋지다. 이제 교외용 미사일 유도 시스템에 마지막 조각이 채워졌고, Jones 가족은 올해 블록 파티를 넘기기 어려울 듯함
    다음엔 위상 배열 레이더도 다뤄줬으면 좋겠음. 개 배설물을 안 치우는 이웃이 몇 있어서 더 높은 정밀도가 필요함

  • 대단한 작업임. 한 사람이 이걸 해냈다는 게 놀랍고, 회전 받침대에 올리면 평면 레이더 검출기가 됨
    여기에 기울기까지 더하면 항공기/기상 레이더와 크게 다르지 않아 보임. 비용은 현지 통화 기준으로 적지 않고 다른 댓글 기준 570달러라지만, 들어간 시간을 생각하면 이해됨
    충분한 예산이 있으면 한계가 없을 듯함. 민간인이 만든 6GHz 레이더에 군용기가 추적당하면 어떻게 해석할지 궁금함. 추정 최대 거리는 1200m라지만, 더 큰 안테나 등으로 10배 늘렸다고 가정하면 어떨까

    • 신호 세기 규제는 ERP 기준이라, 더 지향성 높은 안테나를 쓰면 6GHz 대역 사용이 더 이상 합법이 아닐 수 있음
    • 방법은 여러 가지가 있음
      우선 항공기 레이더에는 수신기가 있고, 다른 레이더가 송신한 펄스도 받음. 실제로 레이더 재밍도 같은 방식으로 동작해서, 같은 대역/파장에 큰 출력을 쏟아부어 화면을 클러터로 채움
      레이더는 주파수, 펄스 반복 주파수(PRF), 파형 같은 특성이 있어 식별하기 비교적 쉬움. 레이더가 동작하는 대역은 규제되고, 군과 민간 여러 기관이 레이더 송신을 포착함
      이런 작은 DIY 프로젝트가 큰 위협은 아니지만, 레이더 시설 근처, 특히 군 시설 근처에서 송신하면 아주 빠르게 곤란해질 수 있음
      핀란드는 모르겠지만 내가 사는 곳에서는 민간인이 군용 레이더를 지문 채취하거나 지문 데이터베이스를 만드는 것이 허용되지 않음. 사실상 군만 할 수 있음
      출력을 키우는 순간 이런 물건은 금방 DIY 범위를 벗어남. 이 사람이 위상 배열 레이더를 만드는 것도 보고 싶음. 출처: 레이더 관련 일을 했음
    • 구체적 지식은 없지만, 심각한 위협 경보까지는 일으키지 않을 것 같음
      군용 위협 경보 수신기는 예상 작전 위협 환경에 맞춰 고도로 튜닝된 시스템임
    • 군용기는 레이더 경보레이더 락온 같은 알림 또는 음성 경고를 받음
    • 미국이라면 이런 장치에 대해 FAA나 FCC가 관할권을 갖지 않을까 싶음
  • 핀란드 사람들이 또 해냈음. 다루는 전문 분야의 깊이와 범위가 믿기 어려울 정도임
    전체를 계획하고 중국에서 제작한 뒤, 보드의 절반이 실제로 동작한 듯함. 한 달 동안 스타트업에서 백엔드+프론트엔드 앱을 만들고 “제발 돌아가라” 하는 느낌과 비슷함

    • 그건 하드웨어 개발에서는 꽤 일반적임. 소프트웨어 하는 사람들은 너무 편하게 사는 것임
  • 글의 “수상할 만큼 싼 15달러 FPGA는 날짜와 로트 코드도 수상하게 가려져 있었다”는 부분에 대해, 예전에 GoPro 운영 담당자에게 400달러짜리 정품처럼 생긴 중국산 모조품이 어떻게 40달러에 가능한지 물어본 적이 있음
    답은 문자 그대로 폐품 야적장에서 칩을 구한다는 것이었음. 예를 들어 테스트를 통과하지 못한 메모리 칩 묶음을 사는데, 특정 온도 범위에서만 동작할 수도 있음
    다른 부품들도 평균 6년이 아니라 6개월 정도 동작하도록 골라 사양을 맞추는 경우가 많다고 했음. 이런 “가젯” 제품은 대부분 주말에 조금 쓰고 찬장에 넣어둔다는 걸 알고 있기 때문임
    이런 R&D 프로젝트에는 괜찮겠지만 상용 제품을 만들 때는 조심해야 함. 정치적 측면도 있고, 편집증이 섞였을 수도 있지만 특정 시장용 제품에 중국산 실리콘 부품 사용을 막는 법안도 나오고 있음

    • 중국 소비자 전자 회사들이 단순히 물건에 큰 마진을 붙이지 않는 경우도 많음
      좋은 예로 45달러짜리 AlienTek DP100 100W USB-C 마이크로 랩 전원공급기가 있음: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
      비슷한 물건에 Digilent 로고가 붙으면 500달러쯤 할 것임
      그리고 정품 GoPro도 평균 이상으로 고장률이 높고, 4K 녹화 시 스스로 과열되거나 임의 종료되는 문제가 있음
  • 정말 대단함
    예전 글 https://hforsten.com/radar-phase-measurements.htmlhttps://hforsten.com/6-ghz-frequency-modulated-radar.html 덕분에 내 소나 시스템 작업에 많은 도움을 받았음
    이번 글도 복잡한 주제를 아주 잘 설명함. 관련 작업 예시는 https://twitter.com/alextoussss/status/1756371553460121766에 있음

  • 아름다운 작업임. Henrik은 공개 문서로는 흔히 보기 어려운 수준의 레이더와 RF 데이터 수집 프로젝트를 오래 해왔고, 문서화 품질도 매우 높음

  • 굉장한 작업임. RF, 하드웨어, 펌웨어, 소프트웨어까지 전체 스택에서 이런 기술적 깊이를 보여주는 경우는 드묾
    글을 읽을수록 점점 더 좋아짐

  • 왜 접지면을 1층과 6층이 아니라 2층과 6층에 둔 건지 궁금함
    고주파 PCB 설계 경험이 없는 입장에서는 접지로 차폐를 만들고 전원면을 3층이나 4층에 둘 것 같음. 분명 좋은 이유가 있겠지만 잘 보이지 않음

    • 고속 PCB에서는 보통 상단과 하단을 접지면으로 쓰지 않음. 그 층들에는 부품이 있기 때문임
      모든 칩 주변의 접지면을 잘라내야 하고, 고속 신호에는 연속적인 접지면이 정말 필요함. 특히 RF IC는 접지까지의 접근이 짧아야 함
      IC와 접지면 사이 거리를 최소화하려면 2층이 가장 좋은 층임
    • 고속 신호는 임피던스 불일치를 일으키는 비아를 피하려고 상단과 하단층에 배선하는 일이 흔함. 백드릴을 해도 비용이 큼
      특정 특성 임피던스를 유지하려면, 특정 폭의 배선에서 일정 거리 떨어진 평면(GND)이 필요함. 신호 위아래에 평면이 없으면 원하는 임피던스 값을 만들 수 없음
      상단과 하단층을 추가로 채울 수도 있는데, 임피던스에는 약간만 영향을 줌
    • 글의 설명이 맞는지 모르겠음
      이미지로는 신호가 1층(빨강), 3층(주황), 6층(파랑)에 있고, 접지는 2층(초록)과 5층(분홍), 전원은 4층(청록)처럼 보임
      몇몇 비아를 맞춰보면 2층과 5층이 확실히 연결되어 있음
    • 설계자는 아니지만, 위쪽의 구불구불한 정합 고주파 신호와 아래의 채움 사이에서 용량성 부하를 줄이고, 채움 없이 모델링과 IC 실장을 쉽게 하려는 의도 같음
      그 주변에도 채움이 없다는 점이 보임. 그림의 순서는 확실치 않지만 123/654처럼 보였다가, 본문이 틀렸고 123/456에 2층과 4층이 GND인 듯함
      내부의 저속 디지털 신호가 접지/전원, 수정하면 접지/접지 평면 사이에 끼워져 있는 것으로 보이는데, 다른 PCB에서 떼어두면 보통 가장 큰 잡음원이라서 좋은 선택일 수 있음
      전원/접지 평면은 바로 붙어 있어야 함. 이 정도 주파수에서는 바이패스 커패시터가 거의 제 역할을 못 하기 때문임
  • 레이더 얘기가 나와서 말인데, 이제 쓸 만한 레이더가 34센트밖에 안 함: https://www.aliexpress.com/item/1005006240906322.html
    그 칩은 원래 이 용도로 설계된 것도 아니고, PIR 센서 칩을 재활용한 것임
    레이더 핵심은 PCB 왼쪽 절반 가운데에 있는 단일 다중 GHz 트랜지스터 하나와, 누군가가 수년간 설계하고 다듬었을 법한 구리 패턴으로 만든 아주 영리한 피드백 회로뿐임

상상 그 너머의 미친 엔지니어링...

내가 어렴풋이 상상했던 모습의 엔지니어와 너무 가까움.