基于MATLAB的IIR数字滤波器的设计与仿真分析
2015-10-16刘兴,张鹤
刘 兴,张 鹤
(中国舰船研究设计中心,武汉 430064)
基于MATLAB的IIR数字滤波器的设计与仿真分析
刘 兴,张 鹤
(中国舰船研究设计中心,武汉 430064)
随着数字信号处理技术和计算机控制技术的发展,数字滤波器在信号处理中得到广泛的应用。本文在MATLAB环境下,编程设计了巴特沃斯低通滤波器,滤除了给定信号的3次及以上的谐波。文中对4阶、6阶、8阶巴特沃斯低通滤波器的效果进行了对比分析,对滤波前后的信号进行了FFT分析,仿真结果表明,本文的设计满足要求。
MATLAB仿真;数字滤波器;巴特沃斯低通滤波器
0 引言
随着分布式发电与智能电网的发展,电力电子装置将被广泛应用于现代电力系统中,由于其非线性特性,电力电子装置的谐波电流和谐波电压将对公用电网造成污染。因此,分析电网中的谐波分布就显得尤为重要。谐波分析实质上就是将信号分解为一系列频率的信号的叠加,在分析设计中,总是希望滤除无用的频率分量,保留所需的频率分量,这个过程即是滤除谐波。滤除谐波需要使用滤波器,随着数字信号处理技术、计算机技术等技术的发展,数字滤波器已在信号处理上得到广泛应用。
数字滤波器具有传输选择特性的数字信号处理方式,输人和输出信号均为数字信号,其实质是一个利用有限精度算法实现线性时不变的离散系统。数字滤波器基本原理是利用离散系统的特性对输入信号进行加工或变换,从而改变输入信号的频谱或波形,让所需频率信号分量通过,并抑制无用信号分量输出。数字滤波器与模拟滤波器具有相同的滤波特质,基于频率响应特性,其可分为低通、高通、带通、带阻等不同类型。此外,除了具有数字信号处理的优点外,数字滤波器还具有滤波精度高、稳定性好、灵活性强等优点。其按照单位脉冲响应特性,可分为无限长单位脉冲响应滤波器(IIR)以及有限长单位脉冲响应滤波器(FIR)。本文利用MATLAB,设计了满足设计要求的低通IIR数字滤波器。
1 数字滤波器设计
1.1 数字滤波器的技术指标
要设计出合理的数字滤波器,必须了解数字滤波器的各项指标。
1)数字滤波器的传输函数H(ejw)
式中,|H(ejw)|为系统幅频响应特性,反映信号通过滤波器后不同频率分量的衰减情况;Q(ω)为系统相频响应特性,反映信号通过滤波器后不同频率分量在时间上的延时情况。
2)幅频特性|H(ejw)|的指标
数字滤波器性能指标如图1所示。图中,ωp为通带截止频率,频率范围为0≤ω≤ωp;ωs为阻带截止频率,频率范围为ωs≤ω≤π;ωC为截止频率;αP为通带最大衰减量;αS为阻带最小衰减量;δ1为通带频率范围内幅频响应的误差范围;δ2为阻带频率范围内幅频响应的误差范围。
图1 数字滤波器性能指标
通带和阻带频率范围内允许的衰减一般用dB数表示,αP和αS分别定义为:
如将|H(ej0)|归一化为1,式(2)、式(3)则表示成:
1.2 IIR数字滤波器设计
IIR数字滤波器设计方法一般可分为两大类:
1)设计出满足要求的模拟滤波器(AF)传递函数Ha(s),并将Ha(s)转换成数字滤波器(DF)的传递函数H(z),见图2。
2)直接借助计算机辅助设计来求取满足要求的数字滤波器的传递函数。
其中将传输函数由模拟域变到数字域通常有两种方法:脉冲响应不变法和双线性变换法。
图2 数字滤波器的设计
1.2.1 脉冲响应不变法的基本思想
将h(n)模拟为ha(t),并使得h(n)等于ha(t)的采样值。对ha(t)进行等间隔采样,采样间隔为T,得到:
对上式进行Z变换,得到数字滤波器的系统函数为:脉冲响应不变法具有以下优点:
1)频率变换为线性关系,即ω=ΩT,数字滤波器能很好地重现模拟滤波器的频率响应特性;
2)数字滤波器的单位脉冲响应特性完全模拟模拟滤波器的单位脉冲响应特性,时域特性近似性好。
同时,脉冲响应不变法也有以下缺点:
1)可能出现频谱混迭失真,即S平面到↔Z平面有多值映射关系;
2)因为频谱混迭的情况,其应用受到限制,即使随着T的减小,失真相应减小,但运算量和资源的要求大大提高,其实现变得困难。
1.2.2 双线性变换法的基本思想
双线性变换法用正切变换实现非线性频率压缩,将S平面变换到S1平面(π±/T之间),再将S1平面映射到Z平面上。其中正切变换式为:
S1平面映射到Z平面的变换式为:
双线性变换法的优点:可以消除频谱混迭失真。由于此时S平面与Z平面是单值映射关系,从而避免了脉冲响应不变法可能出现的频谱“混迭”现象。
双线性变换法的缺点:由于牺牲了频率变换线性性,此时模拟域和数字域是非线性映射,其瞬时响应特性不如脉冲响应不变法来得好。
基于以上分析,根据实际实际要求,本文采用双线性变换法来实现IIR数字滤波器设计。
2 巴特沃斯低通滤波器设计
本文将先设计巴特沃斯低通滤波器,再通过双线性变换得到满足要求的数字滤波器。
设计一个模拟滤波器,实质上就是寻求一个满足设计要求的传递函数Ha(s)。
巴特沃斯低通滤波器的幅度平方函数|Ha(jΩ)|2用下式表示:
式中,Ωc为截止频率;N为滤波器阶数。
当Ω=0时,|H(jΩ)|=1;当Ω=Ωc时,|H(jΩ)|=1/2;当Ω>Ωc时,幅值迅速下降,同时N越大,幅值下降地越快,过渡带将越窄。
巴特沃斯滤波器设计步骤如下所示:
1)基于给出的技术指标αs、ωp、αP、ωs,求出滤波器阶数N。
由(10)和(11)两式可以得到:
由于式(16)求得的N可能有小数部分,故需取大于等于所得解的最小整数。
2)求归一化后的极点pk,确定归一化后的传输函数Ha(p)。基于极点公式:
再代入下式:
当然,也可根据阶数N,利用查表法直接得到极点及归一化传输函数。
3)求截止频率Ωc。由式(12)可解得:
4)基于得到的Ha(p),求取实际所需滤波器的传输函数Ha(s)。把p=s/Ωc代入Ha(p)中,可得:
综合上面的分析即设计满足要求的巴特沃斯滤波器。本文根据阶数N,查表得到4、6、8阶巴特沃斯滤波器的传输函数,滤波器的Bode图见后文的仿真分析。
3 仿真分析
本设计在 MATLAB环境下编程实现。MATLAB含有强大的数字信号处理工具箱,借助MATLAB快捷方便的实现IIR数字滤波器的设计。
根据前面的分析,本文在MATLAB中编写程序实现了4阶、6阶、8阶巴特沃斯低通滤波器,程序中将每一种滤波器以Bode图的形式表现出来,并对滤波前后信号的波形做了对比分析。本设计中每一频段的信号的幅值按照要求设计,相位均设置为0度。
图3为待处理的信号,可以看出,信号中含有丰富的谐波成分,本设计中,信号的幅值是按照标幺值给出,谐波信号的相位为0度。图4为理想的滤波后信号的波形,可以看出信号的波形质量大大改善,设计的滤波器应该尽量逼近理想的滤波器。
图3 滤波前信号的波形
图4 理想的滤波后信号波形
图5给出设计的三种滤波器的幅频特性和相频特性的Bode图。可以看出,滤波器阶次越低,速度越快,但滤波效果越差。
图6给出三种滤波器的滤波特性比较,可以清晰的看出8阶滤波器的滤波效果最好,但是造成的延时也最大,4阶滤波器延时较短,但滤波效果相对较差。
图7与图8给出滤波前后信号的FFT分析,以8阶滤波器为例。可以看出。滤波后,信号的谐波明显减少,可见滤波器的设计达到了要求。
图5 设计滤波器系统的Bode图
图6 实际的滤波效果图
图7 滤波前信号FFT分析
图8 滤波后信号FFT分析
4 总结
数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟滤波器,再将模拟滤波器转化为数字滤波器,本文比较了脉冲响应不变法和双线性变换法的优劣,最终选择双线性变化法设计。根据IIR滤波器的特点,在MATLAB坏境下采用双线性变换法、设计了IIR数字滤波器。
从仿真波形上可以看出,滤波器阶数越高,滤波效果越好,但是造成的延时也越大,而且滤波器的阶数越高,设计越复杂,系统的成本越高。因此,工程实际中如何做到降低滤波器阶次,但同时保证滤波效果还需要进一步研究。
[1]邹云屏.数字信号处理[M].武汉:华中科技大学出版社,2002.
[2]程佩青.数字信号处理教程[M].北京:清华大学出版社,2003.
[3]罗军辉,罗勇江,等.MATLAB7.0在数字信号处理中的应用[M].北京:机械工业出版社,2005.
[4]余成波,杨菁,等.数字信号处理及MATLAB实现[M].北京:清华大学出版社,2005.
[5]刘树棠译.《信号与系统》(第二版)[M].西安:西安交大出版社,1998.
Design and Simulating Analysis of MATLAB Based IIR Digital Filter
LIU Xing,ZHANG He
(Ship Research and Design Center of China,Wuhan 430064,China)
With the development of digital signal processing and control technology,digital filter has been widely used in signal processing.In this paper,a Butterworth low-pass filter,which can filter out high-order harmonic of the given signal,is designed based on MATLAB.The filtering result of 4 order,6 order and 8 order Butterworth low-pass filter is compared and analyzed with FFT analysis on the signal before and after being filtered.The design method is validated by simulation.
MATLAB simulation; digital filter; Butterworth low-pass filter
TN713
A
10.16443/j.cnki.31-1420.2015.05.016
刘兴(1980-),男,工程师。研究方向:船舶电气自动化。