交叠相加/保存
这个例子展示了如何使用频域FIR滤波器块使用重叠添加和重叠保存FFT方法来过滤正弦信号。
交叠相加
重叠添加算法[1]对输入信号进行频域滤波。输入被分成不重叠的块,这些块与FIR滤波器系数线性卷积。每个块的线性卷积是通过将块的离散傅里叶变换(DFTs)与滤波器系数相乘,并计算乘积的DFT逆来计算的。对于过滤器长度米
和FFT尺寸N
,最后一个m - 1
线性卷积的样本被添加到第一个m - 1
下一个输入序列的样本。第一个n - m + 1
每个求和结果的样本按顺序输出。
Overlap-Save
重叠保存算法[2]同时对输入信号进行频域滤波。输入被划分为重叠的块,这些块与FIR滤波器系数进行循环卷积。每个块的循环卷积是通过将块的DFT与滤波器系数相乘,并计算乘积的DFT逆来计算的。对于过滤器长度米
和FFT尺寸N
,第一m - 1
循环卷积的点无效并被丢弃。输出由剩下的部分组成n - m + 1
点,它们等价于真正的卷积。
延迟
重叠保存和重叠添加引入了N-M+1个样本的处理延迟。可以通过将分子划分为更短的段,在分区上应用重叠添加或重叠保存,然后组合结果以获得过滤后的输出来减少这种延迟[3].延迟减少到分区长度,代价是与传统的重叠保存/重叠添加相比增加了额外的计算(尽管在数值上仍然比长过滤器的时域过滤更有效)。
重叠添加和重叠保存模型
该模型给出了对500hz正弦波进行时域和频域滤波的结果。当你模拟模型时,原始信号和滤波信号在时域和频域都被绘制出来。
结果
示波器上的第一个图显示原始输入信号。第二幅图显示了使用传统时域滤波的滤波信号,其中延迟最小。第三和第四幅图显示了使用重叠添加和重叠保存频域滤波方法滤波后的信号。两种方法都具有213个样本的相同处理延迟。图5显示了使用重叠保存方法滤波的信号。过滤后的信号显示30个样本的延迟,因为重叠保存方法的分区长度现在是30。这个分区值小于213个样本的原始分区长度。
频谱分析仪块在频域显示原始信号和滤波信号。
参考文献
[1]重叠添加算法:Proakis和Manolakis,数字信号处理,第3版,Prentice-Hall, Englewood Cliffs, NJ, 1996, pp. 430 - 433。
重叠保存算法:Oppenheim and Schafer,离散时间信号处理, Prentice-Hall, Englewood Cliffs, NJ, 1989, pp. 558 - 560。
[3] T. G. Stockham Jr.,“高速卷积与相关”,1966年春季联合计算机会议,AFIPS, Vol 28, 1966, pp. 229-233。
另请参阅
正弦波|频域FIR滤波器|频谱分析仪|范围(金宝app模型)