• ベストアンサー

FFTの結果ついて

ある50kHzの信号を1024点FFTにかけ、横軸周波数、縦軸をパワースペクトルに変換しました。  しかし、0Hzのところにとても大きな値が出力されました。 3Hzの正弦波を入力した際にはちょうど3Hzのところにピークが現れたので計算は合っていると思うので、原因がよくわかりません。   後、スペクトルをdb表示にしたいのですが、計算方法がわかりません。 申し訳ないですが、どなたか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • UC_M
  • ベストアンサー率63% (7/11)
回答No.2

0Hzとは直流成分です。 正弦波の振幅の中心(平均値)は0になっていますか? dB=10log(10)P ()は対数の底 Pは電力(パワー)となります。

その他の回答 (5)

noname#137556
noname#137556
回答No.6

FFT の結果は一般的には複素数なので, dB 表示するときは,「絶対値の2乗」の対数をとってください。 念のため。

noname#137556
noname#137556
回答No.5

1024 点の FFT で 3 Hz のピークが見えた。 そこに 50 kHz の信号を入れた。 サンプリング周波数は問題ありませんか? # データによっては(例えばAD変換器の生データ), # オフセットを加えて符号無しの値にしている場合もありますね。

  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.4

サンプリング周波数が50kHzの何分の1とかになってないですよね。 FFTを知っている人なら絶対にやらないですが、全く分かってないで使っていればこのようなアホなことは無いとも言えません。 とりあえずサンプリング周波数を教えてください。 dbは答え出てますけど、定義式見ればすぐ分かると思うのだが。

回答No.3

ウインドウ処理(関数)は正しく行われていますでしょうか? フーリエ変換は時間軸に対して±∞を想定していますから ウインドウ処理が正しくないと正確な結果が出ません。 http://www.aandd.co.jp/adhome/products/nvh_analysis/fft/fft01.html http://okwave.jp/qa/q17404.html ウィンドウ処理とは、要するにある波形が無限に続いてるように見せかけるために 波形の両端が一致するようにデータを切り抜く処理の事です。 デジタル・オシロ等で観測しているのであれば 大抵のデジタル・オシロにはウインドウ関数の設定・項目があるはずです。

回答No.1

直流成分があるってことだから、信号の平均が0になってないのでは?

関連するQ&A