FSKは周波数で信号を送っているので、解析は周波数の解析となる。FSKは1と0の状態をそれぞれ決められた周波数(または周波数間隔)で変調するので、復調は特的の周波数の信号があるかどうかを解析することである。
信号の周波数の解析方法はいくつかあるので、いくつかみてみる。
FFT(高速フーリエ変換)
FFTについては、あちこちに情報があるのでここでは詳細は述べませんが、時間軸上にあるデータ(サンプル)を周波数軸上に変換するものである。
FFTの場合、周波数の分解能力はサンプリング周波数から、変換するサンプル数を除算したもの(F/N)である。従って、解析すべき信号の周波数の差が小さいときは、それだけ多くのサンプル数を使って変換しなければならない。しかし、変調速度により解析できる時間が限られる(変調速度が速い=サンプル数が少ない)ため、FFTで解析が利用できる場合が限られる。
デジタルフィルタ
デジタルフィルタは、入力されたサンプル列から特定の周波数以下を減衰させるHPFや低い周波数を減衰させるLPFなど必要な周波数以外を減衰させる。デジタルフィルタの設計の方法も情報が多くあるので、ここでは詳細は述べないが、設計についてはいろいろ難しい理論があるが、デジタルフィルタ設計ツールがあって、必要な情報を入れるだけでフィルタのパラメータを得ることができる。
デジタルフィルタもFFTと似たような性質を持ち、入力するサンプル数が少ないと減衰させる周波数曲線が緩やかになり、周波数幅が狭いと解析が難しくなる。
ゼロクロス(Zero crossing)
ゼロクロスというのは、信号がプラスからマイナス、またマイナスからプラスへ移るところを意味する。周期信号は1周期でかならず2回ゼロを超えるのでゼロクロスした回数を数えると入力された信号の周波数がわかるというものである。この方法は
DTMFのような複数の周波数成分を持たない信号であれば周波数の組み合わせの条件により不可であるが、比較的簡単に周波数を測定することができる。
理論的には、半周期でサンプリング周波数の逆数の時間の誤差があるため、f*f/(f+2NF)[fが測定する周波数、Fがサンプリング周波数、測定する周期数]の誤差となる。
例えば、44.1kHzで1kHzを1周期でカウントとすると誤差が8.52Hzの精度で検出できる。
あとは、PLLみたいなほうほうとかあるんですが、それはまた後ほどに...
0 件のコメント:
コメントを投稿