Filter 频域滤波器与IIR和FIR滤波器?
我是DSP新手,对信号滤波有疑问。正如我在互联网上看到的,Filter 频域滤波器与IIR和FIR滤波器?,filter,filtering,signal-processing,Filter,Filtering,Signal Processing,我是DSP新手,对信号滤波有疑问。正如我在互联网上看到的,IIR和FIR滤波器通常用于对信号进行滤波。此外,我还看到了另一种过滤信号的方法,即:频域滤波器(如Aquilca C++),它应用矩形或砖墙窗口,并对信号执行乘法 我知道我们可以在时域(使用卷积)或频域(使用乘法)上执行滤波,但我的问题是: 为什么我们不能简单地用频域滤波方法代替IIR或FIR?因为我认为生成窗口函数比生成IIR过滤器简单得多 感谢FIR和IIR滤波器的实现和运行时开销非常小。它可以在不到20行的C语言中完成 如果你想在
IIR
和FIR
滤波器通常用于对信号进行滤波。此外,我还看到了另一种过滤信号的方法,即:频域滤波器(如Aquilca C++),它应用矩形或砖墙窗口,并对信号执行乘法
我知道我们可以在时域(使用卷积)或频域(使用乘法)上执行滤波,但我的问题是:
为什么我们不能简单地用频域滤波方法代替IIR或FIR?因为我认为生成窗口函数比生成IIR过滤器简单得多
感谢FIR和IIR滤波器的实现和运行时开销非常小。它可以在不到20行的C语言中完成 如果你想在频域做同样的事情,你可以设计你想要的滤波器。但是你必须
- 要用于转换的窗口大小?(512,1024,…)
- FFT还是四个DCT中的一个
- 要使用的窗口功能
- 李>
基线:频域中的滤波要复杂得多,但它仍然有它的用途你不能真正在频域中对实时信号进行滤波。(好的,这并不完全正确,但它足够正确——请参见注释!)您可以使用重叠加法实现FFT滤波器 见: 不过,请不要搞错——当您这样做时,您正在实现一个FIR滤波器。FFT用于加速信号与滤波器冲激响应的卷积,但它仍然是卷积 有两个主要的原因,为什么没有一直这样做:
- 重叠加卷积不是“频域滤波”的原因是,您仍然将滤波器设计为时域脉冲响应
- 实际上,您可以使用更好的(非矩形)重叠窗口“在频域中进行过滤”,但是您的过滤器不是LTI,并且与重叠添加方法相比,它实际上没有任何优势
但首先,您需要生成一个频域滤波器,该滤波器的脉冲响应对于FFT大小来说不会太长(导致循环卷积环绕问题)。Thank@Peter Schneider。