vican_lee发表于 2008-12-1 17:28 的主题”频域滤波和时间域滤波的区别” 中
http://www.chinavib.com/forum/viewthread.php?tid=73554
请问一下频域滤波和时间域滤波的区别,为什么一般大家都用iir,fir滤波,而不考虑用fft,ifft来做滤波呢?时间域可以连续的意义在于,每收到一个数据,就会输出一个数据.但是假如我在频域, 用两个大的缓存, 一个缓存发送, 一个缓存处理, 边处理,边输出, 也可以实现连续的处理. 频域的滤波效果是不是有受到什么限制呢?也就是说.频域滤波和时间域滤波在本质上有什么区别?
楼主vican_lee所说的带缓存由变换组成的频域滤波器如图一a, 输入信号分段输入, 当一段信号输入后,开关K闭合一次,先作FFT,在频域乘以频率特性Hn 再经IFFT后得一段输出. 用缓存,可以实现长信号的处理.由於分段输入和输出, 存在边界效应, 整个输入和输出序列不呈线性卷积关系,连续信号分段滤波后在段边界出现跳变
上述滤波器只考虑到有关参数的一种情况, 若将全部可能都计入可组成全相位频域滤波器, 如下图一b, 注意图一b中输出中有连加器. .数据进一个,出一个,这样就消除分段起点不同对滤波的影响,.图一b的全相位频域滤波器的输入输出呈线性卷积关系.,可等效为一个fir滤波器.
你问.频域滤波和时间域滤波在本质上有什么区别?
原图一a的fft,ifft频域滤波边界不连续, 不是线性卷积,不能等效为一个fir滤波器,二者不是一回事.
若是图一b全相位fft,ifft来滤波,可等效为一个fir滤波器, 二者是一回事.
所以可用图一b全相位fft和ifft来设计fir滤波器,叫全相位fir滤波器,它和原有方法设计的fir不一样.如全相位fir滤波器的频率特性可设计其输出幅度在0—1之间,没有负的,也不大於1, 原有fir设计方法作不到这一点,这在设计完全二分解重构滤波器,最小相位滤波器中十分有用.
图一b的全相位频域滤波器是有特点的,可仔细和图一a比较.在IFFT后有连加器,它使DFT和线性巻积连系在一起(DFT只和循环卷枳有关),整个输入和输出序列呈线性卷积关系,全相位的创新点从这里开始, 全相位FFT就是由此图一b演变而来.
它还可以加窗,FFT前可加前窗,IFFT后也可加后窗, 如图一(c).
别看它复什,它可简化为一个FFT的方框图,还可等效为一个fir滤波器,这时加的窗是前窗和后窗的卷积窗, 内容很丰富.可参见<数字信号全相位谱分析与滤波技术,电子工业出版社 2009.2>.
TestGuru问:采用图一b中的全相位fft、ifft来滤波,数据进一个,出一个,是否意味着每进一个新的数据点,都需完全重新做一次FFT和IFFT,计算量是不是增大了许多?
只有图一b,输入和输出序列呈线性卷积关系,存在滤波器传输函数H(jω), 而图一a整个输入和输出序列不呈线性卷积关系(一段内输入和输出呈循环卷积关系),不存在滤波器传输函数H(jω), 严格讲不是传统意义上的滤波器
关键还是滤波器性能(图一a和图一b的频域滤波器适用於任一正交变换对,如DCT-IDCT).
下面举一实例,假设对长度为L=128的输入序列{x(n)=cos(πn/11)+cos(2πn/3),n=0,1,…127}每隔N=16点数据进行分段,对各分段分别进行DCT后,然后丢弃一半高频DCT系数,再反DCT变换得到各分段输出数据y(n),则其输入输出波形如图7-4所示
从图7-4可看出,由于低通滤波的缘故,图7-4(b)相对于图7-4(a)的波形平滑些。但在各子段边界n=kN=16k (k=0,1,..,7)处,波形出现明显的不连续,表现为存在较大的幅值跳变。事实上,这些不连续点上的幅值跳变本身就蕴含了很丰富的高频成分,因此分段处理方法使得在子段边界处的低通滤波失去意义
为说明全相位频域滤波器图b性能,仍对图7-4的输入序列{x(n)=cos(πn/11)+ cos(2πn/3),n=0,1,…127}进行相同的滤波,则输出波形如图7-5所示
图7-5 全相位频域滤波器输出
图7-5表明,由于全相位频域滤波考虑了包含某样点所有长度为N的分段滤波情况,因而整个时间段的输出波形都变得连续,在各子段边界n=kN=16k (k=0,1,..,7)处,也消除了截断效应,而且滤波性能很好,滤除了频率为2π/3的高频成份,保留的低频波形基本不失真。
上述例子和图7-4 和图7-5引自<数字信号全相位谱分析与滤波技术,电子工业出版社 2009.2>一书. 书中 第7.5.2 节"经典全相位滤波结构的自由度和复杂度分析"就讨论了图b的全相位频域滤波结构的复杂度