このブログでは、工作の記録、実験の結果や考察が散逸しないように専ら備忘録に使ってます。プログラムのソースや設計データ等は載せていませんが、詳しく知りたい方がおりましたらコメントいただければ対応します。

所有する主な測定器はこちらです。


ラベル MATLAB の投稿を表示しています。 すべての投稿を表示
ラベル MATLAB の投稿を表示しています。 すべての投稿を表示

2017年8月16日水曜日

DVB-T+FM+DAB 地デジのチューナーを使ったSDR [RTL-SDR]

ADALM-PLUTOでRF実験をしていますが、こんなのが届きました。
本体にはDVB-T+FM+DABって長ったらしく書かれています。あと外部アンテナとリモコンもあります。(リモコンは即ごみ箱行き)

さて、このDVB-Tというのは、ヨーロッパ方式の地上デジタルTV放送です。
次のFMは通常のFM放送です。
最後のDABは、地上波デジタルラジオ放送です。
つまりこのUSBドングルは、これら3つの放送が受信可能なチューナーというわけです。
(このドングルにはRTL2832Uというデコーダーチップと、R820T2というチューナーチップが入っています。R820T2は第2世代のヨーロッパ方式の地上デジタルTV放送対応チップです。)

ところで、日本では当然ヨーロッパ方式の地上デジタルTV放送なんて見えません。
では何をするのかというと、この地上デジタルTVチューナーをソフトウェア無線機(SDR)にしてしまおうというわけです。
Zadigというドライバソフトを使うと、チューナー内蔵のデコーダーチップをコントロールすることができます。つまり、プログラムで制御可能な広帯域の受信機ができあがるわけです。
あと何がすごいって価格が安い!
Amazonには何種類もありますが、高くても2000円程度で高性能な受信機が手に入ります。

さっそく、Zadigドライバをインストールします。
デバイス一覧でRTL2832Uという文字列を選択します。このドングルはbluetoothミニポートドライバを介して接続されています。Zadigは、これを汎用USBドライバに置き換えるプログラムです。これにより内蔵デコーダーチップをコントロールすることができるので、受信する周波数や帯域を変更できます。

先ほどのZadigのホームページには、いくつかの受信機ソフトがあります。無論、これらを使うと高性能なソフトウェア受信機を体験することができますが、今回はADALM-PLUTOの時も使ったMATLAB/Simulinkを使って見ようと思います。

さてMATLAB/Simulinkを起動し、FMラジオのブロック線図を作ります。
聞きたいFM放送局の周波数を緑の部分に設定してあげます。80ということは東京FMですね。
このドングルのチューナー付属のアンテナを接続するのを忘れずに。いとも簡単にFMラジオになりました。

では、前回やったように航空機の位置情報を受信することはできるのでしょうか。
さっそくADS-B受信のブロック線図を書いてみます
屋内にいるので、うまく受信できるか分かりませんがやってみます。
なんとか1機だけ見えています。飛行場近くでやってみると面白いでしょうね。

このように、目的のシステム(今回はFMラジオとADS-B受信機)のRF受信部をADALM-PLUTOや今回の地デジチューナーが担当し、残りの部分をソフトウェアにすることで、システム全体のハードウェアに依存する部分を相当減らすことができます。
また、無線機をソフトウェア化したことで、RF部分以外の部分を例えばラズベリーパイで実行することも容易になります。

つまり、システム全体のうち、ハード(RF送受信部)に依存する部分と、依存しない部分(ソフトウェア化可能)を明確に分けることで、設計のスピードが上がることが期待できます。
またソフトウェアなので修正も簡単でリビジョンアップが容易になります。ハードウェアだとこんな簡単には修正できないでしょう。

さて、今日はここまでにします。
このUSBドングルにもいくつか種類がありますが、その違いについては次回以降で。

応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

2017年8月15日火曜日

ADS-B受信、FM受信機のデモサンプル ADALM-PLUTO [その2]

高性能なRF実験機器のADALM-PLUTOですが、実際にADS-Bの受信のデモプログラムを動かしてみます。
ADS-Bとは、Automatic Dependent Surveillance-Broadcastの略で、航空機が自機の位置や高度を通報するものです。
送信周波数は1090MHzで共通です。

航空機から送信される情報は、
  • ID番号
  • 位置情報(経度、緯度)
  • 速度
  • 高度
  • 進行方向
などです。

スマホアプリにフライトレーダー24というのがあって全世界の航空機の飛行状況が見れます。これはフレイトレーダー24の運営会社の設置した受信装置や、世界各地にこのADS-B受信装置を持っている有志が受信した情報を集約し、そのデータに出発・到着の空港情報を付与しているからです。

ではさっそく、ADALM-PLUTOを使ってADS-B電波を受信してみます。この場所は比較的羽田空港に近いので、飛んでいる航空機の電波を受信できるはずです。

まず屋外に出て、ADALM-PLUTOをPCにUSB接続します。
ADALM-PLUTOのRF受信機のパラメータを自動的に設定し、サンプリングしたRF信号をPCに取り込むプログラムを走らせます。これらはすべてMATLABという科学技術計算用ソフトで動きます。
プログラムを実行させてADS-Bの電波を受信します。
すると、航空機の情報が出てきました。
こんな感じに飛行機を地図上にもプロットできます。フライトレーダー24の画面みたいですね。
このように、MATLAB上でADALM-PLUTOのパラメータを設定してあげるだけで、ADALM-PLUTOが様々な特性の送受信機に変化します。これによって柔軟なRF実験ができることはとてもすばらしいです。

次にMATLAB/Simulinkのブロック線図で次のような回路を作ってあげます。RF受信部としてADALM-PLUTOを使い、受信したRF信号の生データをFM復調器に接続し、復調データをスピーカに接続します。
すると、FMラジオができます。
受信したい周波数を与えてあげると(緑の枠にMHz単位で記入)、FM放送がPC内蔵スピーカーから聞こえてきます。
受信したFM変調信号を復調する部分はソフトウェアが行っています。

このように視覚的にわかりやすいブロック線図でRF実験することが可能です。

次回はADALM-PLUTOを使って、データ送受信の実験をします。



応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング