Computer & RF Technology

GNURadio+rtl2832u+Macで2mのアマチュア無線を受信する

1500円で買ったDVB-Tドングルとgnuradioでアマチュア無線の受信をやってみます。受信対象は144MHz(2m)のFMです。放送波とちがってNarrow Band FMなので、これに合う受信機をgnuradioのブロックで構成します。

バンド内にたくさん電波が出ているので、目的のチャネル以外から妨害を受けないよう、FM復調の前にフィルタを挿入します。ゼロIFなのでLPFです。LPFはデシメーションもできるので、1.024Mから32kまで1/32に落とします。またスケルチも入れておきます。FMの復調にはNBFM Receiveブロックを使います。これにはデエンファシスの機能も入っています。周波数変移(deviation)が5kHzと小さな値になっていることに注意してください。これらをつなぎ合わせた結果こんな構成になりました。(クリックで拡大)

受信開始するとFFTのウインドウにバンド内の信号が並んで立つのがわかります。LPFで中央の信号を取り出して復調しています。

https://youtu.be/U0fR_XYthwU

気づいたことのメモです。

  • デシメーションすることでCPU負荷がかなり下がる。当初デシメーションせずに復調していたのだが、70%ほどもCPUを使っていた。1/32にすることで15-20%程度のCPU負荷に減らすことができた。
  • 強力な信号がバンド内に入ると、バンド全体が抑圧を受ける。RTL2832Uのautogain modeをOFFにしても同様だった。そういう意味では実用的ではないかも。
  • RTL2832Uの帯域幅の設定を変えることができるようだが効果は未検証。

何か間違いがあるかもしれませんが、お気づきの点があればお知らせ頂ければ幸いです。

[追記]

フローグラフのファイルをアップしておきました。ダウンロードしてご参照ください。

https://raw.github.com/edy555/gnuradio-trial/master/nbfm-2m-fft.grc

comments powered by Disqus