武汉理工大学电信学院DSP课设_第1页
武汉理工大学电信学院DSP课设_第2页
武汉理工大学电信学院DSP课设_第3页
武汉理工大学电信学院DSP课设_第4页
武汉理工大学电信学院DSP课设_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

./......课程设计任务书学生__***专业__电信1405指导***工作单位:信息工程学院题目:IIR带通滤波器的设计初始条件:具备数字信号处理的理论知识;具备Matlab编程能力;熟悉低通滤波器的设计原理;提供编程所需要的计算机一台要求完成的主要任务:〔包括课程设计工作量与其技术要求,以与说明书撰写等具体要求〕1、设计中心频率为500Hz,带宽为400Hz的IIR数字带通滤波器;2、独立编写程序实现;3、完成符合学校要求的设计说明书;时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任〔或责任教师〕签名:年月日目录摘要I1数字滤波器简介11.1数字滤波器的分类11.2数字滤波器的设计方法概述12MATLAB简介32.1MATLAB简介32.2MATLAB主要功能32.3MATLAB的典型应用53设计原理53.1数字滤波器工作原理53.2IIR滤波器设计64实验源程序与其运行结果84.1实验MATLAB程序84.2运行结果94.3分析总结105心得体会。11参考文献12.摘要随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。DSP技术就是基于VLSI技术和计算机技术发展起来的一门重要技术,DSP技术已在通信、控制信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在数字信号处理中数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。数字滤波与模拟滤波相比数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件<计算机程序>或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时信号。尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展与计算机的更新普与,数字滤波器有着很好的发展前景,在各个领域中越用越广泛。关键字:带通滤波器,数字滤波器,数字信号处理.1数字滤波器简介1.1数字滤波器的分类数字滤波器按照不同的分类方法,有许多分类,但总体上可以分为两大类,一类称为经典滤波器,即一般滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到想要的信号。例如,当输入信号中含有干扰信号时,如果信号和干扰的频带互不重叠,即可滤除干扰得到想要的信号。但对于一般滤波器,如果信号和干扰的频带互相重叠,则不能完成对干扰的有效滤除,这时需要另一种所谓的现代滤波器,这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳的提取信号。从功能上分类,一般数字滤波器可以分为低通、高通、带通、带阻和全通滤波器,此种分类和模拟滤波器是一样的。另外,数字滤波器从实现的网络结构和单位冲激响应分类,可以分为无限长单位冲击响应滤波器<IIR>和有限长单位冲激响应滤波器<FIR>,它们的系统函数分别表示如下:H<z>=,H<z>=而本次课程设计就是要求设计一个带通IIR数字滤波器。1.2数字滤波器的设计方法概述实际中的数字滤波器设计都是用有限精度算法实现的线性非移变系统,一般的设计内容和步骤包括:<1>根据实际需要确定数字滤波器的技术指标。例如滤波器的频率响应的幅度响应和截止频率等等。<2>用一个因果稳定的离散线性非移变系统的系统函数去逼近这些性能指标。集体来说,就是用这些指标来计算系统函数H<z>。<3>利用有限精度算法来实现这个系统函数。这里包括选择运算结构、进行误差分析和选择合适的字长等。<4>实际的数字滤波器实现技术,包括采用通用的计算机软件和专用的数字滤波器硬件来实现,或者采用通用或专用的数字信号处理器来实现。而IIR滤波器设计的方法有两类,经常采用的第一类设计方法是借用于模拟滤波器设计方法来进行的。其设计的步骤是:先设计模拟原型滤波器,得到其传输函数,然后将按某种方法转换成数字滤波器的系统函数H<z>,这一类相对来说容易一些。另一类设计方法是直接在频域或者时域中进行设计,这个需要借助于计算机做一些辅助设计。2MATLAB简介2.1MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以与数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂〔矩阵实验室〕。是由美国mathworks公司发布的主要面对科学计算、可视化以与交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以与非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以与必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言〔如C、Fortran〕的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。2.2MATLAB主要功能<1>强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程与偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以与建模动态仿真等。<2>出色的图形处理功能图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能〔例如二维曲线和三维曲面的绘制和处理等〕方面更加完善,而且对于一些其他软件所没有的功能〔例如图形的光照处理、色度处理以与四维数据的表现等〕,MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面〔GUI〕的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。<3>应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型与半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱〔Toolbox〕家族中有了自己的一席之地。<4>实用的程序接口和发布平台新版本的MATLAB可以利用MATLAB编译器和C/C++数学库以与图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++的代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。<5>应用软件开发〔包括用户界面〕在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。2.3MATLAB的典型应用MATLAB的应用领域十分广阔,典型的应用举例如下:<1>数据分析<2>数值与符号计算;<3>工程与科学绘图;<4>控制系统设计;<5>航天工业;<6>汽车工业;<7>生物医学工程;<8>语音处理;<9>图像与数字信号处理;<10>财务、金融分析;<11>建模、仿真与样机开发;<12>新算法研究开发;<13>图形用户界面设计。3设计原理3.1数字滤波器工作原理在数字滤波中,我们主要讨论离散时间序列。如图3.1所示。设输入序列为x<n>,离散或数字滤波器对单位抽样序列的响应为h<n>。因在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。数字滤波器数字滤波器,H<z>图3.1数字滤波器原理数字滤波器的序列将是这两个序列的离散卷积,即。同样,两个序列卷积的z变换等于个自z变换的乘积,即,用代入上式,其中T为抽样周期,则得到,式中和分别为数字滤波器输入序列和输出序列的频谱,而为单位抽样序列响应的频谱。由此可见,输入序列的频谱经过滤波后,变为,按照的特点和我们处理信号的目的,选取适当的使的滤波后的符合我们的要求。本次设计的是带通数字滤波器,则其频谱特性如下图3.2所示:|H<e|H<ejω>|ω2-ω2-ππ-2π2πω1-ω1图3.2带通数字滤波器的频谱3.2IIR滤波器设计冲激响应不变法的设计原理是利用数字滤波器的单位抽样响应序列H<z>来逼近模拟滤波器的冲激响应g<t>。按照冲激响应不变法的原理,通过模拟滤波器的系统传递函数G<s>,可以直接求得数字滤波器的系统函数H<z>,其转换步骤如下:1>利用ω=ΩT<可由关系式推导出>,将,转换成,,而,不变;2>求解低通模拟滤波器的传递函数G<s>;3>将模拟滤波器的传递函数G<s>转换为数字滤波器的传递函数H<z>。尽管通过冲激响应不变法求取数字滤波器的系统传递函数比较方便,并具有良好的时域逼近特性,但若G<s>不是带限的,或是抽样频率不高,那么在中将发生混叠失真,数字滤波器的频率响应不能重现模拟滤波器的频率响应。只有当模拟滤波器的频率响应在超过折叠频率后的衰减很大时,混叠失真才很小,此时采样脉冲响应不变法设计的数字滤波器才能满足设计的要求,这是冲激响应不变法的一个严重的缺点。由于的频率映射关系是根据推导的,所以使jΩ轴每隔,便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证:<1>s平面的整个jΩ轴仅映射为z平面单位圆上的一周;<2>若G<s>是稳定的,由G<s>映射得到的H<z>也应该是稳定的;<3>这种映射是可逆的,既能由G<s>得到H<z>,也能由H得到G<s>;<4>如果,那么。双线性Z变换满足以上4个条件的映射关系,其变换公式为,双线性Z变换的基本思路是:首先将整个s平面压缩到一条从–π/Ts到π/Ts的带宽为2π/Ts的横带里,然后通过标准的变换关系将横带变换成整个z平面上去,这样就得到s平面与z平面间的一一对应的单值关系。在MATLAB中,双线性Z变换可以通过bilinear函数实现,其调用格式为:[Bz,Az]=bilinear<B,A,Fs>;其中B,A为模拟滤波器传递函数G<s>的分子分母多项式的系数向量,而Bz,Az为数字滤波器的传递函数H<z>的分子分母多项式的系数向量。IIR数字滤波器经典设计法的一般步骤是:<1>根据给定的性能指标和方法不同,首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计性能指标。<2>估计模拟低通滤波器最小阶数和边界频率,利用MATLAB工具函数buttord、cheb1ord等。<3>设计模拟低通滤波器原型,利用MATLAB工具函数buttap、cheb1ap等。<4>由模拟低通原型经频率变换获得模拟滤波器〔低通、高通、带通、带阻〕,利用MATLAB工具函数lp2lp、lp2hp、lp2bp、lp2bs。<5>将模拟滤波器离散化获得IIR数字滤波器,利用MATLAB工具函数bilinear。设计IIR滤波器时,给出的性能指标通常分为数字指标和模拟指标两种。数字性能指标给出通带截止频率,阻带截止频率,通带衰减,阻带衰减等。数字频率和的取值X围为0~π,单位:弧度,而MATLAB工具函数常采用标准化频率,和的取值X围为0~1。MATLAB使用[n,Wn]=buttword<Wp,Ws,Rp,Rs>;[n,Wn]=buttword<Wp,Ws,Rp,Rs,’s’>,来计算滤波器所需的最小阶数。参数如下:<频率单位为rad/s>Wp:通带截至频率,Ws:阻带截至频率,rp:通带允许的最大衰减,rs:阻带应达到的最小衰减,N:滤波器所需最小阶数,Wn:滤波器的截至频率〔3DB带宽截至频率〕,对模拟滤波器阶数计算必须指定s,数字滤波器无需指定。在确定了模拟滤波器的阶数后,就进行模拟低通滤波器的原型设计。函数BUTTER用于Butterworth滤波器设计,调用格式:[b,a]=butter<n,,’s’>[b,a]=butter<n,,’ftype’,’s’>其中,n为滤波器阶数;为滤波器截止频率,‘s’为模拟滤波器,缺省时为数字滤波器。‘ftype’滤波器类型:‘high’为高通滤波器,截止频率;‘stop’为带阻滤波器,=〔〕;‘ftype’缺省时为低通或带通滤波器。4实验源程序与其运行结果4.1实验MATLAB程序本次课程设计主要是要求设计一个中心频率为500Hz,带宽为400Hz的IIR数字带通滤波器,那么根据之前的设计原理与其设计步骤主要有两种方法如下:一种是巴特沃斯带通滤波器,一种是切比雪夫滤波器,可得以下MATLAB的程序语句,其具体依次如下:巴特沃斯滤波器:fs=2000;%抽样频率为2000HZwp=[300700]*2/fs;ws=[250750]*2/fs;%设置通带为400HZ,中心频率为500HZrp=3;rs=40;%通带衰减3dB,阻带衰减为40dB[N,Wn]=buttord<wp,ws,rp,rs>;%性能指标得到模拟巴特沃斯滤波器的最小阶数8[b,a]=butter<N,Wn,'bandpass'>;%得到数字滤波器[H,w]=freqz<b,a>;%离散系统频响特性的函数freqz<>,默认频率等分点为512个subplot<2,1,1>plot<w*fs/<2*pi>,abs<H>>;gridon;%H是一个虚数。幅频响应xlabel<'频率/HZ'>;ylabel<'幅度/DB'>;title<'IIR带通滤波器'>;subplot<2,1,2>plot<w*fs/<2*pi>,angle<H>>;gridon;%相频响应xlabel<'频率/HZ'>;ylabel<'相位/度'>;gridon;4.2运行结果通过在MATLAB软件中运行上面的语句,可得如下的幅频和相频图:图4.1巴特沃斯带通滤波器幅频和相频响应4.3分析总结通过运行MATLAB,得出图4.1的图形,在某种程度上已经说明完成了本次课程设计的基本要求,设计要求中提到中心频率为500HZ,带宽为400HZ。考虑到实际过程中带通滤波器有一定的线性失真,在300HZ--700HZ的通带左右各设置了50HZ的过渡带,图形中也比较明确的说明了这一点,所以总体上来说,本次课程设计基本上达到了要求,比较成功。巴特沃斯滤波器的频率特性无论在通带与阻带都随频率而单调变化,因而如果在通带边缘满足指标,则在通带内肯定会有富裕,也就是会超过指标的要求,因而并不经济5心得体会。这次课程设计主要的一点是时间有些仓促,主要是是在元旦放假之后就马上搞这个,觉得有些赶。当然,在这次课程设计中,也遇到了蛮多的问题。主要有以下几点:对课本知识了解的不是很透彻,也是这时本次课程设计中最重要的一点,也是我们关注最多的一点。因为我们要设计的题目的原理就在书上,这次课程设计就是一次书上知识的大综合。它在某种程度上也反映了我们对书上知识的了解程度以与对知识的运用能力,而且还锻炼了我们的动手能力和发现并解决问题的能力。幸运的是这次课程设计不需要我们像模电和数电一样,焊制实物电路板,只是要求我们能够用matlab软件运行一下,得出其结果图就行了。但是在平时的学习中并没接触到这个软件,这就有待我们好好的重头开始学习它了。设计说明书的书写格式显得尤为重要。由于不同的老师对课程设计说明书的要求都不大一样,有的要求很严格,哪怕出一点小问题都要被退回来;而有的比较松一点,没有过分计较。这次老师没给X文,只对部分要注意的地方强调了一下。而我们显然做得不太尽人意。不过,始终相信一句话:"一个耕耘,一分收获。"在这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论