inspectrum は、SDRで録音(記録)したIQデータを時間軸・周波数軸の両方から詳細に解析するためのツールです。
HackRF OneやRTL-SDR、GNU Radioなどで録音した信号を解析する場合には非常に強力で、「どのような変調なのか」「シンボルレートはいくらか」「パケット構造はどうなっているか」を調べるのに使われます
インストール
以下のコマンドでインストールできます。
sudo apt install inspectrum
起動
基本構文は以下の通りです。
inspectrum -r サンプルレート 解析ファイル名
解析できるファイル
例として下記ファイルはそのまま読み込めます
| ツール | 拡張子 |
|---|---|
| HackRF One | ***.cs8 |
| RTL-SDR | ***.cu8 |
| GNU radio | ***.cf32 |
これまで取り上げた、 ‘gqrx‘ 、 ‘gnuradio‘ 、’hackrf_transfer‘ で記録したファイルはすべて読み込めます。
例として、 ‘hackrf_transfer’ の信号採取時のコマンドです
tackrf_transfer -r 記録ファイル名.cs8 -f ターゲット周波数 -s サンプルレート -a 1 -l 24 -g 32
採取停止は、 ‘Ctrl + C’
サンプルレートの指定
‘-r’ オプションで、信号採取時のサンプルレートと同じ値を指定します。
例)2MHzで信号採取した場合は、 ‘-r 2000000’ となります(又は、 ‘-r 2e6’ との表記でもOK)
画面構成・基本操作
左半分のContorols画面と、右半分の解析画面の2つあります。
上部の中央に2つのアイコンがあり、

そのうち左側のアイコンをクリックすると左右の画面が分離します。

(右のアイコンはControls画面を閉じます)
Controls画面

- Open file… ➡️ 別のファイルを開くことが出来ます
- Sample rate ➡️ 信号採取時のサンプルレートです
Spectrogram:表示方法
- FFT size ➡️ FFTサイズの変更:時間と周波数の分解能(解像度)のバランスを取ります(時間分解能を上げて周波数分解能を下げる、又はその逆)
- Zoom ➡️ Spectrum(ウォーターフォール画面)の拡大倍率です
- Power max ➡️ 色の上限の変更(信号強度の表示ウインドウを調整します)
- Power min ➡️ 色の下限の変更(信号強度の表示ウインドウを調整します)
- Scales ➡️ チェックを入れると画面端にスケールが表示されます
Time selection:
- Enable cursors ➡️ チェックを入れると縦2本の線(カーソル)が表示されます
- Symbols ➡️ カーソル間で測定する単位時間数を決めます
- Rate ➡️ 毎秒何回の信号を送っているか
- Period ➡️ 1周期=上記のRateの逆数です
- Symbol rate ➡️ Rate ✖️ Symbols
- Symbol reriod ➡️ Symbol rateの逆数

ここで言う “カーソル” とは、普段使用しているカーソルとは別の概念の言葉です。縦2本線の間のことです。(図の縦の白線に挟まれた白くハイライトされた部分)
SigMF Control:SigMFファイル(を使う場合の)専用項目です。
- Display annotations ➡️ SigMFに注釈があれば表示します
- Display annotation comments tooltips ➡️ コメントを表示します
* SigMF(Signal Metadata Format)は、デジタル無線周波数(RF)信号や時系列信号データを記述・共有するためのオープンソース規格です
ウォーターフォール画面
解析画面の上の部分はウォーターフォール、下の部分は右クリック選択した信号の詳細です。
ウォーターフォールの向きは以下の通り
周波数高
⬆️
過去⬅️ ➡️未来
⬇️
周波数低
参考までに、gqrxのウォーターフォールは90度回転しています
未来
⬆️
周波数低⬅️ ➡️周波数高
⬇️
過去
左ドラッグ
左右で時間移動
上下で周波数移動(右クリックで下記項目の選択時)
右クリック
振幅、周波数などを選択して下段に表示出来ます。(複数を多段に積み重ねて表示できます)
右クリック ー Add Derived Plotから、下記を選択出来ます。
- Amplitude:振幅を表示
- Frequency:周波数を表示
- Phase:位相を表示

2本の横の白線の間の部分の信号が下段に表示されています。
まとめ
Inspectrumは、各種ツールで取得したデジタル信号(IQ信号)を拡大表示し、ビット周期・シンボルレート・変調方式(OOK/ASK/FSK/PSKなど)を調べることが出来ます。
例ではFM放送の受信例ですが、FM放送は解析が難しいようです。
chatGPT先生からは、リモコン信号などの単純な信号を拾うことを推奨されました。
あれこれその信号電波を拾う工夫をしてみたのですが、どうもうまく拾えませんでした。
(もしうまく行くようであれば追加投稿します。)
<PR>

コメント