前回は「HackRF One」を購入してから動作確認するところまで行いましたが、今回はWindows上のソフトウェアと接続して、動作させてみます。
前回の記事はコチラ↓
HackRF One のソフトウェア
ネット上で調べてみると、Windowsで動くソフトウェアとしては「GNU Radio Companion」「SDR Sharp」「SDR Console」「hackrf-spectrum-analyzer」などがあるようです。
このうち「GNU Radio Companion」は、ブロック図のようなフロー・ダイアグラムによって自ら無線機を設計することができるソフトウェアですが、その他のソフトウェアは主にスペクトラムアナライザとして使うためのものになります。
とりあえず今回は、これら4つのソフトウェアを使ってみました。
GNU Radio Companion
GNU Radio Companion(以下、GRC)にはディジタル信号処理を実装するための様々な機能ブロックが準備されています。
HackRF One を始めとしたSDR受信機を組み合わせることで、ソフトウェア無線機を簡単に構築することができると言われています。
ダウンロード
下記の GNU Radio のダウンロードページへ移動します。
https://wiki.gnuradio.org/index.php/InstallingGR
そしてページを下へと進み、Windowsの1行目の「here」をクリックします。
(Note:として記載されていますが、Windows版のGRCは公式にサポートされていません)
ダウンロードページへ移ったら、現時点(2021年2月26日)での最新版(GR 3.8.2.0 py3.9)をダウンロードします。
インストールの手順は一般的なソフトウェアと同じで、インストーラの指示に従って進めていけば問題ないかと思います。
起動
GRCを起動すると、まずWindowsで言う「コマンドプロンプト」のような画面(CUI)が起動します。
そしてしばらくすると、ブロック図を描くための画面(GUI)が起動します。
FM受信回路
プログラミングでは、はじめに「Hello World」という文字を表示することがファーストステップとして挙げられますが、ソフトウェア無線においては「FM受信機」がそれに当たるようです。
ブロック図の詳細は次回説明しますが、こんな感じになります。
この状態でフローグラフを「Generate」して「Execute」すると、波形が表示されるとともに音が出力されます。
残念ながら、自室では受信レベルが低すぎてFMラジオを受信することができませんでしたが、とりあえず HackRF Oneを使ってソフトウェア無線の第一歩を踏み出すことができました。
グラフの描画は、良く言えば「シンプル」で「わかりやすい」ですが、一方で細かな設定はできませんでした。(もっと他の方法があるのかもしれません)
SDR Sharp (SDR #)
SDR Sharpは RTL-SDR用のソフトウェアとしてよく使用されているようですが、HackRF Oneでも使えます。
SDR Sharpは他のSDRソフトウェアと比較して、「セットアップ」が簡単で、かつ使用方法もにわかりやすいことが特長として挙げられています。
またいくつかの高度な機能も備えており、サードパーティ製のプラグインを追加することで機能拡張することも可能なようです。
ダウンロード
下記の AIRSPY のダウンロードページへ移動します。
そして画面上部の「Download」ボタンとクリックして、ダウンロードを開始します。
なお SDR Sharp の導入にあたっては、「.NET 5 Desktop Runtime」が必要となります。PCにインストールされていない場合は「Pre-requisites」の横のリンクをクリックして、先にインストールしておきます。
SDR Sharpのダウンロードが完了したら、Zipファイルを解凍します。
起動
SDR Sharpを起動するにあたっては、解凍したフォルダの中にある「exeファイル」を実行するだけです。
Windowsの警告が出てきた場合には「詳細情報」をクリックしてから、実行します。
しばらくすると初期画面が起動します。
そして画面左下の「Source」の一番上のプルダウンメニューから、「HackRF」を選択します。
歯車マークの「Configure Source」をクリックすると、HackRF Oneのゲインが設定できます。
ここでもFMラジオは受信できていませんが、とりあえずどんな感じのソフトウェアかは掴むことができました。
おそらく様々なプラグインを追加することで、プログラミングなしに多種多様な機能が実装できるものと思われます。
操作感はやや独特な感じもありますが、慣れれば問題ないレベルだと思います。
SDR Console
SDR Consoleは、MicrosoftのOffice製品のような見た目が特長のソフトウェアです。
ダウンロード
下記のURLからダウンロードページへ移動します。
https://www.sdr-radio.com/download
少し怪しげなページですが、おそらく問題ありません。画面下へと進んでいき「DOWNLOAD」と表示されているバージョンで、32ビット版と64ビット版のいずれかを選択します。
ビット数の横に記載されている「Microsoft」「Dropbox」「Google」はそれぞれ、ダウンロードファイルが保存されているドライブの名前で、どれを選んでも問題ありません。
ここではGoogleドライブからダウンロードします。
ダウンロードが完了し、ファイルを実行すると、インストーラーが起動します。
あとは画面に沿って進めていけば、インストールは完了です。
起動
HackRF Oneを接続した状態で SDR Consoleを起動すると、スタート画面にHackRFと表示されるので、そのまま Start をクリックします。
初回の起動時は1分ほどフリーズしていたのですが、しばらく待つと正常に起動し始めました。
色々と周波数を探っていると、なんとかFMラジオを受信できました。
操作感としては、SDR Sharpよりも直感性に劣る印象ですが、Office製品に似ていることもあって使っているうちに慣れてくるものと思われます。
少ししか触っていないのでそこまで深く言及できませんが、機能面でも SDR Sharp と遜色ないレベルに感じました。
(開発者+犬への寄付もダウンロードページより可能です)
hackrf-spectrum-analyzer
hackrf-spectrum-analyzerは非常に簡易的なソフトウェアですが、他のソフトウェアと違って周波数スイープに対応したソフトウェアとなっています。
ダウンロード
hackrf-spectrum-analyzerは、GitHubのページからダンロードできます。
https://github.com/pavsa/hackrf-spectrum-analyzer
画面右上の「↓Code」をクリックし「Download Zip」を選択すると、ダウンロードが開始されます。
ダウンロード完了後は Zipファイルを解凍します。
なお hackrf-spectrum-analyzer では「Java JRE 64bit v1.8+」が必要となります。PCにインストールされていない場合は、下記のURLから事前のインストールしてください。
https://java.com/ja/download/help/java_win64bit.html
起動
解凍したフォルダの中の「hackrf_sweep_spectrum_analyzer_windows.cmd」を実行します。
数秒すると「hackrf_sweep_spectrum_analyzer」が起動します。
画面を見てわかる通り、機能はシンプルです。
このソフトウェアの最大の特徴は、先にも出てきましたが帯域スイープができることです。
HackRF One の帯域幅は20MHzですが、このソフトウェアでは帯域スイープができるため、任意の周波数帯を設定することができます。
そのため特に普通のスペアナのように使用したい場合には、非常に重宝するソフトウェアと言えます。
操作性に関しては、突出した点はなく、可もなく不可もなくといった感じです。
おわりに
今回は HackRF OneをWindowsで動かすことのできるソフトウェアを4つ紹介しました。
どのソフトウェアもまだ短い時間しか使っていないので、良し悪しは判断しかねますが、SDR Sharp と SDR Console は機能面でかなり似通っており、好みによってどちらが良いか分かれるという印象を持ちました。
hackrf-spectrum-analyzerは、普段遣いのスペアナとしては非常に便利そうな印象ですが、実際の使用に耐えうるものかはこれから判断していきたいです。
とはいえ、基本的には信号処理の部分を触るために「HackRF One」を購入したので、まずは「GRC」をメインに使っていきたいと思います。
今回SDR用のソフトウェアを調べてみて感じたことですが、意外と日本語の情報が少なくて驚きました。(雑誌などで取り上げられているので、もう少し盛り上がっているのかと思ったのですが)
皆さん、海外のサイトを参考にしているのでしょうか?
今回は数あるソフトウェアの中で4つ取り上げて紹介しましたが、これでSDR用のソフトウェアの全体像が捉えられているかは正直微妙なところだと思います。
そのため今回紹介したソフトウェア以外におすすめのソフトウェアがありましたら、コメントで教えていただけると大変助かります。(初心者の方向けのSDRの記事を増やしていきたいです)
今回は以上です。
最後まで読んでいただき、ありがとうございました。
大変参考になりました。ありがとうございます!
SDRのアプリケーションですが、他に
MATLAB
HDSDR
SDR Touch
Planeplotter
等の存在を確認しております。
また、今回触れていらっしゃいましたSDR Console に関してですが、作者より
「ご満足いただければ、写真のワンコのごはん代の寄付をお願いいたします」
と記されていますので、その件も触れてあげてくださるとより好感度が上がるかと。
引き続き、愛読させていただきます!
ありがとうございます。
その他のアプリケーションを教えていただき、ありがとうございます。
MATLAB以外は、存じ上げていませんでした。
寄付の件についても、追記しておきますね。