GNU Radio + ADALM-PLUTOであっけなくワンセグ受信ができた

先日購入したADALM-PLUTOをGNU Radioで使って、ワンセグの受信ができました。

上記で@edy555さんが紹介されている、下記のコードを使用しました。

https://github.com/git-artes/gr-isdbt

基本的には上記GitHubにある通りにmake & installします。そして、examplesディレクトリに入っているrx_1seg_demo.grcを開いて、次の画面のように変更しました。

“1seg rx”

PlutoSDR Sourceを追加し、テレビ周波数チャンネルを参考に、NHK東京総合の557.142857MHzをLO Frequencyに入力しました。Sample rateは1M, RF bandwidthは500k、後はデフォルトです。また、Low Pass Filterの周波数は1*64/63MHzなので、LPFの前にRational Resamplerを追加して、Interpolation 64, Decimation 63にしました。 また、OFDM Synchronization 1segのGuard Intervalは1/8にします。

上記のサンプルレート変換は、GitHubからリンクされている論文PDFに記載されているFigure 3を参考にしました。

いざ実行しようとしたら、

AttributeError: 'module' object has no attribute 'viterbi_decoder'

といったエラーが表示されました。GitHubにもFAQで書いてありましたが、自分の場合はswigをインストールしていませんでした。それで

$ sudo apt-get install swig

でインストールして、再度gr-isdbtをmake & installしたところ、動作するようになりました。

現在F端子をSMAに変換するアダプタが到着していないので、アンテナとして、秋月で買った、下記のものを使いました。

“Antenna”

正直あまり感度は良くありません。アンテナの向きがシビアです。実行時には、次のような画面が表示されますが、 なんとかアンテナの向きを色々変えることで、コンスタレーションが集まるようにすると、コンソールにTMCC OKといった表示がされ、ちゃんとデコードできるようです。

“Constellation”

上のダイアグラムの場合だと、test_out.tsというファイルにMPEG TSストリームが保存されるので、ffplayコマンドで保存されたtest_out.tsを開くと、NHKの映像が再生されました。

comments powered by Disqus