基于MATLAB工具箱的数字滤波器设计.docx
《基于MATLAB工具箱的数字滤波器设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB工具箱的数字滤波器设计.docx(16页珍藏版)》请在冰点文库上搜索。
基于MATLAB工具箱的数字滤波器设计
基于MATLAB信号处理工具箱的数字滤波器设计
摘要:
传统数字滤波器工作起来,需要计算量很大,对于设计要求来说,又比较复杂,需要调整滤波特性,有很大的难度,并且影响它本身的应用以及功能。
本文中,主要介绍了利用MATLAB信号处理工具箱的功能,设计常规数字滤波器,设计过程中使用一些常用的专用软件。
对于,使用MATLAB语言程序设计以及信号处理工具箱的FDATool工具,各种界面的详细步骤都有详细的介绍。
对于MATLAB设计滤波器,为了减轻庞大的工作量,也为了简便直观,我们对比设计要求,以及滤波器特性的参数,这样才能更有利于,优化滤波器本身。
在本文中,主要解读了仿真软件Simulink对设计出来的滤波器仿真,设计过程中利用工具MATLAB。
我们验证结果的准确性,是通过软件仿真实验,从而达到对滤波器的设计。
关键词:
MATLAB;模拟滤波器;数字滤波器
目录
1引言1
2模拟滤波器的设计1
2.1几种常用的模拟滤波器2
2.2巴特沃斯低通滤波器设计3
3数字滤波器的设计6
4结束语10
参考文献.................................................................10
1引言
基于对正弦基波,以及整词谐波的分析,可以得知系统电压,电流信号中,成分比较复杂,因此,在电力系统中,最关键的部件还是滤波器。
MATLAB和Mathematica、Maple共同称为三大数学软件。
MATLAB在数学类科技应用软件中,在数值计算方面地位不可代替。
MATLAB可以进行矩阵运算,绘制函数和数据,实现算法,创建用户界面,连接其他编程语言的程序等功能,它的应用方面主要在于,工程计算;控制设计;信号处理与通讯;图像处理信号检测;金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与工程中常用的形式十分相似,故用MATLAB来解算问题要比其他语言完成事情简捷,因此可以直接使用,我们可以把自己的程序导入进MATLAB函数库中,方便以后的使用。
因此我们设计滤波时,根据指标,直接使用CAD程序,就可以得到高通、带通和带阻滤波器系统函数。
MATLAB信号处理工具箱函数:
butter,cheby1,cheby2和ellip,都有这样的功能。
2模拟滤波器的设计
数字滤波器可以当做一种计算的程序,数字滤波器可以按照不同的标准有多种分类。
滤波器按元件种类有:
有源滤波器;无源滤波器;陶瓷滤波器;晶体滤波器;机械滤波器;锁相环滤波器;开关电容滤波器等。
滤波器按照信号处理种类有:
模拟滤波器;数字滤波器。
滤波器按照同频带种类有:
低通滤波器;高通滤波器;带通滤波器;带阻滤波器等。
除此之外,还有一些特殊滤波器,如满足一定频响特性、相移特性的特殊滤波器,例如,线性相移滤波器;延时滤波器;计杈网络滤波器(应用在音响中);中放声表面波滤波器(应用在电视机中)等。
滤波器按照同频种类有:
低通滤波器(LPF);高通滤波器(HPF);带通滤波器(BPF);带阻滤波器(BEF)等。
滤波器按照通带波种类有:
最大平坦型(巴特沃思型)滤波器;等波纹型(切比雪夫型)滤波器;线性相移型(贝塞尔型)滤波器等。
滤波器按照运放电路种类有:
无限增益单反馈环型滤波器;无限增益多反馈环型滤波器;压控电源型滤波器;负阻变换器型滤波器;回转器型滤波器等。
数字滤波(digitalfilter)是由数字乘法器;加法器和延时单元组成的一种计算方法。
为了达到改变信号的目的,我们一般是对输入离散信号进行预算处理。
数字滤波是离散时间系统。
应用数字滤波处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波处理的输出数字信号须经数模转换、平滑。
目前数字滤波器设计最多借助于模拟滤波器。
如今有相当成熟的方法以及完整的公式,还有完整图标来设计滤波器它不但有完整的设计公式,因此,充分利用这些东西会提高设计滤波器的简便性。
2.1几种常用的模拟滤波器
设计模拟滤波器时,不但要求频率响应指标满足信号处理的要求,而且设计的系统函数能用硬件实现。
往往从信号处理角度认为最好的滤波器却无法用硬件实现,理想滤波器(通带内幅度为1,阻带内幅度为0,过渡带宽度为0的滤波器)就是如此。
不过该问题已经解决,经过多年研究开发,已经找到了多种逼近理想滤波特性的滤波器函数,其滤波特性各有特色,而且这些模拟滤波器的系统函数满足硬件综合实现条件。
下面有几种滤波器的几种设计方法
使用间接法设计数字滤波器,先设计一个模拟滤波器,它有多种不同的类型,主要下面一些:
(1)带通滤波器。
在小电流接地系统接入正弦波,分析可知,对带通滤波器设计,滤除一些波,能够在复杂信号中分离接入的信号。
(2)巴特沃斯(Botterworth简写BW)滤波器。
BW滤波器是根据幅频特性在通带内具有最拼图特性而定义的滤波器,对一个N阶低通滤波器来说,所谓最平坦特性就是模拟函数的前(2N-1)阶导数在
=0处都为零。
BW滤波器的另一个特性是在通带和阻带内的幅频特性始终是频率的单调下降函数,且其模拟函数随阶次N的增大而更接近于理想低通滤波器。
(3)切比雪夫(Chbyshev简写为CB)Ⅰ型滤波器:
通带内有等波纹幅频特性函数,阻带内有单调下降的幅频特性函数。
(4)切比雪夫(Chbyshev简写为CBⅡ)Ⅱ型滤波器:
通带内有单调下降的幅频特性函数,阻带内有等波纹幅频特性函数。
(5)椭圆滤波器:
通带和阻带内均有等波纹幅频特性。
(6)贝塞尔滤波器:
其特点是在
附近逼近线性相位特性。
可以证明,一个系统函数不能同时逼近理想滤波器的幅度特性和相位特性。
以上5种典型滤波器中,前4种是逼近幅度特性,第5种逼近相位特性。
对相同的指标要求,对前4种幅度特性逼近滤波器,巴特沃斯滤波器阶数最高,切比雪夫次之,椭圆滤波器阶数最低。
当阶数相同时,巴特沃斯滤波器截止特性最平坦(过渡带最宽),椭圆滤波器截止特性最陡峭(即过渡带最窄)。
下一小节我们就试着来做一个巴特沃斯低通滤波器。
2.2巴特沃斯低通滤波器设计
模拟滤波器设计过程:
(1)根据信号处理要求确定设计指标;幅度平方函数如下
(1)
(2)
N为滤波器的阶数
为通带截止频率
当
时,
(2)
称
为分贝带宽
低通巴特沃斯滤波器设计过程
巴特沃斯低通滤波器系统函数完全由阶数
和3dB截止频率
确定,所以设计巴特沃斯低通滤波器就是根据设计指标求阶数N和3dB截止频率
,然后求出极点,得到系统函数。
实际设计更为方便,滤波器设计手册一般会以表格形式列出各阶巴特沃斯归一化低通滤波器的各种参数。
如果没有手册的话可以在网上搜索下就能找到。
根据技术指标
,
,
和
,求得阶数N。
求出归一化极点
,由
构造归一化传输函数
。
将Ha(p)反归一化,
——阻带指标有富裕(3)
——通带指标有富裕(4)
通带截止频率
,
通带最大衰减
,
阻带截止频率
,
最小衰减
,按技术指标设计巴特沃斯低通滤波器。
第一,阶数N
,
(5)
第二,由
(6)
其极点为
,
传输函数为
(7)或由N=5,直接查巴特沃斯归一化低通滤波器参数表得到:
极点:
-0.3090±j0.9511,-8090±j0.5878;-1.0000
系数:
b0=1.0000,b1=3.2361,b2=5.2361,b3=5.2361,b4=3.2361
第三,为将Ha(p)反归一化
先求3dB截止频率Ωc
(8)
将Ωc代入式4,得到:
(9)
此时算出的截至频率比给出的小,或者说在截至频率处的衰减大于30dB,所以说阻带指标有富裕量。
将p=s/Ωc代入Ha(p)中得到:
(10)
求出系统函数以后,就可以调用MATLAB工具箱函数buttord,
%巴特沃斯型:
[n,wn]=buttord(wp,ws,rp,rs,'s')
[b,a]=butter(n,wn,'s')%模拟带通滤波函数系数按照式计算
。
得出图2所示图形:
幅度/
图2巴特沃斯滤波器频率响应特性曲线图
3数字滤波器的设计
我们知道,数字滤波器的方法有两种;主要分为间接和直接设计法。
间接设计法有两种:
脉冲响应不变法;双线性变换法。
我们将设计好的一个巴特沃斯模拟低通滤波器,这次我们要使用间接和直接设计法来设计数字滤波器。
本次用的是双线性变换法。
双线性变换法的S域与Z域间的关系为:
由式11可以看出,z和s之间可以直接代换,由于这是非线性变换,考虑到能否把jΩ映射成圆,以及是否能将s域左半平面映射到单位圆内部。
(11)
平面上的虚轴jΩ,用s=jΩ代入
(1)得:
(12)
(13)
从中表明S平面与Z平面;单值对应,S平面的虚轴(整个jΩ)经映射后确已成为z平面的单位圆,但Ω与为非线性关系,因此,通过双线性变换后两个滤波器的频率特性形状不能保持相同,双线性变换不存在混迭效应。
对于s域的左半平面,用s=σ+jΩ入式(12),得到:
(14)
(15)
此式表明,当σ<0,有|z|<1,因而s平面的左半平面被映射在单位圆内部,这意味着稳定的模拟滤波器经双线性变换可以映射成稳定的数字滤波器。
滤波器的技术指标
通带指标:
0.89125
|
|
1,
|
|
0.2
阻带指标:
0.3
通带截频:
通带衰减:
0.89125
阻带截频:
阻带衰减:
0.17783
数字指标变换模拟指标
;
为了便于计算我们将T=2,模拟频率和数字频率的对应关系是W=tan(
);
零极点分析
r=p=
0.1464+0.2220i0.6572+0.5320i
0.1464-0.2220i0.6572-0.5320i
-1.0891+0.1440i0.5270+0.3123i
-1.0891-0.1440i0.5270-0.3123i
0.9384-1.9472i0.4730+0.1026i
0.9384+1.9472i0.4730-0.1026i
由以上数据可知:
本系统的极点都分布在Z平面半径为1的圆内,由此可知系统是一个因果稳定的系统。
为了映射稳定数字滤波器,可以采用双线性变换法。
模拟滤波器数字化(双线性变换法):
%双线性变换法来设计:
Butterworth数字低通滤波器:
通带指标:
0.89125
|
|
1,
|
|
0.2
%阻带指标:
0.3
;
;
=-20
(0.89125);
=-20
(0.17783);
%以上为数字指标
;
;
;
N=buttord(wp,ws,ap,as,'s');
%确定滤波器阶数
;
%确定3db截频
[numa,dena]=butter(N,Wc,'s');
%确定滤波器的零极点(确定滤波器相关系数)
[numd,dend]=bilinear(numa,dena,1/T);
%脉冲响应不变法
滤波器数字化
w=linspace(0,pi,2048);
h=freqz(numd,dend,w);
Norm=max(abs(h));
Numd=numd/norm;
%归一化数字滤波器
幅度响应
Subplot(2,2,1),plot(w/pi,20
log10(abs(h)/norm));grid;
Xlabel('Normalizedfrequency');
Ylabel('幅度响应,db');%axis([0,1,-40,5]);
Subplot(2,2,2),plot(w/pi,angle(h)/pi);grid;
Xlabel('Normalizedfrequency');
Ylabel('相位响应’);%axis([0,1-1,1]);
Subplot(2,2,3),plot(w/pi,abs(h));grid;
Xlabel('Normalizedfrequency');
Ylabel('幅度响应,H');axis([0,1,0,1.1]);
Disp('numeratorpolynomial');
Fprintf('%.5e\t',numd);
Disp('denominatorpolynomial');
Fprintf('%.5e\t',dend);
Fprintf('\n');
W=[WpWs];
H=freqz(numd,dend,w);
Fprintf('Ap=%.5f\n',abs(h
(1)));
Fprintf('As=%.5f\n',abs(h
(2)));
以下是滤波器结构的设计
%级联型
Fprintf('级联型\n');
[z,p,k]=tf2zp(numd,dend);
Sos=zp2sos(z,p,k);
Sos
%并联型
Fprintf('并联型\n');
[r,p,k]=residuze(numd,dend);
r
P
K
Rz=roots(numd);
Rp=roots(dend);
rz
rp
Subplot(2,2,4),zplane(numd,dend);
Axis([-1.1,1.1,-1.1,1.1]);
%subplot(2,2,3),impz(numd,dend,50);
以上就是数字滤波器设计指标,接下来我们就要调用MATLAB信号处理工具箱函数ellipord和ellip来仿真IIR滤波器。
MATLAB程序为examp844.m,程序运行结果:
N=4
Wc=0.2000
B=[0.00590.00530.00960.00530.0059]
A=[1.0000-3.04773.8240-2.29260.5523]
仿真结果如图3所示
图3双线性变换法所得IIR滤波器频率响应特性曲线图
4结束语
利用MATLAB的运算,MATLAB信号处理工具箱(SignalProcessingToolbox)的数字滤波器设计法,我们可以快速有效便捷对软件组成设计出来数字滤波器,并且减轻工作量。
在设计过程中,我们可以更改各类参数,因为不同的滤波器有不同的特性,这样才能达到最优化。
利用MATLAB设计数字滤波器在电力系统二次信号处理软件和微机保护中,有着广泛的应用前景。
参考文献
[1]陈深远.MATLAB及其在理工课程中的应用指南.西安:
长安大学出版社,1999
[2]张志涛.精通MATLAB5.3版.北京:
北京航空航天大学出版社,2003
[3]薛宇宙.基于MATLAB/Simulink的仿真技术与应用.北京:
清华大学出版社,2002
[4]王夏沫.Simulink建模及仿真.北京:
电子工业出版社,2002.
[5]王世尔.数字信号处理[M].北京:
北京理工大学出版社,2003.
[5]韩利利,王华.MATLAB电子仿真与应用「M」.北京:
国防工业出版社,2003:
58.
[6]丁玉博,高全西.数字信号处理(第二版)[M].西安:
长安大学出版社,2005.
[7]TexasInstruments.SpRU302.TMS320C54XDSpRefereneeSetVolumess:
Enhancd
PeriPherals.1999.
[8]Widrow,StearnsSD.Adaptivenoisecanceling:
principlesandapplication[J].ProcIEEE,1975.
[9]王占元.滤波器设计与仿真[J].《电子知识与技术》2008.
[10]胡方东.数字滤波器设计[J],《电脑科技报》2009.
TheDesignofIIRFilterWhichBasedOntheMATLAB
Abstract:
IIRbasedonthedesignprincipleofdigitalfilter,thispaperintroducestheMATLABenvironmentIIRdigitalfilterdesigningmethodandprocedure,andbilineartransformationmethodtodesignadigitalfilterIIRbutterworthasanexample,thepaperintroducesthedesignoffilterwithsoftwareprocess,throughthesimulationresultverifiesthevalidityof,strongcommonality.
KeyWords:
MATLAB;Simulationfilter;IIRfilter