2012-10-27 194 views
0

如果我有信號值x [T]和濾波器係數b [i],我可以使用卷積進行濾波。 enter image description here使用FIR濾波器濾波頻譜

假設我有x的頻譜(FFT後),我需要使用濾波器係數進行濾波,我該如何執行此操作?我聽說在頻域中它將會倍增,而不是卷積(時域)。但我找不到使用它的公式。我在y = fft(x [T])向量和119個濾波器係數(使用fdatool生成)中有614000個值,我不能直接將它們相乘...謝謝。

回答

3

您需要,以便通過乘法做快速卷積零填充的信號值x的譜和零填充的FFT(以相同的長度)FIR濾波器內核灣否則,如果沒有零填充,你將最終做循環卷積而不是線性卷積。對於長數據矢量和相對較短的FIR濾波器內核,爲避免需要真正長的FFT和IFFT,您可能需要考慮重疊相加或重疊保存快速卷積算法。

+0

我真的不明白你是什麼意思的「零填充」,如果我將乘以x [b,0 ,0 .... 0],那麼我將只保留119(長度b是119)低頻頻譜的x。 –

+0

問題不再存在 –

+0

如果b更短,則b的FT實際上更長。 – hotpaw2

1

您還需要將濾波器轉換到頻域。然後在頻域中,您可以使用按照元素的乘法。

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

+0

對不起,但我不明白我如何處理不同大小的b和x。在頻域b也將有長度119,當x的長度爲614400時,這是個問題... –