2011-09-16 10 views
1

私はFFTに変換した2つの100%同一のWAVEファイルを持っています。それらを重ねると、私は完璧なマッチを得る。FFTフレームの整列

しかし、データのいずれかの先頭で非フレームサイズのチャンクを切り取った場合、FFTは一致しません(末尾から揃えられます)。

これは、フレーム内にどのような周波数が含まれているのかと推測しています。周波数が2つのフレームに分割されている場合、周波数が1つのフレームに集中している場合と比較して、両方で低いエネルギーで表示されます。

この影響をどのように補正/バイパスできますか?

+1

FFTは入力データの変換された表現に過ぎません。入力データを変更すると、変換されたデータ表現が変更されます。多分あなたが達成しようとしていることをあなたが説明した方がいいでしょうか? –

+0

私は本当に音を比較しようとしています。そして、「あなたはできません」とは、私がこれを解決する方法ではありませんが、その答えが出る前にその回答を得ることは時々あります。 :) –

+1

あなたは*の機能*を理解する必要があります。音楽は時変*です。例えばあなたのような方法で曲を特徴づけたい場合。 Shazamは、FFTを取るだけでなく、曲の中の*情報*の総量を実際に減らすことができますので、もう少し作業をする必要があります。できるだけ少ないバイトで曲を特徴づけるものへの情報の量を減らすというスマートな方法を見つける必要があります。さまざまな圧縮レベルなどがあります。 –

答えて

0

サンプルの一部を切り取った後、フーリエ変換の結果が同じであると思われるのはなぜですか?私はあなたが補償しようとしていることを確信していません、それは予想される動作です。

2つのサンプルを比較して「シグネチャ」の違いを確認する場合は、おそらくDFTの結果を正規化する必要があります。各周波数ビンのすべてのエネルギー値を合計し、結果のすべてのエネルギーの合計が1になるように各ビンの値をその合計で割ります。長さに関係なく、2つの異なるサンプルのリンゴを比較することができます。

これはDFTを正規化するための単純すぎる方法であることに注意してください。無数の人がいる。あなたの入力データとそれを使って何をするかによって、ログの正規化は線形のものより良いかもしれません。

+0

私はそれが予想される動作であることを知っています。データが変更されると、FFTが変更されます。しかし、私は何とか補償する必要があります。たとえば、平均3フレーム(N = -1,0,1)を計算することはできますか?私はFFTのフレームの重なりを理解しようとしていましたが、すべての試みが周波数をあまりにもぼかすか、または不一致を引き起こすようです。 –

+2

しかし、あなたは*のために*を補償しようとしていますか?同じでない2つのオーディオサンプルでDFTを実行すると、結果は同一ではありません。それらを同一にし、まだDFTを稼働させる方法はありません。あなたはDFTの結果で何をしようとしていますか? – BishopRook

+0

私はオーディオ検索エンジン/比較エンジンを作っています。私は、アラインメントのピークエネルギー/ホットスポットを特定しています。私が見ることのできるところから、FFTフレームのシフトは4096バイトのフレームで大きな違い(推測〜10%)を引き起こすため、「ホットスポット」のいくつかは異なります。これは、私が推測するフレームの間でエネルギーが異なるように分割されているために発生します。だから私はフレームの異なるシフトを補正したい。 –

1

これを実行する唯一の方法は、データをIFFTして(非ロッシーな初期ウィンドウを仮定して)、それを再ウィンドウし、新しいオフセットを使用して再FFTすることです。それぞれ異なる初期オフセットを持つ一連のFFTフレームを作成する方が良いかもしれません。

1

おそらくFFTを計算する前にウィンドウ関数を適用したいと思うかもしれません。

http://www.google.com/search?q=windowing+fft

http://en.wikipedia.org/wiki/Discrete_Fourier_transform

「DFTを使用して分析される有限のセグメントは無限に拡張された周期的な信号の1つの 期間であることを意味し、これは 実際には成立しない場合、ウィンドウスペクトル内のアーチファクトを減らすには、ファンクションを使用する必要があります。 "

あなたは正しい軌道に乗って、信号を重なり合ったフレームに分割しますが、一致する基準を考慮する必要があります。 3つの支配的な周波数)、フレームのサイズ(小さすぎると、あなたは低い周波数を欠いてしまうでしょう、高すぎる、解像度が低くなります)などの研究を行います。多くの人々がこの問題に取り組んできたと確信しています。published papers