オーディオデバイスによる PSK 通信 †前回の日記から間が空いてしまったけど,おもむろにこんなテーマを掲げてみる. Linux のオーディオデバイスを使ってデータ通信をしてみた,というおはなし. プログラム †http://jr0bak.homelinux.net/~imai/linux/psk.tar.gz 何はともあれ,プログラム. 実験用なので,perl でてきとーに書きました. perl で適当に書いたとは言え,送り側受け側合わせて 200 行足らずで書けてしまったのは,書いた本人もビックリしていたりする. PSK とは †PSK とは Phase Shift Keying の略. 搬送波の位相を切り替えてデータ通信,つまり 1/0 を送る変調方式である. 今回使った2相PSKだとこんな感じになる. 変調 †搬送波を sin ωt とすると,2 相 PSK では
を送ることになる. つまり
これだけである. が,これだけだと周波数スペクトルが広がってしまうので,無線通信の場合は,普通はフィルタを付けて帯域制限をかける. が,スピーカから鳴らす分には問題ないので,今回は広がったスペクトルはそのまま垂れ流すことにする. 復調 †PSK の復調は,同期検波を使うのが基本. 方法としては,まず,何らかの方法で受信機側の発信器を sin ωt に(位相を含めて)正確に合わせる. そしてこの発信器出力を変調波と掛け算すると…三角関数の積和の公式を使って
となる. cos 2ωt の周波数成分をフィルタでバッサリカットすると,元の信号波が得られることになる. けど今回は復調側はこの方法を「そのまま」採用していない. これについては次回. |