システム・運用#39
SDR — 受信機をハードウェアからソフトウェアへ溶かし込む
ミキサもフィルタもPLLも、もう半田ごてでは作らない。IFサンプリングとデジタルI/Q復調、位相アキュムレータ式NCO、離散化されたPLLという4つの柱から、深宇宙受信機がなぜ、どうやってソフトウェア無線(SDR)へと置き換わったのかを数式で理解する。
前提知識: pll
この回で学ぶこと
ここまでの回で、私たちは受信機を構成する個々の要素技術を1つずつ積み上げてきました。PCM/PSK/PMでRF搬送波の位相にビット列を乗せる仕組みを見て、PLLで微弱な残留搬送波をアナログのフィードバック回路(位相検波器・ループフィルタ・VCO)がどう追尾するかを学び、整合フィルタやシンボル同期で受信SNRを最大化しタイミングを合わせる仕組みを扱いました。これらの説明はすべて、暗黙のうちに「ミキサ」「フィルタ」「発振器」といったアナログの電子回路が実装を担うことを前提にしていました。実際、1970〜80年代の深宇宙受信機は文字通りそうで、位相検波器はダイオードミキサ、ループフィルタはオペアンプの積分回路、VCOは水晶発振器を電圧で微調整する物理的な発振器でした。
しかし現代の深宇宙受信機、そして地上局・探査機を問わず現代の無線通信機器の大半は、これらのアナログ段をごっそりデジタル演算に置き換えています。受信したアナログ信号をできるだけ早い段階でA/D変換器(ADC)にかけてビット列に変換してしまい、そこから先のミキシング・フィルタリング・位相追尾・タイミング追尾は、すべてFPGAやDSP上で走るソフトウェア(あるいはそれに準ずる論理回路)として実装する——この設計思想とその実装技術群を SDR (Software Defined Radio, ソフトウェア無線) と呼びます。
この回では、これまで学んできたPLLや整合フィルタの理論そのものを再導出することはしません。そうではなく、**「アナログ回路として説明してきた各段が、デジタル演算としてはどう書き直されるのか」**という実装の視点に絞って、SDRの中核をなす4つの技術要素——サンプリング定理とIFサンプリング、デジタルI/Q復調、NCO(数値制御発振器)、そして離散化されたPLL——を数式で追っていきます。
直感的導入: なぜ「早くデジタルにする」のか
アナログ受信機の設計は、突き詰めれば「どの段でミキシングし、どの段でフィルタリングし、どの段でA/D変換するか」という配置問題です。伝統的なスーパーヘテロダイン受信機では、RF信号(Xバンドなら約8.4GHz)をまずアナログミキサで中間周波数(IF, Intermediate Frequency、たとえば数十〜数百MHz)まで落とし、さらにもう一段ミキシングしてベースバンド(直流近辺)まで落としてから、ようやくA/D変換器にかけていました。位相検波・タイミング検出・復調といった処理はすべて、その後段のアナログ回路(あるいはベースバンドまで落とした後の、ごく低速なデジタル回路)が担っていました。
この設計には大きな欠点があります。アナログ回路は「特定の変調方式・特定の周波数プラン」に合わせて物理的に設計されてしまうということです。ミキサの局部発振器の周波数、フィルタの帯域幅、位相検波器の特性——これらはすべて基板上の抵抗・コンデンサ・水晶発振子の値として固定されており、ミッションが変わって変調方式や符号化方式が変わるたびに、ハードウェアの再設計・再製造が必要になります。深宇宙探査機は打ち上げてしまえば軌道上のハードウェアを交換できませんし、地上局側にしても、ミッションごとに全く別の受信機を新造していては莫大なコストと時間がかかります。
SDRの発想はこの逆で、**「できるだけRFに近い、できるだけ早い段階でA/D変換してしまい、その先の処理はすべてソフトウェア(あるいは書き換え可能な論理回路)にする」**というものです。ミキシングも、フィルタリングも、PLLの位相検波も、いったんビット列になった信号に対する掛け算・足し算・条件分岐として実装されます。ソフトウェアである以上、変調方式が変わっても、符号化方式が変わっても、極端に言えば新しいミッションのために新しい受信アルゴリズムを書いて書き込み直すだけで対応できます。この回で見ていくのは、まさに「アナログのミキサ・フィルタ・VCOが、どんな数式のデジタル演算に化けるのか」という変換のカラクリです。
サンプリング定理の復習とIFサンプリング
ナイキスト・シャノンのサンプリング定理(復習)
デジタル化の出発点は、おなじみの**サンプリング定理(ナイキスト・シャノンの定理)**です。帯域幅 のベースバンド信号(周波数成分が から の範囲にしか存在しない信号)を、標本化周波数(サンプリングレート) で等間隔にサンプリングするとき、
を満たせば、元の連続時間信号を標本値から完全に復元できます。この をナイキストレートと呼びます。逆に でサンプリングすると、高周波成分が低周波側に折り返して混入する**エイリアシング(折り返し雑音)**が発生し、元の信号を復元できなくなります。
帯域通過信号のサンプリング(IFサンプリング)
ここで素朴な疑問が生じます。深宇宙受信機が扱うIF信号は、たとえば中心周波数 MHzに信号が存在する**帯域通過信号(バンドパス信号)**であり、そのままナイキスト定理を素朴に適用すると MHz という非常に高速なADCが要求されてしまいます。しかし、その信号が実際に持っている情報量(帯域幅)は、たとえば MHz 程度しかありません。
ここで使われるのが**帯域通過サンプリング定理(bandpass sampling theorem、undersamplingとも呼ばれる)**です。信号が周波数帯 (帯域幅 )にのみ成分を持つとき、サンプリングによって生じる周波数軸上のスペクトルの折り返し・複製が、元の信号帯域と重ならないように を選べば、サンプリングレートは ではなく帯域幅 程度まで下げてよいことが示せます。具体的には、整数 を使って、
を満たす を選べば、エイリアシングによる帯域の重なりを避けつつ、元の信号帯域をナイキストゾーンのどこか(一般には基本帯域そのものではなく、 番目のナイキストゾーンに折り返された像)に過不足なく配置できます。この関係式は、周期 でスペクトルが複製されるサンプリングの性質上、元の帯域 の複製どうしが互いにぶつからないための幾何学的な条件そのものです。
実務上重要なのは、この折り返し自体は「利用可能な」現象であるという点です。むしろ意図的に を選び、RF/IF信号をわざと「エイリアスさせて」低いサンプリングレートの世界に持ち込む——これが**IFサンプリング(直接IFサンプリング、direct IF sampling)**と呼ばれる設計です。従来はアナログの2段・3段ミキシングでベースバンド近くまで周波数を落としてからA/D変換していたのに対し、IFサンプリングでは中間周波数の段階で、しかも比較的低速な(ただし高分解能・低雑音な)ADCで直接デジタル化してしまい、それより後段のダウンコンバージョンをすべてデジタル演算に任せます。これにより、アナログ段のミキサ・局部発振器・フィルタの数を大幅に減らせる(部品点数・非線形歪み・温度ドリフトの原因が減る)という設計上の利点が生まれます。
なお、ADCの分解能(量子化ビット数) ビットに対して、量子化雑音によって決まる理論上のダイナミックレンジ(信号対量子化雑音比、SQNR)は、正弦波入力を仮定した近似式で
と与えられます。深宇宙信号は強い残留搬送波と、その周りに広がる非常に弱いデータ側波帯が同居する(あるいは強い地上干渉波が同じ帯域近くに存在する)ことがあるため、IFサンプリングを行うADCには、単にサンプリングレートだけでなく、この量子化ダイナミックレンジも十分に確保できる分解能が要求されます。
デジタルI/Q復調: 複素指数を「掛け算する」だけの操作
アナログミキサからデジタル乗算へ
伝統的なアナログ受信機では、IF信号を局部発振器の正弦波 と掛け合わせるミキサによって、周波数をベースバンドまで落としていました(たとえばPCM/PSK/PMの回で見た復調操作)。IFサンプリングによってIF信号がすでにサンプル列 ()としてデジタル化されている以上、この「掛け算」もまたデジタル演算として実行できます。
サンプリングされたIF信号を、振幅・位相変調を受けた実数の帯域通過信号として、
と書きます( はサンプリング後に(必要ならエイリアシングを経て)現れる中間周波数、, が復調したい振幅・位相情報です)。これに、複素指数のサンプル列 を掛けます。
を使って展開すると、
第1項は に依存する高速な回転成分を持たない(直流近傍にとどまる)複素ベースバンド信号 、第2項は元の2倍の周波数 近くに現れる不要成分です。これはPCM/PSK/PMの回でアナログミキサの出力を合成角公式で展開したのと全く同じ構造で、アナログのミキサ+ローパスフィルタという2段の物理回路が行っていた仕事を、複素指数を掛けて低域通過フィルタ(デシメーションフィルタ)を通すという2段のデジタル演算に置き換えただけであることが分かります。この操作をデジタルダウンコンバージョン(Digital Down Conversion, DDC)、あるいはデジタルI/Q復調と呼びます。ローパスフィルタで第2項を除去した後の複素信号 が、以後のシンボル同期・搬送波再生・復調に使われる複素ベースバンドサンプル列です。
実際の実装では、この複素指数の掛け算に続けてサンプリングレートを落とす**デシメーション(間引き)**を同時に行うのが普通です。IFサンプリングの段階では信号帯域幅 よりもかなり高いレートでサンプルされているため、複素ベースバンドに落とした後は、後段の処理(整合フィルタ・シンボル同期・誤り訂正復号)に必要な最小限のレート(おおむね の数倍程度)までサンプル数を間引いて、計算量を削減します。
トリック
ここで実装上よく使われる巧妙な工夫を1つ紹介します。もしIF周波数 を、サンプリングレートのちょうど4分の1、すなわち になるように(帯域通過サンプリング定理の自由度を使って意図的に)選ぶと、
というように、掛けるべき係数列が の3値しか取らない、非常に単純な周期4のパターンになります。これは一般の実数の乗算器を一切使わず、符号反転とゼロ化(サンプルを間引く)だけでデジタルダウンコンバージョンを実行できることを意味し、乗算器の少ない古い世代のFPGA/ASICでも高速に実装できるため、SDR受信機の設計で好んで使われてきた古典的なテクニックです。
NCO: 数値制御発振器
デジタルダウンコンバージョンで使った複素指数の列 そのものを生成する回路が、アナログVCOに対応するNCO (Numerically Controlled Oscillator, 数値制御発振器) です。PLLの回ではVCOを「入力電圧に応じて瞬時角周波数を偏移させる」連続時間の物理素子として扱いましたが、NCOはこれを完全にデジタル演算で模倣します。
NCOの心臓部は**位相アキュムレータ(phase accumulator)**と呼ばれる ビットのカウンタです。クロック(サンプリングレート )が来るたびに、**周波数制御ワード(Frequency Control Word, FCW)**と呼ばれる固定(あるいは可変)の増分値を、レジスタに で加算し続けます。
このレジスタの値 は、 から までの位相角を 段階に量子化して表したものです。生成したい出力周波数 に対して、FCWは
(最近接整数への丸め)として設計します。位相アキュムレータの上位ビットを使って、あらかじめ計算しておいた正弦波の値を格納した**ルックアップテーブル(LUT)**を参照すれば、
という具合に、正弦波の生成そのものが「加算」と「テーブル参照」だけで完結します。この方式には2つの大きな利点があります。第一に、 を書き換えるだけで、機械的な部品を一切動かさずに任意の周波数へ瞬時に切り替えられること。第二に、周波数分解能が
で決まるため、 を大きく取れば( ビットなどはFPGA実装で一般的です)ミリヘルツ以下の極めて細かい周波数ステップを実現できることです。一方でLUTの量子化・アキュムレータの丸め誤差は、出力スペクトルに小さなスプリアス(不要な離散トーン)を生み、その大きさはスプリアスフリーダイナミックレンジ (SFDR) という指標で評価されます。深宇宙信号のように非常に広いダイナミックレンジを扱う受信機では、このNCOのスプリアス性能もリンク設計上無視できない要素になります。
デジタルPLL: 離散時間でのフィードバック追尾
PLLの回で、私たちは位相検波器・ループフィルタ・VCOという3要素からなる連続時間の線形システムとして、(自然角周波数)・(ダンピング係数)・(ループ雑音帯域幅)というパラメータでPLLの挙動を特徴づけました。SDR受信機では、この3要素すべてがデジタル演算に置き換わります。
- 位相検波器: アナログミキサの代わりに、上で見たデジタルI/Q復調の出力(あるいはシンボル同期の回で扱ったような、複素サンプルどうしの積)から位相誤差を計算します。単純な場合は (偏角、CORDICアルゴリズムなどで効率よく計算できます)、あるいはCostasループの回のような複素サンプルの積の虚部・実部を使う構成が使われます。
- ループフィルタ: 連続時間のPIフィルタ は、離散時間では、比例項と累積(積分)項を直接持つデジタルPIフィルタとして実装されます。
ここで は位相検波器が出す誤差信号、 は設計係数です。 の項が瞬時の誤差に比例した「比例(P)」成分、 に積み上げていく構造が誤差を積算する「積分(I)」成分に対応し、連続時間のPIフィルタの役割を、加算だけで実現しています。
- NCO: 前節のNCOがVCOの役割を担い、ループフィルタの出力 が(直接、あるいは中心周波数からの微小な偏差として)FCWを刻々と更新します。
離散時間系になったからといって、PLLの回で導いた という設計言語が無意味になるわけではありません。サンプリング周期 がループの時定数( のオーダー)に比べて十分小さい、すなわち
が成り立つ範囲では、離散時間ループの挙動は連続時間の線形PLL理論とほぼ一致し、 は から(双一次変換やインパルス不変変換などの標準的な離散化手法を使って)設計できます。逆に が に近づくほど連続時間近似からのずれが大きくなり、安定性やダンピングの挙動が理論値からずれてきます。この「連続時間の設計理論をどこまで離散時間の実装に持ち込めるか」という橋渡しの精密な議論(具体的な双一次変換の導出や係数の閉じた式)は、ディジタル制御・DSPの専門書に譲りますが、SDR受信機の設計では常にこの という制約を頭に入れて、サンプリングレートとループ帯域幅を選ぶ必要があります。
実務での使われ方
なぜ深宇宙受信機はSDR化されたのか
DSNの受信機は、当初はアナログ回路中心のBlock IIIレシーバ、Block IVレシーバという世代を経て、1990年代以降、信号処理の主要部分を段階的にデジタル化していきました。特にAdvanced Receiver (ARX)、続く**Full Spectrum Processor (FSP)やBroadband Spectrum Processor (BSP)**といった世代のバックエンドでは、IFサンプリングとデジタルI/Q復調・デジタルPLL・デジタルタイミング同期を組み合わせた構成が採用され、現在ではDSN局の信号処理チェーンのほとんどがFPGA上のデジタル演算として実装されています。
この移行の動機は、この回で見てきた技術的な理由だけでなく、運用上・経済上の理由が非常に大きいという点が重要です。
- 1つのハードウェアで、複数の変調方式・符号化方式に対応できる。 PCM/PSK/PMからQPSK/OQPSK、GMSK、APSKまで、そして畳み込み符号からターボ符号、LDPCまで、CCSDSの標準群は非常に多様な変調・符号化方式を規定しています。アナログ受信機であれば、これらのどれに対応するかによって物理的に異なる回路基板が必要でしたが、SDR受信機であれば、復調・復号アルゴリズムを走らせるソフトウェア(FPGAのビットストリームやDSPコード)を書き換えるだけで、同じハードウェア筐体のまま新しい方式に対応できます。
- ミッションごとのハードウェア再設計が不要になる。 DSNは同時に何十もの異なるミッションを支援しており、それぞれのミッションが独自の変調パラメータやリンク設計を持ちます。ミッションが変わるたびに専用の受信機ハードウェアを新造していては、コストも開発期間も現実的ではありません。SDR化により、受信機の「構成(コンフィギュレーション)」を切り替えるだけで多数のミッションに1つの局・1つの受信機群で対応できるようになりました。
- アルゴリズムの改良・バグ修正が展開後でも可能。 アナログ回路の欠陥や性能限界は基板を作り直さない限り直せませんが、デジタル実装であればソフトウェア・FPGAファームウェアのアップデートによって、運用中でも受信機のアルゴリズムを改善できます。
オープンソースSDRツールへの広がり
この回で扱ったデジタルダウンコンバージョン・NCO・デジタルPLLといった構成要素は、深宇宙通信に限らず、現代の無線通信全般で標準的に使われている考え方です。GNU Radioに代表されるオープンソースのSDRソフトウェアフレームワークは、まさにこの回で見た「複素指数の掛け算」「デシメーションフィルタ」「NCO」「ループフィルタ」といったブロックを、誰でも自由に組み合わせられるソフトウェアコンポーネントとして提供しています。GNU RadioはUSRP (Universal Software Radio Peripheral) のような汎用SDRハードウェアと組み合わせて、大学の研究室やアマチュア無線家、小規模な CubeSat 地上局(たとえばSatNOGSのような分散型地上局ネットワーク)でも広く使われており、かつては専用ハードウェアと専門部隊でしか扱えなかった深宇宙通信級の受信機設計手法が、教育・研究レベルでも実践できる環境が整いつつあります。
演習問題
- あるIF信号が中心周波数 MHz、帯域幅 MHz(つまり MHz, MHz)を占めているとします。 を計算し、帯域通過サンプリング定理の条件式 を満たす の範囲を求めてください。この範囲が、素朴なナイキストレート MHz よりもはるかに低いことを確認してください。
- サンプリングレート MHz、位相アキュムレータのビット幅 のNCOで、出力周波数 MHz を生成したいとします。周波数制御ワード を計算し、また周波数分解能 をHz単位で求めてください。
- となるように設計した場合、 に対する と の値をそれぞれ書き出し、この特別な設計がなぜ乗算器を使わずにデジタルダウンコンバージョンを実現できるのかを説明してください。
- PLLの回の演習1で扱った 、 のループを、サンプリングレート kHz のデジタルPLLとして実装したいとします。 の値を計算し、この値が本文で述べた「連続時間近似が妥当な範囲」()にどれくらい余裕をもって収まっているかを議論してください。また、もし同じループを Hz でしか動かせない場合、この近似がどう危うくなるかについても触れてください。
まとめと次回予告
SDRは、これまで個別のアナログ回路(ミキサ、フィルタ、VCO)として説明してきた受信機の各段を、サンプリング定理に基づくIFサンプリング、複素指数の掛け算としてのデジタルI/Q復調、位相アキュムレータとLUTによるNCO、そして離散化されたPLLという4つのデジタル演算の柱に置き換える設計思想でした。この変化の最大の実務的価値は、感度や性能そのものの向上以上に、同じハードウェアが、ソフトウェアの書き換えだけで多様な変調方式・符号化方式・ミッションに対応できる柔軟性とコスト削減にあり、それがDSNの受信機世代交代の背景にある動機でした。
ここまでの回で、私たちは受信機が「どうやって微弱な信号を検出し、位相とタイミングを合わせ、正しく復調・復号するか」という信号処理の内側を数式で見てきました。次回は少し視点を変え、そもそも受信機に届く信号がどれだけ弱く、どれだけの雑音と戦わなければならないかを決める、アンテナ側の物理的な指標——(利得対雑音温度比)とアンテナ雑音温度——を扱います。これは、この回のSDR受信機がどれだけ高性能に設計されていても、それ以前に「アンテナがどれだけ静かに、どれだけ効率よく電波を集められるか」がリンク全体の性能上限を決めてしまう、という深宇宙通信のもう1つの土台になる回です。
参考文献
- W. J. Hurd, “Software Defined Radio for Deep Space Communications,” JPL Interplanetary Network Progress Report
- T. Tkacenko, “The DSN Full Spectrum Processor (FSP): A Software Defined Radio Backend,” JPL Publication
- R. G. Lyons, Understanding Digital Signal Processing, 3rd ed., Prentice Hall
- F. M. Gardner, Phaselock Techniques, 3rd ed., Wiley (Chapter on Digital PLLs)
- DSN Telecommunications Link Design Handbook, DSN No. 810-005
- GNU Radio Project, GNU Radio Documentation, https://www.gnuradio.org/