⇒ 自然・科学系記事一覧

USBワンセグチューナーを使ったソフトウェアーラジオ

ネット上を彷徨っていると、パソコンにUSB接続するワンセグチューナーDS-DT305がVHF・UHF広帯域受信機になるというブログやサイトを見つけました。
(RTL2832というチップを使った安価なチューナーなら使えるらしいです。逆に言えば、DS-DT305でもRTL2832チップを使っていなければ使えません。)
このワンセグチューナーに、受信機とパソコンを繋いで信号を処理する受信用ソフト「HDSDR」とワンセグチューナーを接続するソフトをパッケージにした下記フリーソフトを使います。
(FM放送も聴けるSDR#は こちら )
USRP Interfaces
http://wiki.spench.net/wiki/USRP_Interfaces
のDownloadページから
ExtIO_USRP+FCD+RTL2832+BorIP-BETA_Setup.zip
をダウンロード、Zipを解凍して出てきた同名のアプリケーションファイルをダブルクリックして指示に従ってインストールするだけです。
ところが、ソフト自体はインストールできても思ったように動きませんでした。
注意点を列記しておきます。

  1. インストール中にいくつかのソフトをダウンロードするのでインターネットに接続しておきます。
    途中、インストールが完了してもダイアログ(窓)は自動的に閉じないので手動で閉じてください。
    閉じないと次のインストールに進みません。
  2. ワンセグチューナーをUSBに挿し込むとドライバーのインストール画面(ダイアログ)が出てきます。
    テレビ用のドライバーが自動的にインストールされますが、そのままインストールを完了してください。
    何かのドライバーを入れておかないと、ハードのリストを表示させたときに「RT2832」が出なくなります。
  3. インストールするソフトを選ぶダイアログでは「HDSDR」にチェックを入れてください
     
  4. インストール中にインストールする場所を選ぶダイアログが2回出ます。
    このとき、同じ場所を指定しないと「HDSDR」を起動後に入力を選ぶ
    Option → Select Input で「USRP」表示されず、DLLが見つからないと英語で表示されます。
    これは、必要なソフトが最初に指定した場所にあるためです。
    最初に指定した場所(フォルダー)の中身を全て2回目に指定した場所(HDSDRをインストールしたフォルダー)に移動させれば解決します。
  5. インストール中に 下記のような ZaDigダイアログが出ます。
    Option → List All Device とクリックすると、RTL2832U を選べるようになります。

    これはワンセグチューナーのドライバーインストールです。
    テレビ用のドライバーがインストールされているので、Zadig で、HDSDR用のドライバーと交換します。
    正常にインストールできるとデバイスマネージャーでは

    となっています。
    ドライバーのインストールは、後からHDSDRの本体をインストー ルしたフォルダーにある zadig.exeをクリックしても行えます。
    ドライバーが正常にインストールされているのにHDSDRが動かない場合は、上画像の[libusb-win32(v0.0.0.0) ]を、その右にある▲▼を動かして別の物をインストールしてみてください。
  6. インストールが済んでHDSDRを起動してもこのままではチューナーとHDSDRが接続されていません。
    HDSDR上の「ExtIO」をダブルクリックして「ExtIO」のダイアログを出し、「Device hint」の所に「RTL」と入力して直ぐ右側の「Create]ボタンをクリックします。

私は、 64ビットのWin7にインストールしましたが、OSや機種によっては手間取るかもしれません。

無事にインストールが完了したら「HDSDR]上にある「Lo」に受信したい周波数よりわずかに低い周波数を入力します。
次に「Start]ボタンをクリックします。
すると、電波が受信できている周波数は画面上部に滝のように線が現れます。
「Tune」をクリックして受信周波数を入力すれば受信できます。
このとき、ワンセグチューナーに付いているLEDは点灯しません。
また、ワンセグ受信とはドライバーが異なるのでテレビは受信できなくなります。
テレビを受信するときにはチューナー付属のドライバーと替えてください。

下図はHDSDRが起動画面です。
上部は横軸が周波数、縦軸が時間経過で電波を受信すると赤っぽい帯(滝)が表示されます。
右下は音声の帯域を調整する部分です。
左側中のメーターは受信強度を表し、強い信号だけを音声出力するスケルチになっています。

受信感度の調整は画面ほぼ中央にある「ExtIO」ボタンをダブルクリックして出るダイアログに
受信感度の調整バーがあります。

ワンセグチューナー DS-DT305は受信感度が悪いので出来る限り受信希望周波数に合ったアンテナを接続してください。
HDSDRには、ソフト開発に資源を集中しているという理由で公式マニュアルが無いので、画面上をクリックしたり、ドラッグして機能を探ってください。

DS-DT305を使う上で最も重要なことは、アンテナ入力端の取り扱いです。
DS-DT305 のアンテナ入力端に静電気や空電などで高電圧が掛かると、受信回路の入力回路(フロントエンド)が壊れて受信できなくなります。
⇒USBワンセグチューナー DS-DT305 が壊れた

ソフトウェアーラジオ HDSDR専用に最新機種のパソコンを購入する方はいらっしゃらないと思いますが、専用に中古パソコンをお考えの参考に、 2006年製NEC PC-LL370FD(mobile AMD Sempron Processor 3100 1.80GHz RAM 1GB)にインストールしてみたところ、CPUの80%近くを使っています。

ところで、 USB接続の安価なワンセグチューナーが広帯域受信機になる理由です。
一昔前まで、高級な受信機はスーパー ヘテロダイン方式でした。
これは受信したい電波の周波数と一定の周波数離れた高周波電流を作って受信したい電波から得た高周波電流と混合します。
たとえば、10Mhzの電波を受信したいときには10.455Mhzの高周波電流を作って混合します。
すると、この二つの高周波電流の周波数の差の高周波電流と和の高周波電流が生じます。
周波数が近接した二つの音が出ているときに聞こえる「うなり」と同じ現象です。
この例では
10.455-10.000=0.455
10.455+10.000=20.455
となります。
0.455Mhzと20.455Mhzの高周波電流を増幅するときには周波数が低い方が簡単なので、コイルとコンデンサーを使った同調回路で0.455Mhzだけ分離して取り出し増幅します。
11Mhzの電波を受信したいときには11.455Mhzの高周波を作って混合します。
そして、差の0.455Mhzを分離して取り出します。
受信周波数を変えても差が0.455Mhzになるような高周波電流を作って混合すれば、一定の周波数0.455Mhzを増幅する回路で足り、周波数が一定かつ周波数が低い増幅回路は容易に精巧に作れるので 受信機の感度と選択度が向上した受信機が作れます。

0.455Mhzは中間周波数と呼ばれ、中波受信機に使われます。
FM放送受信機では10.7Mhzが中間周波数に使われます。
上記2周波数は国際的に中間周波数に使われるので受信機への妨害にならないようにこれらの周波数は放送や通信には使わないようにしています。
感度と安定度を重んじる通信型受信機では50Mhz帯など高い周波数を第一中間周波数として、これをスーパーヘテロダイン法で第二中間周波数10.7Mhzに落とし、これを同様な方法で第三中間周波数0.455Mhzに落としています。
0.455Mhzより低い中間周波数を持つ受信機もあります。

ここで、10.455Mhzの高周波では無く、10.005Mhzの高周波と10.000Mhzの信号を持った高周波と混合してみます。
10.005-10.000=0.005
10.005+10.000=20.005
となります。
差の周波数は5khzとなって、このまま増幅してスピーカーに繋げば音として聞くことができます。
電波を出したり止めたりする無線電信では、電波を受信したときだけ音が出るのでこのままで受信が出来ます。
この方式を「ダイレクトコンバージョン」と呼んでいます。
この受信機の感度は入力段の高周波回路と音声帯域の低周波増幅器に依存しますが、 入力段の高周波回路をスーパーヘテロダインと同じ性能と仮定すれば、低周波増幅部は製作が容易なので簡単に高性能の受信機が作れます。

このダイレクトコンバージョン受信ですが、上記の例では差の周波数が5khzになる受信周波数は、10.000Mhzだけなく、10.010Mhzもあります。
受信機の入力回路で極近接した10.000Mhzと10.010Mhzを分離することは不可能なのでダイレクトコンバージョン法では混信することが多くなり趣味の世界以外では非実用的な方法です。

ところが、コンピュータでの数値計算処理が容易に出来るようになった現在では、電子回路が簡単なダイレクトコンバージョンがもてはやされています。
ただ、従来方式とは異なり、90度の位相差を持った二つの高周波電流と受信した電波から得た高周波電流を二つの混合器で別々に混合します。
(90度の位相差を持つ混合器なので直交ミキサーと呼ばれています)

すると、I信号と呼ばれるものとQ信号と呼ばれものを得ることが出来ます。
信号電流の振幅強度は
  (I×I+Q×Q)の平方根で求まり、 信号電流の位相は
  (Q÷I)のアークタンジェントで求まります。
信号電流の強度と位相を求めることが出来れば、あとは数値計算で信号を復元できます。
(高周波電流に信号を載せることを変調と呼びますが、どのような変調方法でも高周波電流の強度と位相を変化させているだけです)

このような操作によって、ダイレクトコンバージョンにある混信を除去し、実用化しています。
更にこの方法がもてはやされる理由には、原理的には従来必要だったコイルが必要なく回路が組め、これは面倒なコイルの調整が不要な上に製品が小型化できるということです。
また、コイルが必要ないということは同時に同じ電子回路で広い範囲の周波数の電波が受信できることなので回路の汎用性が高まっていっそうコスト的にも優れています。
全てを半導体素子で組むときの問題は、混合回路に二つの入力の差を増幅する差動増幅器を使うことから同じ特性を持った素子が複数必要なことですが、同一のシリコン基板上に回路を構成する集積化によってこの問題も無くなりました。

USB 接続の安価なテレビチューナーに戻りますと、 このようなチューナーは、受信する周波数の高周波電流と混合する高周波電流の発振器、直交ミキサー、発振器の周波数を制御する信号の送受とI信号・Q信号をUSB接続で送るための変換回路しか持っていないのです。
何を受信するか決めるのは、パソコン内のソフト次第です。