ラベル マイコン の投稿を表示しています。 すべての投稿を表示
ラベル マイコン の投稿を表示しています。 すべての投稿を表示

2009年2月21日土曜日

マイコンで復調

FSKの場合、周波数が高いか低いかが分かれば良いので、FFTを使うのも方法の1つだが、演算量が多い。受信は送信と異なり、常に動作していなくてはならないため、あまり複雑だと消費電力が多くなってしまう。そこで、外部に簡単な回路を設け、そこで電気的に相関の演算を行ってもらうことにする。

PSoCのアプリケーションノートAN2336「Simplified FSK Detector」では、FSK変調のかけられた信号をデジタル信号にした後、基準となるクロックとのXORをとり、これをLPFで平滑化することで相関を得る「correlator」の回路について書かれている。

マイコン外部にXORを用意し、マイコンからはクロックを、音声入力からは変調波を入力することで同じことが行える。あとはcorrelatorの出力を定期的にA/D変換し、その値を閾値と比較して'0'と'1'を判断する。

LPFはビットレートで定数が決まるはずなので、correlatorはキャリア検出のみに使用し、実際の処理は全てデジタルで行うべきかもしれない。

2009年2月15日日曜日

マイコンでPAD兼モデム

PSoCでモデムを作ろうとしたが、むしろマイコンでやった方が部品点数を減らせることに気づく。消費電力はそれなりになるが、モデムを使ったとしてもマイコンを使うことになるのだから、マイコンのみでできた方が楽だと考えられる。 そこでマイコンでモデムをどう実現するかについて考えた。

送信

変調方式によらず、モデムの出力波形(サブキャリア変調)は無線に乗せられるので、高調波を含まない滑らかなものが出力できることが求められる。そのためには、DACを充分なサンプリングレートで周期的に動作させることが必要となる。 出力波形はテーブルとして用意することができる。FSKは正弦波のテーブルを1つ、GMSKはビットパターンに応じた波形をいくつか用意する。シンボル切替のタイミングにおいて、FSKは移送が揃うことはないが、GMSK(MSK)は位相が揃うよう工夫されている。そのため、FSKは波形テーブルの位相を進める間隔を操作することで周波数偏移を与えることができる。一方GMSKは位相が揃っていることから、前後のビットから考えられる波形は数パターンしか存在しない。そのため、パターン分のテーブルさえ用意すれば、それを等間隔に出力するだけで変調波が生成できる。 変調波を正しく出力するためには、帯域の2倍以上でDACのサンプリングを行う必要がある。これには数kHzから数十kHz程度のサンプリングレートが必要となる。これはCPUでポーリングするには遅く、割り込みするには速いため、CPUをほとんど介さずに波形出力を行う方法が必要となる。そこで、波形の出力にはタイマー、DAC、DMAを連動させる方法をとることにした。この方法では、タイマーの作る割り込み信号に合わせて、DMAとDACがそれぞれ動作を行うことが必要となる。