アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語でFFTのプログラムを作成しています。入力として周波数の既知な正弦波を利用してプログラムの動作確認をしているのですが、サンプリング周期0.01secの状態でサンプリング数が4096点と8192点の時だけスペクトルの結果がおかしくなってしまいます。例えば、10Hzの入力に対して他の点数(512~32768点)では、きちんと10Hzの位置にスペクトルが現われるのですが4096点と8192点の時は、10Hzの他に同じ大きさの40Hzのスペクトルが現われてしまいます。入力が5Hzの時は、45Hzに現われます。ちょうど折り返し雑音のような誤作動なので何か明確な原因があるのではないかと思うのですが全く分かりません。このようなことはよくあるのでしょうか?それとも単にプログラムのミスでしょうか。回答お願いします。

A 回答 (1件)

ギブス現象でしょうか?ちょうど1周期に対するサンプルデータ数の整数倍でサンプリングしないと,綺麗なスペクトルでなく高周波成分が生じ

広がりのあるスペクトルになります.サンプリング周波数はナイキスト周波数より高いので,エイリアシングではないと思いますが.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!