IIR数字滤波器的设计.docx
《IIR数字滤波器的设计.docx》由会员分享,可在线阅读,更多相关《IIR数字滤波器的设计.docx(12页珍藏版)》请在冰豆网上搜索。
IIR数字滤波器的设计
第1章绪论
1.1设计的作用、目的
通过本课程设计使学生进一步稳固数字信号处理的根本概念、理论、分析方法和实现方法;使学生掌握的根本理论和分析方法方面的知识得到进一步扩展;使学生能有效地将理论和实际严密结合;增强学生软件编程实现能力和解决实际问题的能力。
要求学生能够熟练地用Matlab/Simulink等工具编写数字信号处理的应用程序;熟悉用FFT对连续信号和离散信号进展谱分析的理论和方法;编程实现IIR数字滤波器和FIR数字滤波器;了解各种窗函数对滤波器特性的影响等,进一步明确数字信号处理理论的工程应用。
课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。
本次课程设计一方面通过MATLAB仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充。
通过本次课程设计使我们更好地掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程;观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点;熟悉Butterworth滤波器的频率特性。
1.2设计任务及要求
通过课程设计各环节的实践,应使我们到达如下要求:
1.掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的
原理、具体方法及计算机编程
2.观察双线性变换法、脉冲响应不变法及窗函数法设计的滤波器
的频域特性,了解各种方法的特点
3.用MATLAB画出二种方法设计数字滤波器的幅频特性曲线,记
录带宽和衰减量,检查结果是否满足要求。
1.3设计内容
设计内容:
通带截止频率
通带最大衰减
阻带截止频率
,阻带最小衰减
,T=1ms,按照以上技术要求,用脉冲响应不变法和双线性变换法设计巴特沃斯数字低通滤波器,并观察所设计数字滤波器的幅频特性曲线。
第2章IIR数字低通波器的原理
2.1数字低通滤波器的设计原理
所谓数字滤波器,是指输入输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相比照例,或者滤出某些频率成分的数字器件或程序。
常用的数字滤波器一般属于选频滤波器。
幅频特性表示信号通过该滤波器后个频率成分振幅衰减情况,而相频特性反响各频率成分通过通过滤波器后在时间上的延时情况。
因此,即使两个滤波器幅频特性一样,而相频特性不同,对一样的输入,滤波器输出的信号波形也是不一样的。
IIR滤波器和FIR滤波器的设计方法完全不同。
IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进展的。
其设计步骤是:
先设计过度模拟滤波器得到系统函数
,然后将
按某种方法转换成数字滤波器的系统函数
。
这是因为模拟滤器的设计方法已经很成熟,不仅有完整的设计公式,还有完善的图表和曲线供查阅;另外还有一些典型的优良滤波器类型可供我们使用。
直接法直接在频域或者时域中设计数字滤波器,由于要解联立方程方程,设计时需要计算机辅助设计。
按照不同的分类方法,数字滤波器有许多种类,但总起来可以分成两大类:
经典滤波器和现代滤波器。
经典滤波器的特点是其输入信号中有:
〔1〕用的频率成分和希望滤除的频率成分各占又不同的频带,通过一个合;〔2〕适的选频滤波器滤除干扰,得到纯洁信号,到达滤波的目的。
经典数字滤波器从滤波特性上分类,可以分成低通、高通、带通、和带阻等滤波器。
数字滤波器从实现的网络构造或者从单位脉冲响应长度分类,可以分成无限长单位脉冲响应〔IIR〕滤波器和有限长单位脉冲响应〔FIR〕滤波器。
根据滤波器对信号的处理作用又将其分为选频滤波器和其他滤波器。
上述低通、高通、带通和带阻滤波器均属于选频滤波器,其他滤波器有微分器、希尔伯特变换器、频谱校正等滤波器。
按照数字滤波器技术指标要求设计一个过渡模拟低通滤波器
,按照一定的转换关系将
转换成数字低通滤波器的系统函数
。
2.2IIR数字低通滤波器的根本原理
利用模拟滤波器成熟的理论及设计方法来设计IIR数字低通滤波器是常用的方法。
设计过程是:
按照数字滤波器技术指标要求设计一个过度模拟低通滤波器
,在按照一定的转换关系将
转换成数字低通滤波器的系统函数
。
由此可见,设计的关键问题就是找到这种转换关系,将S平面上的
转换成Z平面上的
。
为了保证转换后的
稳定且满足技术指标要求,对转换关系提出两点要求:
〔1〕因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。
我们知道,模拟滤波器因果稳定的条件是其系统函数
的极点全部位于S平面的左半平面;数字滤波器因果稳定的条件是
的极点全部在单位圆内。
因此,转换关系应使S平面的左半平面映射到Z平面的单位圆内部。
〔2〕数字滤波器的频率响应模仿模拟滤波器的频率特性,S平面的虚轴映射为Z平面的单位圆,相应的频率之间呈线性关系。
将系统函数
从S平面转换到Z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。
2.2.1脉冲响应不变法
式中
为
的单极点。
将
进展逆拉氏变换,得到:
式中,
是单位阶跃函数。
对
进展等间隔采样,采样间隔为T,得到:
对上式进展Z变换,得到数字滤波器的系统函数H(z),即
2.2.2双线性变换法
式中,T仍是采样间隔。
当
从
经过
时,
那么由
经过0变化到
,实现了S平面上整个虚轴完全压缩到S1平面上虚轴的
之间的转换。
由式得:
代入
,
,得:
再通过
从S1平面转换到Z平面上,得到:
上式称为双线性变换。
第3章IIR数字滤波器仿真分析
3.1设计步骤
IIR滤波器的MATLAB设计MATLAB是矩阵实验室〔MatrixLaboratory〕之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的根本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完一样的事情简捷得多.在新的版本中也参加了对C,FORTRAN,c++,JAVA的支持.可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进展下载就可以用,非常的方便。
模拟滤波器的理论和设计方法已开展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器各有特点。
用MATLAB进展数字滤波器的设计的步骤如下:
(1)将设计指标归一化处理。
如果采用双线性变换法,还需进展预畸变。
〔2〕根据归一化频率,确定最小阶数N和频率参数Wn。
可供选用的阶数择函数有:
buttord,cheblord,cheb2ord,ellipord等。
〔3〕运用最小阶数N设计模拟低通滤波器原型。
模拟低通滤波器的创立函数有:
buttap,cheblap,cheb2ap,ellipap和besselap,这些函数输出的是零极点式形式,还要用zp2tf函数转换成分子分母多项式形式。
如果想根据最小阶数直接设计模拟低通滤波器原型可用butter,chebyl,cheby2,ellip,bessel等函数,只是注意要将函数中的Wn设为1。
〔1〕根据第2步的频率参数Wn,模拟低通滤波原型转换模拟低通、高通、带通、带阻滤波器,可用函数分别是:
lp21p,lp2hp,lp2bp,lp2bs。
〔2〕运用脉冲响应不变法或双线性变法把模滤波器转数字滤波器,调用的函数是impinvar和bilinear。
脉冲响应不变法适用于采样频率大于4倍截止频率的锐截止低通带通滤波器,而双线性变换法适合于相位特性要求不高的各型滤波器。
〔3〕根据输出的分子分母系数,调用函数buttord计算N和wc,有系数向量可以写出数字滤波器系统函数Z,再用freqz函数验证设计结果。
3.2数字低通滤波器MATLAB编程及幅频特性曲线
3.2.1MATLAB语言编程
(1)双线性变换法
fp=200;
fs=300;
Rp=1;
Rs=25;
T=0.001;
Fs=1000;
Wp=2*pi*fp;
Ws=2*pi*fs;
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');
[b,a]=butter(N,Wn,'s');
[numd,dend]=bilinear(b,a,Fs);
w=linspace(0,pi,1000);
h=freqz(numd,dend,w);
plot(w,20*log10(abs(h)));
axis([0pi-4010]);
grid;
xlabel('\omega/rad');
ylabel('幅度/dB');
title('双线性变换法IIR滤波器幅频特性曲线');
〔2〕脉冲响应不变法
fp=200;
fs=300;
Rp=1;
Rs=25;
T=0.001;
Fs=1000;
Wp=2*pi*fp;
Ws=2*pi*fs;
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');
[b,a]=butter(N,Wn,'s');
[numd,dend]=impinvar(b,a,Fs);
w=linspace(0,pi,1000);
h=freqz(numd,dend,w);
plot(w,20*log10(abs(h)));
axis([0pi-405]);
grid;
xlabel('\omega/rad');
ylabel('幅度/dB');
title('脉冲不变响应法IIR滤波器幅频特性曲线');;
3.2.2幅频特性曲线
图3-1双线性变换法幅频特性
图3-2脉冲响应不变法幅频特性
3.3优缺点
脉冲响应不变法优缺点:
从以上讨论可以看出,脉冲响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率Ω和数字频率ω之间呈线性关系ω=ΩT。
因而,一个线性相位的模拟滤波器〔例如贝塞尔滤波器〕通过脉冲响应不变法得到的仍然是一个线性相位的数字滤波器。
脉冲响应不变法的最大缺点是有频率响应的混叠效应。
所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。
至于高通和带阻滤波器,由于它们在高频局部不衰减,因此将完全混淆在低频响应中。
如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。
当然这样会进一步增加设计复杂性和滤波器的阶数。
双线性变换法优缺点:
双线性变换法与脉冲响应不变法相比,其主要的优点是防止了频率响应的混叠现象。
这是因为S平面与Z平面是单值的一一对应关系。
S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。
双线性变换的这个特点是靠频率的严重非线性关系而得到的,由于这种频率之间的非线性变换关系,就产生了新的问题。
首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数〔这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性〕,不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸变来加以校正。
也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。
第4章总结
通过本次课程设计,我进一步理解了信号系统本门课程是干什么的,用它能解决什么问题。
本门课程从理论上分析数字滤波器的设计和实现方法。
从而使我稳固了数字信号处理的理论分析方法和实现方法,增强了我使用Matlab仿真工具编写数字信号处理的应用程序的能力,熟悉了用FFT对连续信号和离散信号进展频谱分析的理论和方法。
最终在教师的辅导下,编程实现了IIR和FIR数字滤波器的设计。
在此感谢本次课程设计辅导过的教师和帮助过我的同学,使我从本次实验中得到了理论分析与实际解决问题能力的双提高。
为期六天的课程设计完毕了,在这紧X忙碌的六天中,我通过自己的努力,以及教师和同学的帮助,对设计数字滤波器的整个过程有了很好的掌握。
其中对双线性变换法,巴特沃斯设计模拟滤波器的运用,也更加清楚了。
通过对数字带通滤波器的设计,熟悉了MATLAB的运行环境,初步掌握了MATLAB语言在数字信号处理中一些根本库函数的调用和编写根本程序等应用;熟悉了滤波器设计的一般原理,对滤波器有了一个感性的认识;学会了数字高通滤波器设计的一般步骤;加深了对滤波器设计中产生误差的原因以及双线性变换法优缺点的理解和认识。
总之,使理论联系了实际,稳固并深化了对课本根本知识的认识和理解,使理论得以升华。
本设计在对滤波器实际设计中用到了多种设计方法,与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有IIR数字滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进展优化设计。
本设计中利用MATLAB的信号处理工具能够方便快捷地设计和实现各种滤波器,使信号波形更加直观,并且用专门用于滤波器设计来设计IIR数字滤波器,充分利用了MATLAB的交互性好的特点,而且实现信号传输和滤波器的设计,将滤波器的设计置于一个新的平台,这对于研究信号的传输和处理有着极其重要的作用。
在这里我还要特别感谢我的教师和同学们,没有他们的帮助我不可能顺利的完本钱次设计,是他们让我了解到课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。
参考文献
1.丁玉美-?
数字信号处理?
-XX电子科技大学-2008
2.电气与电子实验中心-?
数字信号处理实验指导书?
-XX建筑工程学院-2011
3.管政中-?
信号与现行系统?
-高等教育-2004
4.余小平-?
电子系统设计?
-航空航天大学-2007