APP下载

FIR滤波器设计的最小二乘方法研究

2021-01-16张寿安张静雅

绥化学院学报 2020年8期
关键词:阻带阶数个数

张寿安 张静雅

(1.六安职业技术学院信息与电子工程学院 安徽六安 237000;2.皖西学院电子与信息工程学院 安徽六安 237000)

一、引言

伴随着计算机电子技术与集成电路技术的不断更新,采用数字滤波器处理数字信号已经成为现代电子数字系统的发展主流[1]。其中FIR(有限长单位冲激响应)滤波器是备受企业与科研人员关注的热点,其设计方法有很多,例如窗函数法、频率选择法、最优设计法等。屈召贵利用窗函数法对离散信号的数字代码进行运算处理,实现改变信号频谱的技术应用[2]。夏利霞等人采用了粒子群优化算法实现了滤波器频率特性的优化,与遗传算法相比具有更快的收敛速度[3]。为实现FIR滤波器参数的优化通常采用MATLAB工具进行仿真模拟。例如蒋梦影等人比较了程序设计法、FDATool设计法与SPTool设计法的性能,具有较强的实用性[4]。但是不能精确的控制滤波器通带阻带的频率,导致设计出来的滤波器在实际应用中存在很大的阻碍。然而,杜林等人采用约束最小二乘法进行FIR数字滤波器设计,在MATLAB仿真结果表明最小二乘法显示更强大的生命力与实用性[5]。本文利用MATLAB工具箱设计滤波器,根据对比设计要求和理想的滤波器性能,不断调整参数使得滤波器的设计变得更加直观简便,工作量较小,也有利于达到滤波器设计的最优解。

二、基于最小二乘法的FIR滤波器设计原理

(一)FIR滤波器的基本结构。FIR滤波器的频率响应在时域上为有限长度,结构主要包括横截型和级联型。

1.FIR滤波器的横截型结构。FIR滤波器系统的输入输出的方程为:

由以上方程直接实现得到的滤波器如图1:

图1 FIR滤波器的横截型结构

2、FIR滤波器的级联型结构。将H(z)分解成实系数二阶因子的乘积形式:

滤波器用二阶节的级联结构来实现,每个二阶节采用横截型结构,如图2所示[6]:

图2 FIR滤波器级联型结构

(二)利用约束最小二乘法求滤波器系数方法。约束最小二乘法主要是采用最小二乘法与拉格朗日乘子法结合,即可以解决优化问题,又能考虑带约束的情况。

设一组超定矛盾方程为:

式中r≥e,rank(A)=e。最小二乘解为:χLS=(ATA)-1ATf

式中的解χLS只是所有r个方程的近似解,并不是精确解,如果需要精确满足其中的rm个方程,就需要在某些频率点上被精确控制,而剩下的点,即余下的rs=r-rm个方程只要近似满足就可以。所以,式(3)可以分解为rm个重要方程和rs个次要方程:

其中rm≤e和rs≥e。式(3)的约束最小二乘解χCLS的解:

使得Amχ=fm。为了求出拉格朗日乘子法求解式(3)描述的条件极值,首先建立拉格朗日函数:

由上式知

将式(5)代入约束条件(3),则得:

最后将式(7)代回式(5)就导出约束最小二乘法(CLS)的解为:

那么只要As和Am分别为列满秩和行满秩矩阵就存在,式(8)表达的约束最小二乘解也就存在。

为了确定FIR滤波器的阶数N,在频率[0,π]的取值范围内,用H(ω)逼近Hd(ω),得到逼近曲线,也就是得先求出系数组:Φ(n)=[α(0,α(1),……α(r-1))]。

式(3)中的系数矩阵写为:

其中,ωi(i=1.2.…m)频率在[ 0 ,π]的取值范围内分为稠密栅格,在某些需要特殊满足的点上对幅值约束,例如在ω1=0或是过渡带的一半处,得到方程,根据式(8)解出滤波器的系数Φ(n)。

三、FIR滤波器的仿真结果

(一)FI滤波器的仿真设计。利用MATLAB工具进行仿真设计,其幅度满足下式:

其中,截止频率ωc=0.3π,要求H(0)=1,过渡带的一半ω=0.25π处,H(ωc)=0.5。为设计出最优的滤波器,需要:(1)滤波器阶数N的选择,以及N对滤波器性能的影响;(2)选择精确方程的个数,以及点的位置。

以阶数N=12为例进行了设计,其中精确方程个数rm分别等于2、3、5即要求其中分别有2、3、5个重要方程被要求精确满足,而其余rs=r-rm个次要方程近似满足。

1、首先分别选择的两个点为ω=0,ω=0.25π,即

2、其次选择三个重要方程的点分别是ω=0,w=0.25π,ω=0.3π,即

3、此外,再次分别选择五个点,ω=0,ω=0.2π,ω=0.25π,ω=0.3π,ω=0.35π,同时另选23个点,作为次要方程点分别为,

即23个次要方程,其系数矩阵为:

(二)精确方程个数和滤波器阶数对滤波器性能的影响

1.精确方程个数对滤波器性能影响分析。为了明确不同精确方程个数对滤波器性能的影响,分别设置精确方程个数的参数为rm=2,3,5进行仿真模拟。

图3 不同方程个数对滤波器性能的影响

从图3可以看出当rm=3时,仿真出的滤波器和要求的滤波器的性能最接近。即当精确方程的个数为3,且在点ω=0,ω=0.25π,ω=0.3π处对幅值约束,此时仿真得到的滤波器性能最好,最符合要求。

2.不同滤波器阶数对滤波器性能的影响分析。对于滤波器阶数N的选择,经过多次试验,仿真结果如图4所示:当N=8时,此时的滤波器阻带最平稳;当N=10时,此时滤波器通带最平稳,但是阻带波动较大;N=14时,滤波器的通带和阻带都相对平稳.随着N的增大,过渡带也逐渐变窄。综合上述结果,可以得到当N=14时滤波器的性能最好,最符合要求.但无论N等于多少,仿真出的滤波器在约束的点,即H(0)=1.00,H(ωc)=0.50,严格满足设计要求。

图4 不同阶数对滤波器性能的影响

(三)不同函数对滤波器性能的影响。然而考虑到在MATLAB进行设计过程中,函数参数方法对于滤波器设计时振幅响应有明显的差异性。为了更好的了解约束最小二乘的优缺点,分别利用firls函数和remez函数设计相同参数的低通滤波器来进行对比,其中滤波器阶数N=14,rm=3,并运行20次,滤波器参数如图5所示。

图5 FIR滤波器系数分布图

如图6所示,与firls函数和remez函数相比约束最小二乘法执行速度快且结果稳定,在约束点可以被严格控制,更接近于理想约束点即H(0)=1.00,H(ωc)=0.50。同时,在过渡带上约束最小二乘法设计的滤波器相对较窄,设计通带相对于其余两种方法更平稳,但是阻带有波纹,波纹相对不是很平稳,较比其余两种方法幅度更大。

图6 三种方法设计的滤波器的比较

综上所述,运用最小二乘法,结合拉格朗日法解决带等式约束的FIR滤波器设计,实验结果证明了其有效性。这种方法计算简便,易于实现,具有通用性,可以根据需要通过调整参数,设计所需的滤波器,具有较强的灵活性。

四、结论

本文介绍基于MATLAB的FIR数字滤波器设计,使用最小二乘法处理所得的数据,得到最优拟合曲线,得到优化曲线最小的阶数与理想滤波器的关系曲线。主要得到以下结论:

(一)采用约束最小二乘法较firls函数和remez函数方法计算简便,易于实现,更具有通用性。

(二)当滤波器阶数N=14,精确方程个数rm=3时,滤波器性能最佳,通带和阻带都相对平稳。

(三)约束最小二乘法在FIR滤波器设计中,对于滤波器幅频响应上更加接近理想约束点。

(四)采用MATLAB工具能够很直观地分析最小二乘法设计的优缺点。

猜你喜欢

阻带阶数个数
怎样数出小正方体的个数
确定有限级数解的阶数上界的一种n阶展开方法
一种低损耗高抑制的声表面波滤波器
等腰三角形个数探索
怎样数出小木块的个数
一个含有五项的分数阶混沌系统的动力学分析
怎样数出小正方体的个数
复变函数中孤立奇点的判别
一种改进的最大信杂比MTD滤波器设计算法
二维周期介质阻带分析与应用研究