0

信号値x[T]とフィルター係数b[i]がある場合、畳み込みを使用してフィルター処理を実行できます。 ここに画像の説明を入力してください

(FFT後の)xのスペクトルがあり、フィルター係数を使用してフィルタリングを実行する必要があるとします。これを実行するにはどうすればよいですか?周波数領域では、畳み込み(時間領域)ではなく、乗算になると聞きました。しかし、私はそれを使用するための方程式を見つけることができません。y = fft(x [T])ベクトルに614000の値があり、119のフィルター係数(fdatoolを使用して生成)があります。直接乗算することはできません...ありがとうございます。

4

2 に答える 2

3

乗算による高速畳み込みを行うには、ゼロが埋め込まれた信号値xのスペクトルとゼロが埋め込まれた(同じ長さの)FIRフィルターカーネルbのFFTが必要になります。そうしないと、ゼロパディングがないと、線形畳み込みではなく巡回畳み込みを実行することになります。

長いデータベクトルと比較的短いFIRフィルターカーネルの場合、およびそのようなために非常に長いFFTとIFFTが必要になるのを避けるために、オーバーラップ加算またはオーバーラップ保存の高速畳み込みアルゴリズムを調べることをお勧めします。

于 2012-10-27T22:58:42.753 に答える
1

フィルタを周波数領域にも変換する必要があります。次に、周波数領域で要素ごとの乗算を使用できます。

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

于 2012-10-27T21:51:50.353 に答える