(1)脉冲响应不变法
脉冲响应不变法是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值。设已有满足要求的模拟滤波器, 则可
Ha(s)?ha(t)?h(n)?ha(nT)?H(z)
{因为:ha(t)的图形?h(n)的图形}, 公式导出:
具体转换如下:设(以一阶极点为例)
Ha(s)??Akk?1s?skN (4) 作拉氏反变换,得
ha(t)?FT[Ha(s)]??Akesktu(t)
?1k?1N采样得
h(n)?ha(nT)??AkesknTu(nT)
k?1N作Z变换,得
H(z)???Aken?0k?1?NsknTu(nT)z?n??AkskT?1zk?11?eN (5)
skTz?eH(z)与H(s)极点关系为: k
a(6)
一般对应关系
z?esTs???j?j??z?rerej??e?Tej?T? ?r?e?T,???T (7)
s平面j?r?e??Tz平面r?1r?11??0??0s?kOO?zk?图1 S平面到Z平面变换示意图
所以, 模拟系统稳定因果?数字系统稳定因果。
按照脉冲响应不变法,从S平面到Z平面的映射不是单值关系,而是先将Ha(s)在S平面沿虚轴作周期严拓,再按照映射关系将Ha(s)映射到Z平面,得到H(z),因此,脉冲响应不变法只适用于带限的滤波器(如低通、带通)。
在Matlab中利用M文件impinvar可以对模拟传输函数实行脉冲响应不变法。
(2)双线性变换法
脉冲响应不变法不适带阻和高通滤波器的设计,因为高频带为通带,前述方法易引起混频。故希望:s平面虚轴?z平面单位圆一周, 且应有
?:0?????:0??,
?:0?????:0???,
因为tan(??/2)???, 所以选变换
??Ktan?2 (8) 其中K可取任意正常数, 后面将导出K?2/T.
设计思路: ?p,?s,?p,?s??????????p,?s,?p,?s.?设计出模拟滤波器?转化成数字滤波器.
2 atan(w)??Ktan?2
20-2-10-5?p??O??0w?p510? 图2 数字域频率与模拟域频率的对应关系
转化公式推导如下:
ej?/2?e?j?/21?e?j?jsin(?/2)?Kj?/2?Kj??jKtan?K?j?/22cos(?/2)e?e1?e?j? ?
j?因只关心频率转换, 故可设s?j?,z?e, 则有
1?z?1s?K, (称为双线性变换) (9) 1?z?1所以模拟滤波器转换成数字滤波器的公式为
H(z)?Ha(s)s?K1?z?1 (10) ?11?z由双线性变换公式, 可得z?s???j?,z?rej?.
1?Ks, 视为两复平面变换, 再由 1?Ks可得
(1?K?)2?(K?)2r? (11) (1?K?)2?(K?)2从上式可得:
??0时,r?1, s上虚轴?z上单位圆周。
??0时,r?1, s上左半平面? z上单位圆内。 ??0时,r?1, s上右半平面?z上单位圆外。
故若模拟滤波器稳定,则双线性变换后数字滤波器也稳定。 由于双线性变换法是一种单值映射,因此消除了频率混叠的现象。双线性变换法的缺点是模拟频率与数字频率间的非线性,这种非线性关系要求被变换的连续系统的幅度响应是分段常数型的(某一频率范围内幅度响应近似于某一常数),不然所映射出的数字频率响应相对于原来的模拟频率响应会产生变形。为解决双线性变换中的频率非线性关系,我们采用预畸的方法,即
??Ktan?2,其中K=2/T。 在Matlab中利用M文件bilinear可以对模拟传输函数实行双线性变换法。
MATLAB中IIR数字滤波器的设计过程包括两步。第一步,根据给定指标,确定滤波器的阶数N和频率缩放因子Wn。第二步,利用这些参数和给定的波纹参数,确定传输函数的关系。阶数估计:利用双线性变换法设计数字滤波器时,首先要对IIR数字滤波器的阶数进行估计,相应的M文件为:buttord用于巴特沃斯滤波器,cheb1ord用于切比雪夫1型滤波器,cheb2ord用于切比雪夫2型滤波器,ellipord用于椭圆滤波器。滤波器的设计:对于基于双线性变换法的IIR滤波器设计,对应于四种逼近技术(即巴特沃斯、切比雪夫1型和2型及椭圆逼近),MATLAB工具箱中有相应的函数。特别地可以用到下面的M文件:butter用于巴特沃斯滤波器的设计,cheby1用于切比雪夫
1型滤波器的设计,cheby2用于切比雪夫2型滤波器的设计,ellip用于椭圆滤波器的设计。这些函数的输出可以是滤波器传输函数分子和分母的系数向量,也可以是滤波器的零极点向量和标量增益因子。同时,利用zp2tf可以由滤波器的零极点向量和标量增益因子得到传输函数分子和分母的系数向量。相应地,利用函数zp2sos可以得到传输函数分子和分母系数向量的二次项因子。在计算出传输函数的系数之后,可以利用M文件freqz来计算频率响应。
2.2 FIR数字滤波器设计
FIR DF的冲激响应h(n)是有限长的,M阶FIR DF可以表示为:
y(n)??h(i)x(n?i) (12)
i?0M?1其系统函数为:
H(z)??h(n)z?n (13)
n?0M?1与IIR数字滤波器的设计不同,FIR滤波器的设计与模拟滤波器的设计没有任何联系。因此,FIR滤波器的设计基于对指定幅度响应的直接逼近,并通常要求其具有线性相位响应。为了保证滤波器具有线性相位特性,滤波器系数必须满足条件:h(n)=?h(M-1-n)。
目前关于FIR滤波器的设计方法主要有三种,即窗函数法,频率取样法和切比雪夫等波纹逼近的最优化设计方法。一般应用较多的是第一种和第三种方法。这是因为窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不严格的情况下市比较灵活的。最优化设计法必须借助计算机计算,但是它能得到最佳的等波纹的线性相位FIR滤波器。目前切比雪夫等波纹的线性相位FIR滤波器的计算机机助设计程序已经比较完善,由于采用了REMEZ迭代算法,所以设计效率也很高,在应用中越来越占优势。 (1)窗函数法
jw一般设计过程总是先给定一理想的滤波器频率响应然后H(e),dM?1设计一个FIR滤波器,用它的频率响应H(ejw)??h(n)e?jwn来逼近理想
n?0的Hd(ejw)。这种逼近中最直接的方法,是在时域中用FIR滤波器的单位脉冲响应h(n)去逼近理想的单位脉冲响应hd(n)。因而,先由Hd(ejw)