无论是在模拟滤波器还是在数字滤波器设计中,通常都是逼近一个给定的模特性,而没有特别考虑相位
在许多滤波问题中,人们总是希望能有一个零相位或线性相位的特性。对于因果滤波器来说,具有零相位是不可能的。然而,在许多数字滤波器的应用场合,如果对信号的处理不一定要实时,那么就不必要使滤波器的单位脉冲响应在n<0时为零。
当被过滤的数据具有有限长,并且被存储在磁盘或磁带上时,通常应用于数字滤波中的一种方法是把数据先按顺序,然后再颠倒过来通过同一个滤波器来进行处理。
令h[n]是一个具有任意相位特性的内果滤波器的单位脉冲响应。假定h[n]为实序列,其傅里叶变换为,设x[n]是要过滤的数据。这一滤波运算按如下步骤进行:
(a) 方法A:按图6-58(a)所示步骤处理x[n],得到s[n].
(1) 确定从x[n]到s[n]的总的单位脉冲响应h[n],并证明它具有零相位特性。
(2)确定|H1(ejω)|,并用|H1(ejω)|和来表示H1(ejω)
(b) 方法B:通过滤波器h[n] 处理x[n] 以得到g[n] [见图6-58(b) ] , 并且让x[n] 倒置过来通过h[n] 以得到r[n],而输出y[n]是g[n]与r[-n]之和。这一纽复合运算可以用一个输入为x[n],输出为y[n],单位脉冲响应为H2[n]的滤波器来表示。
(1)证明该复合滤波器h2[n]具有零相位特性。
(2)确定|H2(ejω)|,并用来表示|H2(ejω)| 。
(c)假若已知一个有限长序列,现欲对它进行带通、零相位过滤;再者,假定已知带通滤波器h[n],其频率响应由图6-58(c)给出,它具有所需的模特性,但相位是线性的。为了实现零相位,既可以应用方法A,也可以应用方法B.确定并画出|H1(ejω)|和|h2(ejω)|。根据这些结果, 应该用哪一种方法才能实现所要求的带通滤波?为什么?更一般地讲,若h[n]具有所要求的模特性,但相位特性是非线性的,那么为了得到零相位特性,哪一种方法更为可取?