

FFTを用いてある時系列データから特定の周波数の成分を抜き去ろうと思っていますが、
うまくいかないのでお伺いします。
調べてみると、スペクトルを出すとき、例えば同じ振幅で周波数の異なるの正弦波を
10個入れても全て同じ振幅にならず、振幅の大きさにばらつきが出ていて周波数成
分の成分の推定がうまくいっていないようです。FFTの2乗のデータを小さな周波数区
間で積分してスペクトル密度にしても、先ほどの10個の正弦波の振幅がそろわない
のと、周波数推定が悪くなりうまく、引き去れなくなっています。
よくある状況だと思いますが、どういう工夫が必要なのでしょうか。
ちなみに、FFTのルーチンはnumerical recipeとFFTWの二つで試しました。
No.2ベストアンサー
- 回答日時:
0にする部分を
少し多めにする。
さらに詳しい計算が必要なら、
サンプリングレート
データ数
問題としている10の成分の周波数
FFTの結果のどの成分何ヘルツを表しているかの
計算式を記載してください。
逆フーリエ変換の結果
を書いてください。
No.1
- 回答日時:
1.測定したときのサンプリング間隔を考慮して
何番目のデータが何ヘルツに相当するかを考える。
2.データは複素タイプである。
3.周波数成分はその鏡像と対で現れる。
4.問題となる周波数に対応する成分を0に変える。
5.逆フーリエ変換をする。
以上。
お金があるなら
DADiSPとUnit/CRF
を買う。
買う前に、データを送ってテスト結果の
画像を見ておくと良い。
そのようにお願いしてみる。
そんなとこ。
この回答への補足
おっしゃっていることは分かります。
問題は、スペクトルの推定が悪いときには
うまく引きされないので、どうしているのかを聞きたかったのです。
例として出したのは、よく知られているFFTのルーチンを使っても
正しく振幅が推定できないので、普通はどうやっているのか
伺いたかったものです。
DADiSPとUnit/CRFというのは知らないのですが
自作のプログラムでやりたいので、お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
ACCESSからEXCELに出力する際、...
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
VB RS-232C 通信プログラム
-
S9タイプからXタイプにデータ...
-
C# ソケット通信でデータ受信時...
-
[C言語] コメント文字列を無視...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
<VB>String→Object
-
C# でDataTableの更新を高速化...
-
メモ帳(テキストデータ)をExc...
-
GridViewの行の一部を複数行にする
-
バーコードリーダーの読込デー...
-
csvファイルに複数行あるデ...
-
Matlab:plotで特定の値だけをプ...
-
抽出したレコードの件数が0の...
-
VBにおいてフォーム間の変数の...
-
IF関数の論理式での文字の扱いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報