HDSDRをWi-Fiに接続して他のデバイスで受信する方法
SDR(Software Defined RADIO)を日本では、ソフトウェアラジオまたはソフトウェア無線などと呼ばれている。SDRはハードウエアの性能に依存するが、広帯域受信が可能であり、WindowsやLinuxのOS上で作動するソフトウェアである。受信チューナーには、おおむね24MHzから1700MHzが受信可能なドングル(Dongle)と呼ばれるUSB TVワンセグチューナーを使用し、周波数をコンバートすることでLF/MF/HFの受信も可能になる。なお、受信周波数帯に必要なアンテナの接続は必須である。
よく使用されるPC用SDRフリーウェアでは、[HDSDR]、[SDRSharp]など、スマホ用では[SDRoid]などが挙げられる。
ここでは、RTL2832をベースにしたDVB-Tレシーバー用のI/Qスペクトラムサーバー[rtl_tcp]を使用し、[HDSDRをWi-Fiネットワークで受信]する方法を記す。
受信方法はいたって簡単で、受信するPCに[rtl_tcp]をサーバーとして構築し、Wi-FiやLANケーブルにつながれたクライアント側でHDSDRを作動させる。これによりサーバーが稼働していれば、他の部屋や離れた場所で、HDSDRの受信が楽しめるというものである。
・ 関連記事 ➡ SDRSharpをWi-Fiに接続して他のデバイスで受信する方法
※ 留意事項
サーバー側のOSが、Windows 11/10を実行している場合は、以下で説明する実行ファイル [rtl_tcp.exe] を、[ファイアウォールによるアプリケーションの許可]に設定する。または、プライベートネットワークの Windows Defender ファイアウォールを、[オフ] に設定して通信を許可する必要がある。安全性を考慮すると前者の方をお勧めする。
アンテナからドングルのチューナーへ入った受信信号は、A/Dコンバータ回路でアナログ-デジタル変換され、USB回路でパソコンへ導かれる。その信号を、I/Qスペクトラムサーバー[rtl_tcp]が読み取り、拾ってくれる相手を待つことになる。クライアント側ではその信号を、Wi-FiまたはLANケーブルで拾い[HDSDR]で披露することになる。
チューナーチップに[Elonics E4000]、[Rafael Micro R820T,R828D]、[Fitipower FC0012,FC0013]、[FCI FC2580]のICが搭載されており、デコーダーチップに[RTL2832U]のICが搭載されているものを使用する(通称ドングルと呼ばれる)。
・ ドングルの詳細は、こちら ➡ rtl-sdr Supported Hardware
現在ほとんどが中国製で、入手するには、[RTL2832U+R820T]で検索し、インターネット購入となる。
・ amazonで確認する場合は ➡ RTL2832UおよびR820T
・ 参考、入門用としてはこのようなものでも十分作動する。
【 2024/08/07現在 】
ゾックス USBワンセグチューナー DS-DT308SV(¥1,148 配送料無料)
チューナーチップは[FC0013]LSIを、デコーダーチップに[RTL2832U]LSIを使用している。
・ amazonで確認する場合は ➡ ゾックス DS-DT308SV
[DVB-Tレシーバー用のI/Qスペクトラムサーバー]を入手し、ネットワークを構築する。
▶ 手順 1
RTL-SDRドライバ[RelWithDebInfo.zip]を以下からダウンロードし解凍する。解凍すると[rtl-sdr-release]フォルダが生成される。
・ RTL-SDRドライバダウンロード ➡ rtl-sdr.com
・ 上記 [rtl-sdr.com] からダウンロードができなくなった場合は下記からどうぞ!
▶ 手順 2
フォルダを作成して任意名を付ける。ここでは、[rtltcp]とした。
⑴ 解凍した[rtl-sdr-release]フォルダ内から、サーバーを構築するPCに合わせて[×32]または[×64]のフォルダを開く。
⑵ 開いたフォルダ内にある実行ファイル[rtl_tcp.exe]を、作成した[rtltcp]フォルダに入れる。
⑶ 作成した[rtltcp]フォルダの置き場所は任意で構わない。ここでは、Cドライブのカレントに置いた。
▶ 手順 3
メモ帳などで、下記のバッチファイルを作成する。
・ バッチファイルとは、コマンドプロンプトの実行ファイルである。
@ECHO OFF |
cd /d "C:\rtltcp" |
start /min rtl_tcp -a 192.168.1.100 |
⑴ 作成したら任意名を付けて保存し、拡張子を[.bat]にする。
⑵ ファイルの置き場所は任意で構わないが、Windows Defender ファイアウォールの除外フォルダに設定する場合は、作成したフォルダ内に[rtl_tcp.exe] と一緒に入れると設定しやすくなる。
⑶ 以下は、作成したバッチファイルの解説
① 2行目の["C:\rtltcp"]は、Cドライブのカレントに[rtltcp]フォルダを置いた場合。
② 3行目の[/min]は起動と同時に最小化でタスクバーにピン止めする場合。最初からデスクトップに表示したい場合は削除する。
③ 3行目の[192.168.1.100]は、サーバー用PCのプライベートIPアドレスである。
※ プライベートIPアドレスは、[192.168.~]で始まるクラスCを使用する。
④ ポート番号を変更したい場合は、IPアドレスの後に、[start /min rtl_tcp -a 192.168.1.100 -p 2300]のように半角空け、同じ行に連続して設定する。
・ 参考 デバイスの引数を示す。
-a | リスニン アドレス |
-p | リスニン ポート(デフォルト:1234) |
-f | チューニング周波数[Hz] |
-g | ゲイン(デフォルト:autoの場合は0) |
-s | サンプルレート(デフォルト:2048000 Hz) |
-b | バッファ数(デフォルト:32、ライブラリで設定) |
-n | 保存するリンクリストバッファの最大数(デフォルト:500) |
-d | device_index(デフォルト:0) |
・ [rtl_tcp]I/Qスペクトラムサーバーの詳細については ➡ こちらを参照すること。
クライアント側に、HDSDRソフトウェアが導入されていることを前提に記すが、まだ導入していない場合はこのウェブサイトで紹介している ➡ HDSDR ソフトウェアラジオが参考になると思う。
なお、HDSDRをクライアントPCのみで使用する場合は、サーバーPCに導入する必要はない。
▶ 手順 1
ネットワークアクセスモジュール[ExtIO_RTL_TCP.dll]を以下からダウンロードする。
・ ダウンロードサイト ➡ "ExtIO_rtl_tcp_x32_v2022-2.zip
・ 上記サイトからダウンロードができなくなった場合は下記からどうぞ!
➡ ExtIO_rtl_tcp_x32_v2022-2.zip
(2023/04/10現在)
▶ 手順 2
現在のダウンロードファイルは、日付付きのZipファイル[ ExtIO_rtl_tcp_x32_v2022-2.zip ]になっており、解凍して[ ExtIO_RTL_TCP.dll ]のみHDSDRのカレントフォルダに入れる。
ここでは、サーバーPC側でバッチファイルを起動し、クライアント側でHDSDRのパラメータを入力する。
▶ 手順 1
HDSDRを起動する前に、前記3の手順3で仕込んだ[バッチファイル]を、サーバーPC側でダブルクリックして立ち上げておく。
立ち上げると小窓が一瞬現れタスクバーに張り付く。小窓の内容を確認したい場合は、タスクバーに張り付いたアイコンをクリックすると、下のコマンドプロンプトの小窓が再度現れる。
小窓内に、['rtl_tcp=192.168.1.100:1234']と、設定したIPアドレスになっているのが確認できる。(下線部分)
▶ 手順 2
クライアントPC側で、HDSDRソフトを起動する。
HDSDRソフトは、アクセスモジュールを1つしか使用していない場合は、そのモジュールを組み込みながら起動するが、複数使用している場合は、起動時にアクセスモジュールを選択するダイアログが表示される。その場合は、[ExtIO_RTL_TCP.dll]を選択し、ダブルクリックまたは[開く(O)]をクリックすると起動する。
▶ 手順 3
パラメータを設定する。
HDSDRが起動したら[ExtIO]アクセスモジュールの設定ダイアログを表示させ、入力フォーム内に[サーバーPCのプライベートIPアドレス]および[ポート番号]を入力する。
⑴ 基本的には、[サーバー用IPアドレス]および[ポート番号]の2つである。
1つのフォームに入力する場合[:]コロンで区切る。
・ 例、[Source IP:Port]のフォーム内に[192.168.1.100:1234]
⑵ 以下は[HDSDR]のアクセスモジュール設定のダイアログを表示させ、[Source IP:Port]のフォーム内に[192.168.1.100:1234]と入力した画像である。入力文字の確認後にダイアログを閉じる。
・ フォーム内に入力している途中で固まってしまうバグがあるため、他のテキストファイルなどに入力したものをコピペするとうまくできる。
うまくスタートできれば以下の画像のように、[クライアントを受け入れたよ!]とのメッセージを出し、進行状況を表示してくれる。(白線より下)
以下の画像は、LenovoノートPCをクライアントとして作動させ、7MHz帯のアマチュアバンドを受信している様子である。
無線通信で、クライアントPCからサーバーPCを操りながら送受信をする場合は、リモート操作で行うことになるが、受信のみはここで記してきた方法で行えば、サーバーPCに大きな負担をかけずに済むだろう。
私は、HPのサーバーPCにドングルを差し込み、ここで作成したバッチファイルを作動させ、他の部屋にノートPCを持ち歩き、SDRの受信を楽しんでいる。
その他、無線機とHDSDRで同調を取りアマチュア無線通信を楽しんでいるが、最近は無線機を使用せずに簡単なハードウエアとSDRソフトのみで、無線通信を行うシステムの開発が行われている。
アマチュア無線通信を、無線機なしで行う日がやってくると思うと、少し味気無い気がする今日この頃である。