Construindo um Frontend SDR de Larga Banda: Cadeia de Sinais do ADC ao FPGA
O core do Software Defined Radio (SDR): digitalizar o sinal de RF o mais cedo possível, e deixar o processamento de sinais com o FPGA. Uma cadeia típica de frontend SDR de larga banda é: antena → LNA → mixer → ADC → FPGA (DDC + FFT + demodulação). Ao longo desta cadeia, a banda do transceptor do FPGA, o buffer DDR e a potência de DSP determinam quão larga é a banda instantânea que você consegue atingir.
1. Cadeia de Sinal do Frontend SDR
Uma cadeia completa de recepção SDR de larga banda:
1. Antena + frontend RF: recebe sinais over-the-air, amplifica via LNA, filtro passa-banda.
2. Mixagem / amostragem direta: ou down-converte para IF depois amostra, ou amostragem direta de RF (ADC de larga banda amostrando DC~6GHz).
3. Amostragem ADC: digitaliza o sinal analógico, gera dados seriais JESD204B.
4. Processamento FPGA: recebe JESD204B → DDC (down-conversão digital) → FFT / demodulação → envia ao host via PCIe.
O FPGA faz três coisas nesta cadeia: capturar dados seriais de alta velocidade, fazer down-conversão digital em tempo real e transferir dados ao host via PCIe. Estas três tarefas definem a escolha do FPGA.
2. Como Calcular a Banda Instantânea
A métrica SDR mais crítica é a Banda Instantânea (IBW) — a banda que o FPGA consegue processar em tempo real após a amostragem do ADC.
| Métrica | Fórmula | Exemplo (AD9680 14-bit 1GSPS) |
|---|---|---|
| Taxa de amostragem do ADC | f_s | 1 GSPS |
| Banda de Nyquist teórica | f_s / 2 | 500 MHz |
| Banda de saída do DDC | f_s / decimação | dec=4 → 125 MHz |
| Lane rate do JESD204B | f_s × 14 bit × overhead de frame | ≈ 10,24 Gbps/lane |
| Pares de transceptor do FPGA | lanes por ADC | AD9680 → 4 lanes |
Exemplo de Orçamento de Banda
Requisito do projeto: 100 MHz de banda instantânea, ADC dual-channel.
- ADC: AD9680 (14-bit, 1 GSPS, JESD204B), 4 lanes por canal @ 10,24 Gbps.
- Canais ADC duplos: precisam de 8 pares de transceptor.
- Taxa de dados pós-DDC: 100 MHz × 2 ch × 16 bit (I/Q) = 3,2 GB/s.
- Banda teórica do PCIe Gen2 x8 ≈ 3,2 GB/s → totalmente carregado, precisa de folga.
- Conclusão: escolha DUK7410T (8× GTP + PCIe Gen2 x8) cabe no limite, mas exige bufferização DMA ping-pong.
3. Requisitos de Recursos no Lado do FPGA
Necessidades de recursos de FPGA para frontend SDR:
| Recurso | Propósito | Necessidade típica (IBW dual 100 MHz) |
|---|---|---|
| Transceptores de alta velocidade | JESD204B RX + upload PCIe | 8 (ADC) + 4 (PCIe) = 12 pares |
| DSP slice | DDC NCO + filtro FIR + FFT | ~500~800 |
| BRAM | Buffer FIFO + ping-pong | ~20~40 MB |
| Banda DDR | Buffer grande + DMA PCIe | ≥ 5 GB/s |
| Logic cells | IP JESD204B + DDC + DMA PCIe | ~100K~150K LC |
4. Seleção de Placa por Cenário
Entrada: DUK7410T (¥9.999) — SDR 100 MHz canal único
8× GTP cabem em um mezanino AD9680 (4 lanes), os 4 pares restantes rodam PCIe Gen2 x8. 4GB DDR3 para bufferização ping-pong. Adequado para educação, monitoramento de espectro canal único.
Mainstream: DUF7690T (¥24.999) — SDR 200 MHz dual-channel
36× GTH @10,3G, FMC HPC duplo para dois mezaninos ADC. 3.600 DSP slices lidam com DDC de 8 canais tranquilamente. PCIe Gen3 x8 dobra a banda. Adequado para monitoramento de espectro de larga banda e protótipos de sistemas de radar.
Gama alta: XCKU15P (¥15.999) — SDR de Amostragem Direta de RF
Transceptores GTY 28G suportam lane rate JESD204C de 24Gbps. 8GB DDR4 ECC 19,2 GB/s. Adequado para amostragem direta de RF (ADC 6GHz), MIMO multicanal e protótipos de array faseado.
5. Três Armadilhas Comuns
Armadilha 1: Lane Rate do JESD204B Ultrapassa o Limite do Transceptor
O AD9680 a 1 GSPS cheio tem lane rate ≈ 10,24 Gbps. O GTP do DUK7410T chega no máximo a 6,6 Gbps — não conecta! Precisa reduzir a amostragem para 250 MSPS (lane rate ≈ 2,5 Gbps). Ou subir para DUF7690T (GTH @10,3G).
Armadilha 2: Banda DDR Insuficiente Causa Perda de Dados
Os dados pós-DDC de 3,2 GB/s precisam ser escritos na DDR e depois lidos via PCIe. A DDR3 de 14,9 GB/s é teoricamente suficiente, mas a eficiência real de chaveamento leitura/escrita é apenas 60% — ≈ 9 GB/s. Calcule com cuidado para canal duplo; se insuficiente, suba para DDR4.
Armadilha 3: Clock Desalinhado, JESD204B Não Trava
O JESD204B exige alinhamento de Device Clock + SYSREF. O clock do mezanino ADC deve ser roteado pelo pino FMC CLK0 para as entradas de clock global MRCC/SRCC do FPGA. Se o roteamento da PCB estiver errado, não importa quão caro seja o chip, não vai funcionar.
Frontend SDR não é sobre comprar o FPGA mais caro, mas sobre acertar as contas do lane rate do ADC, da banda instantânea, do buffer DDR e do upload PCIe. Três cálculos — pares de transceptor, DSP, banda DDR — e a escolha da placa cai naturalmente.
