17 Dec 2012

LabVIEWをつかったソフトウェアラジオその1

LabVIEWから高周波信号を取得

最近、高周波まわりの技術が非常に進歩している印象をうける。 実際のところ、それらの恩恵は携帯電話、GPSなど身の回りにあふれている。

ワンセグチューナも一時期より安くなり、1,000円台でUSBチューナが売っている。 無線通信に強い興味を抱く方々の間ではワンセグチューナをラジオとして使うことが流行っているようだ。 試しに、ワンセグチューナ、ソフトウェアラジオ、gnuradio、USRPなどのキーワードで検索するといろんなサイトが引っかかる。 楽しみ方の一つとして、ご自身の持つアンテナとワンセグチューナを繋ぎ、PC上で復調してその音声を聞くということがあるらしい。そのためのソフトウェアとしてHDSDRがあり、ソフト上から聞きたい帯域にチューンして、復調法を選ぶと聞きたい音声が聞こえるというのが楽しみ方の基本的な流れのようだ。

ラジオソフトウェアにも仕様を公開しているものがありgnuradioSDR#などがある。gnuradioはソフトウェアラジオの開発環境になっているようでかなり小回りが利きそう。ただ、例によってLinuxベースなのでwindows派の人には敷居が高いかも。SDR#はC#で開発されていることもありwindowsとの相性が良さそうである。

これらを見たうえで自分の手の届く範囲でソフトウェアラジオの一端でも扱ってみたい。あわよくば簡易スペアナが欲しい。というのを本記事の目標としてみる。これは遊んでいると変わってくることは十分あるが初めのモチベーションとしては十分だろう。

具体的には、筆者が使い慣れているLabVIEWでチューナからの信号を読み取りそのパワースペクトルを調べるというのを目標としよう。

さて、まずは先人ここここ、に倣ってRTL2832Uがチップに使われているワンセグチューナを導入する。

基本的な動作チェック

ここからが本題。

rtl_tcpのインストール

ここでrtl_tcpを使うために仕様を調べる。ソースコードは公開されている。動作としては

これらをもとに作ったLabVIEWのviのブロックダイアグラムは

test

この通り。

この記事の執筆に当たっては

を参考にさせていただきました。感謝。