プロが教える店舗&オフィスのセキュリティ対策術

FFTを用いてある時系列データから特定の周波数の成分を抜き去ろうと思っていますが、
うまくいかないのでお伺いします。
調べてみると、スペクトルを出すとき、例えば同じ振幅で周波数の異なるの正弦波を
10個入れても全て同じ振幅にならず、振幅の大きさにばらつきが出ていて周波数成
分の成分の推定がうまくいっていないようです。FFTの2乗のデータを小さな周波数区
間で積分してスペクトル密度にしても、先ほどの10個の正弦波の振幅がそろわない
のと、周波数推定が悪くなりうまく、引き去れなくなっています。
よくある状況だと思いますが、どういう工夫が必要なのでしょうか。
ちなみに、FFTのルーチンはnumerical recipeとFFTWの二つで試しました。

A 回答 (2件)

0にする部分を


少し多めにする。

さらに詳しい計算が必要なら、
サンプリングレート
データ数
問題としている10の成分の周波数
FFTの結果のどの成分何ヘルツを表しているかの
計算式を記載してください。
逆フーリエ変換の結果
を書いてください。
    • good
    • 0
この回答へのお礼

大変役に立ちました。
ありがとうございました。

お礼日時:2008/01/03 22:18

1.測定したときのサンプリング間隔を考慮して


何番目のデータが何ヘルツに相当するかを考える。
2.データは複素タイプである。
3.周波数成分はその鏡像と対で現れる。
4.問題となる周波数に対応する成分を0に変える。
5.逆フーリエ変換をする。
以上。
お金があるなら
DADiSPとUnit/CRF
を買う。
買う前に、データを送ってテスト結果の
画像を見ておくと良い。
そのようにお願いしてみる。
そんなとこ。

この回答への補足

おっしゃっていることは分かります。
問題は、スペクトルの推定が悪いときには
うまく引きされないので、どうしているのかを聞きたかったのです。

例として出したのは、よく知られているFFTのルーチンを使っても
正しく振幅が推定できないので、普通はどうやっているのか
伺いたかったものです。

DADiSPとUnit/CRFというのは知らないのですが
自作のプログラムでやりたいので、お願い致します。

補足日時:2007/11/10 19:43
    • good
    • 0

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