2相PSKをデコードする方法としては、結局は素朴な方法を採用しました。
- まず、上の閾値を越えて上がる点を探します。いちばん最初または前回閾値を超えてからの間隔が短い場合は無視します。そうでなければ"1"を出力します。
- 次に、下の閾値を越えて下がる点を探します。前回閾値を超えてからの間隔が短い場合は無視します。そうでなければ"0"を出力します。
- これを繰り返し行い、閾値を超える点が見つからなくなったら、そこをコマンドの終了と判断します。
この方法だと、閾値に大きなヒステリシスを持たせているのでノイズには強そうですが、ジッタには弱いでしょう。サンプリング周波数を高めにしておいたほうが安全かもしれません。
なお、デコードを簡単にするため、スタートビットとして先頭に余分な"0"をつけることにしました。なくてもデコードは可能ですが、やっぱりあったほうが何かと楽なのです。
0 件のコメント:
コメントを投稿