SDR入門とボード図鑑
Software Defined Radio — 無線機を「ソフトウェア」にした道具と、GNSS学習に使える定番ボードたち
SDRとは — ハードは「電波⇔数値」の変換だけ
(チューナー)
I/Qサンプル
ぜんぶソフトウェア
従来の無線機は「FM専用」「GPS専用」のように復調回路がハードに焼き付いていた。SDRはハードを最小限(周波数変換+AD/DA変換)にして、残りをソフトウェアで行う。同じ1枚のボードが、コードを変えるだけでFMラジオにも、航空無線受信機にも、GNSS受信機・GNSS信号発生器にもなる。受信の流れで見たGNSSモジュールの「捕捉・追尾・復号」を、自分のPCで動かせるということ。
周波数カバレッジ — 各ボードが受信・送信できる範囲(クリックで詳細)
縦の緑破線がGNSSの周波数(L5 1176 / L1 1575 MHz)。どのボードもGNSS帯をカバーしているが、「カバーしている」と「GNSSに向いている」は別問題(ビット数と基準クロック精度が効く — 下の解説参照)。数値は代表値の目安で、改造・設定で変わるものもある。
比較表(目安)
| ボード | 周波数範囲 | 分解能 | 帯域/レート | 送受信 | 基準クロック | 実売目安 |
|---|---|---|---|---|---|---|
| RTL-SDR (V4) | 24M–1.77GHz | 8bit | ~2.4 Msps | 受信のみ | ±1ppm (TCXO) | ~¥6千 |
| HackRF One | 1M–6GHz | 8bit | 20 Msps | 半二重 | ±20ppm | ~¥5万 |
| ADALM-Pluto | 325M–3.8GHz* | 12bit | 61.44 Msps* | 全二重 1T1R | ±25ppm | ~¥4万 |
| LimeSDR Mini 2.0 | 10M–3.5GHz | 12bit | 30.72 MHz帯域 | 全二重 1T1R | VCTCXO ±1ppm級 | ~¥7万 |
| LimeSDR XTRX | 30M–3.8GHz | 12bit | ~120 MHz帯域 (PCIe) | 全二重 2T2R | VCTCXO ±0.5ppm級 | ~¥10万 |
| bladeRF 2.0 micro | 47M–6GHz | 12bit | 61.44 Msps | 全二重 2T2R | VCTCXO ±1ppm | ~¥8万 |
| USRP B210 | 70M–6GHz | 12bit | 56 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を使った出力レベル設計を学びます。