広帯域 SDR フロントエンドの構築:ADC から FPGA までの信号链
ソフトウェア無線(SDR)の核心は、RF 信号を可能な限り早い段階でデジタル化し、信号処理を FPGA に任せること。代表的な広帯域 SDR フロントエンドの信号链は、アンテナ → LNA → ミキサ → ADC → FPGA(DDC + FFT + 復調)。この链に沿って、FPGA のトランシーバ帯域、DDR バッファリング、DSP 性能が、達成できる瞬時帯域幅を決める。
1. SDR フロントエンドの信号链
完全な広帯域 SDR 受信链:
1. アンテナ + RF フロントエンド:空間の電波を受信し、LNA で増幅、帯域通過フィルタを通す。
2. ミキシング / 直接サンプリング:IF へダウンコンバートしてからサンプリングするか、RF 直接サンプリング(広帯域 ADC が DC~6GHz をサンプル)。
3. ADC サンプリング:アナログ信号をデジタル化し、JESD204B シリアルデータを出力。
4. FPGA 処理:JESD204B 受信 → DDC(デジタルダウンコンバート)→ FFT / 復調 → PCIe でホストへアップロード。
FPGA はこの链で 3 つの仕事をする:高速シリアルデータの受信、リアルタイム・デジタルダウンコンバート、PCIe によるホスト転送。この 3 つのタスクが 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 2 チャネル: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)がぎりぎり適合、ただし 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、デュアル FMC HPC で ADC メザニン 2 枚。3,600 DSP スライスが 8 チャネル DDC を容易に捌く。PCIe Gen3 x8 が帯域を倍増。広帯域スペクトル監視、電子領域信号処理の試作に適する。
ハイエンド:XCKU15P(¥15,999)——RF 直接サンプリング SDR
GTY 28G トランシーバが JESD204C レーンレート 24Gbps をサポート。8GB DDR4 ECC 19.2 GB/s。RF 直接サンプリング(6GHz ADC)、マルチチャネル MIMO、フェーズドアレイの試作に適する。
5. よくある 3 つの陥りどころ
陥りどころ 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 帯域の 3 つを計算すれば、ボード選択は自然に決まる。
