GNU Radio デジタル伝送(1)

急に暑くなりました。暑中お見舞い申し上げます。

GNU Radioでのデジタル伝送、まずは4値PSK(QPSK)です。実は一つのフローの中に変復調を含めた送受一貫したフローを作成したのですが、前の記事にも書いた通り、動作が検証できず、なかなかうまくいきません。まずはGNU Radioの中で送信信号を確認することに絞りました。アナログのAMやFMと同様、変復調のブロックが用意されており、これを用います。デジタルなので、データフォーマットが合えば信号源はなんでもよいのですが、まずはテキストファイルのビットストリームを用います。

4値PSK送信フロー
4値PSK送信フロー

GNU Radio Companionのフローでのサンプリング速度は変数として与えられ、フロー作成開始時にデフォルト値が設定されます。このサンプリング速度、アナログ信号処理の場合はすんなりと理解できるのですが、デジタル信号処理になった瞬間、別のことに頭が向かってしまいます。要はアナログ頭とデジタル頭みたいな話ですが、もちろん、これは実効データ転送速度ではありませんが、ベアラレートでもないと気付くのに時間がかかりました。アナログの場合と同じく標本化定理にでてくるサンプリング速度です(文字通りなのですが、そこが落とし穴でした。店主は、かって通信会社で働き、アマチュア無線家でもあるのですが、実は情報システム屋としてのキャリアの方が長いのです)。

つまり、デジタル信号処理であっても、信号(つまり、ビットストリーム)をサンプリングして変調器に送り込むというのは同じです。やっぱりGNU “Radio”でした。では、ベアラレートはどう決めるのか? これは変復調ブロックのプロパティ”sample/symbol”で決まるようです。ここで1シンボル(=1ビット)あたりのサンプリング数を与えます。上述のとおり、サンプリング速度は別に与えますので、1シンボルあたりの時間が決まります。

送信信号のコンステレーションを確認しながらフローを作っていましたが、なぜ、送り出し側のコンステレーションがゆらぐのか疑問でした。サンプリングの意味がわかって腹落ちしました。

コンステレーションに加え、ベアラレートを落として人の目にもわかるようにした信号出力の動画もアップします。オシロの赤いグラフがI信号、青いグラフがQ信号です。

このI/Q信号をSDR用デバイスに加えるとデジタル変調の電波が出せるはずです。SDRの本領発揮ですね。が、ここまでなら、SDR用デバイスは不要でWindows用GNU Radioだけで試せます。コストゼロですので、興味ある方はお試しください。変調器ブロック(DPSK Mod)のプロパティを変えるといろいろ楽しめます。電波を出さないので、電波法上の制約などありません。簡単なオシロやスペアナのブロックも備わっているので、測定器も不要です。デジタル変復調の勉強にはうってつけの教材かもしれません。お詳しい方であれば、「16値QAM、64値QAMは・・・?」となるのですが、これは別に変復調ブロックが用意されています。ちなみにOFDMもちゃんとあります。

このあと受信側ですが、クロックリカバリ、復調と難しいところが控えています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ˆ Back To Top