毕业设计(论文)-基于MATLAB的IIR数字滤波器的设计

IIR数字滤波器的设计

摘要

数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。作为一种电子滤波器,数字滤波器与完全工作在模拟信号域的模拟滤波器不同。数字滤波器工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的数字信号。数字滤波器的工作方式与模拟滤波器也完全不同:后者完全依靠电阻、电容、晶体管等电子元件组成的物理网络实现滤波功能;而前者是通过数字运算器件对输入的数字信号进行运算和处理,从而实现设计要求的特性。

本文由数字滤波器的功能、应用及发展入手,介绍了数字滤波器的基本概念,其中包括系统的描述、系统的传递函数和IIR数字滤波器基本结构。其次根据IIR数字滤波器的设计原理,在MA TLAB环境下分别采用脉冲响应不变法、双线性变换法和MA TLAB函数直接设计法对IIR数字滤波器进行了设计。最后应用FDATool和Simulink工具对IIR数字滤波器进行了仿真。

关键词:IIR数字滤波器;MATLAB;脉冲响应不变法;双线性变换法;FDATool;Simulink

Design of IIR digital filter

Abstract

Digital filters are the discrete-time systems that process to filter digital signal to get expected response characteristics. As an electronic filter, digital filters work differently from the analog signal filters who completely work in analogy signal domain. Digital filter work in the digital signal domain and its targets are digital signals that are received by sampling devices converting analog signals to digital signals. The working methods of digital filters and analog filters are completely different: the latter completely rely on the function of the physical network formed by resistors, capacitors, transistors and other electronic components of filtering ,while the former computes and processes digital signals with the help of digital computing devices to realize the characteristics of the design requirements.

In this paper, the function, application and development of the digital filter are introduced followed by the introduction of the principle of digital filter design. The principle first includes the description of the system, the transfer function of the system and the basic structure of the IIR (Infinite Impulse Response) digital filter. Then, according to the design principle of IIR digital filter, the IIR digital filter is designed by the method of non-changing impulse response, the method of double linear transform and direct method using MATLAB functions. At last, the designed IIR digital filter is simulated by FDATool and MATLAB Simulink Tool.

Key words:IIR digital filter;MATLAB;non-changing impulse response;double linear transformation;FDATool;Simulink

目录

第一章绪论 (1)

1.1数字滤波器技术概述 (1)

1.2滤波器及滤波方法的发展历程 (2)

1.3滤波器的分类 (3)

1.4数字滤波器的优越性 (4)

1.5数字滤波器的实现方法 (5)

1.6MATLAB软件简介 (6)

1.7MATLAB的语言特点 (8)

第二章数字滤波器基础 (10)

2.1数字滤波器的基本概念 (10)

2.2系统的描述 (11)

2.3系统的传递函数 (12)

2.4IIR数字滤波器的基本结构 (12)

2.4.1直接Ⅰ型 (13)

2.4.2直接Ⅱ型 (14)

2.4.3级联型 (14)

2.4.4并联型 (16)

第三章IIR数字滤波器的设计方法及过程 (17)

3.1基于脉冲响应不变法的IIR滤波器设计 (17)

3.2基于双线性Z变换法的IIR滤波器设计 (20)

3.3基于MATLAB函数直接设计IIR数字滤波器 (24)

3.3.1巴特沃斯数字滤波器设计 (24)

3.3.2切比雪夫Ⅰ型IIR数字滤波器设计 (27)

3.3.3切比雪夫Ⅱ型IIR数字滤波器设计 (29)

3.3.4基于椭圆法直接设计IIR数字滤波器 (30)

3.4FDAT OOL设计法 (33)

3.5S IMULINK建模设计法 (37)

第四章结论 (41)

参考文献 (42)

致谢 (43)

第一章绪论

1.1 数字滤波器技术概述

数字滤波器实际上就是一种数字信号处理系统的算法或设备,也可以说是一种运算过程。数字滤波器的功能是将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,因此它本身就是一台数字式的处理设备。数字滤波器的基本原理是:先利用取样开关和模拟-数字转换器将一个联系性的信号转换成数字信号。在数字计算器中完成所要求的传输函数运算之后,再通过数字-模拟转换器和保持电路,使信号形成最后要求的波形。

数字滤波器是数字信号处理中最重要的组成部分之一。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。[1]

数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。关于数字滤波器,早在上世纪40年代末期就有人讨论它的可能性问题,在50年代也有人讨论过数字滤波器,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度快见长,而有的则二者兼而有之。出现了数字滤波器的各种分析方法和实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论。

数字滤波器的领域的一个重要发展是对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识的转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显的倾向前者,但当人们提出用快速傅立叶变换(FFT)实现卷积运算的概念之后,发现高阶FIR 滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和滤波器的频域设计方法进行了大量的研究,从而出现了此后数字滤波器设计中频域方法和时域方法并驾齐驱的局面。然而,这些均属数字滤波器的早期研究。早期的数字滤波器尽管在语音、声纳、地震和医学的信号处理中曾经发挥过作用,但由于当时计算机主机的价格很昂贵,严重地阻碍了专用数字滤波器的发展。70年代科学技术的蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术、微处理技术、高速数字算术单元、双极性高密度半导体存储器、电荷转移器件等新技术、新工艺结合了起来,并且引进了计算机辅助设计方法,它使数字滤波器的设计不仅仅是对相应模拟滤波器的逼近。一般说来,通过对模拟滤波器函数的变换来设计数字滤波器,很难达到逼近任意频率响应或冲激响应,而采用计算机辅助设计则有可能实现频域或时域的最佳逼近,或频域时域联合最佳逼近。这样,数字滤波器的分析与设计其内容也更既丰富起来,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实

现。

数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成电路的大量生产和广泛应用,替代了原来的模拟信号处理中的线性滤波与频谱分析所应用的模拟计算机和分立元件L、C、R线性网络,高度发挥了计算技术与数字技术相结合的特色和优越性。特别是微处理器和微型计算机技术日新月异的发展,将更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能等方向发展,促使它们成为富有智能型的电子系统。现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展;据统计这种趋势还要持续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性发展。

1.2 滤波器及滤波方法的发展历程

在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多、技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣。所以,对滤波器的研究和生产历来为各国所重视。

1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价格低廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。

我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。

近些年,线性滤波方法,如Wiener滤波、Kalman滤波和自适应滤波得到了广泛的研究和应用,同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。Wiener滤波是最早提出的一种滤波方法,当信号混有白噪声时,可以在最小均方误差条件下得到信号的最佳估计。但是,由于求解Wiener-Hoff方程的复杂性,使得Wiener滤波实际应用起来很困难,不过Wiener滤波在理论上的意义是非常重要的,利用Wiener滤波的纯一步预测,可以求解

信号的模型参数,进而获得著名的Levinson算法. Kalman滤波是20世纪60年代初提出的一种滤波方法。与Wiener滤波相似,它同样可以在最小均方误差条件下给出信号的最佳估计。所不同的是,这种滤波技术在时域中采用递推方式进行,因此速度快,便于实时处理,从而得到了广泛的应用。Kalman滤波推广到二维,可以用于图像的去噪。当假设Wiener滤波器的单位脉冲响应为有限长时,可以采用自适应滤波的方法得到滤波器的最佳响应。由于它避开了求解Wiener-Hoff方程,为某些问题的解决带来了极大的方便。小波滤波就是利用信号和噪声在各自尺度下的小波变换系数有所不同的特点,来对它们进行分离,从而达到去除噪声的目的。同态滤波主要用于解决信号和噪声之间不是相加而是相乘关系时的滤波问题。另外当信号和噪声之间为卷积关系的时候在一定条件下可以利用同态滤波把信号有效地分离出来,由同态滤波理论引伸出的复时谱也成为现代信号处理中极为重要的概念。Wiener滤波、Kalman滤波和自适应滤波都是线性滤波,线性滤波的最大缺点就是在消除噪声的同时,会造成信号边缘的模糊。中值滤波是20世纪70年代提出的一种非线性滤波方法,它可以在最小绝对误差条件下,给出信号的最佳估计。这种滤波方法的优点,就是能够保持信号的边缘不模糊。另外它对脉冲噪声也有良好的清除作用。形态滤波是建立在集合运算上的一种非线性滤波方法,它除了用于滤除信号中的噪声以外,还在图像分析中发挥了重要的作用。[2]

1.3 滤波器的分类

滤波器是一种选频装置,它对某一个或几个频率范围(频带)内的电信号给以很小的衰减,使这部分信号能够顺利通过。对其它频带内的电信号则给以很大的衰减,从而尽可能地阻止这部分信号的通过。通过滤波器时不经受衰减或经受很小衰减的频带称为通带,经受的衰减超过某一规定值的频带称为阻带,位于通带和阻带之间的频带称为过渡带。于是,根据通带的不同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。此外,根据它所处理的信号型类,滤波器又可分为模拟滤波器和数字滤波器,模拟滤波器用来处理连续信号,而数字滤波器用来处理离散信号,后者是在前者基础上发展起来的。数字滤波器与模拟滤波器比较,其主要优点是精度和稳定性高,系统函数容易改变,因而灵活性高,不存在阻抗匹配问题,便于大规模集成,可以实现多维滤波。因此,目前在诸如通信、雷达、遥感、声纳、卫星通信、宇宙航行、测量、语言和生物医学等科学领域的信号处理中,已经运用了数字滤波技术,而且随着大规模集成电路技术和数字计算技术的发展,它的应用会越来越广泛。

数字滤波器按照单位取样响应h(n)的时域特性可分为无限脉冲响应(Infinite Impulse Response,IIR)系统和有限脉冲响应(Finite Impulse Response,FIR)系统。即如果单位取样响应是时宽无限的,称之为IIR系统;如果单位取样响应是时宽有限的,称之为FIR系统。数字滤波器按照实现的方法和结构形式分为递归型和非递归型两类。IIR滤波器系统函数的极点

可以位于单位圆内的任何地方,因此可以用较低的阶数获得较高的选择性,所用的存储单元少,经济而效率高,但是系统函数的极点也可能位于单位圆外,可能会引起系统的不稳定。同时IIR滤波器的相位是非线性的,且它的选择性越好,相位的非线性就越严重。相反FIR 滤波器却可以得到严格的线性相位,然而由于FIR滤波器的系统函数的极点固定在原点,所以只能用较高的阶数来实现其高选择性,对于同样的滤波器设计指标,FIR滤波器所要求的阶数要比IIR高5至10倍,所以成本较高,信号延迟也较大。但是如果要求相同的线性相位,则IIR滤波器就必须加全通网络进行相位校正,同样也要增加滤波器网络的节点数和复杂性。FIR滤波器可以用非递归的方法实现,在有限精度下不会产生振荡,同时由于量化舍入以及系数的不确定性所引起的误差的影响要比IIR滤波器小的多,并且FIR滤波器可以采用FFT 算法,运算速度快。但是不像IIR滤波器可以借助模拟滤波器的成果。FIR滤波器没有现成的计算公式,必须要用计算机辅助设计软件(如MATLAB)来计算。由此可知,FIR滤波器应用比较广,而IIR滤波器则用在相位要求不是很严格的场合。[3]

1.4 数字滤波器的优越性

数字滤波是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。因而在数字通信、语音图像处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器(Digital Signal Processor)的出现和FPGA(Field Programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。

当前我们正处于数字化时代,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术及微电子技术的发展得到了飞速的发展,在许多领域得到了广泛的应用。如语音、图像、雷达、通信等等。以与我们关系比较密切的手机来说,目前模拟网己经退出了舞台,而完全由数字网代替;又如电视技术也已呈现出数字电视取代模拟电视的趋势。数字滤波器是数字信号处理中最重要的组成部分之一,几乎出现在所有的数字信号处理系统中,随着集成电路和DSP处理器的发展,数字滤波器的应用必将越来越广泛。相对于模拟滤波器,数字滤波器具有以下显著优点:

(1) 精度高:模拟电路中元件精度很难达到10-3以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。

(2) 灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。

(3) 可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。

(4) 易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。

(5) 并行处理:数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为l00MHZ的DSP芯片,可高达800MIPS(即每秒执行百万条指令)。

1.5 数字滤波器的实现方法

1 在通用的微型计算机上用软件实现

软件可以是自己编写的,也可以使用现成的软件包,这种方法的缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。比如近年来迅速发展的MATLAB,就几乎可以实现所有数字滤波器的仿真。而且在MATLAB下的部分仿真程序还可以通过转化为C语言,再通过DSP的C编译器直接在DSP硬件上运行。这对非实时系统或准实时系统来说是很有吸引力的。

2 用单片机来实现

单片机在不断地发展,如Intel 96000的运算速度就非常可观,而且单片机的接口性能比较良好,容易实现人机接口。但是由于单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,而在数字滤波器中却要涉及大量的乘加运算,因此这种方法在运算量大的实时信号滤波处理当中很难有所作为。

3 利用专门用于信号处理的可编程DSP芯片来实现

与单片机相比,DSP有着更适合于数字滤波的优点。如采用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特性,并有专门设计的适用于数字信号处理的指令系统等。DSP芯片的这些特点使其在不允许延迟的实时应用领域中,如蜂窝电话、计算机硬盘驱动器等得到了非常理想的应用。

4 利用特殊用途的DSP芯片实现

现在国际上己经推出了不少专门用于FFT, FIR滤波、卷积等的专用芯片,如TDC 1028可

以实现FIR滤波和相关运算。美国INMOS公司推出的IMSA100芯片,可以完成FFT, FIR滤波、卷积等运算,它可以在2ms内完成1024点复数FFT运算。其它的,如Motorola公司的DSP56200, Zoron公司的ZR34881,也都属于专用型的DSP芯片。在采用的DSP芯片中,其软件算法己在芯片内部硬件实现,使用者只要给出输入数据,经过简单的组合即可在输出端得到结果。这一般用于对速度要求很高的场合。这种方案的缺点是灵活性差,而且开发工具很不完善。

5 用FPGA等可编程器件来开发数字滤波算法

由于FPGA产品的迅速发展,人们可以利用Atera. Xilinx等公司提供的产品,使用其相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理器,还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。

6 在通用的计算机系统中安装加速卡来实现

加速卡可以是通用的加速处理机,也可是由DSP开发的用户加速卡,如果加速卡是用DSP 开发的用户加速卡,那么在日益复杂的控制系统中,在DSP芯片价格不断下降的条件下,这一方法是很常用的。当然,在一般的控制系统中。通用计算机仅充当没有实时要求方法管理者的角色,而不再参与实时的数字信号的处理。

比较以上方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数等,同时也可以研究算法的可行性,对数字滤波器进行前期的仿真。而采用DSP 处理器或FPGA进行数字滤波设计则各有优点,FPGA可以用来做模型机,因为在设计一个电路时,首先要确定线路,然后进行软件模拟及优化,以确定所设计电路的功能及性能。然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这在用软件模拟中很难反映出来,这时候就有必要做硬件仿真,由于FPGA具有非常灵活的可编程特性,所以就可以用来做硬件仿真的模型机了。有了该模型机就可以直观地测试其逻辑功能及性能指标。DSP则是专用的数字信号处理芯片,其特有的一些硬件结构及特性使其非常适合做数字滤波电路。[4]

总之,可以采用MATLAB来做算法的软件仿真,用FPGA来做硬件仿真,也可以直接做成硬件电路,或用DSP来实现硬件电路。若使它们相互结合,充分利用它们各自的优点,则能发挥出更大的威力。

1.6 MATLAB软件简介

MATLAB是英文Matrix Laboratory (矩阵实验室)的缩写。它是由美国Mathworks公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。它优秀的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出。

MATLAB系统最初是由Cleve Moler 用FORTRAN语言设计的,现在的MATLAB程序是Mathworks公司用C语言开发的。它的第一版(DOS版本1.0)发行于1984年;经过20年的不断改进,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,最流行的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。可以预见,在科学运算、自动控制与科学绘图领域MATLAB语言将长期保持其独一无二的地位。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.。包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN 编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。

1983年春天,Cleve Moler到Standford大学讲学,MATLAB深深地吸引了工程师JohnLittle.John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和CleveMoler,Steve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。

1984年,Cleve Moler和John Little成立了Math Works公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。

在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB.经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位。

在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语言

开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。[5]

时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。

1.7 MATLAB的语言特点

一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。

1.语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编纂工作。由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。

2.运算符号丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

3.高效方便的矩阵和数组运算。MATLAB语言像Basic、Fortran、C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,另外,它不需要定义数组的唯数,并给出矩阵函数、特殊矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的MATLAB已逐步发展到科学及工程计算的其它领域。因此,不久的将来,它一定能名副其实地成为“万能演算纸式的”科学算法语言。

4.MATLAB即具有结构化的控制语句,又有面向对象编成的特性。

5.语法限制不严格,程序设计自由度大。为了充分利用Fortran、C等语言的资源,包括

用户已编好的Fortran、C语言程序,通过建立M文件的的形式,混合编程,方便地调用有关的Fortran、C语言的子程序。

6.程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

7.MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB 里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面的能力。

8.MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATLAB包含两个部分;核心部分和各种可选的工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实施交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的;如Control toolbox、Signal processing toolbox 、Communication toolbox 等,这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。

9.源程序的开放性。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改变的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。[6] MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为(IEEE评述)国际公认的最优秀的科技应用软件。它功能强大、界面友好、语言自然、开放性强的特点是它获得了对应用学科(特别是边缘学科和交叉学科)的季强是盈利,并且很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字处理不可缺少的基础软件。在欧美等高校,MATLAB已成为理工科高级课程的基本工具,成为攻读学位的大学生、硕士生、博士生必须掌握的技能。在设计研究单位和工业部门,MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。近年来该软件系统开始在我国国内流行。受到理工科大中专院校释省级科研人员的重视,这也是本文选择用它来设计实现数学滤波器原因所在。

第二章 数字滤波器基础

2.1数字滤波器的基本概念

这里所讲的数字滤波器都是一个离散的LTI (线形时不变)系统,离散LTI 系统模型如图2.1:

y(n)=h(n)*x(n)

图2.1 离散LTI 系统模型

Fig. 2.1 The model of LTI system

注:x (n )、y (n )分别是系统的输入输出序列,h (n )是系统本身的特性(转移算子)。 系统对于输入的离散序列x (n )总有对应的输出y (n )。x (n )是离散的信号,每个x (k )可能有不同的幅值,有了前后不同幅值的变化,就可以引出离散信号的频率这一性质。数字滤波器就是对不同频率的数字信号从频域进行信号分离的时序电路或器件或一段程序。[7]

数字滤波器按功能分为低通、高通、带通、带阻、全通滤波器。

ωω

jn n j e n x e X -∞-∞=∑=)()( (2.1)

ωπ

ωππωd e e X n x jn j ⎰-=)(21)( (2.2) 由序列傅氏变换公式可知,离散信号的傅氏变化是ω的函数,周期为2π。只需研究-π~π,不需要在整个ω轴上分析其信号。所以,数字滤波器的通带分布如图2.2所示。

图2.2 数字滤波器的通带分布

Fig. 2.2 Distribution of digital filter pass band

2.2系统的描述

模拟系统通常用微分方程描述,离散系统则用差分方程来描述。差分方程可分为非递归型和递归型两大类:

1、非递归型:输出对输入无反馈,输出值仅仅取决于输入值。

}

),1

(

),

(

),1

(

,

{

)

(

+

-

=n

x

n

x

n

x

f

n

y(2.3)若系统是线性、非移变、因果的,则有

∑∞=-

=

)

(

)

(

)

(

k

k k

a

k

n

x

a

n

y为常数(2.4)

若又有k>N时,

k

a=0,则

∑=-

=N

k

k k

a

k

n

x

a

n

y

)

(

)

(

)

(为常数(2.5)

2、递归型:输出对输入有反馈,输出取决于输入和反馈。

}),1(),1(,{}),1(),(),1(,{)( +-++-=n y n y g n x n x n x f n y (2.6) 若系统是线性、非移变、因果的,则有

∑∑==---=M k k k k k b a k n y a k n x b n y 0N

1k )( )( )()(为常数、 (2.7)

2.3系统的传递函数

对IIR 数字滤波器的差分方程的一般形式

∑∑==---=M k k k k k b a k n y a k n x b n y 0N

1k )( )( )()(为常数、 (2.8)

两边同时进行双边z 变换得:

∑∑==---=M k k k k

k z Y z a z X z b z Y 0N

1k )( )()( (2.9) 得IIR 数字滤波器的传递函数:

∑∑=-=-+==N k k

k M k k k z a z b z X z Y z H 101)()()( (2.10)

2.4 IIR 数字滤波器的基本结构

无限长单位取样响应IIR 系统的主要特点是:

1、单位取样响应是无限长的,即h (n ),+∞<<∞-n ;

2、系统函数H (z )在有限平面z 上有极点存在;

3、结构上存在着输出到输入的反馈网络,即结构是递归的。

实现同一个系统的传递函数H (z ),可以用不同的结构形式,它的主要结构形式有以下三种:

1、直接型(整准型):在此形式中,差分方程(2.8)以给定的形式直接实现。系统分为

两个部分,滑动平均部分和递归部分(或者分子和分母部分)。因此这种实现有两种形式,即直接Ⅰ型和直接Ⅱ型结构。

2、级联型:在此形式中,把系统的传递函数H(z)因式分解成二阶子系统,每个子系统叫做二阶环节,因此系统的传递函数可表示成这些二阶环节的乘积形式。每个二阶环节以直接形式出现,整个系统的传递函数由二阶环节的级联实现。

3、并联型:这种形式与级联形式类似,但因式分解后,用部分分式展开把H(z)表示成二阶子系统的和,每一个子系统用直接形式实现。整个系统的传递函数以子系统的并联网络实现。

下面对这三种主要结构做具体介绍。

2.4.1 直接Ⅰ型

从(2.8)式的差分方程可以看出,系统的输出y(n)由两个部分构成:

第一部分为∑

=-

M

k

k

k

n

x

b

)

(,它表示将输入信号进行延时,组成M节的延时网络,把每

节延时抽头与常系数

k

b相乘,然后再把结果相加,这是一个横向结构网络。即实现零点的网络。

第二部分为∑

=-

N

1 k

)

(k

n

y

a

k

,它表示将输出信号进行延时,组成N节的延时网络,把每

节延时抽头后与常系数

k

a相乘,然后再把结果相加。由于这部分是对输出的延时,故为反馈网络。这部分网络实现极点。

系统的输出y(n)由以上这两部分组成,其信号流图如图2.3所示。该图表示的是直接Ⅰ型IIR系统的结构。

图2.3 直接Ⅰ型

Fig. 2.3 Direct Form Ⅰ Models

2.4.2 直接Ⅱ型

图2.3中的系数组i b 相应于H (z )的分子多项式,而系数组i a 相应于H (z )的分母多项式。

因此,图2.3可以解释为两个系统的级联组成。在线性非时变系统情况下,级联型系统总的输入-输出关系和子系统的先后次序无关。如果先实现H (z )的极点,后实现H (z )的零点,并且合并1

-z 的支路,则可得出IIR 系统直接Ⅱ型结构,其信号流图如图2.4所示。 直接Ⅱ型结构的IIR 系统的表达式如式(2.11)所示:

)()(11)(2110z H z H z a z b z H N k k k M k k k ⋅=⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡+⎪⎭⎫ ⎝⎛=∑∑=-=- (2.11)

图2.4 直接Ⅱ型

Fig. 2.4 Direct Form Ⅱ Models

对于N 阶差分方程,直接Ⅱ型结构只需N 个延时单元,比直接Ⅰ型结构的延时单元少一半。因而在软件实现时可以节省存储单元。而在硬件实现,可节省寄存器,故直接Ⅱ型IIR 系统结构好于直接Ⅰ型IIR 系统结构。

直接型(正准型)的共同缺点:

1.统对滤波器的性能控制作用不明显。

2.极点对系数的变化过于灵敏,易出现不稳定或较大误差。

3.运算的累积误差较大。

2.4.3 级联型

直接形式网络结构可直接由(2.10)式的系统函数得到。如果把分子分母多项式进行因

式分解,则可将H (z )写成: ∏∏∏∏=-*-=-=-*-=-------=21211111111

111)1)(1()1()1)(1()1()(N k k k N k k M k k k M k k z d z d z c z h z h z g A z H (2.12)

式中的212M M M +=和212N N N += 。在式(2.12)中,一阶因式表示实零点k

g 和实极点k c 。而二阶因式表示共轭零点k h 和*k h ,以及共轭极点k d 和*k d 。当式(2.10)中的

所有系数都为实数时,式(2. 12)表示了该系统的零点和极点的分布。该式代表由一阶和二阶子系统级联组成的一组结构形式。而我们知道,一个N 阶系统函数可以用它的零、极点表示。由于H (z )的系数均为实数,因此零、极点只有两种可能,或者为实数,或者为复共轭对。则整个系统函数可以完全分解成实系数二阶因子的形式,即

∏=----++++=c N k k k k k z a z a z b z b A z H 122112

21111)( (2.13)

其中c N 表示(N +1)/2的最大整数。在这种情况下我们已经假设N M ≤,在将H (z )写

成这种形式时,假设实数极点和实数零点已经合并,并具有奇数个零点,则系统k b 2有一个等

于零。同样,如果具有奇数个极点,则系统k a 2有一个等于零。从前面对直接形式的讨论可

知,如果每个二阶子系统用直接Ⅱ型实现,就可以得到具有最少存储的级联结构。

一个四阶系统的级联结构如图2.5所示:

图2.5 四阶IIR 数字系统的级联结构

Fig. 2.5 Fourth-order IIR digital system of parallel structures

应该特别指出:

1.级联型结构的灵敏度特性优于直接型和正准型结构。

2.每一级分子的系数确定一对零点,分母的系数确定一对极点,因为子网络的零极点也

即整体网络的零极点,所以整个系统的零极点都可以准确的由每一级的系数来调整和控制,这样便于调整滤波器的频率响应性能。

3.级联结构具有最少的存储器。

2.4.4 并联型

作为系统函数的另一种表示形式,可以将H (z )表示成如下形式的部分分式展开:

∑∑∑=---=-=----+-+=2

1011*11010)1)(1()1(1)(N k k k k k N k k k N k k k z p z p z e B z d A z G z H (2.14) 由于式(2.10)中的H (z )系数为实数,因此,式中各系数均为实数。如果N M

≤,则在式(2.14)中不包括∑=-00N k k k z G 项。上式可以解释为一阶和二阶系统的并联组合。如果将实数极

点成对组合,则可写成

∑∑=---=-++++=p s N k k k k k N k k k z a z

a z e e z

G z H 1221111001)( (2.15) 对应的信号流图如图2.6所示:

G

图2.6 N 阶IIR 数字系统的并联结构

Fig. 2.6 N-order IIR digital system of parallel structures

并联支路的极点也是整个网络的极点,而并联支路的零点却不是整个网络的零点,因此并联网络能独立的调整系统的极点位置,但不能控制零点。并联结构的灵敏度优于直接型和

基于matlab的数字滤波器设计

淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18

基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB

实验5 基于MATLAB的数字滤波器设计

实验5 基于MATLAB的IIR滤波器设计 一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具 体设计方法; (2)熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通 IIR数字滤波器的计算机编程。 二、实验原理 在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheb1ord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;2)[num,den]=butter(N,Wn)(巴特沃斯)和[num,den]=cheby1(N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear 可以对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。 三、预习要求 (1)在MATLAB中,熟悉函数butter、cheby1、cheby2的使用,其中: [num,den]=butter(N,Wn)巴特沃斯滤波器设计; [num,den]=cheby1(N,Wn)切比雪夫1型滤波器设计; [num,den]=cheby2(N,Wn)切比雪夫2型滤波器设计。

(2)阅读附录中的实例,学习在MATLAB 中进行数字滤波器的设计; (3)给出IIR 数字滤波器参数和滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。 四、 实验内容 利用MATLAB 编程,用脉冲响应不变法和双线性变换法设计一个数字带通滤波器,指标要求如下: 通带边缘频率:π45.01=ΩP ,π65.02=ΩP ,通带峰值起伏:][1dB p ≤α。 阻带边缘频率:π3.01 =ΩS ,π8.02=ΩS ,最小阻带衰减: ][40dB S ≥α。 附录: 例1 设采样周期T=250μs (采样频率fs =4kHz ),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB 边界频率为fc =1kHz 。 [B,A]=butter(3,2*pi*1000,'s'); [num1,den1]=impinvar(B,A,4000); [h1,w]=freqz(num1,den1); [B,A]=butter(3,2/0.00025,'s'); [num2,den2]=bilinear(B,A,4000); [h2,w]=freqz(num2,den2); f=w/pi*2000; plot(f,abs(h1),'-.',f,abs(h2),'-'); grid; xlabel('频率/Hz ') ylabel('幅值/dB') 程序中第一个butter 的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter 的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在z=-1即Ω=π或f=2000Hz 处有一个三阶传输零点,这个三阶零点正是模拟滤波器在ω=∞处的三阶传输零点通过映射形成的。

数字信号处理Matlab实验三-IIR数字滤波器的设计

XX XX 大学XXXX 学院 实验名称 IIR 数字滤波器的设计 实验目的: 加深理解IIR 数字滤波器的时域特性和频域特性,掌握IIR 数字滤波器的设计原理与设计方法,以及I IR数字滤波器的应用。 实验内容: IIR 数字滤波器一般为线性移不变的因果离散系统,N 阶IIR 数字滤波器的系统函数可以表达为-1z 的有理多项式,即 -1 -1-2-M =0012-1-2-N -112=1z +z +z ++z (z)= =1+z +z ++z 1+z M j j M N N i i b b b b b H a a a a ∑∑ 式中:系数i a 至少有一个非零。对于因果II R数据滤波器,应满足M N ≤。 IIR 数字滤波器的设计主要通过成熟的模拟滤波器设计方法来实现。 首先在频域将数字滤波器设计指标转换为模拟滤波器设计指标,然后将任意的模拟滤波器为原型模拟低通滤波器指标,根据模拟滤波器的设计指标来设计出模拟低通滤波器(s)LP H ,然后又(s)LP H 经过相应的复频域转换得到H(s),最后又H(s )经过脉冲响应不变法或双线性变换法得到所需要的III R数字滤波器H (z)。 由此可见,IIR 数字滤波器设计的重要环节是模拟滤波器的设计。设计模拟低通滤波器的主要方法有Butterwor t、Ch eby shev 、和椭圆等滤波器设计方法。 实验步骤 1.Butterw ort 数字滤波器设计 (1) Bu tt erwort 滤波器是通带阻带都单调衰减的滤波器。调用b uttord 函数可以确定巴特沃斯滤波器的阶数,其格式为:[N,Omegac ]=bu tt ord(Omegap,Ome gas,Rp,As ,’s ’)。 其中,输入参数Rp,As 分别为通带最大衰减和阻带最小衰减,以d B为单位;Om eg ap,Omegas 分别为通带截止频率和阻带截止频率,‘s ’说明所设计的是

数字信号处理结课论文

基于MATLAB的数字滤波器设计 摘要 数字滤波器的实现是数字信号处理中的重要组成部分,设计过程较为复杂,牵涉到模型逼近、指标选择、计算机仿真、性能分析及可行性分析等一系列的工作,本文从设计原理以及数学软件matlab出发阐述数字滤波器的设计原理与方法。 关键词:MATLAB,数字信号处理,数字滤波器

1绪论 数字滤波器是数字信号处理的重要应用,21世纪数字滤波器及其相关技术广泛的应用于通信、电子、自动控制等领域,是一种有效的抑制噪音、提取有用信号的方法。它本身可以用硬件实现,也可以通过软件来实现,还可以通过专用的DSP处理器配合相应的软件,即软硬结合的方式来实现。数字滤波器可以分为有限冲击响应(FIR)和无限冲激响应(IIR)两种。通过MATLAB程序,实现输入相应技术指标及滤波器模型,输出相应数字滤波器的参数的功能。 2 无限长单位脉冲响应滤波器(IIR)的设计 根据模拟滤波器设计数字滤波器,就是通过已知的模拟滤波器系统的系统函数H(s)来设计数字滤波器的系统函数H(z),主要是通过脉冲响应不变法,或双线性变换法完成S平面到Z平面的转换。通过典型的模拟滤波器(诸如:巴特沃斯滤波器、切比雪夫滤波器等)可以实现一定参数要求的数字滤波器。 根据已有的数字滤波器设计不同参数或者不同频带通断类型的数字滤波器。例如已知数字低通滤波器的模型,通过变量代换得到不同截止频率的数字低通滤波器,或通过已知低通滤波器的模型设计高通、高阻、带通、带阻滤波器,这里主要是通过来完成相应的变量代换来实现滤波器类型的变换和参数的变换。 3 有限长单位脉冲响应滤波器(FIR)的设计 IIR滤波器可用于较少的阶数达到所要求的幅度特性,且实现时所需的运算次数及存储单元都很少,十分适合于对于相位特性没有严格要求的场合,如果对相位特性有要求,这时选用FIR滤波器较好。 3.1 窗函数法 从时域出发,把理想的窗口函数h d(n)截取成有限长的,以此h(n)来逼近理想的窗口函数h d(n),从而频率响应H(jw)也近似于理想的频率响应H d(jw)。主要窗函数有:矩形窗,汉宁(Hanning)窗,汉明(Hamming)窗,布莱克曼(Blackman)窗,凯塞(Kaiser)窗。3.2 频率采样法

基于MATLAB的IIR滤波器的设计及应用(图像去噪)

数字信号处理课程设计报告书 课题名称 基于MATLAB 的IIR 滤波器的设计 及应用(图像去噪) 姓 名 段永乐 学 号 20106475 院、系、部 电气工程系 专 业 电子信息工程 指导教师 刘鑫淼 2013年 6 月28日 ※※※※※※※※※ ※※ ※※ ※ ※ ※※※※※※※※※ 2010级数字信号处理 课程设计

基于MATLAB 的IIR 滤波器的设计及应用(图像去噪) 20106475 段永乐 一、 设计目的 1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法; 2.掌握数字信号处理的基本概念、基本理论和基本方法; 3. 在MATLAB 环境下产生噪声图像; 4.掌握MATLAB 设计IIR 数字滤波器的方法; 5.学会用MATLAB 对信号进行分析和处理。 二、设计要求 1.噪声图像的频谱分析; 2.设计数字滤波器和画出频率响应,低通滤波器性能指标,fp=1000Hz , fs=1200 Hz ,As=100dB ,Ap=1dB ; 在MATLAB 中,可以利用函数butte 、cheby1和ellip 设计IIR 滤器;最后,利用MATLAB 中的函数freqz 画出各滤波器的频率响应; 3.用滤波器对噪声图像进行滤波; 4.比较几种滤波器去滤波前后噪声图像及频谱。 三、主要实验仪器及材料 微型计算机、MATLAB6.5教学版。 四、系统原理 设计IIR 数字滤波器一般采用间接法脉冲响应不变法和双线性变换法,用脉冲响应不变法和双线性变换法设计IIR 数字低通滤波器的思想是:先设计一个过渡模拟低通滤波器H a (s ),再将设计好的模拟低通滤波器根据脉冲响应不变法和双线性变换法,转换成数字低通滤波器。本次设计使用脉冲响应不变法设计低通滤波器滤除图像信号噪声。 将H(s)进行部分分式展开:∑ =-= N i i i a s s A s H 1 )( (4.1) 对H(s)进行拉氏反变换:∑==N i t s i a t u e A t h i 1 )()( (4.2) 由h(t)获得:)()()(1nT u e A nT h n h nT s N i i a i ∑=== (4.3) 对h(n)取z 变换得:∑ =--=N i T s i z e A z H i 111)( (4.4) 五、程序设计 1、用巴特沃斯滤波器设计数字滤波器实现图像去噪:(Ws=0.8,Wp=0.9) Fs=10000;T=1/Fs; I=imread('moon.tif');

IIR数字滤波器的MATLAB实现

IIR 数字滤波器的MATLAB 实现 一、实验目的: 1、要求掌握IIR 数字滤波器的设计原理、设计方法和设计步骤; 2、能根据给定的滤波器指标进行滤波器设计; 3、掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和步骤; 二、实验原理: 1 IIR 数字滤波器的传递函数及特点 设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示: 其中,j a 和i b 是滤波器的系数,其中j a 中至少有一个非零。与之相对应的差分方程为: 2 IIR 数字滤波器的设计与实现 IIR 数字滤波器的设计,主要采用间接法,即:首先设计出低通模拟滤波器H(S);进行频率变换,将其转换为高通、带通、带阻滤波器;再用脉冲响应不变法或双线性变换法从模拟滤波器转换为数字滤波器。 对单极点的N 阶H(S)用部分展开式: 冲激响应不变法取H(S)的单阶极点Sk 的指数函数s F K S e 作为H (Z )的极点 双线性变换法是用??????+-=--11112Z Z T S 代换H (S )中的S 得到H(Z),双线性变换法可完全消除频率混叠失真但存在非线性频率失真,而冲激响应不变法存在混叠失真。 在不同的设计阶段MATLAB 的信号处理工具箱都给出了相应的滤波器设计函数,这些函数代表了不同类型的逼近函数的滤波器,常用的有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器类型。 MATLAB 工具箱中的函数。

三、实验内容与步骤: 1、基于chebyshev1型模拟滤波器原型使用冲激响应不变法设计数字滤波器,要求具有下面的参数指标: 通带截止频率: 0.1 p π Ω= 通带波动值: 2 p R dB = 阻带截止频率: 0.4 s π Ω= 阻带波动值: 18 s A dB = 程序原代码如下: clear; close all; wp=0.1*pi;ws=0.4*pi;Rp=2;As=18;%参数 T=1; Rip=10^(-Rp/20);Atn=10^(-As/20); [N,OmgC]=cheb1ord(wp*T,ws*T,Rp,As,'s'); [cs,ds]=cheby1(N, Rp, OmgC,'s'); [b,a]=impinvar(cs,ds,T); [db,mag,pha,grd,w]=freqz_m(b,a); subplot(2,2,1);plot(w/pi,mag); title('幅频特性');xlabel('w(/pi)');ylabel('|H(jw)|'); axis([0,1,0,1.1]); set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[0 Atn Rip 1]);grid subplot(2,2,2);plot(w/pi,db); title('幅频特性(db)');xlabel('w(/pi)');ylabel('dB'); axis([0,1,-40,5]); set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[-40 -As -Rp 0]);grid subplot(2,2,3);plot(w/pi,pha/pi); title('相频特性');xlabel('w(/pi)');ylabel('pha(/pi)'); axis([0,1,-1,1]); set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]);grid 2

基于MATLAB的数字滤波器的设计论文

毕业论文 摘要 本论文介绍了FIR数字滤波器的设计方法,即窗函数法。在此基础上,用MATLAB实现IIR 数字滤波器。介绍了IIR数字滤波器的传统设计思想与步骤,与其计算机辅助设计方法。以一数字带通滤波器为例,着重说明了基于MATLAB的三种滤波器的实现手段:模拟低通原型、合适模拟带通与直接原型,为数字滤波器设计带来全新的实现手段。 关键词:滤波IIR滤波器 FIR滤波器 MATLAB

目录 第一章前言 1.1 MATLAB 软件简介 (4) 1.2数字滤波器技术的发展状况 (5) 第二章数字滤波器的基本概念 2.1数字滤波器的概况 (6) 2.2 FIR 数字滤波器的基本概念 (6) 2.2.1 FIR 数字滤波器的窗函数设计法 (7) 2.2.2 窗函数设计法的步骤 (7) 2.3 MATLAB环境下的实例 (9) 2.3.1高通滤波器的设计 (9) 2.3.2低通滤波器的设计 (10) 第三章 IIR数字滤波器的设计过程与方法 3.1 IIR滤波器的基本特点 (13) 3.2 IIR滤波器的设计思路与步骤 (14) 3.3 IIR 滤波器的设计 (14) 3.4 IIR滤波器设计方法MATLAB的实现 (15) 3.4.1 基于模拟低通原型的MATLAB实现 (15) 3.4.2基于合适类型模拟滤波器的MATLAB实现 (16) 3.4.3 基于直接原型变换法的MATLAB实现 (18) 总结 (19) 参考文献 (20)

第一章前言 1.1. MATLAB简介 MATLAB (Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,其功能不断扩充,版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。至2001年6月推出6.1版,2002年6月推出6.5版,继而推出6.5.1版, 2004年7月MATLAB7和Simulink6.0被推出,目前的最新版本为7.1版。 MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学与工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB 被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。 MATLAB6.1 的新功能 (1)全新的开发环境GUIDE(GUI Development Environment):由早期的单一命令窗口发展为将一些常用的交互式工作界面高度的集中于操作桌面; (2)在命令窗口增加了错误跟踪功能(error display message and abort function); (3)提供了许多新的数值处理功能(numerical Treatment Techniques),更新了部分函数的功能和算法,增加了许多新函数; (4)在图形窗口增加了曲线拟合、数据统计等交互工具;(Curve Fitting, Data Analyzing ) (5)引入了类与对象与函数句柄等概念;(Object,Handle) 用户可以创建自己定义的类函数和函数句柄; (6)改进了编辑/调试器的界面与功能; (Editor/Debugger)增加了行号和书

matlabiir低通滤波器设计

MATLAB IIR低通滤波器设计 IIR滤波器是一种数字滤波器,其中包含反馈环,它可以提供更窄的过渡带和更低的滤波器阶数。MATLAB是一种广泛使用的工程软件,能够帮助工程师和科学家设计和分析IIR低通滤波器。本文将介绍如何使用MATLAB来设计IIR低通滤波器。 1. 理论基础 在设计IIR低通滤波器之前,首先需要理解滤波器的基本原理。IIR滤波器是一种递归滤波器,其输出取决于当前输入和过去的输出。在设计IIR低通滤波器时,需要确定滤波器的截止频率和通带波纹等参数。通常情况下,设计人员会根据特定的要求来确定这些参数,然后使用MATLAB来实现这些要求。 2. 设计步骤 设计IIR低通滤波器通常需要以下几个步骤: (1)确定要求的滤波器规格,包括截止频率、通带波纹和阻带衰减等参数。 (2)选择合适的滤波器结构,如Butterworth、Chebyshev或Elliptic等。 (3)使用MATLAB中的滤波器设计工具箱来实现滤波器设计。(4)对设计的滤波器进行验证和性能评估,确保其符合要求。

3. MATLAB工具箱 MATLAB提供了丰富的滤波器设计工具箱,其中包括了各种滤波器设计方法和函数。下面是一些常用的MATLAB滤波器设计函数:(1)butter:用于Butterworth滤波器设计。 (2)cheby1和cheby2:分别用于Chebyshev Type I和Type II滤波器设计。 (3)ellip:用于Elliptic滤波器设计。 (4)fir1和fir2:分别用于线性相位和最小相位FIR滤波器设计。 4. 实例演示 接下来以一个实例来演示如何使用MATLAB设计IIR低通滤波器。 假设我们需要设计一个15阶Butterworth低通滤波器,截止频率为500Hz,通带最大衰减为3dB,阻带最小衰减为40dB。我们可以按照以下步骤使用MATLAB来实现这一设计: ```matlab 定义滤波器参数 order = 15; 滤波器阶数 fc = 500; 截止频率 A_p = 3; 通带最大衰减 A_s = 40; 阻带最小衰减 设计Butterworth低通滤波器 [b, a] = butter(order, fc/(Fs/2));

matlab设计iir低通滤波器代码

Matlab是一种强大的数学计算工具,广泛用于工程、科学和技术领域。IIR(Infinite Impulse Response)滤波器是一种数字信号处理中常用的滤波器,可用于信号去噪、数据平滑等应用。本文将介绍如何使用Matlab设计一个IIR低通滤波器的代码,以便读者能够了解IIR滤波 器的原理和在Matlab中的实现方式。 IIR低通滤波器是一种将高频信号滤除,只保留低频信号的滤波器。在数字信号处理中,我们经常需要对信号进行平滑处理或者去除噪音, 这时就需要用到低通滤波器。IIR低通滤波器相比于FIR(Finite Impulse Response)滤波器,具有更窄的过渡带和更好的通带纹波特性,在某些应用场景下具有更好的性能。 设计IIR低通滤波器的代码步骤如下: 1. 定义滤波器的参数 在设计IIR低通滤波器之前,首先需要定义滤波器的参数,包括通带边界频率、阻带边界频率、通带纹波和阻带衰减等。这些参数将决定最 终滤波器的性能。 2. 调用Matlab工具箱函数设计滤波器 Matlab提供了多种设计IIR滤波器的工具箱函数,如butter、 cheby1、cheby2和ellip等。用户可以根据需要选择相应的函数来设计滤波器。以butter函数为例,其调用形式为:

[b, a] = butter(n, Wn, 'low'); 其中,n表示滤波器的阶数,Wn为归一化的截止频率。 3. 绘制幅频特性曲线 设计完滤波器之后,可以通过freqz函数绘制滤波器的幅频特性曲线,以便直观地了解滤波器的性能。 除了以上的代码步骤,还可以对滤波器进行参数优化、性能评估等工作。设计IIR低通滤波器的代码并不复杂,但需要对滤波器的原理和Matlab编程有一定的了解。 在实际应用中,设计IIR低通滤波器的代码可以根据具体的需求进行定制,比如考虑信号的频率特性、噪声的特点等。通过不断地调试和优 化滤波器的参数,可以得到满足实际需求的滤波器设计方案。 Matlab提供了丰富的工具和函数来设计IIR低通滤波器,读者可以根 据自己的需要进行选择和应用。设计IIR低通滤波器的代码可以帮助读者更深入地理解滤波器的原理和Matlab的应用,对进一步深入学习 数字信号处理领域具有一定的帮助。4. 参数优化 在设计IIR低通滤波器的过程中,需要考虑滤波器的各种参数对滤波效果的影响。一般情况下,通带边界频率、阻带边界频率、通带纹波和 阻带衰减是影响滤波器性能的关键参数。通过对这些参数进行优化,

iir数字滤波器的设计matlab

iir数字滤波器的设计matlab 摘要: I.简介 - 介绍iir 数字滤波器 - 说明matlab 在iir 数字滤波器设计中的应用 II.iir 数字滤波器的设计指标 - 通带和阻带的截止频率 - 通带波纹和阻带衰减 III.iir 数字滤波器的传统设计方法 - 借助模拟原型滤波器 - 双线性变换法 IV.使用matlab 进行iir 数字滤波器设计 - 利用matlab 提供的函数进行设计 - 示例:butter、cheby1、cheby2、ellip 等 V.iir 数字滤波器的频响特性分析 - 幅频特性 - 相频特性 VI.基于matlab 的iir 数字滤波器设计案例 - 设计一个低通iir 数字滤波器 - 设计一个高通iir 数字滤波器 VII.结论

- 总结iir 数字滤波器的设计过程 - 强调matlab 在数字滤波器设计中的重要性 正文: iir 数字滤波器的设计matlab iir 数字滤波器是一种广泛应用于通信、音频处理等领域的数字信号处理技术。它的设计涉及到许多参数,如通带和阻带的截止频率、通带波纹和阻带衰减等。传统的设计方法通常需要借助模拟原型滤波器,并通过双线性变换法将模拟滤波器转换为数字滤波器。然而,随着matlab 等软件的发展,我们可以利用它提供的各种函数轻松地进行iir 数字滤波器的设计。 首先,我们需要了解iir 数字滤波器的设计指标。通带和阻带的截止频率是设计中最为关键的参数,它们决定了滤波器对信号的滤波效果。通带波纹和阻带衰减则是衡量滤波器性能的重要指标,它们影响了滤波器的频率响应平滑程度和抑制能力。 在传统的设计方法中,我们需要借助模拟原型滤波器,并通过双线性变换法将其转换为数字滤波器。这种方法虽然理论上严谨,但在实际应用中往往需要反复调整参数,以达到理想的滤波效果。 幸运的是,matlab 为我们提供了一个强大的设计平台。利用matlab,我们可以轻松地设计出各种类型的iir 数字滤波器,如低通、高通、带通等。matlab 内置了许多滤波器设计函数,如butter、cheby1、cheby2、ellip 等,它们可以帮助我们快速地完成滤波器的设计。 在设计过程中,我们还需要分析滤波器的频响特性。幅频特性反映了滤波器对不同频率信号的处理效果,而相频特性则揭示了滤波器的相位变化情况。

基于Matlab的IIR Butterworth低通数字滤波器设计

问题:信号滤波是一个非常重要的信号处理手段,大量的信号处理系统中,信号滤波的质量将直接影响到系统整体性能。现在有家医院向你提出一个问题,她们的心电图信号记录仪器由于受到了比较严重的电源干扰(50Hz附近),记录到的心电图ECG波形有较大的畸变,请问如何设计一个干扰滤除系统,让记录下的ECG数据继续可以进行疾病诊断。(ECG的波形信息非常重要,设计滤波器需要注意这一点) 基于Matlab的IIR Butterworth低通数字滤波器设计 0 引言 心电信号是心脏电活动在人体体表的表现,它一般比较微弱,其频率为0.05Hz~ 100Hz(能量集中在0. 05Hz~ 44Hz),幅度为几百微伏至几毫伏。因此,在心电信号的采集过程中,极易受到内、外界环境的干扰,其中50Hz的工频干扰尤为突出。心电图信号的干扰对心电图数据分析和压缩有一定影响。如何消除50Hz工频干扰,成为处理心电信号的首要任务。为了消除ECG数据中的主要干扰,保留有用信号或者从干扰中“抽取”有用信号,人们提出了许多方法,诸如,平滑滤波,中心频率固定的带阻滤波器,自适应滤波,低通数字滤波等等。这些信号处理方法各有优缺点,平滑滤波算法简单,处理速度快,滤波效果较好,但存在一定的削峰作用;中心频率固定的带阻滤波器原理简单,能较大程度地抑制50Hz工频干扰,但存在“群延时”现象;自适应滤波器的中心频率能够跟随工频信号的频率幅度变化而自动调节并抵消工频干扰,但需要附加参考信号通道,算法相对复杂,难以用于实时处理。考虑到工频干扰是50Hz的低频信号,假设要处理的ECG信号为0.05HZ~44HZ段信号,且Matlab软件中有一个数字滤波器软件包,可以直接进行调用处理信号,所以本文设计IIR巴特沃斯(Butterworth)低通数字滤波器来实现人体ECG信号的滤波。

基于MATLAB数字滤波器的设计及其仿真开题报告(word文档良心出品)

本科毕业论文(设计)开题报告 姓名:席晓伟 学号:0612080117 学院:机电学院 专业:机械设计制造及其自动化 班级:B0801 杨亮 指导教师: 今天数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。 数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛应用于各个学科技术领域,例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医

学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方 面也有很多突出的优点,所以采用数字滤波器对信号进行处理是目前的发展方向。 MATLA是一门计算机编程语言,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。 二、课题研究的主要内容: (课题研究的重点和在研究过程中要解决的关键问题,所要实现预期成果) 1课题研究的重点 (1)IIR数字滤波器的设计 (2)写出MATLAB勺设计程序 (3)给出仿真结果 2•主要设计内容 (1)IIR数字滤波器的设计 (2)数字滤波器的matlab程序设计 3•拟解决的关键技术 (1)制定技术指标 (2)对各种滤波器的设计相应的计算振幅响应的函数 4.实现的预期成果 (1)通过综合运用数字信号处理的理论知识进行滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现 (2)利用MATLA进行程序设计,并调试,给出仿真结果

用MATLAB设计IIR数字滤波器

实验报告 课程名称:数字信号处理 实验成绩: 指导教师: 实验7 用MATLAB设计IIR数字滤波器 一、实验目的: 1、加深对IIR数字滤波器的基本设计方法的理解。 2、掌握用模拟滤波器原型设计IIR数字滤波器的方法。 3、了解MATLAB有关IIR数字滤波器设计的子函数的调用方法。 二、实验内容及步骤 1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理 解每一条语句的含义。 2、用双线性变换法设计切比雪夫Ⅱ型数字滤波器,列出传递函数并描绘模拟和数字滤 波器的幅频响应曲线。 ①设计一个数字低通滤波器,要求:ωp=0.2П,Rp=1dB;阻带:ωs=0.35П,As=15dB, 滤波器采样频率Fs=10Hz。 wp=0.2*pi; %滤波器的通带截止频率 ws=0.35*pi; %滤波器的阻带截止频率 Rp=1;As=15; %滤波器的通阻带衰减指标 ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值 Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值 %转换为模拟滤波器的技术指标 Fs=10;T=1/Fs; Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正 Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正 %模拟原型滤波器计算 [n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s') %计算阶数n和截止频率 [z0,p0,k0]=buttap(n); %设计归一化的巴特沃思模拟滤波器原型 ba1=k0*real(poly(z0)); %求原型滤波器的系数b

基于MATLAB的IIR数字滤波器设计——心电图采集系统

数字信号处理 实 验 报 告 专业: 姓名: 学号: 班级: 指导教师: 电子信息与自动化学院

基于MATLAB的IIR数字滤波器设计——心电图采集系统 摘要:在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。本文首先介绍了数字滤波器的概念,分类以及设计要求。接着利用MATLAB函数语言编程,完成IIR数字滤波器的设计与信号滤波——心电图采集系统。 关键词:脉冲响应不变法;双线性变换法;Chebyshev;Butterworth;IIR滤波器Abstract:In modern communication system, because there are often a variety of complex components in the signal, many signal analysis is based on filter, while digital filter is realized by numerical operation, which has high processing accuracy, stability, flexibility, no impedance matching problem, and can realize the special filtering function that analog filter can not realize. The order of implementing IIR filter is low, the memory unit used is less, the efficiency is high, the precision is high, and some excellent characteristics of analog filter can be retained, so it is widely used. In this paper, the concept, classification and design requirements of digital filter are introduced at first. And then use MA. TLAB function language programming, completed the design of IIR digital filter and signal filtering-ECG acquisition system. Keywords:Impulse response invariance method; bilinear transformation method; Chebyshev;Butterworth;IIR filter

基于matlab的IIR数字滤波器设计

基于matlab的IIR数字滤波器设计 一.IIR数字滤波器介绍 1.IIR数字滤波器的根本原理 所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相比照例或者滤除某些频率成分的硬件。实质上就是一个由有限精度算法实现的线性时不变离散系统。它的根本工作原理是利用离散系统的特性对系统输入信号进展加工和变换,改变输入序列的频谱或信号波形,让有用的频率分量通过,抑制无用的信号分量输出,因此数字滤波与模拟滤波的概念一样,根据其频率特性同样可以分为低通,高通,带通,带阻,只是信号的形式和实现滤波方式有所不同。如果要处理的信号是模拟信号,就可以通过A/D或者D/A转换,在信号形式上进展匹配转换,同样可以使用数字滤波器对模拟信号进展滤波。 数字滤波器滤波的数学表达式:y〔n〕=x(n)*h(n); 如果滤波器的输入输出信号都是离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器就成为了数字滤波器。 上面的系统为时域离散系统时,其频域特性为: 其中分别是数字滤波器的输出序列和输入序列的频域响应,是数字滤波器 的频域响应。可以看见按照输入信号的频谱特点和处理信号的目的适中选择滤波器的频域响应 ,使得滤波后的输出信号满足设计性能要求,就是滤波器的滤波原理。 2.IIR数字滤波器传输特性 IIR数字滤波器的系统函数可以表示为:H(Z)=,式中H(Z)称为N阶IIR滤波器函数。 3..数字滤波器的技术要求. 我们通常设计的数字滤波器一般属于选频滤波器,。 我们的目的是要设计一个因果可实现的滤波器,另外买也要考虑到本钱和复杂性问题,因此实用中通带和阻带都允许一定的误差容限,即通带不一定是完全水平的,阻带也不可能完全衰减到零。而且,通带和阻带之间还要设置一定带宽的过渡带。如如下图表示低通滤波器的技术要求: 图中,分别表示通带截止频率和阻带截止频率,通带频率范围为0≤w≤,通带中要求〔1-δ1〕≤|H≤1,阻带截止频率范围≤w≤Π,再阻带中要求

基于matlab GUI的IIR低通数字滤波器设计说明

DSP课程设计报告题目基于matlab GUI的IIR低通数字滤波器设计 学院:信息工程学院 专业:通信工程 :昊东 学号:201416630

目录 1.设计的主要容及基本求 (2) 2.总体设计的基本思路 (2) 3.设计方案 (2) 3.1原始语音信号加噪处理 (2) 3.2滤波器的设计 (3) 3.2.1滤波器的基本知识 (3) 3.2.2数字滤波器的选取 (4) 3.3滤除噪声后的语音信号 (5) 4.GUI的设计 (7) 4.1 GUI界面设计概述 (7) 4.2 GUI界面设计具体操作 (7) 4.3 GUI界面设计演示 (8) 5.仿真结果的分析 (9) 6.课程设计总结 (9) 7.参考文献 (9) 附录 (10)

1.设计的主要容及基本要求 要求录制一段自己的语音信号后,对所采集的语音信号加入干扰噪声,设计相应的数字滤波器滤除噪声并进行验证,最后设计GUI界面。 2.总体设计思路 1.获取一段语音。 2.对所获取的语音信号进行加噪处理。 3.设计数字滤波器。 4.将加噪后的信号通过所设计的滤波器,滤除噪声。 5.验证滤除噪声后的语音信号。 6.利用matlab GUI设计模板设计相应的GUI界面。 3.设计方案 3.1原始语音信号加噪处理 [s,fs]=audioread ('C:\Users\昊东\Desktop\zhd.wav');%读取语音信号的数据,赋给变量y 信号频率 y1=fft(s); f=fs*(0:511)/2048;%使频谱图的坐标从零开始 t=0:1/44100:(size(s)-1)/44100; %将所加噪声信号的点数调整到与原始信号相同 Au=0.08; %幅度值 d=Au*cos(2*pi*5000*t); %加余弦信号频率是5000hz n=d';%将噪声进行转置,以便使噪声与信号的行列相同,进行相加 x=s+n;%原始信号和噪声信号叠加 subplot(241);plot(t,s);title('原语音信号'); subplot(242);plot(f,abs(y1(1:512)));title('原语音频谱'); subplot(243);plot(t,x),title('加噪后时域波形');%加噪后的时域图 subplot(245),plot(t,y); title('滤波后的时域波形');%画出滤波后的时域图 y5=fft(x,2048);%进行2048点傅里叶变换 subplot(244); plot(f,abs(y5(1:512))); %加噪后的频谱图 title('加噪后的频谱'); xlabel('频率/Hz'); ylabel('幅值i');

相关文档
最新文档