2013年7月28日日曜日

SDRに挑戦してみました

aitendoのサイトを見ていたら、特売品の中にRTL2832Uを用いたUSBワンセグTVチューナーがアンテナ+リモコン付きで999円、どうも別の機種っぽいUSBチューナー単体が666円で出ていました。
海外のワンセグTVチューナーが広帯域受信機として使用可能、いう話を以前から見かけていたので、調べてみたらどうもチップも一致、しかも、ダイレクトサンプリングという手法(というか、RF飛ばして入力する?)で、RTL2832UでLF~HF帯も受信可能なようです。
こちらのサイトで非常に詳しく色々と解説されていて、とても参考になります。そして、ポチッとしたい衝動を抑えられなくなりました(笑)
で、届いたのがこれ。
OLYMPUS DIGITAL CAMERAOLYMPUS DIGITAL CAMERA
さすがaitendoです。シンプルな包装です(^^;。ま、必要なのは中身だけなんでそれでいいんですけどね。
で、動かすためのソフトウェアですが、どうもこんな感じみたいです。
  • Gqrx SDR receiver
    GNU RadioとQtをベースにしたグラフィカルで綺麗な表示のSDRです。
  • GNU Radio
    ソフトウェア無線のためのツールキットです。名前からわかる通りオープンソースです。
  • RTL-SDR
    OsmoSDRは安価に実現可能なSDRソフトウェア開発プロジェクト・・・と書かれています。
    このプロジェクトの中にRTL-SDRというソフトウェアがあって、RTL2832Uに対応したコマンドライン版ソフトウェアのようです。
    このRTL-SDRはクライアント-サーバに分かれていて、サーバ側に受信機(USBワンセグチューナ)を設置します。
    このサーバにはRaspberryPiを使うことも可能なようで、実際に試されています
この中からまずはGqrxを動かしてみることにしました。ダウンロードはsourceforge.netのプロジェクトページから。環境はLinuxMint13 32bit版です。
  1. 軟弱者なのでバイナリパッケージ(gqrx-2.1.251-i686.tar.xz)を持ってきます。
  2. 展開して、README.txt を読むと、いくつか依存するものがあるようです。
    ・GNU Radio 3.6以降
    ・「gnuradio-fcd」「gnuradio-uhd」「RTL-SDR」「Osmo SDR」のどれか
    ・gnuradio-osmosdr
    ・pulseaudio
    ・Qt 4.6以降と Qt Creator
  3. ・・・が、下の方を読むと、バイナリパッケージには必要なGNU Radio、UHD、rtlsdr、Boostライブラリが含まれているそうです。
展開したファイルの中に「gqrx」という実行ファイルがあるので、とりあえずこれをroot権限で起動すると動作できます。
※追伸
lubuntu13.04ではlibqtgui、Qt Creator、pulseaudioをSynapticでインストールする作業が必要でした
root権限ないではUSBチューナが見えない、というのはイマイチなので、/dev/udev/rules.d の下にルールを追加します。
具体的には、/etc/udev/rules.d/20.rtlsdr.rules として以下の内容のファイルを作ります。
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr"
作成後、「$ sudo restart udev」とした後、一旦USBチューナーを抜き差しすると、ユーザー権限で起動しても動作するようになりました。
Screenshot-Gqrx 2.1.251 - rtl=0
これはFM東京を受信している様子です。ごく簡単なアンテナで、しかも鉄筋コンクリートの室内、普通のポータブルタイプのFMラジオだとほとんど受信できない環境なのにFM局が何局か受信できました。
<参考>
Computer Radio RF Techさん
ダイレクトサンプリング、アップコンバータの適用、RaspberryPiでSDRサーバなど
ゆうちゃんのパパさん
ダイレクトサンプリングやアンプ搭載、LPF搭載、など

0 件のコメント: