毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc

上传人:laozhun 文档编号:3976786 上传时间:2023-03-30 格式:DOC 页数:22 大小:765.50KB
返回 下载 相关 举报
毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc_第1页
第1页 / 共22页
毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc_第2页
第2页 / 共22页
毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc_第3页
第3页 / 共22页
毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc_第4页
第4页 / 共22页
毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)MATLAB环境下数字滤波器的设计及其应用.doc(22页珍藏版)》请在三一办公上搜索。

1、毕业论文(设计) 题 目 MATLAB环境下数字滤波器的设计及其应用 学生姓名 学 号 院 系 专 业 指导教师 二 八 年 五 月 二十 日目录 摘要21、绪论211 数字滤波器的定义与分类212 数字滤波器的地位与作用313 数字滤波器的优点314 数字滤波器的发展动态415 数字滤波器的实现方法416 开发环境MATLAB简介52、FIR滤波器的设计521 FIR滤波器的结构622 FIR滤波器的设计7221 窗函数法7222 频率取样法8223 用等波纹最佳逼近法9224 比较三种方法特性9225 FIR滤波器设计实例103、IRR滤波器设计1231 IRR滤波器原理1232 IIR数

2、字滤波器设计思想1333 IIR数字滤波器设计实例144、FIR与IIR数字滤波器的比较155、滤波器的应用166 结束语19参考文献20Abstract .21致谢.22MATLAB环境下数字滤波器的设计及其应用韩星南京信息工程大学电气工程与自动化系,南京 210044摘要:当前我们正处于数字化时代,数字信号处理技术受到了人们的关注,其理论及算法随着计算机技术和微电子技术的发展得到了飞速地发展,并被广泛应用于语音和图像处理、数字通信、模式识别和自动控制等领域。在数字信号处理中,数字滤波技术占有重要的地位,几乎出现在所有的数字信号处理系统中。相对于模拟滤波器来说,数字滤波器稳定、没有漂移,精度

3、高,参数容易控制等,这些优势决定了数字滤波器的应用越来越广泛。MATLAB软件在多个研究领域都有着广泛的应用,它的频谱分析和滤波器的分析设计功能很强,从而使数字信号处理变得十分简单、直观。本文分析了数字滤波器的设计方法,在MATLAB环境下实现了IIR和FIR数字滤波器的设计。并说明了数字滤波器在心电图信号处理中的应用。关键词:MATLAB;IIR滤波器;FIR滤波器;设计应用1、绪论11 数字滤波器的定义与分类数字信号的滤波是通过数字滤波器来实现的。数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的1 丁玉美,高西全.数字信号处理(第二版)M.

4、西安:西安电子科技大学出版社,2000.。其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是一台用数字硬件装配成的用以完成给定运算的专用数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。数字滤波器具有稳定性高、精度高、灵活性大等突出的优点。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。12 数

5、字滤波器的地位与作用在数字信号处理中,滤波器占有非常重要的地位,其在数字通信、语音和图像处理、频谱分析、模式识别、自动控制等领域得到了广泛的应用。例如在心电图信号分析中,可以通过低通滤波器滤掉工业高频干扰,突出低频部分进行分析;在语音信号分析中,可以建立实时信号采集分析模型,通过加窗滤波后得出语音信号的频谱等。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。13 数字滤波器的优点数字滤波器与模拟滤波器相比,具有很多突出的优点,例如它可以满足滤波器对幅

6、度和相位特性的严格要求,可以避免模拟滤波器所无法克服的电压漂移和噪声问题。数字滤波器的设计,实质上是数学逼近理论的应用,通过计算使物理可实现的实际滤波器频率特性逼近理想的或给定的频率特性,以达到去除干扰提取有用信号的目的。这类滤波器又叫频率选择滤波器,根据其冲击响应函数的时域特性可以分为有限长冲击响应(FIR)和无限长冲击响应(IIR)。与IIR滤波器相比,FIR滤波器的实现是非递归的,稳定性好、精度高,更重要的是FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到了广泛应用。相对于模拟滤波器,数字滤波

7、器具有无漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等特点,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP(Digital Signal processor)处理器的出现和FPGA(Field programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。相对于模拟滤波器数字滤波器具有以下优点:(1)灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系统存储器中的,只要改变存储器存放的系数,就可以得到不同的系统。这比改变模拟滤波器系统的特性要容易和方便。

8、(2)可靠性高:因为数字系统只有两个电平信号“1”和“0”,受噪声和环境的影响小,而模拟滤波器各参数都有一定的温度系数,易受温度、振荡、电磁干扰等影响。并且数字滤波器多采用大规模集成电路,大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。(3)易于大规模集成:相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势已越来越明显。(4)并行处理:数字滤波器的另外一个最大的优点就是可以实现并行处理。可以采用高速多并行处理结构的DSP实现,或者采用多乘法器并行执行的FPGA实现。14 数字滤波器的发展动态近些年,线性滤波方法,如Wiener滤波、Kalman滤波和自适应滤波得到了广泛的

9、研究和应用。同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波和形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。Wiener滤波是最早提出的一种滤波方法,当信号混有白噪声时,可以在最小均方误差条件下得到信号的最佳估计。但是,由于求解Wiener-Hoff方程的复杂性,使得Wiener滤波实际应用起来很困难,不过Wiener滤波在理论上的意义是非常重要的,利用Wiener滤波的纯一步预测,可以求解信号的模型参数,进而获得著名的Levinson算法2 王欣.离散信号的滤波.北京工业出版社,2001.。Kalman滤波是20纪60年代初提出的一种滤波方法。与Wi

10、ener滤波相似,它同样可以在最小均方误差条件下给出信号的最佳估计。所不同的是,这种滤波技术在时域中采用递推方式进行,因此速度快,便于实时处理,从而得到了广泛的应用。Kalman滤波推广到二维,可以用于图像的去噪。当假设Wiener滤波器的单位脉冲响应为有限长时,可以采用自适应滤波的方法得到滤波器的最佳响应。由于它避开了求解Wiener-Hoff方程,为某些问题的解决带来了极大的方便3 张显达.现代信号处理.人民邮电出版社,1984.。小波滤波就是利用信号和噪声的目的。同态滤波主要用于解决信号和噪声之间不是相加而是相乘关系时滤波问题。另外,当信号和噪声之间为卷积关系的时候,在一定条件下可以利用

11、同态滤波把信号有效地分离开来,由同态滤波理论引申出的复时谱也成为现代信号处理中极为重要的概念。Wiener滤波、Kalman滤波和自适应滤波都是线性滤波,线性滤波的最大缺点就是在消除噪声的同时,会造成信号边缘的模糊。中值滤波是20世纪70年代提出的一种非线性滤波方法,它可以在最小绝对误差条件下,给出信号的最佳估计。这种滤波方法的优点,就是能够保持信号的边缘不模糊。另外它对脉冲噪声也有良好的清除作用。形态滤波是建立在集合运算上的一种非线性滤波方法,它除了用于滤除信号中的噪声外,还在图像分析中发挥了重要的作用。15 数字滤波器的实现方法数字滤波器可以用软件或设计专用的数字处理硬件来实现。用软件来实

12、现数字滤波器优点是:随着滤波器参数的改变,很容易改变滤波器的性能。例如,FIR滤波器的设计,可以用高级语言(如Fortran、C语言)来实现,目前有许多现成的高级语言FIR滤波器设计程序。数字滤波器的实现方法一般有以下几种:(1)在通用的计算机上用软件实现。软件可以是由自己编写,也可以使用现成的软件包。这种方法的缺点是速度太慢,不能用于实时系统,主要用于DSP算法的模拟与仿真。(2)在通用的计算机系统中加上专用的加速处理机实现。这种方法不便于系统的独立运行。(3)用通用的单片机实现。单片机的接口性能良好容易实现人机接口。由于单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,而

13、在数字滤波器中涉及大量的乘法运算,因此,这种方法适用于一些不太复杂的数字信号处理。(4)用通用的可编程DSP芯片实现。与单片机相比,DSP有着更适合于数字滤波的特点。它利用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的指令系统等。(5)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,而通用DSP芯片很难实现,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。(6)用FPGA等可编程器件来开发数字滤波算法。使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方

14、法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。 通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。16 开发环境MATLAB简介MATLAB是由Math Works公司开发的一种主要用于数值计算及可视化图形处理的高科技计算语言。它的特点是将数值分析、矩阵计算、图形图像处理和仿真等诸多强大功能集成在一个极易使用的交互式环境中,为科学研究、工程设计以及必须进行有效数值计算的众多学科提供了一种高效率的编程工具。MATLAB

15、意思是“矩阵实验室”(Matrix Laboratory)。它是以著名的线性代数软件包LIN2PACK和特征值计算软件包EISPACK中的子程序为基础发展而成的一种开放型程序设计语言,其基本数据单元是一个维数不加限制的矩阵。与C、C+、Fortran、Basic等高级语言相比,MATLAB不但在数字语言的表达与解释方面表现出人机交互的高度一致,而且具有如下特征4 周旭,朱建林,向尕,集成化语言MATLB的SIMULINK仿真研究J,湘潭大学自然科学学报,2003,22(1):99102.:高质量、高可靠的数值计算能力;基于向量、数组和矩阵的高级程序设计语言;高级图形和可视化数据处理能力;拥有一

16、个强大的非线性系统建模和仿真工具SIMULINK;支持科学和工程计算标准的开放式、可扩充结构;跨平台兼容。MATLAB有5大通用功能:数值计算功能、符号计算功能、数据可视化功能、数据图形文字统一处理功能以及建模仿真可视化功能。本文将运用MATLAB的强大数字处理功能对数字滤波器进行设计与仿真。2、FIR滤波器的设计21 FIR滤波器的结构有限脉冲响应数字滤波器,简称FIR(Finite Impulse Response)滤波器,其基本结构是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。它的输出y(n)可以表示为6 陈桂明,张明照,戚红雨.应用MATLAB语言处理数字信号与数字图像

17、M.北京:科学出版社,2000. : (1)式(1)中,N是FIR滤波器的抽头数;x(i)表示第i时刻的输入样本;h(i)是FIR滤波器的第i级抽头系数。因此,系统函数为 (2)由式(2)得到起结构如图2-1所示,用一条均匀间隔抽头的延迟线上对抽头信号进行加权求和构成。根据上式,可以看出FIR数字滤波器涉及到大量的卷积运算,使用常规硬件设计的基本部件包括延迟器、乘法器和加法器,实现时会占用大量的资源。用软件来实现时,它只是一段线性卷积程序。软件实现的优点是:系统函数具有可变性,仅信赖于算法结构,并且易于获得较理想的滤波性能。所以软件滤波在滤波器的使用中起到了越来越重要的作用7 闫晓艳,傅丰林,

18、陈健,阔永红.FIR数字滤波器的设计及其在MATLAB中的仿真实现J.电子科技,2004.。图2-1 FIR滤波器结构示意图 FIR滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的,FIR滤波器具有以下的优点: (1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位; (2)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此FIR滤波器没有不稳定的问题; (3)由于FIR滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归结构中极性震荡等不稳定现象,误差较小。 FIR滤波器的缺点在于:对于相同的设计指标,FIR滤波器所要求的阶数比IIR滤波器高25倍,信号的延迟偏大。考

19、虑到用高性能的DSP或FPGA来实现,由于其处理速度快,此缺点是可以避免的。22 FIR滤波器的设计 数字滤波器是一个采用有限精度算法实现的线性非时变离散系统,在设计时分三部来完成: (1)根据实际需要确定其性能指标; (2)求得系统函数H(Z); (3)采用有限精度算法实现。 由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 目前常用的FIR滤波器的设计方法主要有三种,分别是窗函数法、频率取样法和切比雪夫等波纹逼近优化设计法8 张亚妮.基于MATLAB的数字滤波器的设计J.辽宁工程技术大学学报,2005,24(5): 71

20、6 - 718.,下面我们针对这三种方法进行基于MATLAB的设计与仿真。221 窗函数法 窗函数法设计的基本思想是把给定的频率响应通过IDTFT(Inverse Discrete Time Fourier Transform),求得脉冲响应,然后利用加窗函数对它进行截断和平滑,以实现一个物理可实现且具有线性相位的FIR滤波器的设计目的。其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。其设计过程如下:9 吴湘淇,肖熙,郝晓莉,信号系统与信号处理的软硬件实现M,北京:电子工业出版社,2002. 其中是理想滤波器的频率响应,是设计出的实际滤波器的频响。加窗的作用是通过把理想滤

21、波器的无限长脉冲响应乘以窗函数w(n)来产生一个被截断的脉冲响应,即,并且对频率响应进行平滑。 窗函数法减小了吉布斯现象,但是转折频率不易控制.为了克服这种现象,窗函数应该使设计的滤波器: (1)频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内;(2) 窗函数频率特性的旁瓣趋于的过程中,其能量迅速减小为零。分别使用矩形窗函数和哈明窗函数设计如下线性相位低通滤波器10 Ingle VK. Digital Signal Processing Using MATLABM. New York: PWS Publishing Company, 1997. 其中, =1rad ,=12s 。 MAT

22、LAB模拟结果见图2-2,其中,实线是使用25点矩形窗设计出的滤波器幅频特性,虚线是使用25点哈明窗设计出的滤波器幅频特性。由图1可知:使用这两种窗函数设计出的滤波器都可以保证在截止频=1rad外阻带衰耗迅速增大。由于窗函数的影响,在=1rad附近产生过冲和波动。使用矩形窗设计出的FIR滤波器的阻带衰耗小,使用哈明窗设计出的FIR滤波器的阻带衰耗明显增大,但其过渡带变宽。图2-2 低通幅频特性222 频率取样法 频率取样法设计的基本思想是把给出的理想频率响应进行取样,通过IDFT从频谱样点直接求得有限脉冲响应.其设计过程如下:频率取样法设计的关键是正确确定数字频域系统函数H(k)在0,2内的N

23、个样点,其约束条件为 (4)频域取样法一般分为型和型。型取样,k=0,1,,N-1,即N个频率样点是,;型取样是将型取样的N个样点偏移,即;N个频率样点为:。采用频率取样法设计上述线性相位低通滤波器,其模拟结果见图2-3。与图2-2相比,频率取样法的阻带衰耗比较小,可以通过增加过渡带样点的方法增大阻带衰耗。图2-3低通衰耗特性223 用等波纹最佳逼近法 FIR滤波器的优化设计采用“等波纹最佳一致逼近”理论11 张亚妮.基于MATLAB的数字滤波器设计.辽宁工程技术大学学报,2005,24(5):716718.,利用MATLAB提供的Remez函数实现Parks McClellan算法,设计滤波

24、器逼近理想频率响应。所得到的最佳一致滤波器的频率响应具有等波纹特性。使用Remez算法设计滤波器,首先需根据要求确定滤波器阶数。利用remezord函数可以确定滤波器阶数n,归一化的各频带边界频频,归一化的各频带幅度值,加权系数w,其格式如下:n, , ,w=remezord(f,a,dev);remezord输入参数的含义为向量f指定各频带边界频率(单位Hz),在0Fs/2(采样频率的一半)之间取值;向量a指定各频带的幅度响应;f的长度是length(f)=2*length(a)-2,必须为偶数。第一频带总是从0开始,最后一个频带到Fs/2结束;向量dev指定设计出的滤波器和理想滤波器的幅度

25、响应在每个频带的最大允许误差(波纹),因此与向量a的长度相等12 Mitra. Digital Signal Processing: A Computer-Based Approach M.London: Mc GRAW-Hill Publishing company, 1997.。224 比较三种方法特性 分别采用窗口法、频率取样法和优化设计法设计双带滤波器,其指标要求为:(1)第一带通滤波器(2)第二带通滤波器;(3)通带衰耗:,阻带衰耗:,模拟取样频率。MATLAB模拟结果见图2-4,图2-5,图2-6。图2-4利用窗口法设计的双通带滤波器的频响图2-5利用频率取样法设计的双通带滤波器的

26、频响图2-6利用优化设计法设计的双通滤波器幅频特性 比较以上三种滤波器的设计方法,在同样的阶数下,优化设计可以获得最佳的频率特性和衰耗特性,具有通带和阻带平坦,过渡带窄等优点。频率取样法设计过程简单,但阻带衰减明显,若适当选取过渡带样点值,会取得较窗口法略好的衰耗特性。窗口设计法在阶数较低时,阻带特性不满足设计要求,只有当滤波器阶数较高时,使用哈明窗和凯塞窗基本可以达到阻带衰耗要求。FIR滤波器稳定并且容易实现严格的线性相位,使信号处理后不产生相位畸变,在实际中有广泛的应用13 张亚妮.小波视频图像处理技术J.辽宁工程技术大学学报,2004,23(2):230-232.。225 FIR滤波器设

27、计实例 MATLAB提供了几个窗函数子程序,boxcar矩形窗函数,TRIANG三角窗函数,HAMMING海明窗函数,HANNING汉宁窗函数,KAISER凯泽窗函数, BLACKMAN布拉克曼窗函数(k=3),BLACKMANHARRIS布拉克曼窗函数(k=4)等。还有一个非常有用的函数WINDOW,用这个函数可以得到很多窗函数的波形,可以用他选择所需要的窗函数。本文以低通滤波器为例,设计指标如下:根据条件本设计采用布莱克曼(BLACKMAN)窗。程序如下:% 设计指标wp= 0.2*pi; ws= 0.35*pi;tr_width= ws-wp; %过度带宽度M= 75; n= 0:1:M

28、-1;wc= (ws+wp)/2; %理想截止频率%hd= ideal_lp(wc,M); %设计理想低通滤波器w_bl= (Blackman(M); %选择布拉克窗h= hd.*w_bl; %单位脉冲响应db,mag,pha,grd,w= freqz_m(h,1); %宽幅度响应delta_w= 2*pi/1000;% 画图Subplot(1,1,1)subplot(2,2,1);stem(n,hd); title(理想脉冲响应)axis(0 M-1 -0.1 0.4); xlabel(n); ylabel(hd(n);subplot(2,2,2); stem(n,w_bl); title(

29、布拉克窗(k=3)axis(0 M-1 0 1.1); xlabel(n); ylabel(w(n);subplot(2,2,3);stem(n,h); title(实际脉冲响应)axis(0 M-1 -0.1 0.4); xlabel(n); ylabel(h(n);subplot(2,2,4); plot(w/pi,db); title(幅度响应(单位:dB)axis(0 1 -150 10); xlabel(pi); ylabel(分贝);% 检验Rp=-(min(db(1:1:wp/delta_w+1) %检验实际的通带波动Ar=-round(max(db(ws/delta_w+1:1

30、:501) %检验最小阻带衰减程序运行结果:Rp=0.003 1Ar=75由程序运行结果可以看出,当滤波器长度M=75时,实际的通带波动为0.0031,阻带衰减为75dB,满足设计要求。图形如下:图2-7 时域和频域曲线图3、IRR滤波器设计31 IRR滤波器原理实际上,数字滤波器是一个离散系统,其系统函数可表示为: ( (5)如果式(5)中至少有一个的值不为零,并且分母至少存在一个根不为分子所抵消,那么这种形式的数字滤波器的单位脉冲响应的样值有无限多个,时间长度持续到无限长,称为无限脉冲响应数字滤波器,简称为IIR(Infinite Impulse Response)滤波器14 丁玉美,高西

31、全,彭学愚.数字信号处理M.西安电子科技大学出版社,2002.。举例来说:设0, =0, =-1, =0,则有: (6)由式(6)可以看出的无限脉冲响应数字滤波器的单位脉冲响应的样值有无限多个,时间长度持续到无限长。32 IIR数字滤波器设计思想 IIR数字滤波器设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器。这些过程已经成为一整套成熟的设计程序。模拟滤波设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询。因此,充分利用这些己有的资源将会给数字滤波器的设计带来很大的方便。具体在MATLAB中设计IIR数字滤波器的设计步骤如下: (1)按一定规则将给出的

32、数字滤波器的技术指标转换为模拟低通滤波器的技术指标,根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数N和固有频率; (2)运用最小阶数N产生模拟低通滤波器原型; (3)运用固有频率把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器; (4)运用冲激响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。IIR滤波器的设计主要是寻找滤波器的各个系数,使其逼近所要求的特性指标。IIR滤波器的设计方法有两种。一是直接法,也称最优化设计方法:先确定一种最优化准则(均方误差最小准则或最大误差最小化准则),再求此最佳准则下的滤波器系数15 吴镇扬.数字信号处理的原理与实现M.东南大学出版社,

33、2002.。二是间接法:先设计一个合适的模拟滤波器,然后变换成满足技术指标的数字滤波器。目前模拟网络理论已发展成熟,产生了许多高效的设计方法,且常用的模拟滤波器有各种现成的设计软件,设计起来很方便,一般常用间接法。 实际应用中的IIR数字滤波器有低通、高通、带通和带阻等类型。设计各种数字滤波器,通常可以把一个归一化的原型模拟低通滤波器经模拟频带变换成所需类型的模拟滤波器,再通过转换成为所需类型的数字滤波器,如图3-1(a)所示。更简便的方法是从模拟低通归一化原型通过一定的频率变换关系,一步完成各类数字滤波器的设计,如图3-1(b)所示。(a)(b)图3-1 数字滤波器设计思路 常用模拟低通滤波

34、器有巴特沃兹型(BW型),切比雪夫型(CB型)及椭圆型或考尔型(C型)滤波器,而模拟高通、带通、带阻滤波器则可以利用变量变换方法,由低通滤波器变换得到16 郑佳春.数字信号滤波器的MATLAB设计与DSP实现.机械工业出版社,2003.。 从模拟滤波器映射到数字滤波器有两种方法:脉冲响应不变法和双线性变换法。脉冲响应不变法又称时域取样法,它是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应,且使得。它的缺点是产生了频响的混叠。为了克服这一缺点,可采用双线性变换法。双线性变换法是先根据给定的技术指标设计一个系统函数为H(S)的模拟滤波器,再通过适当的数学变换,将无限宽的频带,变换成

35、频带受限的系统函数,然后再通过z变换求得数字滤波器的系统函数H(Z)。33 IIR数字滤波器设计实例 MATLAB是一种可视化的功能强大的系统分析和仿真工具,其工具箱中丰富的函数和作图功能正是其他语言所缺乏的。所以,在设计数字滤波器时通常采用MATLAB来进行辅助设计和仿真17 程卫国.冯蜂.MATLAB5.3精要编程及高级应用M.北京机械工业出版社,2000.。用MATLAB进行经典数字滤波器设计的一般步骤如下: (1)按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标; (2)根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数N和固有频率Wn,根据选用的模拟低通滤波

36、器的类型可分别用函数:buttord、cheb1ord、cheb2ord、ellipord等;(3)运用最小阶数N产生模拟滤波器原型,模拟低通滤波器的创建函数有:buttap、cheb1ap、cheb2ap、ellipap、besselap等; (4)运用固有频率Wn把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,可分别用函数lp2lp、lp2hp、lp2bp、lp2bs;(5)运用冲激响应不变法或双线性变换法把模拟滤波器转换成数字滤波器,分别用函数impinvar和bilinear来实现。在工程实际中,需要用MATLAB设计的是滤波器的系数ai和bi,再由ai和bi来综合滤波器的

37、硬件实现结构或软件运算结构。以下的MATLAB程序均是先设计滤波器的系数,再将设计出的滤波器的幅频响应曲线作为设计结果输出。如果需要查看滤波器的系数,在程序运行后,只要在MATLAB命令窗口键入系数相量名,则相应的系数就显示出来。下面以双线性变换法设计一个IIR低通滤波器为例来说明IIR数字滤波器的MATLAB设计方法。IIR的具体技术指标如下:通带截止频率 Fp=100Hz阻带截止频率 fs=300HzMATLAB程序如下:Fp= 100; fs= 300;f= 1000;wp= 2*pi*fp/f;ws= 2*pi*fs/f;wap= tan(wp/2);was= tan(ws/2);n,

38、 wn= buttord(wap, was, rp, rs, s)z,p,k= buttap(n);bp,ap= zp2tf(z,p,k);bs,as= lp2lp(bp,ap,wap)bz,az= bilinear(bs,as,0.5)h,w= freqz(bz,ax,256,1000);Plot(w,abs(h);得到滤波器波形图如图3-2。从图3-2我们可以看出所设计的滤波器和我们期望的滤波器的幅频特性吻合的比较好。图3-2 IIR滤波器幅频响应4、FIR与IIR数字滤波器的比较IIR滤波器系统函数的极点可以位于单位圆内的任何地方,因此可以用较低的阶数获得高选择性,所用存储单元少,经济而

39、效率高。但这些是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器系统函数的极点固定在原点,所以只能用较高的阶数达到高选择性,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高5-10倍,成本较高,信号延时也较大。如果按相同的选择性和相同的线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的节数和复杂性18 王世一.数字信号处理,北京理工大学出版社(第二版),1997.。FIR滤波器可以用非递归方法实现,有限精度的计算不会产生振荡。同时由于量化舍入以及系数的不准确所引起的误

40、差的影响比IIR滤波器要小得多。显然对IIR滤波器必须注意稳定性问题,注意极点是否会位于单位圆之外,另外有限字长效应有时会引起寄生振荡。再者FIR滤波器可采用FFT算法,在相同阶数下,运算速度可以快得多。IIR滤波器可以借助于模拟滤波器的成果,一般都有有效的封闭式设计公式可供准确计算,计算工作量比较小,对计算工具要求不高,已广泛应用于通信等众多研究领域19 朱铭锆.DSP应用系统设计M.北京:电子工业出版社,2002.。FIR滤波器没有现成设计公式。窗函数法仅仅可以给出窗函数的计算公式,但计算通、阻带衰减仍无显式表达式、其他大多数设计FIR滤波器的方法都需要借助计算机辅助设计。5、滤波器的应用

41、 数字滤波器在语言信号处理、图像处理、医学生物信号处理以及其他应用领域有广泛的应用。以人体心电图(ECG)信号测量为例,想要获得清晰稳定的心电信号,数字滤波器的作用就显得很关键。由于ECG信号在测量过程中混有各种干扰噪声会影响其有用信号,所以必须经过低通滤波处理后,才能判断心脏功能的有用信息。ECG信号中的噪声来源主要有两类,一类是各种电子设备辐射出的高频噪声,一种是市电的50Hz噪声,通常情况下后者影响尤为明显。对这些噪声的滤波需要用到低通滤波器和50Hz带阻滤波器。ECG的低通滤波器通常情况下截至频率选择在100Hz以下,少数情况下会用到更高的频率。下面给出一实际心电图信号采样序列样本x(

42、n),其中存在高频干扰,以x(n)作为输入序列,滤出其中的干扰成分。图5-1低通滤波器x(n) = -4, -2,0, -4, -6, -4, -2, -4, -6, -6, -4, -4, -6, -6, -2,6,12,8,0, -16, -38, -60, -84, -90, -66, -32, -4, -2, -4,8,12,12,10,6,6,4,0,0,0,0,0, -2, -2,0,0, -2, -2, -2, -2,0。在本例中,可以用双线性变换法设计一个巴特沃斯低通IIR数字滤波器来实现。设计步骤如下:(1)确定数字低通滤波器的技术指标。设计指标参数为:(2)将数字低通滤波器

43、的技术指标转换成模拟低通滤波器的技术指标。这里主要是边界频率p和s的转换,其转换关系为: (7)(3)按照模拟低通滤波器的技术指标设计模拟低通滤波器,最后将模拟滤波器从S平面转换到Z平面,得到数字低通滤波器系统函数。(4)编写滤波器仿真程序,设计巴特沃斯低通滤波器,并调用MATLAB filter函数实现仿真。调用阶数选择函数格式为: N,Wn =buttord(wp, ws, rp, rs);调用巴特沃斯低通滤波器函数的格式为:B,A=butter(N,Wn)20 姜献忠.MATLAB在数字滤波器设计中的应用J.南京工业职业技术学院报,2005,3(4):32-34Design of the

44、 Digital Signal Filter with Matlab and the Application of Filter Han sungDepartment of Electrical Engineering and Automation,Nanjing University of Information Science & Technology,Nanjing, 210044Abstract: Nowadays we are in the digital time, the technology of digital signal process are paid extensive attention by people. Accompany with the development of technology of computer and microelectronics, the theory and arithmetic of digital signal process develop quickly, digital filters are extensively used in audio and video process, digital communications, auto-

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号