毕业设计88基于MATLAB的数字滤波器的设计_第1页
毕业设计88基于MATLAB的数字滤波器的设计_第2页
毕业设计88基于MATLAB的数字滤波器的设计_第3页
毕业设计88基于MATLAB的数字滤波器的设计_第4页
毕业设计88基于MATLAB的数字滤波器的设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDATool工具进行界面设计的详细步骤。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用MATLAB环境下的仿真软件Simulink对所设计的滤波器进行模拟仿真。介绍了IIR数字滤波器的传统设计思想与步骤

2、,及其计算机辅助设计方法。以一数字带通滤波器为例,着重说明了基于MATLAB的三种实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的实现手段,设计快捷方便,仿真波形直观。介绍了利用MATLAB信号处理工具箱进FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能.关键词:数字滤波器 MATLAB FIR IIR AbstractTraditional digital filter design process complex, the computationwo

3、rk load is big, the filter characteristic adjustment difficulty, hasaffected its application. This article introduced one kind using theMATLAB signal processing toolbox (Signal Processing Toolbox) the fasteffective design the conventional numeral filter design method whichis composed by software. Pr

4、oduced has used the MATLAB language tocarry on the programming and carries on contact surface design usingthe signal processing toolbox FDATool tool the detailed step. Usingthe MATLAB design filter, may contrast the design request and thefilter characteristic adjustment parameter as necessary,direct

5、-viewing is simple, enormous reduced the work load, isadvantageous optimization which designs to the filter.Key word: Digital filter MATLAB FIR IIR 目 录摘 要.1Abstract.2第一章 引言.51.1数字滤波器的背景及意义 .51.2内 容.6 第二章数字滤波器的MATLAB设计.82.1 MATLAB的设计方法.92.1.1 FDATool界面设计.9 2.1.2程序设计法.10 2.1.3 Simulink仿真.11 2.1.4SPToo

6、l设计法.12 2.1.5结 论.13 2.2基于MATLAB的程序设计方法的各种模拟滤波器实现.132.2.1基于模拟低通原型的MATLAB实现.142.2.2基于合适类型模拟滤波器的MATLAB实现.152.2.3基于直接原型变换法的MATLAB实现.17第三章 基于MATLAB的IIR数字滤波器的设计.19 3.1 IIR滤波器有以下几个特点.19 3.2 IIR数字滤波器设计思路与步骤.19 3.3 IIR数字滤波器设计方法.203.3.1传统设计方法.20 3.3.2计算机辅助设计方法.21 3.4常用模拟IIR滤波器的设计.21 3.4.1巴特沃斯IIR滤波器的设计.21 3.4.

7、2契比雪夫I型IIR滤波器的设计.22 3.5用模拟滤波器理论来设计IIR数字滤波器.23 3.5.1脉冲响应不变法.23 3.5.2双线性变换法.24 3.6仿真实现.27第四章 基于MATLAB的FIR数字滤波器的设计.314.1 FIR数字滤波器设计的基本步骤.264.2 FIR滤波器的窗函数设计法.274.3程序设计法.284.4 FDATool设计法.294.5带通滤波器设计.294.5.1带通滤波器设计实例一.294.5.2带通滤波器设计实例二.304.6 Simulink仿真.314.7结束语.32第五章 一种改进型的FIR数字滤波器设计.33 5.1滤波器设计的改进方法 .33

8、5.1.1 Matlab Link for CCS Development Tools简介.335.1.2数字滤波器的系统级设计方法.335.1.3 结论.34参考文献.35致 谢.36第一章 引 言1.1数字滤波器的背景及意义数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频

9、、图像处理、数据传输、生物医学等领域得到广泛应用。信号处理是科学研究和工程技术许多领域都需要进行的一个重要环节,这种处理包括信号的检测、变换、滤波、压缩、传输、信息提取、显示等。由于自然界中的各种信号,例如光、电、声、振动、压力、温度等通常表现为在时间和幅度上都是连续的模拟信号,因此传统上对信号的处理大都采用模拟系统(或电路)来实现。随着人们对信号处理要求的日益提高,以及模拟信号处理中一些不可克服的缺点,对信号的许多处理转而采用数字的方法来进行。近年来由于大规模集成电路和计算机技术的进步,信号的数字处理技术得到了飞速发展。数字信号处理系统无论在性能、可靠性、体积、耗电量、成本等诸多方面都比模拟

10、信号处理系统优越得多,使得许多以往采用模拟信号处理的系统越来越多地被数字处理系统所代替,这反过来进一步促进了数字信号处理技术的发展,其应用领域包括通信、计算机网络、雷达、自动控制、地球物理、声学、天文、生物医学、消费类电子产品等国民经济的各个部门,已经成为信息产业的核心技术之一。数字信号处理的理论与技术本身也成为信号与信息处理学科中一个重要且十分活跃的分支。 数字信号处理本质上是利用数学的方法和数字系统来实现对信号的处理,它主要研究两个方面的问题:其一是研究信号处理的各种处理算法,即建立数学模型;其二是算法的实现,包括采用计算机软件实现,或采用专用的数字系统实现。目前,随着数字化的深入,许多新

11、型的器件,如数字信号处理单片机(DSP)和各种专用集成芯片(ASIC),在数字信号处理系统的实现中扮演了越来越重要的角色。 算法的研究是信号处理的基础,从数学的角度而言,信号可分为确定信号与随机信号、线性与非线性信号。信号的类型不同,对它们进行处理的算法也就不同。从传统的傅里叶分析到现代的谱估计方法和小波分析,从经典的线性系统分析方法到非线性的混沌分析与人工神经网络方法,其应用的数学方法几乎涉及到了所有的数学分支。同时由于应用的领域不同,信号处理的算法也各不相同,例如,语音通信需要处理一维的信号,图像与视频处理则分别需要处理二维和三维的信号。因此算法研究是一个理论性很强的问题。另一方面,数字信

12、号处理系统的实现要涉及电子器件、计算机硬件、软件、工艺等各方面知识,并且随着时间的推移,新的器件还在不断地涌现。因此,数字信号处理是一个内容十分丰富、涉及面广泛且发展很快的学科。本书作为电子信息类本科生对数字信号处理的入门性的教材,限于篇幅,将仅着重讨论离散线性时不变确定信号与系统的基本理论与分析方法,这也是进一步学习所有其他类型数字信号处理的基础。本课题主要介绍数字信号处理的基本理论与分析方法以及目前在国内外获得广泛应用的MATLAB软件包及其信号处理工具箱的使用方法。1.2内容本文通过设计实例,介绍了利用MATLAB实现 FIR滤波器设计与滤波的三种方法,从仿真结果可以看出它们均可以达到技

13、术指标要求,而且方法简单、快捷,大大减轻了工作量。滤波器的设计工作完成后,可以借助于MATLAB的export操作导出所设计滤波器的系统函数H(z)。由于MATLAB具有强大的接口功能,仿真后的结果可以很方便的移植到DSP、CPLD或FPGA等器件中。在实际应用中,只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同截止频率的FIR滤波器,实用性较强。其中介绍了利用MATLAB信号处理工具箱进FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能。全文共5章。第2章作为数字信号

14、处理的基础,介绍FDATool.程序设计法.Simulink仿真及SPTool设计法等以及介绍了基于MATLAB的三种实现方法及频率特性。第3-4章介绍数字滤波器的结构、IIR与FIR滤波器的设计方法,这些都是数字信号处理的必修内容。第5章主要介绍了FIR数字滤波器改进型的设计方法。第二章 数字滤波器的MATLAB设计数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤

15、波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器IIR和有限长单位脉冲响应滤波器(FIR)两种。本文介绍(IIR)和(FIR)数字滤波器的设计与分析。2. 数字滤波器的基本概念0A0A0A0A低通高通1.数字滤波器按功能分为低通、高通、带通、带阻、全通滤波器。2.由序列傅氏变换公式可知,离散信号的傅氏变换是的函数,周期为2。只需研究 ,不需要在

16、整个轴上分析其信号 。所以,带通数字滤波器的通带分布如下:全通 图2.12.1 MATLAB的设计方法MATLAB的设计方法包括四种,分别是FDATool,程序设计法,Simulink仿真,SPTool设计法。其中FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox)。2.1.1 FDATool界面设计FDATool设计界面如图2.2所示,总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤

17、波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:图2.2 FDATool设计界面Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型)法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法

18、、Least-Squares(最小乘方)法、Window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决

19、定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采

20、用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。2.1.2 程序设计法在MATLAB中,对各种滤波器的设计都有相应的计算振幅响应的函数,可以用来做滤波器的程序设计。上例的带通滤波器可以用程序设计:c=95; fs=1000;fc1=70;fc2=84;%定义滤波器阶数96阶w1=2*pi*fc1/fs;w2=2*pi*fc2/fs; %参数转换,将模拟滤波器的技术指标转换为数字滤波器的技术指标window=hamming(c+1); %使用hamming窗函数h=fir

21、1(c,w1/pi w2/pi,window); %使用标准响应的加窗设计函数fir1freqz(h,1,512); %数字滤波器频率响应%在MATLAB环境下运行该程序即可得到滤波器幅频相频响应曲线和滤波器系数。图2.3 程序设计的滤波器幅频和相频响应2.1.3 Simulink仿真本文通过调用Simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号,通过Simulink环境下的Digital Filter Design(数字滤波器设计)模块导入2.1.2中FDATool所设计的滤波器文件1.

22、fda。仿真图和滤波效果图如图2.4所示。图2 .4 Simulink仿真图及滤波效果图可以看到经过离散采样、数字滤波后分离出了83.3Hz的频率分量(scope1)。之所以选取上面的叠加信号作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同一致,可以反映实际的情况。本例设计的滤波器已在实际工作中应用,取得了不错的效果。2.1.4 SPTool设计法SPTool是MATLAB信号处理工具箱中自带的交互式图形用户界面工具如图2.5所示,它包含了信号处理工具箱中的大部分函数,可以方便快捷地完成对信号、滤波器及频谱的分析、设计和浏览。按以下步骤完成滤波器

23、的设计和滤波:创建并导入信号源。在MATLAB命令窗口输入命令:Fs100;t = (0:100)/Fs; s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30); 此时,变量Fs、t、s将显示在workspace列表中。在命令窗口键入Sptool,将弹出Sptool主界面,如图3所示;点击菜单File/Import将信号s导入并取名为s。 (2)单击Filters列表下的New,按照参数要求设计出滤波器filt1,具体步骤类似于3.2.1。(3)将滤波器filt1应用到s信号序列。分别在Signals、Filters、Spectra列表中选择s、fil

24、t1、mtlbse,单击Filters列表下的Apply按钮,在弹出的Apply Filter对话框中将输出信号命名为sin15hz。(4)进行频谱分析。在Signals中选择s,单击Spectra下的Create按钮,在弹出的Spectra Viewer界面中选择Method为FFT,Nfft=512,单击Apply按钮生成s的频谱spect1。同样的步骤可以生成信号sin15hz的频谱spect2。 分别选中信号s、sin15hz、spect1、spect2,单击各自列表下方的View按钮,即可观察他们的波形,如图2.6所示。图2.5 SPTool主界面图2.6 滤波前后的时域波形和频域特

25、性 由图2.6可以看出,带通滤波器filt1使输入信号s中频率为15hz的正弦波信号通过,而将频率为5hz和30hz的正弦波信号大大衰减。2.1.5 结论利用MATLAB的强大运算功能,基于MATLAB信号处理工具箱(Signal Processing Toolbox)的数字滤波器设计法可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。利用MATLAB设计数字滤波器在电力系统二次信号处理软件和微机保护中,有着广泛的应用前景。2.2 基于MATLAB的程序设计方法的各种模拟滤波器实现 下面以一

26、带通数字滤波器的设计为例,说明基于MATLAB的三种实现方法。2.2.1 基于模拟低通原型的MATLAB实现%通过模拟低通原型滤波器进行数字带通设计程序:fp=480 %模拟低通通带上限频率fs=520 %模拟低通阻带下限频率wp=2*pi*fp %模拟低通通带上限角频率ws=2*pi*fs %模拟低通阻带下限角频率rp=3 %通带波动rs=20 %阻带衰减%巴特沃斯模拟低通原型滤波器设计n,wn=buttord(wp,ws,rp ,rs,s)z,p,k=buttap(n) %模拟低通原型零、极点系数b1,a1=zp2tf(z,p,k) %零、极点系数转换为传递函数%巴特沃斯模拟低通原型滤波器

27、频率响应h1,w1=freqs(b1,a1)mag1=abs(h1)%模拟低通原型滤波器幅频特性曲线subplot(221);semilogx(w1,mag1)fw=40 %模拟带通滤波器带宽频率bw=2*pi*fw %模拟带通滤波器带宽角频率% 由模拟低通原型变换为模拟带通滤波器b2,a2=lp2bp(b1,a1,wn,bw) %模拟带通滤波函数系数%巴特沃斯模拟带通滤波器频率响应h2,w2= freqs(b2,a2)mag2 =abs(h2)%模拟带通滤波器幅频特性曲线(db)subplot(222);plot(20*log10(mag2)% 冲击响应不变法进行离散化设计fo=2000 %

28、采样频率bz,az=impinvar(b2,a2,2000) %数字带通滤波函数系数%巴特沃斯型数字带通滤波器频率响应hz,w= freqz(bz,az)magz=abs(hz)phz=unwrap(angle(hz)subplot(223);plot(magz) %数字带通滤波器幅频特性曲线subplot(224);plot(phz) %数字带通滤波器相频特性曲线图2.7 模拟低通原型滤波器频率特性2.2.2 基于合适类型模拟滤波器的MATLAB实现%通过合适类型模拟滤波器进行数字带通设计程序fp= 480,520;fs=450,550 %模拟通带、阻带频率wp=480,520*pi*2 %

29、模拟通带角频率ws=450,550*pi*2 %模拟阻带角频率rp=3;rs=20 %通带波动、阻带衰减% 巴特沃斯型模拟带通滤波器设计n,wn=buttord (wp,ws,rp,rs,s)b,a=butter(n,wn,s) %模拟带通滤波函数系数%巴特沃斯型模拟带通滤波器频率响应ha,w= freqs(b,a)ma=abs(ha);pha=unwrap(angle(ha)subplot(421);plot(w/(2*pi),ma) %模拟幅频曲线subplot(423);plot(w/(2*pi),pha) %模拟相频曲线% 冲击响应不变法进行离散化设计fo=5000 %采样频率bn,a

30、n=impinvar(b,a,5000) %数字带通滤波函数系数%巴特沃斯型数字带通滤波器频率响应hz,w=freqz(bn,an)mz=abs(hz);phz=unwrap(angle(hz)subplot(422);plot(w,mz) %数字滤波器幅频曲线subplot(424);plot(w,phz) %数字滤波器相频曲线hi=impz(bn,an) %数字滤波器冲击响应subplot(425),plot(hi) %冲击响应曲线n=0:200;t=n/fox1=2*square(2*pi*500*t) %500Hz方波信号subplot(426);plot(x1) %500Hz方波波形

31、yi=conv(hi,x1) %时域卷积输出subplot(427);plot(yi) %卷积输出波形y1=filter(bn,an,x1) %数字滤波函数输出subplot(428);plot(y1) %数字滤波器输出波形图2.8 合适类型模拟滤波器进行数字带通设计2.2.3 基于直接原型变换法的MATLAB实现%数字带通滤波器直接设计程序fp= 480,520;fs=450,550 %模拟通带、阻带频率rp=3;rs=20 %通带波动、阻带衰减fo=10000 %采样频率%频率指标变换wp=2*pi*fp/fo; %数字通带频率ws=2*pi*fs/fo; %数字阻带频率%切比雪夫1型数字

32、带通滤波器直接设计n,wn=cheb2ord(wp/pi,ws/pi,rp,rs);b,a=cheby1(n,rp,wn) %数字带通滤波器系数%切比雪夫1型数字带通滤波器频率响应h,w= freqz(b,a,128,10000)mag=abs(h);pha=unwrap(angle(h)subplot(321);plot(w,mag) %幅频曲线subplot(322);plot(w,pha) %相频曲线hi=impz(b,a) %冲击响应subplot(324);plot(hi) %响应曲线n=0:500;t=n/fox1=2*square(2*pi*500*t) %500Hz方波信号su

33、bplot(323);plot(t,x1) %500Hz方波波形yi=conv(hi,x1) %时域卷积输出subplot(326);plot(yi) %卷积输出波形y1=filter(b,a,x1) %数字滤波函数输出subplot(325); stem(y1) %数字滤波器输出波形图2.9 直接原形变换法设计的数字带通滤波器第三章 基于MATLAB的IIR数字滤波器的设计3.1 IIR滤波器有以下几个特点:1.IIR数字滤波器的系统函数可以写成封闭函数的形式。 2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成

34、直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 3IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 4IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 3.2 IIR数字滤波器设计思路与步骤IIR 数字滤波器可用一个n阶差分方程y(n)=brx(n-r)+

35、aky(n-k),或用它的Z域系统函数:对照模拟滤波器的传递函数: 不难看出,数字滤波器与模拟滤波器的设计思路相仿,其设计实质也是寻找一组系数b,a,去逼近所要求的频率响应,使其在性能上满足预定的技术要求;不同的是模拟滤波器的设计是在S平面上用数学逼近法去寻找近似的所需特性H(S),而数字滤波器则是在Z平面寻找合适的H(z)。IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,因此与模拟滤波器相匹配。由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计的关键是将H(S)H(Z),即,利用复值映射将模拟滤波器离散化。已经证明,冲击响应不变法和双线性变换法能较好

36、地担当此任,则在此基础上,数字滤波器的设计就可首先归结为模拟滤波器的设计了。 数字滤波器的设计步骤如图3.1所示。模拟滤波器技术指标相应的模拟滤波器设计数字滤波器技术指标指标参数变换模拟滤波器离散化数字滤波器图3.1 数字滤波器设计步骤3.3 IIR数字滤波器设计方法 IIR数字滤波器的设计方法有多种,可归纳为下述两种。3.3.1 传统设计方法 根据前述设计思路,首先设计一个模拟原型滤波器(截止频率为1rad/s的低通滤波器),然后在模拟域(S平面)进行频率变换,将模拟原形滤波器转换成所需类型(指定截止频率的低通、高通、带通、带阻)的模拟滤波器,再将其数字离散化,从S平面映射至Z平面,得到所需

37、技术指标的数字滤波器。 上述过程中,也可先将模拟原型离散化,得到数字原型滤波器,继而在数字域(Z平面)进行频率变换,得到所需类型的数字滤波器。 模拟滤波器到数字滤波器的转换可在时域进行也可在频域实现,时域转换的关键是要使数字滤波器与模拟滤波器时域响应的采样值相等,以保持其瞬态特性不变,常用的是冲击响应不变法。频域变换法必须使得数字滤波器在-范围内的幅频特性与模拟滤波器在-/T/T 范围内的幅频特性一致,即保证S平面与z平面上幅频特性的一一单值对应关系,常用的是双线性变换法。3.3.2 计算机辅助设计方法 传统设计方法思路清晰,步骤详尽,可参阅公式、手册循章而行。但由于计算繁琐,手工计算大多只能

38、用来进行简单低阶选频滤波器(如LP,HP,BP及BS等)的设计。计算机辅助设计方法是集电路理论、网络图论、数值分析、矩阵运算、元件建模、优化技术、高级计算机语言等多交叉学科于一身的新领域,它把计算机的快速、高精度、大存储容量、严格的逻辑判断和优良的数据处理能力与人的思维创造能力充分结合起来,极大地简化了数字滤波器的设计过程。在优秀科技应用软件MATLAB的信号处理工具箱中,提供了一整套模拟、数字滤波器的设计命令和运算函数,方便准确,简单易行,使得设计人员除了可按上述传统设计步骤快速地进行较复杂高阶选频滤波器的计算、分析外,还可通过原型变换法直接进行各种典型数字滤波器设计,即应用MATLAB设计

39、工具从模拟原型直接变换成满足原定频域指标要求的数字滤波器。 此外,MATLAB软件还提供了强大的数字滤波器优化设计功能。即预先确定一种最佳设计准则,然后直接求得在该准则下滤波器系统的传递函数b,a。这种最优设计方法可方便地用于任意幅频特性要求的多带通复杂滤波器系统的设计。与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。3.4常用模拟IIR滤波器的设计3.4.1巴特沃斯IIR滤波器的设计 在M

40、ATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。 butter函数的用法为: b,a=butter(n,Wn,/ftype/) 其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为: n,Wn= buttord(Wp,Ws,

41、Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则: 1 高通滤波器:Wp和Ws为一元矢量且WpWs;2 低通滤波器:Wp和Ws为一元矢量且WpWs; 3带通滤波器:Wp和Ws为二元矢量且WpWs,如Wp=0.1,0.8,Ws=0.2,0.7。 3.4.2契比雪夫I型IIR滤波器的设计 在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器

42、。cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。 cheby1函数的用法为: b,a=cheby1(n,Rp,Wn,/ftype/) 在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。cheblord函数的用法为:n,Wn=cheblord(Wp,Ws,Rp,Rs) 其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至

43、1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。3.5 用模拟滤波器理论来设计IIR数字滤波器3.5.1脉冲响应不变法要设计一个数字滤波器去仿真一个模拟滤波器有脉冲响应不变法和双线性变换法。其设计过程都是由给定的模拟滤波器的系统函数Ha(s)去变换出相应的数字滤波器的系统函数H(z)。脉冲响应不变法的设计过程如下:1.已知一模拟滤波器系统函数:(设MN)2. 为方便求出其时域单位脉冲响应,将上式化为部分分式之和的形式:3. 由拉氏反变换得模拟滤波器在时域的单位脉冲响应:4. 由时域的数字仿真的条件(即脉冲响应不变准则)可得相应的数字滤波器的脉冲响应:5. 再对两

44、边进行Z变换,即可得到数字滤波器的系统函数:用脉冲响应不变法来设计数字滤波器,只需将给出的模拟滤波器的系统函数Ha(s)化为部分分式之和的形式,找出极点pi和系数Ai ,带入数字滤波器传函当中即可。 脉冲响应不变法 s z由上述Ha(s) 和H(z)的表达式可看出:si=pi是模拟滤波器的一个极点,则相应的zi=ePiT就是数字滤波器里的一个极点。推而广之,则可得到脉冲响应不变法下的s平面和z平面的映射关系:z=esT 令z=ej,s=+j可得z平面的模、幅角和s平面的实部、虚部之间对应的关系:s平面z平面ImRe的周期是2的周期是2/T 图3.2 映射关系注意,由的周期性可见,必须满足模拟滤

45、波器的最高频率ms/2或频响Ha()必须在/T, /T上严格限带的。3.5.2 双线性变换法双线性变换法的思想是:将模拟滤波器的传递函数形式化为完全以积分器(1/s)构成的网络函数形式。然后由数字网络来代替模拟积分器,从而整个滤波器网络都转化成了数字的。双线性变换法的设计过程如下:1.由积分器构成的模拟滤波器的系统函数形式;2.由传递函数得信流图:X(s)Y(s)c0c1c2cN-1cNd1d2dN-1dNs-1s-1s-1A 图3.3 信号流图3.积分器的数字形式推导已知:u(t) 1/s ,若积分器的输入输出为xa(t)、 ya(t),则有: 设有0t1t2,可得:当t1 趋于t2时,可得:令t1=nTT,t2 =nT;即t1 t2 ,则T0时,有下式成立:令y(n)=ya(nT),x(n)=xz(nT),得到数字式积分器的差分方程:

温馨提示

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

评论

0/150

提交评论