武汉理工大学电信学院DSP课设

  • 格式:doc
  • 大小:204.00 KB
  • 文档页数:17

课程设计任务书学生姓名:*** 专业班级:电信1405指导教师:*** 工作单位:信息工程学院题目:IIR带通滤波器的设计初始条件:具备数字信号处理的理论知识;具备Matlab编程能力;熟悉低通滤波器的设计原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计中心频率为500Hz,带宽为400Hz的IIR数字带通滤波器;2、独立编写程序实现;3、完成符合学校要求的设计说明书;时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)1数字滤波器简介 (1)1.1数字滤波器的分类 (1)1.2数字滤波器的设计方法概述 (1)2 MATLAB简介 (3)2.1MATLAB简介 (3)2.2MATLAB主要功能 (3)2.3MATLAB的典型应用 (5)3 设计原理 (5)3.1数字滤波器工作原理 (5)3.2IIR滤波器设计 (6)4实验源程序及其运行结果 (8)4.1实验MATLAB程序 (9)4.2运行结果 (9)4.3分析总结 (10)5心得体会。

(11)参考文献 (12)摘要随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。

DSP 技术就是基于VLSI技术和计算机技术发展起来的一门重要技术,DSP 技术已在通信、控制信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在数字信号处理中数字滤波占有极其重要的地位。

数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。

数字滤波与模拟滤波相比数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时信号。

尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展及计算机的更新普及,数字滤波器有着很好的发展前景,在各个领域中越用越广泛。

关键字:带通滤波器,数字滤波器,数字信号处理1数字滤波器简介1.1数字滤波器的分类数字滤波器按照不同的分类方法,有许多分类,但总体上可以分为两大类,一类称为经典滤波器,即一般滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到想要的信号。

例如,当输入信号中含有干扰信号时,如果信号和干扰的频带互不重叠,即可滤除干扰得到想要的信号。

但对于一般滤波器,如果信号和干扰的频带互相重叠,则 不能完成对干扰的有效滤除,这时需要另一种所谓的现代滤波器,这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳的提取信号。

从功能上分类,一般数字滤波器可以分为低通、高通、带通、带阻和全通滤波器,此种分类和模拟滤波器是一样的。

另外,数字滤波器从实现的网络结构和单位冲激响应分类,可以分为无限长单位冲击响应滤波器(IIR)和有限长单位冲激响应滤波器(FIR),它们的系统函数分别表示如下: H(z)= ∑∑=-=--=Nk k M k k k z a z b z X z Y 1k 01)()(,H(z)=∑-=-10)(N k k z k h 而本次课程设计就是要求设计一个带通IIR 数字滤波器。

1.2数字滤波器的设计方法概述实际中的数字滤波器设计都是用有限精度算法实现的线性非移变系统,一般的设计内容和步骤包括:(1)根据实际需要确定数字滤波器的技术指标。

例如滤波器的频率响应的幅度响应和截止频率等等。

(2)用一个因果稳定的离散线性非移变系统的系统函数去逼近这些性能指标。

集体来说,就是用这些指标来计算系统函数H(z)。

(3)利用有限精度算法来实现这个系统函数。

这里包括选择运算结构、进行误差分析和选择合适的字长等。

(4)实际的数字滤波器实现技术,包括采用通用的计算机软件和专用的数字滤波器硬件来实现,或者采用通用或专用的数字信号处理器来实现。

而IIR滤波器设计的方法有两类,经常采用的第一类设计方法是借用于模拟滤波器设计方法来进行的。

其设计的步骤是:先设计模拟原型滤波器,得到其传输函数)(a sH,然后将)(a sH按某种方法转换成数字滤波器的系统函数H(z),这一类相对来说容易一些。

另一类设计方法是直接在频域或者时域中进行设计,这个需要借助于计算机做一些辅助设计。

2 MATLAB简介2.1 MATLAB简介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.2 MATLAB主要功能(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.3 MATLAB的典型应用MATLAB的应用领域十分广阔,典型的应用举例如下:(1) 数据分析(2) 数值与符号计算;(3) 工程与科学绘图;(4) 控制系统设计;(5) 航天工业;(6) 汽车工业;(7) 生物医学工程;(8) 语音处理;(9) 图像与数字信号处理;(10) 财务、金融分析;(11) 建模、仿真及样机开发;(12) 新算法研究开发;(13) 图形用户界面设计。

3 设计原理3.1数字滤波器工作原理在数字滤波中,我们主要讨论离散时间序列。

如图3.1所示。

设输入序列为x(n),离散或数字滤波器对单位抽样序列()nδ的响应为h(n)。

因()nδ在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。

图3.1 数字滤波器原理数字滤波器的序列()n y 将是这两个序列的离散卷积,即()()()k n x k h n y k -=∑∞∞=。

同样,两个序列卷积的z 变换等于个自z 变换的乘积,即()()()z X z H Y =z ,用T j e z ω=代入上式,其中T 为抽样周期,则得到()()()T j T j T j e X e H e Y ωωω=,式中()T j e X ω和 ()T j e Y ω 分别为数字滤波器输入序列和输出序列的频谱,而()T j e H ω为单位抽样序列响应()n h 的频谱。