Matlab课程设计利用MATLAB结合双线性变换法设计一个数字切比雪夫带通IIR滤波器Word文档格式.docx
《Matlab课程设计利用MATLAB结合双线性变换法设计一个数字切比雪夫带通IIR滤波器Word文档格式.docx》由会员分享,可在线阅读,更多相关《Matlab课程设计利用MATLAB结合双线性变换法设计一个数字切比雪夫带通IIR滤波器Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
[5]刘泉,阙大顺主编《数字信号处理原理与实现》电子工业出版社.2005
[6]史密斯主编《实用数字信号处理:
从原理到应用》人民邮电出版社.2010
时间安排:
第1周,安排任务(鉴主15楼实验室)
第1-17周,仿真设计(鉴主13楼计算机实验室)
第18周,完成(答辩,提交报告,演示)
指导教师签名:
2010年1月日
系主任(或责任教师)签名:
2010年1月日
摘要
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,DigitalFilter)。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。
它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。
在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。
本次基础强化训练将完成一个数字切比雪夫带通IIR滤波器的设计,利用双线性变换和无限冲激响应IIR原理完成设计,并利用MATLAB进行仿真。
关键字:
数字信号处理数字滤波器切比雪夫双线性变换MATLAB
Abstract
Withtheinformationageandtheadventofthedigitalworld,digitalsignalprocessinghasbecomeanextremelyimportantdisciplinesandtechnicalfields.Currentdigitalsignalprocessingincommunications,voice,image,automaticcontrol,radar,military,aerospace,medicalandhouseholdappliancesandmanyotherfieldshasbeenwidelyused.Indigitalsignalprocessingplaysanimportantroleandhasbeenwidelyusedindigitalfilters(DF,DigitalFilter).Digitalfilterisatimediscretesignalisusedtofilterdigitalsystem,throughthemathematicaltreatmentofthesampledatatoachievethefrequency-domainfilteringpurposes.
MATLABisinEnglishMATrixLABoratory(MatrixLaboratory)acronym.ItistheUnitedStates,MathWorkshasintroducedasetofcomputingandgraphicsprocessingforscientificvisualization,high-performancelanguageandsoftwareenvironment.Itssignalprocessingtoolboxcontainsavarietyofclassicandmoderndigitalsignalprocessingtechnology,isaverygoodalgorithmresearchandaideddesigntools.Inthedesignofdigitalfilters,itisusuallycarriedoutusingMATLAB-aideddesignandsimulation.
ThebasisofintensivetrainingwillbecompletedanumberofChebyshevband-passIIRfilterdesignusingbilineartransformandinfiniteimpulseresponseIIRprincipleofthecompletionofdesignandsimulationusingMATLAB.
Keywords:
DigitalsignalprocessingdigitalfiltersChebyshevbilineartransformMATLAB
1数字滤波器
1.1数字滤波器介绍
数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。
1.2IIR数字滤波器
IIR(InfiniteImpulseResponse)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。
递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。
1.2.1IIR数字滤波器的特点
IIR滤波器有以下几个特点:
1、封闭函数
IIR数字滤波器的系统函数可以写成封闭函数的形式。
2、IIR数字滤波器采用递归型结构
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
3、借助成熟的模拟滤波器的成果
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
4、需加相位校准网络
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
1.2.2IIR数字滤波器与FIR数字滤波器的区别
1、单位响应
IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;
FIR滤波器,也就是“非递归滤波器”,没有引入反馈。
这种滤波器的脉冲响应是有限的。
2、幅频特性
IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。
3、实时信号处理
FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
2切比雪夫滤波器
2.1概述
目的:
构造一个模拟低通滤波器。
为了从模拟滤波器出发设计IIR数字滤波器,必须先设计一个满足技术指标的模拟滤波器,亦即要把数字滤波器的指标转换成模拟滤波器的指标,因此必须先设计对应的模拟原型滤波器。
模拟滤波器的理论和设计方法己发展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器各有特点。
这里介绍切比雪夫滤波器。
切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器。
在通带波动的为“I型切比雪夫滤波器”,在阻带波动的为“II型切比雪夫滤波器”。
切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。
切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
这种滤波器来自切比雪夫多项式,因此得名,用以记念俄罗斯数学家巴夫尼提·
列波维奇·
切比雪夫。
2.2切比雪夫滤波器的种类
根据频率响应曲线波动位置的不同,切比雪夫滤波器可以分为以下两种:
I型切比雪夫滤波器:
在通带(或称“通频带”)上频率响应幅度等波纹波动的滤波器称为“I型切比雪夫滤波器”;
II型切比雪夫滤波器:
在阻带(或称“阻频带”)上频率响应幅度等波纹波动的滤波器称为“II型切比雪夫滤波器”。
2.3特点
切比雪夫滤波器特点:
误差值在规定的频段上等波纹变化。
巴特沃兹滤波器在通带内幅度特性是单调下降的,如果阶次一定,则在靠近截止
处,幅度下降很多,或者说,为了使通带内的衰减足够小,需要的阶次N很高,为了克服这一缺点,采用切比雪夫多项式来逼近所希望的
。
切比雪夫滤波器的
在通带范围内是等幅起伏的,所以在同样的通常内衰减要求下,其阶数较巴特沃兹滤波器要小。
切比雪夫滤波器的振幅平方函数为
(2-1)
式中Ωc为有效通带截止频率,
表示与通带波纹有关的参量,
值越大通带不动愈大。
VN(x)是N阶切比雪夫多项式,定义为
(2-2)
切比雪夫滤波器的振幅平方特性如图所示:
N为偶数,cos2(
)=1,得到min,
,
(2-3)
N为奇数,cos2(
,得到max,
(2-4)
图2-1切比雪夫滤波器的振幅平方特性
有关参数的确定:
a、通带截止频率:
预先给定;
b、
与通带波纹有关的参数,通带波纹表示成
(2-5)
所以,
给定通带波纹值
分贝数后,可求得
c、阶数N:
由阻带的边界条件确定。
、A2为事先给定的边界条件,即在阻带中的频率点处
要求滤波器频响衰减到1/A2以上。
(2-6)
(2-7)
(2-8)
(2-9)
因此,要求阻带边界频率处衰减越大,要求N也越大,参数N,
给定后,查阅有关模拟滤波器手册,就可求得系统函数Ha(s)。
3双线性变换法
目的:
将模拟带通滤波器转换成数字带通滤波器
为了克服冲激响应法可能产生的频率响应的混叠失真,这是因为从S平面到Z平面是多值的映射关系所造成的。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。
也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;
第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。
这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图3-1。
图3-1双线性变换的映射关系
为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现
(3-1)
式中,T仍是采样间隔。
当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。
将式(3-1)写成
(3-2)
将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得
(3-3)
再将S1平面通过以下标准变换关系映射到Z平面z=es1T
从而得到S平面和Z平面的单值映射关系为:
(3-4)
(3-5)
式(3-4)与式(3-5)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换。
双线性变换符合映射变换应满足的两点要求。
首先,把z=ejω,可得
(3-6)
即S平面的虚轴映射到Z平面的单位圆。
其次,将s=σ+jΩ代入式(3-5),得
因此
(3-7)
由此看出,当σ<
0时,|z|<
1;
当σ>
0时,|z|>
1。
也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。
双线性变换法优缺点:
双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。
这是因为S平面与Z平面是单值的一一对应关系。
S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。
这个关系重写如下:
(3-8)
上式表明,S平面上Ω与Z平面的ω成非线性的正切关系,如图3-2所示。
由图3-2看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;
但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
图3-2双线性变换法的频率变换关系
但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,由于这种频率之间的非线性变换关系,就产生了新的问题。
首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;
其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图3-3所示。
图3-3双线性变换法幅度和相位特性的非线性映射
对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。
也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。
4IIR数字滤波器设计原理与方法
4.1IIR数字滤波器设计原理
利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。
需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。
模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。
对于IIR数字滤波器的设计具体步骤如下:
(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。
(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。
(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。
若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。
在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
IIR数字滤波器是一种离散时间系统,其系统函数为
(4-1)
假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。
IIR数字滤波器的设计实际上是求解滤波器的系数
和
,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。
如果在S平面上去逼近,就得到模拟滤波器;
如果在z平面上去逼近,就得到数字滤波器。
设计高通、带通、带阻等数字滤波器通常可以归纳为如图所示的两种常用方法。
图4-1数字滤波器设计的两种方法
方法1:
首先设计一个模拟原型低通滤波器,然后通过频率变换成所需要的模拟高通、带通或带阻滤波器,最后再使用冲激不变法或双线性变换成相应的数字高通、带通或带阻滤波器。
方法2:
先设计一个模拟原型低通滤波器,然后采用冲激响应不变法或双线性变换法将它转换成数字原型低通滤波器,最后通过频率变换把数字原型低通滤波器变换成所需要的数字高通、带通或带阻滤波器。
方法一的缺点是,由于产生混叠是真,因此不能用冲激不变法来变换成高通或阻带滤波器,故一般采用第二种方法进行设计。
本课程设计先构造一个切比雪夫模拟低通滤波器,然后将模拟低通滤波器转换成模拟带通滤波器,最后利用双线性变换将模拟带通滤波器转换成数字带通滤波器。
4.2IIR数字滤波器设计的基本方法
IIR数字滤波器的设计方法有两类,一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,再用硬件或软件实现;
另一类是直接在频域或时域中进行设计,设计时需要计算机作辅助工具。
随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。
IIR数字滤波器设计的基本步骤如下:
(1)根据任务,确定性能指标。
在设计一个滤波器之前,首先根据工程实际的需要确定滤波器的技术指标如:
边界频率:
ωp,ωs,ωc;
阻带最小衰减As和通带最大衰减Rp;
(2)将数字滤波器的技术指标转换成模拟滤波器指标。
利用冲激响应不变法与双线性变换法进行频率间的转换,主要是边界频率Wp与Ws的转换。
(3)用模拟滤波器设计方法得到模拟滤波器的传输函数Ha(s);
可借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器都有严格的设计公式、现成的曲线和图表供设计人员使用。
(4)映射实现。
利用双线性变换法将模拟滤波器Ha(s)转换成数字滤波器H(z)。
(5)用有限精度算法实现这个系统函数H(z)(包括选择运算结构、选择合适的字长、有效数字处理方法)。
(6)用适当的软、硬件技术实现。
包括采用通用计算机软件、数字滤波器硬件或者软硬件结合,确定DF采用的结构将会影响其精度、稳定性、经济性及运算速度等很多重要性质。
5IIR带通滤波器的MATLAB设计
根据以上IIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一个IIR带通滤波器。
IIR带通滤波器的设计框图如下:
图5-1IIR带通滤波器的设计框图
设计的IIR带通滤波器是从低通变换过来的,利用的是双线性变换以及切比雪夫II滤波器的原型,其具体的设计流程如图所示。
首先根据题目要求确定带通滤波器的技术指标,先要进行频率的预畸变,并且归一化频率,再设计出切比雪夫II模拟低通滤波器,并求出其阶数等相关参数。
其次利用双线性变换法设计数字带通滤波器,,再调用函数进行双线性变换,并求出分子、分母的系数向量。
最后通过画图求出其幅频响应、相频响应、幅度特性曲线与零极点,并画出波形图。
最后进行验证,看所设计的滤波器能否达到要求的指标,若能达到,则说明该滤波器设计符合要求。
图5-2IIR带通滤波器的设计流程
5.1IIR带通滤波器的设计步骤
(1)确定性能指标
在设计带通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:
通带截止频率wp1=0.45