数字滤波器(六)--设计FIR滤波器

时间:2024-04-08 22:36:25

数字滤波器(一)–IIR与FIR的基本结构与MATLAB实现
数字滤波器(二)–最小相位延时系统和全通系统
数字滤波器(三)–模拟滤波器的设计
数字滤波器(四)–模拟滤波器转化为数字滤波器
数字滤波器(五)–设计IIR滤波器

1. 线性相位FIR滤波器

1.1 相位与特点

FIR滤波器的单位冲激响应h(n)为有限长序列,滤波器的一般形式为:
y(n)=k=0N1h(k)x(nk)y(n)=\sum \limits_{k=0}^{N-1}h(k)x(n-k)
其系统函数一般形式为:
H(z)=k=0N1h(k)znH(z) = \sum \limits_{k=0}^{N-1}h(k)z^{-n}
在有限z平面内,有N-1个零点,在原点z=0处有N-1阶极点
系统的频率响应为:
H(ejw)=k=0N1h(n)ejwn=H(w)ejθ(w)H(e^{jw})=\sum \limits_{k=0}^{N-1}h(n)e^{-jwn}=H(w)e^{j\theta(w)}
其中θ(w)\theta(w)是相位特性,是频率w的线性函数。相位特性对w的导数就是系统的群延时。

1.2 幅度函数的特点

研究线性相位FIR滤波器幅度函数的特点时,有两种分类方法:

  1. 根据h(n)的奇、偶对称性分类
  2. 根据N的长度为奇、偶分类

下表为对上述的分类方法的总结:
数字滤波器(六)--设计FIR滤波器

1.3 FIR滤波器的零点

FIR滤波器的零点是以共轭对存在的,如果存在零点z1z_1,那么肯定存在零点z1z_1^*1z1\frac{1}{z_1}(1z1)(\frac{1}{z_1})^*。假设z1=rejθz_1=re^{j\theta}, k为常数,根据r和θ\theta的取值,零点可分为以下四种情况:
数字滤波器(六)--设计FIR滤波器

2. 窗函数设计法

2.1 窗函数设计原理

理想滤波器的单位冲激响应hd(n)h_d(n)应该是无限长的非因果序列,这在实际生活中无法实现,只能用有限长的序列h(n)h(n)去近似无限长的hd(n)h_d(n)。最简单的方法就是直接截取hd(n)h_d(n)的一部分作为h(n)h(n),这可以通过hd(n)h_d(n)与窗函数相乘的形式做到:
h(n)=hd(n)w(n)h(n)=h_d(n)w(n)

2.2 窗函数的设计思路

Hd(eiw)>hd(n)>hd(n)w(n)>h(n)>H(ejw)H_d(e^{iw})--->h_d(n)--->h_d(n)w(n)--->h(n)--->H(e^{jw})
以理想的低通滤波器为例:
数字滤波器(六)--设计FIR滤波器
hd(n)h_d(n)是一个无限长的以α\alpha为中心的偶对称非因果序列。
数字滤波器(六)--设计FIR滤波器
假设此处窗函数为矩形函数:
数字滤波器(六)--设计FIR滤波器
可得
数字滤波器(六)--设计FIR滤波器

数字滤波器(六)--设计FIR滤波器
可以看到,时域加窗之后,时域阶段,频域出现了频谱泄露的现象
数字滤波器(六)--设计FIR滤波器
加窗处理对理想频率响应的影响:

  1. 加窗改变了理想频率响应的边沿特性,形成了过渡带,过渡带的宽度等于窗函数的主瓣宽度:Δw=4πN\Delta w=\frac{4\pi}{N}
  2. 过渡带两侧产生了肩峰和余振,这些取决于窗函数的旁瓣,旁瓣多则震荡多,旁瓣相对大则肩缝强度大,与N无关
  3. 改变N,只能改变窗函数主瓣的宽度,不能改变窗函数主瓣和旁瓣的比例关系,也就是说,无法改变肩峰的相对值。增大N,其最大肩峰总是8.95%,称为吉布斯现象

肩峰的大小决定了滤波器通带内的平稳程度和阻带内的衰减速度,对滤波器的性能有很大影响,因此,选择不同的窗函数,可以得到不同性能的滤波器。

2.3 窗函数的选择与常用的窗函数

窗函数的选取要尽量满足两个要求:

  1. 窗函数的主瓣要尽可能窄,以获得较陡的过渡带
  2. 相对于主瓣幅度,旁瓣要尽可能小,是的能量尽量集中在主瓣中这样就可以尽量减少肩峰和余振,以提高阻带的衰减和通带的平稳性。

然后这两者是矛盾的,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。

常用的窗函数:
数字滤波器(六)--设计FIR滤波器
数字滤波器(六)--设计FIR滤波器
数字滤波器(六)--设计FIR滤波器
数字滤波器(六)--设计FIR滤波器

2.4 窗函数法的设计步骤

数字滤波器(六)--设计FIR滤波器