MATLAB根据所选择的滤波器类型自动使用最小阶数。
Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。
Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时, 可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。
Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。
5.2用FDA工具箱实现要求的滤波功能:
调用FDA工具箱程序为:
>>FDAtool
调用后,据前述FDA工具箱简介设置,设置完后的界面截图如下:
图5.2.1 滤波器量化分析图
调用FIRPM函数进行运算的结果如图5.2.2和图5.2.3:
图5.2.2Firpm函数运算结果
图5.2.3 hn计算值(传递函数中分子各项前系数)
由图5.2.2和图5.2.3可得:
M为FIR数字滤波器阶数,h长度N=M+1
求得M=9,N=M+1=10 通带振荡波纹幅度ξ1=dat1=0.1164 阻带振荡波纹幅度ξ2=dat2=0.1000 误差加权函数W=[1,6.1462]
5.3手工计算和利用FIRPM函数计算结果比较
通过比较手工计算与运用Matlab中FIRPM函数计算结果可以发现,由手工计算得出的滤波器阶数N、通带振荡波纹幅度ξ1、阻带振荡波纹幅度ξFIRPM函数计算得出的N、ξ
1与ξ2相等,证明计算无误。
2
与由
6. 滤波器的结构不同对性能指标的影响
6.1 FIR滤波器的基本结构
FIR滤波器的单位抽样响应为有限长度,一般采用非递归形式实现。通常的FIR数字滤波器有横截性和级联型两种。
(a)FIR滤波器的横截型结构
表示系统输入输出关系的差分方程可写作: 直接由差分方程得出的实现结构如图6.1.1所示:
图6.1.1 横截型(直接型﹑卷积型)
若h(n)呈现对称特性,即此FIR滤波器具有线性相位,则可以简化加横截型结构,下面分情况讨论:
图6.1.2 N为奇数时线形相位FIR滤波器实现结构
图6.1.3 N为偶数时线性相位FIR滤波器实现结构
(b)FIR滤波器的级联型结构
将H(z)分解成实系数二阶因子的乘积形式:
这时FIR滤波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现。如下图所示
6.1.4 FIR滤波器级联型结构
在设计滤波器时,对于同一个传递函数对应着许多种等效结构,然而这些结构能达到的性能效果却有所不同。在无限参数字长的情况下,所有能实现传递函数的结构之间,其表现完全相同。然而,在实际中,由于参数字长有限的限制,各实现结构的表现并不相同。
在MATLAB中可以利用FDATool工具箱构建不同类型的数字滤波器。为了使对比效果明显,将上述初步设计的等波纹数字FIR带通滤波器的设计参数的
字长(即转移函数中分子各项前的系数)进行保留小数点后10位的缩减。
6.1.1利用直接型结构构建数字滤波器
FIR网络结构特点是没有反馈支路,即没有环路,其单位脉冲响应是有限长的。设单位脉冲响应h(n)长度为N,由之前算出的h(n)可得出(系数小数点后保留10位)系统函数为:
H(z)=?hnz-n=0.-0.z-1
n?0N?1+0.z
-2
+…-0.z-52+0.z-53
表示系统输入输出关系的差分方程可写作:
y(n)= ?h(m)x(n?m)
m?0N?1直接型的结构流图如图6.1.5所示:
x(n) z1 -z1 -z1- 图6.1.5 直接型网络构图…… 选择filter structure选项框中的 Direct-Form I选项,点击窗口下方的Import 0.Filter 按钮,构建直接2型结构的等波纹数字FIR1. 60... 0. -0. 0. 低通滤波器,结果如图6.0. 0. …… 图6.1.6 Direct-Form I型结构的滤波器幅频响应图 所示: y(n) 读图可以得滤波器技术指标(ωsl,ωpl, ωpu,ωsu,单位为Hz;?s,?p,单位为dB)如表6.1.1所示:
表6.1.1 Direct-Form I结构滤波器对性能指标的影响
性能指标 ωsl ωpl 初始设计指标 0.1221 0.1321 20 2 仿真后设计参数 0.2446289 0.2724609 20.37739 1.52500 △ 0.1223289 0.1403609 0.37739 -0.47500 可以得Direct-Form I结构的滤波器技术指标(ωsl,ωpl, 单位为?rad/sample;?s,?p,单位为dB)如表6.1.2所示:
表6.1.2 Direct-Form I结构滤波器对性能指标的影响
性能指标 ωsl ωpl 初始设计指标 0.1221 0.1321 20 2 Direct-Form I 0.12139 0.13623 20.05623 2.2418727 △ -0.00071 0.00413 0.05623 0.2418727 由图6.1.6和表6.1.1表6.1.2可以看出:
(1)滤波器幅频曲线在通带和阻带内波动幅度不太均匀。
(2)阻带最小衰减?s比初始设计高0.05623dB,通带最大衰减?p比初始设计高0.2418727dB。
(3)ωpl比初始设计高0.00413而ωsl却比初始设计值低0.00071?rad/sample,截止频率坡度较初始设计更加平缓。
由于Direct-Form II和Direct-Form I均属于直接型结构滤波器,因此均具有直接型所共有的上述误差。
6.1.2 利用级联型结构构建数字滤波器
将H(z)进行因式分解,并将共轭成对的零点放在一起,形成一个系数为实数的二阶形式,这样级联型网络结构就是由一阶或二阶因子构成的级联结构,其中每一个因式都用直接型实现。
将直接型结构系统函数转变为级联型结构的系统函数,运用Matlab中的tf2sos进行运算,可得级联结构的系统函数为:
H(z)=0.0129(1-9.3748z-1 +9.3764z?2
)(1-0.9998z-1+0.1067z-2)
……(1-1.5953z-1+0.7779z-2)(1-1.7151z-1+0.7728z-2)
x(n) 0.0129 选择Edit下拉菜单中点击 Convert to Second-order Sections选项,将构建好的Direct-Form I结构的等波纹数字FIR低通滤波器转换为级联滤波器,结果 -9.3748 -0.9998 -1.7151 9.3764 图6.1.7 级联型网络构图 1 …… 1 y(n) 如图6.1.8所示: 图6.1.8 级联型结构的滤波器幅频响应图 0.1067 0.7728 、、、、、、、、 β21