HackRF Oneを用いた簡易スペクトラムアナライザ

HackRF One
HackRF One

掲題そのままですが、HackRF Spectrum Analyzerと呼ばれるフリーのソフトウェアがあります。

https://github.com/pavsa/hackrf-spectrum-analyzer

2017年にHackRF Oneのファームウェアがアップデートされた際にスイープ機能への対応が追加されたことにより可能となった機能です。このため、2017年以降のファームウェアが必要なのですが、私の手元の物は古く2014年版です。

Linux自体、使い慣れているわけでなく、この手の製品のファームウェアのアップデートは、もしうまくいかなかったらという気持ちもあり、なかなか踏み切れないでいました。先日、ようやく、意を決して行いました。結果、「案ずるより産むが易し」でアップデートは簡単に、かつ無事終了しました。

https://github.com/mossmann/hackrf/wiki/Updating-Firmware

説明は上記github上にありますが、ご自身でソースからコンパイルする場合を除けば、Linux上のHackRF One用ツールを使用して2つのファイルをHackRF Oneに書き込むだけです。ファームウェアのバージョンは

hackrf_infoコマンドでファームウェアのバージョンを確認
hackrf_infoコマンドでファームウェアのバージョンを確認

hackrf_info

で確認できます。

次は当該スペアナプログラムのインストール。これも最初に掲げたgithub中の説明に従ってbuild,makeしていけば大丈夫です。ただ、github上で説明されているインストールコマンド中のフーリエ変換ライブラリ”libfftw3”は古く、”libfftw3-3”となっていました。なお、この簡易スペアナはWindows版もあります。Java上で動作するようでJavaのランタイムが必要です。

この簡易スペアナ、デフォルトの測定周波数帯が2.4G帯になっています。

立ち上げると早速、周囲の無線LANのスペクトラムが観測できます。表示速度は実用上問題ない感じですが、スペクトラムが右肩上がり・右肩下がりになっている場合が多いのは、おそらくHackRF Oneの周波数掃引が信号の変化(周波数ホッピング)についていけていないためかと思います。帯域を狭めると矩形あるいは山形に近くなります。こういうのを見るとリアルタイムスペアナが欲しくなりますね。また、RBWは最小5KHz、ノイズレベルは-70dB程度のようですので、本格的な測定は無理があるようです。この価格の製品ですので致し方ないところです。上の画像とは関係ありませんが、20MHzあたりに内部のスプリアスと思われるものが確認できました。

ちなみにスペクトラムを見ることは、SDR#やHDSDRのようなSDRソフトでもできるのではと思われるかもしれませんが、HackRF Oneの帯域幅は最大20MHzですので、これらソフトではそれより広い帯域を同時に観察することはできません。

2019/1/25追記
当ショップが代理店をつとめるWiMoでは、HackRF OneのRF部用シールドケースを販売しております。当ショップでも取り扱い可能です。
https://www.wimo.com/hackrf-sdr_e.html
2020/8/17追記
現在はLinuxでも動作するようです。

2 comments

Comments are closed.

ˆ Back To Top