SDRSharpをWi-Fiに接続して他のデバイスで受信する方法
SDR(Software Defined RADIO)を日本では、ソフトウェアラジオまたはソフトウェア無線などと呼ばれている。SDRはハードウエアの性能に依存するが、広帯域受信が可能であり、WindowsやLinuxのOS上で作動するソフトウェアである。受信チューナーには、おおむね24MHzから1700MHzが受信可能なドングル(Dongle)と呼ばれるUSB TVワンセグチューナーを使用し、周波数をコンバートすることでLF/MF/HFの受信も可能になる。なお、受信周波数帯に必要なアンテナの接続は必須である。
よく使用されるPC用SDRフリーウェアでは、[SDRSharp]、[HDSDR]など、スマホ用では[SDRoid]などが挙げられる。
ここでは、RTL2832をベースにしたDVB-Tレシーバー用のI/Qスペクトラムサーバー[rtl_tcp]を使用し、[SDRSharpをWi-Fiネットワークで受信]する方法を記す。
受信方法はいたって簡単、受信するPCに[rtl_tcp]をサーバーとして構築し、Wi-FiやLANケーブルにつながれたクライアント側でSDRSharpを作動させる。これによりサーバーが稼働していれば、他の部屋や離れた場所で、SDRSharpの受信が楽しめるというものである。
・ 関連記事 ➡ HDSDRをWi-Fiに接続して他のデバイスで受信する方法
※ 留意事項
サーバー側のOSが、Windows 11/10 を実行している場合は、以下で説明する実行ファイル [rtl_tcp.exe] を、[ファイアウォールによるアプリケーションの許可]に設定する。または、プライベートネットワークの Windows Defender ファイアウォールを、[オフ] に設定して通信を許可する必要がある。安全性を考慮すると前者の方をお勧めする。
アンテナからドングルのチューナーへ入った受信信号は、A/Dコンバータ回路でアナログ-デジタル変換され、USB回路でパソコンへ導かれる。その信号を、I/Qスペクトラムサーバー[rtl_tcp]が読み取り、拾ってくれる相手を待つことになる。クライアント側ではその信号を、Wi-FiまたはLANケーブルで拾い[SDRSharp]で披露することになる。
チューナーチップに[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/02現在 】
ゾックス 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スペクトラムサーバーの詳細については ➡ こちらを参照すること。
クライアント側に、SDRSharpのソフトウェアが導入されていることを前提に記すが、まだ導入していない場合はこのウェブサイトで紹介している ➡ SDRSharp ソフトウェアラジオが参考になると思う。
なお、SDRSharpをクライアントPCのみで使用する場合は、サーバーPCに導入する必要はない。
▶ 手順 1
サーバーPC側で、バッチファイルを起動する。
SDRSharpを起動する前に、サーバーPC側で前記3の⑶で仕込んだ[バッチファイル]をダブルクリックして立ち上げておく。
立ち上げると小窓が一瞬現れタスクバーに張り付く。小窓の内容を確認したい場合は、タスクバーに張り付いたアイコンをクリックすると、以下のコマンドプロンプトの小窓が再度現れる。
小窓内に、['rtl_tcp=192.168.1.100:1234']と、設定したIPアドレスになっているのが確認できる(下線部分)。
▶ 手順 2
クライアントPC側で、SDRSharpのソフトを起動する。
SDRSharpが起動したら、プルダウンメニューの[Source:]をクリックして、さらにプルダウンメニュー内の[RTL-SDR(TCP)]を選択する。
▶ 手順 3
パラメータを設定する。
歯車のマークの設定アイコンをクリックすると下記のダイアログが現れるため、入力フォーム内に[サーバーPCのプライベートIPアドレス]および[ポート番号]を入力する。
・ 例
① [Host]のフォーム内に[192.168.1.100]
② [Port]のフォーム内に[1234]
入力文字の確認後にダイアログを閉じる。
SDRSharpがうまくスタートできれば以下の画像のように、[クライアントを受け入れたよ!]とのメッセージを出し、進行状況を表示してくれる(白線より下)。
以下の画像は、LenovoノートPCをクライアントとして作動させ、7MHz帯のアマチュアバンドを受信している様子である。
無線通信で、クライアントPCからサーバーPCを操りながら送受信をする場合は、リモート操作で行うことになるが、受信だけの場合はこのページで記してきた方法で行うと、サーバーPCに大きな負担をかけずに済むだろう。
私は、HPのサーバーPCにドングルを差し込み、ここで作成したバッチファイルを作動させ、他の部屋にノートPCを持ち歩き、SDRの受信を楽しんでいる。