광대역 SDR 프론트엔드 구축: ADC에서 FPGA까지 신호 체인
소프트웨어 정의 라디오(SDR)의 핵심: RF 신호를 가능한 한 일찍 디지털화하고 신호 처리는 FPGA에 맡긴다. 전형적인 광대역 SDR 프론트엔드 체인은 안테나 → LNA → 혼합기 → ADC → FPGA(DDC + FFT + 복조)다. 이 체인에서 FPGA 트랜시버 대역폭, DDR 버퍼링, DSP 연산량이 도달할 수 있는 순시 대역폭을 결정한다.
1. SDR 프론트엔드 신호 체인
완전한 광대역 SDR 수신 체인:
- 안테나 + RF 프론트엔드: 공중파 신호를 수신하고 LNA로 증폭, 대역 통과 필터.
- 혼합 / 직접 샘플링: IF로 다운컨버전 뒤 샘플링하거나, 직접 RF 샘플링(광대역 ADC로 DC~6GHz 샘플링).
- ADC 샘플링: 아날로그 신호를 디지털화해 JESD204B 직렬 데이터 출력.
- FPGA 처리: JESD204B 수신 → DDC(디지털 다운컨버전) → FFT/복조 → PCIe로 호스트 업로드.
FPGA는 이 체인에서 세 가지 일을 한다: 고속 직렬 데이터 수신, 실시간 디지털 다운컨버전 수행, PCIe로 호스트 전송. 이 세 가지 작업이 FPGA 선택을 규정한다.
2. 순시 대역폭 계산법
SDR에서 가장 중요한 지표는 순시 대역폭(IBW)—ADC 샘플링 후 FPGA가 실시간으로 처리할 수 있는 대역폭이다.
| 지표 | 계산식 | 예시 (AD9680 14-bit 1GSPS) |
|---|---|---|
| ADC 샘플 레이트 | f_s | 1 GSPS |
| 이론적 나이퀴스트 대역폭 | f_s / 2 | 500 MHz |
| DDC 출력 대역폭 | f_s / 데시메이션 | dec=4 → 125 MHz |
| JESD204B 레인 레이트 | f_s × 14 bit × 프레임 오버헤드 | ≈ 10.24 Gbps/레인 |
| FPGA 트랜시버 페어 | ADC당 레인 수 | AD9680 → 4 레인 |
대역폭 예산 사례
프로젝트 요구 사항: 100 MHz 순시 대역폭, 듀얼 채널 ADC.
- ADC: AD9680 (14-bit, 1 GSPS, JESD204B), 채당 4 레인 @ 10.24 Gbps.
- 듀얼 ADC 채널: 트랜시버 8 페어 필요.
- DDC 후 데이터 레이트: 100 MHz × 2 ch × 16 bit (I/Q) = 3.2 GB/s.
- PCIe Gen2 x8 이론 대역폭 ≈ 3.2 GB/s → 풀로드, 마진 필요.
- 결론: DUK7410T (8× GTP + PCIe Gen2 x8)로 간신히 fits하며 DMA 핑퐁 버퍼링 필요.
3. FPGA측 자원 요건
SDR 프론트엔드 FPGA 자원 요건:
| 자원 | 용도 | 일반적 필요량 (듀얼 100 MHz IBW) |
|---|---|---|
| 고속 트랜시버 | JESD204B RX + PCIe 업로드 | 8 (ADC) + 4 (PCIe) = 12 페어 |
| DSP 슬라이스 | DDC NCO + FIR 필터 + FFT | 약 500~800 |
| BRAM | FIFO 버퍼 + 핑퐁 | 약 20~40 MB |
| DDR 대역폭 | 대형 버퍼 + PCIe DMA | ≥ 5 GB/s |
| 로직 셀 | JESD204B IP + DDC + PCIe DMA | 약 100K~150K LC |
4. 시나리오별 보드 선택
엔트리: DUK7410T (¥9,999) — 단일 채널 100 MHz SDR
8× GTP로 AD9680 메자닌 1장(4 레인)에 간신히 맞고, 남은 4 페어가 PCIe Gen2 x8를 구동한다. 핑퐁 버퍼링용 4GB DDR3. 교육, 단일 채널 스펙트럼 모니터링에 적합하다.
주류: DUF7690T (¥24,999) — 듀얼 채널 200 MHz SDR
36× GTH @10.3G, ADC 메자닌 2장용 듀얼 FMC HPC. 3,600 DSP 슬라이스가 8채널 DDC를 가볍게 처리한다. PCIe Gen3 x8가 대역폭을 2배로 올린다. 광대역 스펙트럼 감시, 특수 목적 프로토타입에 적합하다.
하이엔드: XCKU15P (¥15,999) — 직접 RF 샘플링 SDR
GTY 28G 트랜시버가 JESD204C 레인 레이트 24Gbps를 지원한다. 8GB DDR4 ECC 19.2 GB/s. 직접 RF 샘플링(6GHz ADC), 다채널 MIMO, 페이즈드 어레이 프로토타입에 적합하다.
5. 세 가지 흔한 함정
함정 1: JESD204B 레인 레이트가 트랜시버 한계를 초과
AD9680을 풀 1 GSPS로 쓰면 레인 레이트 ≈ 10.24 Gbps. DUK7410T GTP는 6.6 Gbps에서 끝나—연결 불가! 250 MSPS로 다운샘플링해야 한다(레인 레이트 ≈ 2.5 Gbps). 아니면 DUF7690T(GTH @10.3G)로 올라선다.
함정 2: DDR 대역폭 부족으로 데이터 유실
DDC 후 3.2 GB/s 데이터를 DDR에 쓴 뒤 PCIe로 읽어 낸다. DDR3 14.9 GB/s는 이론상 충분하지만 실제 읽기/쓰기 전환 효율은 60% 수준—≈ 9 GB/s. 듀얼 채널이면 신중히 계산하고, 부족하면 DDR4로 올라선다.
함정 3: 클록 불일치, JESD204B가 록되지 않음
JESD204B는 Device Clock + SYSREF 정렬을 요구한다. ADC 메자닌 클록은 FMC CLK0 핀을 통해 FPGA MRCC/SRCC 글로벌 클록 입력으로 라우팅되어야 한다. PCB 배선이 잘못되면 칩이 아무리 비싸도 작동하지 않는다.
SDR 프론트엔드는 가장 비싼 FPGA를 사는 게 아니라 ADC 레인 레이트, 순시 대역폭, DDR 버퍼링, PCIe 업로드의 계산을 맞추는 일이다—트랜시버 페어, DSP, DDR 대역폭 세 가지 계산이면 보드 선택이 자연스럽게 나온다.
