SDR入門とボード図鑑

Software Defined Radio — 無線機を「ソフトウェア」にした道具と、GNSS学習に使える定番ボードたち

SDRとは — ハードは「電波⇔数値」の変換だけ

アンテナ電波
RFフロントエンド増幅・周波数変換
(チューナー)
ADC / DACアナログ⇔デジタル
I/Qサンプル
PC / FPGA復調・変調は
ぜんぶソフトウェア

従来の無線機は「FM専用」「GPS専用」のように復調回路がハードに焼き付いていた。SDRはハードを最小限(周波数変換+AD/DA変換)にして、残りをソフトウェアで行う。同じ1枚のボードが、コードを変えるだけでFMラジオにも、航空無線受信機にも、GNSS受信機・GNSS信号発生器にもなる。受信の流れで見たGNSSモジュールの「捕捉・追尾・復号」を、自分のPCで動かせるということ。

周波数カバレッジ — 各ボードが受信・送信できる範囲(クリックで詳細)

縦の緑破線がGNSSの周波数(L5 1176 / L1 1575 MHz)。どのボードもGNSS帯をカバーしているが、「カバーしている」と「GNSSに向いている」は別問題(ビット数と基準クロック精度が効く — 下の解説参照)。数値は代表値の目安で、改造・設定で変わるものもある。

比較表(目安)

ボード周波数範囲分解能帯域/レート送受信基準クロック実売目安
RTL-SDR (V4)24M–1.77GHz8bit~2.4 Msps受信のみ±1ppm (TCXO)~¥6千
HackRF One1M–6GHz8bit20 Msps半二重±20ppm~¥5万
ADALM-Pluto325M–3.8GHz*12bit61.44 Msps*全二重 1T1R±25ppm~¥4万
LimeSDR Mini 2.010M–3.5GHz12bit30.72 MHz帯域全二重 1T1RVCTCXO ±1ppm級~¥7万
LimeSDR XTRX30M–3.8GHz12bit~120 MHz帯域 (PCIe)全二重 2T2RVCTCXO ±0.5ppm級~¥10万
bladeRF 2.0 micro47M–6GHz12bit61.44 Msps全二重 2T2RVCTCXO ±1ppm~¥8万
USRP B21070M–6GHz12bit56 MHz帯域全二重 2T2R±2ppm (GPSDO対応)~¥30万

* Plutoは改造(設定変更)で70M–6GHzまで拡張可能。USB 2.0接続のため実効転送レートは数Msps程度。価格は為替・時期で大きく変動。

I/Qサンプルとは — SDRの共通言語

SDRが吐き出す(受け取る)のは「I/Qサンプル」という複素数の列です。搬送波を基準に、同相成分I(cos側)と直交成分Q(sin側)の2つの数値で信号を表します。波の基礎で見た回転ベクトル(フェーザ)そのもので、I/Qは矢印のX座標とY座標。振幅は √(I²+Q²)、位相は atan2(Q, I)。

つまりI/Qサンプルさえあれば、振幅も周波数も位相もあとから自由に取り出せる — AM/FM/PSKぜんぶソフトで復調できる理由がこれです。gps-sdr-simのようなツールが生成する「I/Qファイル」は、GNSS信号の波形をこの形式で記録したものです。

ビット数(8bit vs 12bit)— ダイナミックレンジの差

ADCの分解能1ビットあたり約6dBのダイナミックレンジが決まります。8bitなら約48dB、12bitなら約72dB。dBのページの感覚でいうと、「一番強い信号と一番弱い信号の差をどこまで同時に扱えるか」の違いです。

GNSSは雑音より弱い信号を相関で掘り出すので、量子化は粗くても意外と動きます(専用チップは1〜3bit!)。ただし近くに強い電波(携帯基地局など)があると、8bitでは強い信号がレンジを食いつぶして弱いGNSSが押し出されがち。12bit機のほうが安定します。

基準クロック精度 — GNSSでは±ppmが勝負

SDRの周波数はボード上の基準発振器(XO/TCXO/VCTCXO)から作られ、その誤差はppm(100万分の1)で表されます。L1=1575.42MHzでは 1ppmのズレ=約1.58kHzの周波数オフセット捕捉の2次元サーチはドップラー±5kHz程度を想定しているので、±20ppm(≈±31kHz)のHackRF素の状態では、サーチ範囲を大きく広げないと衛星が見つかりません。

LimeSDR系がGNSS用途で人気なのは、VCTCXO(±0.5〜1ppm級)を積んでいてこの問題が小さいから。逆にRTL-SDRでも「TCXO搭載版」ならL1受信入門には十分です。本気の実験では外部10MHz基準(GPSDO)を入れる文化もあります。

GNSS×SDRでできること — 定番ツール

受信: GNSS-SDR(本格的なオープンソースGNSS受信機。捕捉→追尾→復号→PVTまで全部ソフトで動く)、PocketSDR(GNSS研究者に人気の軽量ツール)。RTL-SDR+パッチアンテナでもL1 C/Aの捕捉・追尾を体験できます。受信の流れの各ブロックが実際のコードとして見えるのは感動もの。

送信(信号生成): gps-sdr-simで任意の位置・時刻のGPS L1 C/A信号のI/QファイルをつくってSDRで再生 — 受信機のテストに使われる定番手法です。ただし電波を空間に出すのは電波法違反になるため、必ず有線+減衰器で。詳しくは次のページ「SDRでGNSS信号を送る」で、LimeSDRを使った出力レベル設計を学びます。