2019年4月28日日曜日

BPSK

 OFDMは脇においておいて(コメントアウトして)、BPSKで遊んでる。

 16kSPS/2048pointで1kHzを作り、16kSPS/512pointでFFTに通している。



 青がスペクトル、オレンジが位相。
 位相は、タイミングによっては綺麗な矩形波になるが、タイミングが悪いとヒゲが大量に出る。
 FFTの結果は周波数ごとのベクトルになるので、前回のベクトルと今回のベクトルの内積を求めて、それを時系列的に並べていけば位相の変化量がわかるはず。
 エンコーダー側でNRZとかで変調し、受信側で復調すれば、データを転送できるはず。

 16kSPS/2kPointで変調すると、7.8125シンボル/secになる。1シンボル1bitなので、1秒1オクテット未満。クッソ遅い。でもまぁ、手始めに遊ぶくらいならちょうどいいくらいじゃないだろうか。

 周波数誤差は、0.01%くらいなら問題なくデコードできそうな感じ。0.01%というとかなりの高精度だけど、PPMでいうと100PPMなので、エンコード側の水晶の誤差が25PPM、デコード側の水晶の誤差が25PPM、合わせて最大50PPM、と考えると、十分にデコードできる範囲に収まる。

 よしよし、なかなかいい感じだぞ。

***

 ちなみに、BPSKではなく、QPSKにするとこんな感じ。



 62.5PPM(送信16.000kHz、受信16.001kHz)の誤差があるので、位相がどんどん動いていく。さすがにここまで大きく変動するとQPSKデコードは厳しそう。ただ、予め固定位相で無変調を出して位相変化量(送受信間の周波数誤差)を推定しておき、それを補正してやれば問題なさそうな気がする。
 QPSKだと2bit/シンボルを伝送できるので、8シンボル/secなら秒間2オクテットを伝送できる。まぁ、焼け石に水だけど。でもまぁ、好意的に考えれば、例えばはやぶさ2やIKAROSは一番遅いときは8bpsとか16bpsで運用しているので、伝送時間さえ稼げればこの速度でも使いみちはある。

 とりあえず、まずはBPSKでちゃんと伝送できるように。。。

0 件のコメント:

コメントを投稿