《数字滤波器的设计学士学位毕业(设计)论文.doc》由会员分享,可在线阅读,更多相关《数字滤波器的设计学士学位毕业(设计)论文.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、长 治 学 院2013届学士学位毕业论文数字滤波器的设计学 号: 09407232 姓 名: 杨 婕 指导教师: 上官晋太 专 业: 计算机科学与技术 系 别: 计算机系 完成时间:2013年5月长治学院学士学位论文(设计)数字滤波器的设计专业:计算机科学与技术 姓名:杨 婕 学号:09407232指导教师:上官晋太摘 要:现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是用滤波器进行,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响
2、应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。本文首先介绍了数字滤波器的概念,分类以及设计要求,接着利用Matlab函数语言编程来设计滤波器,重点设计切比雪夫I型和切比雪夫II型数字低通滤波器,并介绍最优化设计。关键词:数字滤波器
3、;IIR滤波器;Matlab I目 录1 引言12 IIR滤波器的设计12.1 IIR滤波器介绍12.2 IIR数字滤波器设计步骤22.3 用脉冲响应不变法设计IIR数字滤波器32.3.1 设计原理32.3.2 脉冲响应不变法的优缺点42.4 双线性变换法设计IIR数字滤波器52.4.1 设计原理52.4.2双线变换法优缺点73 滤波器的Matlab设计73.1 Matlab概述73.1.1 Matlab语言介绍73.1.2 Matlab的语言特点83.1.3 Matlab的功能83.2 IIR数字滤波器的典型设计法103.3 IIR数字滤波器的直接设计法134 结论16参考文献18致 谢20
4、附录21数字滤波器的设计1 引言滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。可以通过基本的滤波器-二阶通用滤波器传递函数,推导出最通用的滤波器类型:低通、带通、高通、帯阻和椭圆型滤波器。数字滤波器是数字信号处理的关键部分之一,它是语音处理、图像处理、软件无线电等应用中最基本的组成部分。与模拟滤波器相比,数字滤波器不用考虑器件的噪声、电压漂移、温度漂移等问题,可以容易的实现不同幅度和相位频率等特性指标,且精度可很高,易集成等。这些决定了数字滤波器应用越来越广泛。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应
5、(FIR)数字滤波器。实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。本论文主要研究IIR数字滤波器的设计。首先介绍了数字滤波器的概念,分类以及设计要求,接着利用MATLAB函数语言编程来设计滤波器,重点设计Chebyshev I型和Chebyshev II型数字低通滤波器,并介绍最优化设计。2 IIR滤波器的设计2.1 IIR滤波器介绍IIR数字滤波器是一种离散时间系统,其系统函数
6、为 (2-1)假设MN,当MN时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数ak和bk,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。2.2 IIR数字滤波器设计步骤IIR数字滤波器的设计一般有两种方法:一个是利用模拟滤波器的设计方法进行。其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。这种方法比较容易一些,因为模拟滤波器研究较早,理论已经十分成熟。有许多简单而严谨的设计公式和大量的图
7、表可利用,把这些成熟的技术继承下来,用以解决数字滤波器的设计问题十分方便。另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将按某种方法转换成数字滤波器的系统函数。利用模拟滤波器成熟的理论设计IIR数字滤波器的过程是:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减、阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器。(4)用所选的转换方法,将模拟滤波器转换成数字低通滤波器系统函数。IIR数字滤
8、波器的设计流程图如下:数字滤波器技术指标 模拟滤波器 技术指标 数字滤波器 模拟滤波器 模拟滤波器设计方法变换变换图1 IIR数字滤波器的设计步骤流程图在利用模拟滤波器的方法进行设计时有两种常用的方法:从时域的角度出发进行映射,称为脉冲响应不变法;从频域角度出发进行映射,称为双线性变换法。2.3 用脉冲响应不变法设计IIR数字滤波器 2.3.1 设计原理脉冲响应不变法是从滤波器的脉冲响应出发,使得的数字滤波器的时域响应与模拟滤波器的一致。使数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,一个线性相位的模拟滤波器通过脉冲响应不变法得到的仍是一个线性相位的数字滤波器。
9、应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha(t)的采样值,满足h(n)=ha(nT) 式,T是采样周期。如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的Z变换,利用采样序列的Z变换与模拟信号的拉普拉斯变换的关系得 (2-2)则可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。图2 脉冲响应不变法的映射关系由(2-2)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为 (2-3) 这就是说,数字滤波器的频率响应是模拟滤波器频率响应
10、的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即 (2-4)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即 , (2-5)但任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真。这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。图3脉冲响应不变法中的频响混叠现象对某一模拟滤波器的单位冲激响
11、应ha(t)进行采样,采样频率为fs,若使fs增加,即令采样时间间隔(T=1/fs)减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。2.3.2 脉冲响应不变法的优缺点从以上讨论可以看出,脉冲响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率和数字频率之间呈线性关系=T。因而,一个线性相位的模拟滤波器(例如贝塞尔滤波器)通过脉冲响应不变法得到的仍然是一个线性相位的数字滤波器。脉冲响应不变法的最大缺点是有频率响应的混叠效应。所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高
12、频衰减越快,混叠效应越小。至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。当然这样会进一步增加设计复杂性和滤波器的阶数。2.4 双线性变换法设计IIR数字滤波器2.4.1 设计原理脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T之间,再用z=esT转换到Z平面上。也就是说,第一步
13、先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系z=esT将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图4 所示。图4双线性变换的映射关系为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下的正切变换实现 (2-6)式中,T仍是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式(2-6)写成 (2-7)将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得 (2-8)再将S1平面通过以下标准变换关系映射到
14、Z平面 (2-9)从而得到S平面和Z平面的单值映射关系为: (2-10) (2-11)式(2-10)与式(2-11)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(2-6)与式(2-10)的双线性变换符合映射变换应满足的两点要求。首先,把z=ej,可得 (2-12)即S平面的虚轴映射到Z平面的单位圆。其次,将s=+j代入式(2-12),得 (2-13)因此 (2-14)由此看出,当0时,|z|0时,|z|1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器
15、经双线性变换后所得的数字滤波器也一定是稳定的。2.4.2双线变换法优缺点双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个j轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式(2-10)所示,重写如下: (2-15)上式表明,S平面上与Z平面的成非线性的正切关系,如图4所示。由图4看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率
16、混叠现象。3 滤波器的Matlab设计3.1 Matlab概述3.1.1 Matlab语言介绍Matlab是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。Matlab拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充Matlab的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.所有Matlab主包文件和各种工具包都是可读可修改的文件
17、,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.3.1.2 Matlab的语言特点被称作为第四代计算机语言的Matlab,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。Matlab最突出的特点就是简洁。Matlab用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下Matlab的主要特点:a.语言简洁紧凑,使用方便灵活,库函数极其丰富。b.运算符丰富。c. MatlabB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特
18、性。d.程序限制不严格,程序设计自由度大。e.程序的可移植性很好。f. Matlab的图形功能强大。g. Matlab的缺点是,它和其他高级程序相比,程序的执行速度较慢。h.功能强大的工具箱是Matlab的另一特色。j.源程序的开放性。3.1.3 Matlab的功能Matlab包含的内容非常丰富,功能强大,可以概括为以下几个方面:a.可以在多种操作系统下运行,如DOS、Windows 95/98/2000/2000/NT、Compaq Alpha、LinuxSun Solaris等。b.有超过500种的数学、统计、科学及工程方面的函数,使用简单快捷,并且有很强的用户自定义函数的能力。c. 有强
19、大的图形绘制和可视化功能,可以进行视觉数据处理和分析,进行图形、图像的显示及编辑,能够绘制二维、三维图形,使用户可以制作高质量的图形,从而写出图文并茂的文章。d. 有和用其他高级语言(如C,C+,FORTRAN,JAVA)编写的外部程序相接口的能力,也可把Matlab程序转换成上述高级语言的子程序。e. 有从外部文件及外部硬件设备读入数据的能力。f .有丰富的网络资源,从相关的Web网站可以直接获得全套的Matlab联机帮助文件和说明书的电子文档,还可以获得各类技术支持与帮助。g. 有丰富的工具箱toolbox。各个领域的专家学者将众多学科领域中常用的算法编写为一个个子程序,即m文件,这些m文
20、件包含在一个个工具箱中。其工具箱可以分为两大类,即功能性工具箱和科学性工具箱。功能性工具箱主要用来扩充Matlab的符号计算、图形可视化、建模仿真、文字处理等功能以及与硬件实时交互的功能。学科性工具箱是按学科领域来分类的,如信号处理、控制、通信、神经网络图像处理、系统辨识、鲁棒控制、模糊逻辑、小波等工具箱。Matlab中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用的算法,如FFT,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可调用。数字信号处理常用的函数有波形的产生、滤波器的分析和设计、傅里叶变换、Z变换等,如:波形产生:sawtooth(锯齿波或三角波)Diric(D
21、irichlet或周期sinc函数)rand(白噪声信号波形)square(方波)sinc(sinc或 函数)chirp(chirp信号波形)滤波器的分析:abs(求幅值)angle(求相角)conv(求卷积)freqz(数字滤波器频率响应)impz(数字滤波器的冲击响应)FIR滤波器设计:triang(三角窗)blackman(布莱克曼窗)boxcar(矩形窗)hamming(海明窗)hanning(汉宁窗)kaiser(凯塞窗)fir1(基于窗函数法)fir2(基于频率抽样法)firrcos(上升余弦FIR滤波器设计法)intfilt(内插FIR滤波器设计法)kaiserord(用Kais
22、er窗设计FIR滤波器的参数估计)各种变换:czt(线性调频Z变换)dct(离散余弦变换)fft(一维快速傅里叶变换)fft2(二维快速傅里叶变换)idct(逆离散余弦变换)ifft(一维逆快速傅里叶变换)ifft2(二维逆快速傅里叶变换)hilbert(Hilbert变换)可以看出Matlab是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,Matlab还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。用户可以根据自己的工作任务,开发自己的工具箱。在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。在许
23、多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到Matlab的应用。 在设计研究单和工业部门,Matlab被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在Matlab之上,或者以Matlab为主要支撑。 3.2 IIR数字滤波器的典型设计法设计巴特沃斯数字低通滤波器和椭圆数字低通滤波器,要求通带边界频fp=2.1kHZ,通带最大衰减Rp=0.5dB;阻带边界频率fs=8kHZ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ。低通巴特沃斯滤波
24、器设计步骤如下:(1)确定阶数N。 取N=4(2)求极点, 归一化低通原型系统函数为由N=4直接查表得到:极点: 归一化低通滤波器系统函数为式中,0.0000,0.0999,0.1914,0.0252(3)将去归一化最终得到通过计算可以总结出过程太麻烦,而且容易出错,结果不直观。下面用M程序设计来实现用脉冲响应不变法设计的巴特沃斯数字低通滤波器的M程序(见附录代码1),运行后的波形如下:图5 典型滤波器在Matlab上运行波形运行结果:N =4bz = 0.0000 0.0999 0.1914 0.0252az= 1.0000 -1.4336 1.0984 -0.4115 0.0627可以得出
25、:只需编程,结果非常直观。双线性变换法设计步骤如下:(1)首先写出该滤波器的系统函数(2)利用双线性变换法转换,数字滤波器的系统函数为 用双线性变换法设计椭圆数字低通滤波器的M程序(见附录代码2): 图6 双线性变换法设计的椭圆数字低通滤波器运行波形运行结果:N=2bz= 0.1213 0.1662 0.1213az= 1.0000 -0.9889 0.42183.3 IIR数字滤波器的直接设计法 除了典型设计以外,Matlab信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。主要有以下几种方法:1.零极点累试法这种方法也称为零极点
26、累试法。在确定零极点位置时要注意:(1)极点必须位于z平面单位圆内,保证数字滤波器因果稳定;(2)复数零极点必须共轭成对,保证系统函数有理式的系数是实的。2.在频域利用幅度平方误差最小法直接设计IIR数字滤波器3.在时域直接设计IIR数字滤波器设计巴特沃斯滤波器用函数butter(),可以设计低通、高通、带通和带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。设计切比雪夫I型滤波器用函数chebyl()。可以设计低通、高通、带通和带阻的数字和模拟切比雪夫I型滤波器,其通带内为等波纹,阻带内为单调。切比雪夫 I型滤波器的下降斜度比II型大,但其代价目是
27、通带内波纹较大。设计切比雪夫 II型滤波器用函数cheby2()。可以设计低通、高通、带通和带阻的数字和模拟切比雪夫 II型滤波器,其通带内为单调,阻带内等波纹。切比雪夫 II型滤波器的下降斜度比I型小,但其阻带内波纹较大。设计椭圆滤波器用函数ellip(),与chebyl, cheby2类似,可以设计低通、高通、带通和带阻的数字和模拟滤波器。与巴特沃斯和切比雪夫滤波器相比,ellip函数可以得到下降斜度更大的滤波器,得通带和阻带均为等波纹。一般情况下,椭圆滤波器能以最低的阶实现指定的性能指标。在使用各类滤波器函数时应当注意以下重点:(1)阶数和固有频率的选择:N,Wn=buttord(Wp,
28、Ws,Rp,Rs)可得到符合要求性质的滤波器的最小阶数N以及数字Butterworth滤波器的固有频率Wn(即3dB )。设计的要求是在通带内的衰减不超过Rp,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp, Ws,它们是归一化的频率,范围是0, 1,对应弧度。(2)有关滤波器设计当中的频率归一化问题:信号处理工具箱中经常使用的频率是Nyquist频率,它被定义为采样频率的一半,在滤波器的阶数选择和设计中的截止频率均使用Nyquist频率进行归一化处理。例如对于一个采样频率为1000 Hz的系统,400Hz的归一化即为400/500=0.8。归一化频率的范围在0, 1之间。如果要将归
29、一化频率转换为角频率,则将归一化频率乘以;如果要将归一化频率转换为Hz,则将归一化频率乘以采样频率的一半。(3)设计一个N阶的低通巴特沃斯滤波器使用函数B,A=butter(N, Wn),返回滤波器系数矩阵B,A。其中固有频率Wn必须是归一化频率。它的最大值是采样频率的一半。Fs缺省时默认为2Hz。如果Wn=Wl,W2是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器,通带为W1,W2。设计切比雪夫I型和切比雪夫II型数字低通滤波器,要求通带边界频率fp=2.1kHZ,通带最大衰减Rp=0.5dB;阻带边界频率fs=8kHZ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ。切比雪
30、夫I型的M程序(见附录代码3):运行后的波形如下:图7切比雪夫I型运行波形运行结果:N=2b= 0.1007 0.2014 0.1007a= 1.0000 -0.9872 0.4140切比雪夫II型M程序(见附录代码4):运行后的波形:图8切比雪夫II型运行波形运行结果:N=2b= 0.2357 0.4241 0.2357a= 1.0000 -0.2996 0.1950从频率响应图中可以看出:巴特沃斯滤波器具有最大化的平坦幅度响应,单调下降的幅频特性,通带内平滑;切比雪夫I型滤波器的幅频特性在通带内有波动,阻带内单调; 切比雪夫 II型滤波器的幅频特性在阻带内有波动,通带内单调;椭圆滤波器的选
31、择性相对前三种是最好的,下降斜度比较大,通带和阻带内均为等波纹,同样的性能指标,椭圆滤波器可以最低的阶数来实现。这样根据不同的要求可以选用不同类波器。 4 结论滤波是信号处理的基础,滤波运算时心里好处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一。信号带有噪声或无用信号,滤波器的作用是将这些干扰成分滤除,也就是让特定频段的信号通过达到对信号筛选的效果。 在设计中,脉冲响应不变法中相位响应有严格的线性,不存在稳定性的问题,设计简单。缺点是存在混叠失真。双线性变换不会出现混叠失真,但会产生频率的畸变,使数字滤波器的频率响应偏移模拟滤波器的频率响应。Matlab信号处理工具箱提
32、供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,简单方便。采用Matlab设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设和实现开辟了广阔的天地,尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。Matlab 信号处理工具箱为滤波器设计及分析提供了非常优秀的辅助设计工具, 在设计数字滤波器时, 善于应用Matlab进行辅助设计, 能够大大提高设计效率。参考文献1 倪养华.数字信号处理与实现M.上海:上海交通大学出版社,1998.2
33、 楼顺天,李博苗.基于MATLAB的系统分析与设计一信号处理M.西安:西安电子科技大学出版社,1998.3 张葛祥,李娜.MATLAB仿真技术与应用M .北京:清华大学出版社,2003.4 胡广书,数字信号处理、理论、算法与实现M.北京:清华大学出版社,1997.5 陈希林,肖明清.一种LabWindows/CVI与MATLAB混合编程的实现方法J.微计算机信息,2005:102-156.6 刘波.MATLAB信号处理M.北京:电子工业出版社,2006. 7 施阳等.MATLAB语言工具箱M.西安:西北工业大学出版社,1999.8 程佩清.数字信号处理教程(第三版)M.北京:清华大学出版社,2
34、010.9 奥本海默.数字信号处理、理论、算法与实现M.北京:清华大学出版社,1980.10 王世一.数字信号处理M.北京:北京理工大学出版社,2005.The design of digital filterMagor: Computer science and technology Name: Yang Jie Student ID: 09407232 Supervisor: Shangguan JintaiAbstract: In modern communication systems, Because often mixed with various signal complex c
35、omponents, So many signal analysis is carried out using filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, dont exist, can realize the impedance matching simulating the special filter cannot achieve filter
36、 function. Digital filter according to its impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high eff
37、iciency less storage unit, high precision, and can keep some simulation characteristics of filter, so it is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactive environment for digital filter, and the resear
38、ch and application of provides an intuitive, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and de
39、sign requirements. Then using MATLAB language programming to design IIR digital filter. Key design Chebyshev type I and II digital Chebyshev lowpass filter, and introduces optimization design.Keywords: Digital Filter ; IIR Digital Filter; Matlab21致 谢经过一个月最终将这篇论文完成,在写论文的过程中遇到了无数的困难和障碍,在指导老师和同学的帮助下均解决
40、了。上官老师从一开始的论文方向的选定,到最后的整篇文论的完成,都非常耐心的对我进行指导。给我提供了大量数据资料和建议,告诉我应该注意的细节问题,细心的给我指出错误。他对信息技术领域的专业研究和对该课题深刻的见解,使我受益匪浅。其严肃认真的治学风格给我留下深刻的影响,值得我永远学习。在此,谨向导师上官老师致以崇高的敬意和衷心的感谢! 还要感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中在论文的撰写和排版灯过程中提供热情的帮助。我所写论文还有有不足之处,恳请各位老师和学友批评和指
41、正!附录代码1fp=2100;fs=8000;Fs=20000;Rp=0.5;Rs=30;T=1/Fs; %设计指标W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率N,Wn=buttord(W1p,W1s,Rp,Rs,s);%确定butterworth的最小介数N和频率参数Wnz,p,k=buttap(N); %设计模拟低通原型的零极点增益参数bp,ap=zp2tf(z,p,k); %将零极点增益转换成分子分母参数bs,as=lp2lp(bp,ap,Wn*pi*Fs);%将低通原型转换为模拟低通bz,az=impinvar(bs,as,Fs); %用脉冲响应不变法进行模数变换 s
42、ys=tf(bz,az,T); %给出传输函数H(Z)H,W=freqz(bz,az,512,Fs); %生成频率响应参数subplot(2,1,1);plot(W,20*log10(abs(H); %绘制幅频响应grid on; %加坐标网格xlabel(频率/Hz); ylabel(振幅/dB);subplot(2,1,2); plot(W,abs(H); grid on; xlabel(频率/Hz); ylabel(振幅/H);代码2fs=20000; wp=2*pi*2100/fs; ws=2*pi*8000/fs; Rp=0.5; Rs=30; Ts=1/fs; Wp=2/Ts*ta
43、n(wp/2);Ws=2/Ts*tan(ws/2); %按频率转换公式进行转换 N,Wn=ellipord(Wp,Ws,Rp,Rs,s); %计算模拟滤波器的最小阶数 z,p,k=ellipap(N,Rp,Rs);%设计模拟原型滤波器 Bap,Aap=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式 b,a=lp2lp(Bap,Aap,Wn); %低通转换为低通滤波器的频率转化 bz,az=bilinear(b,a,fs); %运用双线性变换法得到数字滤波器传递函数 H,f=freqz(bz,az,512,fs); subplot(2,1,1);plot(f,20*log10(abs(H); title(N=2 频率响应); grid on; xlabel(频率/Hz); ylabel(振幅/dB); subplot(2,1,2); plot(f,abs(H); grid on; xlabel(频率/Hz); ylabel(振幅/H);代码3Fs=20000; %抽样频率20KHzFlp=2100; Fls=8000;Wp=2*Flp/Fs; %归一化的通带截止频率Ws=2*Fls/Fs; %归一化的阻带截止频率Rp=0.5; %通带最大衰减(单位:dB)Rs=30; %阻带最小衰减(单位:dB)N,Wn=cheb1ord(
限制150内