gqrxは、HackRF Oneなどで電波から変換されたデジタル信号を解析する、SDR(ソフトウェアラジオ)を構成するオープンソースソフトウェアです。
元々は ‘hachrf_info’ というツールを調べていまして、そのツールが ‘HackRF One’ というデバイスの状態を調べるものだと判明いたしました。
で、その ‘HackRF One’ を購入しまして、そのついでに無駄にアマチュア無線技士3級の免許をとりまして、さあ ‘HackRF One’ を使い倒すぞ!
と、今に至っている次第です。
今回の目標は、 ‘HackRF One’ + ‘gqrx’ の組み合わせでFMラジオを聞くことです。
何だかkaliの勉強とは違う方向に行ってしまっちゃってスミマセン。
HackRF Oneの確認
まず ‘hackrf_info’ ツールで、 ‘HackRF One’ の存在確認を行います。
hackrf_info
正常に認識されています。

予めラズパイ本体と ‘HackRF One’ をUSB接続しておきます。
![HackRF One2]](https://joenoji325.com/wp-content/uploads/2026/06/2026060407.jpg)
USB給電でランプが点灯します。
インストール
sudo apt update
sudo apt install gqrx-sdr
上記にてインストールが始まりますが、私の環境では下記のようなErrorが途中で出ました。

‘XTRX’ という古いデバイスのドライバをビルドしようとして出たエラーのようです。
‘gqrx’ 本体そのものは無事インストールされています。

apt時にエラーが続く場合
設定途中の ‘xtrx-dkms’ を削除します。
sudo apt remove xtrx-dkms
念の為、以下を順に行います。
sudo apt install –fix-broken
sudo apt update
sudo apt full-upgrade
インストール後は、kaliメニュー ー 01-Recconnaissance ー Radio Frequencyの下に、 ‘gqrx’ ツールが登録されます。
念の為追加インストール
- 念の為 ‘hackrf’ のインストール状況の確認
- 開発環境 ‘libhackrf-dev’ のインストール
sudo apt install hackrf libhackrf-dev

上記では ‘hackrf’ は既に(デフォルトで)入っています。
ちなみに ‘hackrf’ 関連のコマンド群は以下の9つです。

‘libhackrf-dev’ は、HackRF Oneをプログラム上で制御するための開発用ライブラリとヘッダファイルです。
HackRFを使うだけなら必須ではありませんが、ソフトウェアをコンパイルする場合には必要になることが多いです。
そしてSDRソフトウェアの中にはインストール時に ‘apt’ に対応しておらず、buildする必要のあるソフトウェアがあります。
gqrx起動
以下のコマンドで起動します。
gqrx
まずは ‘I/Q Input’ の設定画面が出ます。
Device欄には上記 ‘hackrf_info’ で調べたserial number欄の数字と同じものを選びます。

初期推奨設定
| 項目 | 設定 |
|---|---|
| Input Rate | 10 Msps |
| Decimation | 4 |
| Bandwidth | 5 MHz |
| LNB LO | 0MHz |
‘✔︎OK1’ を押して次へ進みます。
この画面は後からでも設定できます。(左上 ‘File’ メニューの ‘I/Q Devices’ から)

操作と設定
初期画面はこんな感じ。

左上の▶︎ボタンをクリックすると電波の走査が始まります。

マウスのカーソルを合わせると、その場に説明が出る and/or 左下に説明が出ることが多いです。
左下エリア(ウォーターフォール)
- 青は電波の無い周波数の部分、それ以外の色がついている周波数は何らかの電波を拾っています。(下表)
- 青い部分の時に「ザー」という砂嵐音が聞こえれば音の再生は出来ています。
| 線の種類 | 意味 |
|---|---|
| 縦線 | 常時送信:FM放送局など |
| 断続的な線 | 業務無線(航空無線など) |
| 太い帯域 | デジタル通信 |
左上エリア(FFTスペクトラム)
操作
- 上部の大きな数字は周波数(直接数値を入力出来るし、カーソルを合わせるとマウスホイールで増減します)
- その右の緑の横線は信号の強さ(長いほど強い)
- その下の赤の縦線が現在の周波数の位置(クリックで移動できます)
- 横に走るギザギザの波が電波の強さ(強い電波の周波数部分は高い波)です。このあたりにカーソルを持ってきてマウスホイールを動かすと周波数の微調整が効きます。
- その下の周波数帯が数値表示されているあたりではカーソルが🖐️のマークに変わり、マウスホイールで周波数レンジの調整が出来ます。
信号の見分け方
| 信号 | 備考 | 波形 |
|---|---|---|
| 本物の信号 | 周波数が安定している アンテナを付けると強くなる 復調すると音声やデータが得られる | FM放送では帯域幅200kHzの山 |
| ノイズ | 画面全体に広がる 復調してもザー音 位置が一定でない | ギザギザの波 |
| スプリアス(偽信号) | アンテナを外しても消えない 周波数を変えても付いてくる 等間隔に出る 復調しても意味がない | 高い山 |
*スプリアス:デバイスの内部で発生する(漏出する)不要な信号
右上エリア
3つのTabがあります(Input, Reciever, FFT)
Input controlsタブ

初期推奨設定
| 項目 | 設定 |
|---|---|
| LNB LO | 0MHz |
| LNA | 16.0dB(信号弱い場合は24dB) |
| AMP | 0.0dB |
| VGA | 16.0dB(信号弱い場合は24dB) |
| DC remove | ✔︎ |
| IQ balance | ✔︎ |
| Freq correction | 0.0ppm |
Receiver Optionsタブ

Filter width:Wideを推奨
mode:電波の型式:FM放送受信の場合は、WFM(mono)推奨
FFT Settingsタブ

右下エリア
Audio

Gain :信号の強さ
Mute:音声をミュート
UDP:UDP経由のraw audioをストリーミング
Rec:記録開始(後で他のアプリなどで解析可能です)
記録されたファイルはGUIで見るとこんな表示になります。
Play:記録したファイルのプレイバック
…:Audio設定
まとめ
今回はとりあえず地元のFM放送を受信することに成功しました。(予め地元のFM局周波数を調べておき、その近くをサーチします)
場所がマンションの屋内であり、アンテナも小さく、受信条件が悪いため、本物のFMラジオの音質とまでは行きませんが。
最初から電波が全く聞こえない場合は、予め本物のFMラジオで感度の良い場所を調べておいた方が良いでしょう。
ちなみに付属アンテナ(ANT500)の長さは17cmですが、85cmまで伸ばすことが出来ます。
300MHz/アンテナ長の2(4)倍(m)が適合する周波数となります。(概ね75MHz〜1GHz)
<PR>

コメント