前回はサンプリング周波数の影響ということで、ウィキベディアのリンクを紹介しました。

解説を読んでも「見てきたようなこと云うなよ!」と云いたくなる人もいたのではないでしょうか。そこでシミュレータを用いてオリジナルの周波数スペクトラムがサンプリングすることによってどう変化するかを確認してみようと思います。

LTspice:「数式だけでは納得できないってか?」
画蔵:「百聞は一見にしかず、という言葉がある」
LTspice:「想像力の欠如とか?」
画蔵:「やかましい!」


そこで、まずは 1.1KHz の正弦波を 10KHz のサンプリング周波数でサンプリングしたらどうなるか見てみます。
LTspice を使って次のようなブロックを作ってみました。

イメージ 1
1.1KHz をサンプリング(&ホールド)してみました。
波形です。

イメージ 2
元の波形の FFT です。

イメージ 7
サンプリング後の FFT です。

イメージ 8
横軸をリニアスケールにしました。

イメージ 9
元の信号は 1.1KHz とバックグランドノイズだったのが、1.1KHz, 8.9KHz, 11.1KHz, 18.9KHz, 21.1KHz,,,となっていることが分かります。
なお、1.1KHz と中途半端にしたのはサンプリング周波数が 10KHz なので、きっちり整数倍の関係にしてしまうと観測上わかりにくくなるのでわざとずらしてあります。

ナイキスト周波数に近い 4.5KHz の場合はどうでしょうか。
波形です。

イメージ 10
元の波形の FFT です。

イメージ 11
サンプリング後の FFT です。

イメージ 12
横軸をリニアスケールにしました。

イメージ 13
波形を見るとビートがかかったようになっていますが、これは FFT の結果からも説明が出来て、4.5KHz のすぐ上に 5.5KHz も発生しているためにこの二つの周波数の差分がエンベロープとして現れ、一見 AM 変調が掛かったような波形になっています。で、これはもし急峻な 5KHz から減衰できるフィルタを入れるとビートも減少させることが出来るはずです。

ナイキスト周波数を越えてしまった 6.5KHz の場合はどうでしょうか。
波形です。拡大してあります。

イメージ 3
元の波形の FFT です。

イメージ 4
サンプリング後の FFT です。

イメージ 5
横軸をリニアスケールにしました。

イメージ 6
元の信号にはなかった 3.5KHz が帯域内に現れています。これがエイリアシングの影響です。5KHz - (6.5KHz - 5KHz) = 3.5KHz ってことですかね。で、3.5KHz と 6.5KHz がペアで、10KHz 毎に現れるというわけです。想像しての通り、3.5KHz の成分は以降の信号処理で取り除くことは出来ません。わざわざ 10KHz でサンプリングして 5KHz までは再現性を確保したいと思っているので、それを取り除くフィルタを入れるのは不可能なわけです。たとえば 9.5kHz がサンプリングされてしまうと、500Hz が現れますのでもはや何をやっているのか分からなくなります。

もちろん完全にゼロにすることは不可能ですから、一般的には信号品質として確保したい SN 比とのご相談、ということになります。
なお、今回はサンプリングしただけですが、以降は AD コンバータで数値化するだけですので量子化ノイズが付加されますが、今回は無視します。

M くん:「やっぱり連続的に信号を扱うことのできるアナログ信号処理の方が精度が優れているのですね」
W 助手:「いや、そうじゃなくて...」

(^^)


ご興味のある方はこちらも見ておいて下さい。

標本化定理(ウィキベディア)

http://ja.wikipedia.org/wiki/%E6%A8%99%E6%9C%AC%E5%8C%96%E5%AE%9A%E7%90%86