基于MATLAB的IIR数字带通滤波器设计.doc
《基于MATLAB的IIR数字带通滤波器设计.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的IIR数字带通滤波器设计.doc(25页珍藏版)》请在沃文网上搜索。
1、1 绪论11.1 数字滤波器的优点21.2 数字滤波器的发展概况31.3 开发工具41.3.1 MATLAB软件简介41.3.2 MATLAB特点52 数字滤波器理论研究62.1 滤波器的设计62.2 数字滤波器的定义72.3 滤波器的设计步骤82.4 数字滤波器的类型82.5 滤波器的选择92.5.1 FIR和IIR数字滤波器的比较92.5.2 FIR或IIR滤波器的选取原则102.6 数字滤波器的实现方法103 IIR滤波器的设计113.1 数字滤波器113.2 IIR数字滤波器设计方法123.2.1用脉冲相应不变法设计IIR数字滤波器133.22 用双线性变换法设计IIR数字滤波器154
2、 IIR数字带通滤波器设计过程184.1 设计步骤:184.2 程序流程框图:194.3 MATLAB程序:19结论22参考文献23致谢24基于MATLAB的IIR数字带通滤波器设计1 绪论 凡是有能力进行信号处理的装置都可以称为滤波器。在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。 1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发
3、展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。 我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方
4、面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。 目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。1.1 数字滤波器的优点数字滤波器(D
5、igital Filter)在数字信号处理(DSP, Digital Signal Processing)中具有非常重要的作用。在许多应用中,例如数据压缩、生物医学信号处理、语音处理、数据传输、数字音频、电话回音对消等等,数字滤波器和模拟滤波器相比因为具有如下一个或多个优势而被优先采用。(1) 数字滤波器可以具有模拟滤波器不可能具有的某些特征,例如真正的线性相位响应。(2) 数字滤波器的性能不像模拟滤波器那样随环境的改变(例如温度的变化)而改变。这样就不必经常去校验。(3) 如果利用一个可编程的处理器来实现,那么数字滤波器的频率响应就能被自动地调整。这就是为什么在自适应的滤波器中广泛利用数字滤
6、波器的原因。(4) 几个输入信号或通道可以用一个数字滤波器来滤波,而不需要重复硬件。(5) 滤波过的和未滤波的数据都可以将其存储以备将来使用。(6) 可以充分利用在VLSI技术方面的技术进展来制造数字滤波器,使滤波器体积更小、功耗低、价格便宜。(7) 在实践中,模拟滤波器能达到的精度是受限制的。例如,利用现有的元件设计的有源滤波器,通常可能达到最大阻带衰减是60-70dB。而对于数字滤波器,它的精度仅受限于它所采用的字长。(8) 数字滤波器可以以极低的频率运行,例如在生物医学中有许多极低频率应用的例子,在这些应用中采用模拟滤波器是不现实的。另外,数字滤波器仅通过改变抽样频率就可以在很大的频率范
7、围内工作。 和模拟滤波器相比,数字滤波器主要有以下缺点:(1) 速度限制:数字滤波器能实时处理的最大信号带宽,比模拟滤波器低得多。在实时情况下,模拟-数字-模拟转化过程对数字滤波器的性能引入了速度的限制。ADC的转换时间和DAC的建立时间限制了能够处理的最高频率。此外,数字滤波器的运行速度,依赖于所用到的数字处理器的速度,以及滤波算法必须执行的算术操作的数目。滤波器的响应越紧凑,则滤波器的速度越快。(2) 有限字长效应:数字滤波器受量化一个连续信号而引起的ADV噪声的影响,以及在计算过程中发生的舍入噪声的影响。递归滤波器的阶数越高,舍入噪声的累计就越大,可能会引起滤波器的不稳定。(3) 设计和
8、开发期限长:数字滤波器设计和开发期限,特别是硬件的开发可能比模拟滤波器要长得多。不过,一旦硬件和/或软件开发出来,不需要或者稍加变动就可以将其用在别的滤波任务或者DSP任务中。好的计算机辅助设计(CAD)支持软件使得设计滤波器成为一项令人愉快的任务,但是如何充分而有效地利用这些辅助工具就需要专门的技术了。1.2 数字滤波器的发展概况 数字滤波是数字信号处理理论的重要组成部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,以便估计信号的特征参量,或削弱信号中的多余分量或增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增
9、强、压缩、估值、识别、产生等加工处理,都可纳入数字信号处理领域。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。关于数字滤波器,早在上世纪40年代末期,就有人讨论过它的可能性问题,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长,而有的则二者兼而有之,从而出现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论。数字滤波器领域的一个重要发展是对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识的转化。在初期
10、,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显地倾向于前者,但当人们提出用快速傅立叶变换(FFT)实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和数字滤波器的频域设计方法进行了大量的研究,从而出现了此后数字滤波器设计中频域方法和时域方法并驾齐驱的局面。然而,这些均属数字滤波器的早期研究。早期的数字滤波器尽管在语音、声纳、地震和医学的信号处理中曾经发挥过作用,但由于当时计算机主机的价格很昂贵,严重阻碍了专用数字滤波器的发展,使数字滤波器的设计仅仅是对相应模拟滤波器的逼近。上世纪70年代科学技术蓬勃发展,数字信
11、号处理开始与大规模和超大规模集成电路技术,微处理器技术、高速数字算术单元、双极型高密度半导体存储器、电荷转移器件等新技术、新工艺相结合,并且引进了计算机辅助设计方法。一般说来,通过对模拟滤波器函数的变换来设计数字滤波器,很难达到逼近任意频率响应或冲激响应,而采用计算机辅助设计则有可能实现频域或时域的最佳逼近,或频域时域联合最佳逼近。这样,数字滤波器的分析与设计的内容也更加丰富起来,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实现。恩格斯曾经指出:“科学的发生和发展一开始就是由生产决定的”。数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成电路的大量生产和广泛应用,替代了原
12、来的模拟信号处理中的线性滤波与频谱分析所应用的模拟计算机和分立元件RLC线性网络,高度发挥了计算技术与数字技术相结合的特色和优越性。特别是微处理器和微型计算机技术日新月异的发展,更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,促使它们成为富有智能型的电子系统。现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展,据估计这种趋势还要持续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性转折。我国广泛使用滤波器是上世纪50年代后期的事,当时主要用于话路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等
13、发面已纳入国际发展步伐,但由于缺少专门的研制机构,集成工艺和材料工业跟不上,使得我国许多新型滤波器的研制应用与国际发展有一段距离。1.3 开发工具1.3.1 MATLAB软件简介MATLAB是美国Math Works 公司推出的一套用于工程计算的可视化高性能语言与软件环境。MATLAB为数字滤波器的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵计算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中,MATLAB推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(Signal Processing)、图像处理(Image Processing)
14、、小波(Wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现己成为国际公认的最优秀的科技应用软件。它功能强大、界面友善、语言自然、开放性强的特点使它获得了对应用学科(特别是边缘学科和交叉学科)的极强适应力,并很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字处理不可缺少的基础软件。在欧美等高校,MATLAB己成为理工科高级课程的基本教学工具,成为攻读学位的大学生、硕士生、博士生必须掌握的技能。在设计研究单位和工业部门,MATLAB己经成为研究和解决各种具体工程问题的一种标准软件。近几年来该软件系统开始在我
15、国国内流行,受到理工科大专院校师生及科研人员的重视,这也是本文选择用它来设计实现数字滤波器的原因所在。1.3.2 MATLAB特点MATLAB语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其它语言的特点:(1) 语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。(2) 运算符丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短
16、。(3) MATLAB既具有结构化的控制语句,又有面向对象编程的特性。(4) 语法限制不严格,程序设计自由度大。(5) 程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6) MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面能力。(7) MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能
17、、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control toolbox、signal processing toolbox, communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。(8) 程序的开放性。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。2 数字滤波器理论研究2.1 滤波器的设计滤波器有各种不同的分类方法,一
18、般有以下三种。(1) 按处理信号类型分类 根据被处理信号的类型,可分为模拟滤波器和数字滤波器两大类。其中模拟滤波器又可分为有源、无源、异类三个分类;数字滤波器又可分为数字、取样模拟、混合三个分类。当然,每个分类又可继续分下去。 实际上有些滤波器很难归于哪一类,例如开关电容滤波器即可以属于取样模拟滤波器,又可以属于混合滤波器,还可以属于有源滤波器。因此,不必苛求这种“精确”分类,只是让人们了解滤波器的大体类型,有个总体概念就行了。(2) 按处理的物理量分类 按处理的物理量分类,滤波器可以分为频率选择、幅度选择、时间选择(例如PCM制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器。 (3)
19、 按频率通带范围分类按频率通带范围分类,滤波器可分为低通、高通、带通、带阻、全通五个类别。2.2 数字滤波器的定义一个滤波器实质上是一个系统或者网络,它以一种期望的模式有选择地改变信号的波形、幅度-频率和相位-频率特性。一般滤波的目的是为了改善一个信号的质量(例如消除或者减少噪声),或者从信号中提取信息,或者是把以前为了有效地利用通信信道而组合在一起的两个或多个信号分离出来。数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数字处理来达到频域滤波的目的,可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系
20、统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。数字滤波器设计是用硬件或者软件实现的一种算法,这个算法是为了达到滤波的目的而对数字输入信号进行运算产生数字输出信号。数字滤波器这个词是指执行滤波算法的特定硬件或者软件程序,数字滤波器经常作用的对象是数字化的模拟信号,或者刚好是存储在计算机存储器里代表某些变量的数据。下图给出了一个具有模拟输入信号和输出信号的实时数字滤波器的简化框图。带限模拟信号x(t)被周期地抽样,然后通过量化转化成一数字序列x(n)(n=0,1,)。 输入滤波器 带抽样保持的ADC 数字滤波器 DAC 输出滤波器 x(t) (他) 模拟
21、滤波器 x(n) y(t) ( 模拟 输出 数字处理器依据滤波器的计算算法执行滤波运算,把输入系列x(n)映射到输出系列y(n)。DAC把数字滤波后的输出转化成模拟值,这些模拟值接着被模拟滤波器平滑,并且消去不想要的高频分量。由于计算机和大规模集成电路技术的进步,依靠传统的模拟电路来实现的电子系统已不适应。现在都在开始采用数字化技术,传统的模拟滤波器,正在被数字滤波器所代替。数字滤波器的输入是个数字序列,输出是另一个数字序列。从本质上说它只是个序列的运算加工,但另一方面因为它是一个离散系统,而一个离散系统具有一定的频率响应特性,适当地控制离散系统结构使其频率特性满足一定的要求,可以起到和模拟滤
22、波器同样的作用。但数字滤波器却具有精度高,可靠性强,灵活性大,适应范围广(在甚低频范围),快速等优点。而且可以分时复用,同时处理若干不同信号,因此已得到越来越广泛的应用。2.3 滤波器的设计步骤设计一个数字滤波器通常包括下面5个步骤: (1)滤波器要求的规范。 (2)合适的滤波器系数的计算。 (3)用一个适当的结构来表示滤波器(实现结构)。 (4)有限字长效应对滤波器性能的影响的分析。 (5)用软件和/或者硬件来实现滤波器。这五个步骤不是必需相互独立的,它们也不是总要按照上面给出的顺序执行。实际上经常把第二步、第三步和第四步组合在一起进行。2.4 数字滤波器的类型数字滤波器通常根据系统单位脉冲
23、响应的长度分为两大类,即无限长冲击响应(IIR, Infinite Impulse Response)滤波器和有限长冲击响应(FIR, Finite Impulse Response)滤波器。在基本形式上,每一种滤波器都可以用它的冲击响应序列h(k)(k=0,1,)来表示。滤波器的输入输出信号通过卷积和相联系,式(1)给出了IIR滤波器的相关公式,式(2)给出了FIR滤波器的相关公式。y(n)= (1)y(n)= (2)从这些等式可知,IIR滤波器的冲激响应具有无限的持续时间,而FIR滤波器的冲激响应具有有限持续时间,因为FIR的h(k)只有N个值。在实际中,利用式(1)来计算IIR滤波器的输
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB IIR 数字 带通滤波器 设计