




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计 论 文基于matlab的FIR滤波器的设计与仿真指导老师姓名专 业 名班 级 学 论文提交日期:论文答辩日期:2011年 12月 15 日毕业设计论文 基于matlab的FIR滤波器的设计与仿真摘 要FIR滤波器是数字滤波器系统中常见的滤波器。论文针对窗函数法、最优化设计法和最小约束二乘法三种设计方法,采用MATLAB7.0软件进行FIR滤波器的设计与仿真。最后,结合实例给出了语音滤波处理实验,形象、直观。关键词:FIR滤波器 MATLAB7.0 窗函数法 最优化设计法 最小约束二乘法I毕业设计论文AbstractThe FIR filter is a digital filt
2、er system filter. Paper against the window function method, optimization of design and minimum constraint multiplication of three design methods, MATLAB7.0 software FIR filter design and simulation. Finally, with examples given voice filtering experiments, image, and intuitive.Keywords: FIR filter M
3、ATLAB 7.0 window function method to optimize the design method of least constraint multiplicationII毕业设计论文 基于matlab的FIR滤波器的设计与仿真目录第1章 绪论. 11.1 数字滤波器的研究背景和意义 . 11.2 数字滤波器的应用及现状 . 11.3 数字滤波器的定义 . 11.4 滤波器的分类 . 2第2章 FIR数字滤波器的特性 . 32.1 FIR滤波器的线性相位特性 . 32.2 FIR滤波器的幅频特性 . 5第3章 FIR数字滤波器的设计 . 63.1 窗函数法设计FIR数
4、字滤波器 . 63.1.1 窗函数法 . 63.1.2 数字低通滤波器的窗函数法设计 . 63.1.3 基于窗函数法直接设计FIR数字滤波器 . 123.2 FIR滤波器的最优化设计法 . 133.2.1 等波纹切比雪夫逼近准则 . 143.2.2 基于切比雪夫逼近法直接设计FIR数字滤波器 . 143.3 FIR滤波器的最小二乘设计法 .16第4章 语音信号滤波处理 .19第5章 结论.26 致谢 .27 参考文献.28III毕业设计论文 基于matlab的FIR滤波器的设计与仿真第1章1.1 数字滤波器的研究背景和意义 绪论当今,数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形
5、式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是数字序列表示的信号,语音信号经采样和
6、量化后,得到的数字信号是一个一维离散时间序列。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。1.2 数字滤波器的应用及现状数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛应用于各个学科技术领域,例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代、数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大
7、多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,所以采用数字滤波器对信号进行处理是目前的发展方向。1.3 数字滤波器的定义数字滤波器通常是指一个有限精度算法实现的离散线性时不变系统。通常用的数字滤波器一般属于选频滤波器,可以用下式表示:1绪论 毕业设计论文称为滤波器幅频响应,后在时间上的延时情况。滤波器性能最容易通过它的幅频响应的形状来描述。滤波器在某个频率的幅度增益决定了滤波器对此频率输入的放大因子,增益可取任意值。增益高的频率范围,信号可以通过,称之为滤波器
8、的通带,增益低的频率范围,滤波器对信号有衰减和阻塞作用,称之位滤波器的阻带。1.4 滤波器的分类滤波器的种类很多,分类方法也不同,可以从功能上分,也可以从实现方法上分,或从设计方法上来分等。但总的来说,滤波器可分为两大类,即经典滤波器和现代滤波器。经典滤波器是假定输入信号x(n)中的有用成分和无用成分(如噪声)各自占有不同的频带,当x(n)通过滤波器后可将无用成分有效地去除。如果信号中的有用成分和无用成分的频谱相互重叠,那么经典滤波器将无法滤除信号的无用成分。现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称为时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号
9、与原信号相比会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如功率谱)推导出一套最佳的估值算法,然后用硬件或软件予以实现。经典滤波器从功能上可分为四种,即低通(LP,Low Pass)、高通(HP,High Pass)、带通(BP,Band Pass)和带阻(BS,Band Stop)滤波器,每一种又有模拟滤波器(AF)和数字滤波器(DF)两种形式。数字滤波器按照单位取样响应h(n)的时域特性可分为无限脉冲响应(IIR,Infinite Impulse Response)系统和有限脉冲响应(FIR,Finite Impulse Response)系统。如果单位取样响应
10、是时宽无限的h(n),n0<n<则称之为IIR系统;而如果单位取样响应是时宽有限的h(n),n1nn2,则称之为FIR系统。称为滤波器的相频响应。幅频响应表示信号通过该滤波器后各频率成分的衰减情况,而相频响应反映各频率成分通过滤波器2毕业设计论文 基于matlab的FIR滤波器的设计与仿真第2章 FIR数字滤波器的特性FIR数字滤波器的冲激响应h(n)的Z变换为:N-1H(z)=åh(n)zn=0-n=h(0)+h(1)z-1+h(N-1)z-(N-1) (2-1)其中滤波器最重要的两个特性为线性相位特性和幅度特性。2.1 FIR滤波器的线性相位特性由式(2-1)可以看出
11、,H(z)是z-1的N-1次多项式,它在z平面内有N-1个零点,同时在原点有N-1个重极点。因为FIR数字滤波器的单位冲激响应是有限长的,所以它永远都是稳定的。在数字信号处理的许多领域中,常常要求滤波器具有线性相位,达到这一要求,仅需要对FIR数字滤波器的冲激响应h(n)施加一定的约束。令z=ejw,就可由H(z)得到FIR数字滤波器的频率响应:N-1H(ejw)=H(z)|z=ejw=åh(n)en=0-jwn=H(w)ejq(w) (2-2)式中H(w)是H(ejw)的幅频特性,q(w)是H(ejw)的相频特性q(w)=arctan(Im(H(eRE(H(ejwjw) (2-3)
12、当要求滤波器具有严格的线性相位,或者说具有相位不失真时,应有:q(w)=-tw (2-4)N-1即 tw=-arctan-åh(n)sin(wn)n=0N-1 (2-5)åh(n)cos(wn)n=0N-1也即 tan(tw)=åh(n)sin(wn)n=0N-1 (2-6)åh(n)cos(wn)n=0将式(2-6)展开可得:3FIR数字滤波器的特性 毕业设计论文åh(n)cos(wn)sin(wt)-sin(wn)cos(wt)=0 (2-7)n=0N-1式(2-7)的左边具有傅里叶级数的形式。由于FIR数字滤波器的冲激响应h(n)为实数,
13、若h(n)呈偶对称,即h(n)=h(N-1-n) (2-8a)其对称中心在t=N-12 (2-9)此时有N-1H(z)=åh(n)zn=0-n=zN-1N-1-()2n=0åh(n)z-(n-N-12)+z2(n-N-12) (2-10)因此:H(ejw)=e-j(N-1N-1)2åh(n)cos(N-12-n)w (2-11)n=0根据式(2-2),有N-1H(w)=ån=0h(n)cos(N-12-n)w (2-12a)q(w)=-(N-12)w=-tw (2-12b)若h(n)呈奇对称,h(n)=-h(N-1-n) (2-8b) 其对称中心也在t=
14、H(w)=N-12N-1处。此时有: N-12-n)w (2-13a) åh(n)sin(n=0q(w)=-(N-12)w+p2=-tw+p2 (2-13b)p2即h(n)呈奇对称的滤波器相位与h(n)呈偶对称的相位产生了+的相移。式(2-8)和式(2-9)是FIR数字滤波器具有线性相位的充要条件。即它要求FIR数字滤波器的单位冲激响应h(n)的序列必须满足式(2-8)所表示的特定的对称性,其相位延迟 4毕业设计论文 基于matlab的FIR滤波器的设计与仿真 等于h(n)长度的一半,即N-12个采样周期。2.2 FIR滤波器的幅频特性FIR滤波器的幅频特性可以分为以下4种情况:(1
15、)h(n)为偶对称,且N为奇数(型滤波器)当h(n)为偶对称,且N为奇数时,根据式(2-12)滤波器的幅频函数可以表示为:(N-1)/2H(w)=ån=0a(n)cos(wn) (2-14) N2N-12其中a(0)=h(偶对称。 N-12),a(n)=2h(-n),n=1,2,。此时,H(w)对w=0,p,2p呈(2)h(n)为偶对称,且N为偶数(型滤波器)当h(n)为偶对称,且N为偶数时,根据式(2-12)滤波器的幅频函数可以表示为:N/2H(w)=ån=1b(n)cos(w(n-12) (2-15) 其中:b(n)=2h(N故高通滤波器不能用这种方法实现。(3)h(n
16、)为奇对称,且N为奇数(型滤波器)当h(n)为奇对称,且为奇数时,根据式(2-13)滤波器的幅频函数可以表示为:(N-1)/2N-n),n=1,2,22。此时H(w)对w=p呈奇对称。但是H(p)=0,H(w)=Nån=1c(n)sin(wn) (2-16) 其中c(n)=2hN-1-n),n=1,2,。此时H(w)222p呈奇对称。但是当对w=0,p,w=0,p,2p时,H(w)=0,所以低通、高通滤波器不能采用这种形式。(4)h(n)为奇对称,且N为偶数(型滤波器)当h(n)为奇对称,且N为偶数时,根据式(2-13)滤波器的幅频函数可表示为:N/2H(w)=ån=1d(
17、n)sin(w(n-12) (2-17) 5FIR数字滤波器的设计 毕业设计论文 其中:d(n)=2h(N2对称。但是当w=0,2p-n),n=1,2,N2时,H(w)=0,所以低通滤波器不能采用这种形式。 2p呈奇对称,对w=p呈偶。此时H(w)对w=0,第3章 FIR数字滤波器的设计3.1 窗函数法设计FIR数字滤波器3.1.1 窗函数法设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应Hd(ejw),设计一个FIR数字滤波器频率响应H(ejw),去逼近理想的滤波器频率响应Hd(ejw)。然而,窗函数法设计FIR
18、数字滤波器是在时域进行的,因而必须由理想的频率响应Hd(ejw)推导出对应的单位取样响应hd(n),再设计一个FIR数字滤波器的单位取样响应h(n)去逼近hd(n)。设计过程如下:)¾¾¾®hdn(¾)¾¾®hn(¾)¾¾®He( ) (3-1) Hd(e加窗的作用是通过把理想滤波器的无限长脉冲响应生一个被截断的脉冲响应,即h(n)=hd(n)w(n)hd(n)jwIDTFFT*()wnDTFTjw乘以窗函数w(n)来产。MATLAB工具箱提供的窗函数有:矩形窗(Rectan
19、gularwindow)、三角窗(Triangular window)、布拉克曼窗(Blackman= window)、汉宁窗(Hanningwindow)、海明窗(Hamming window)、凯塞窗(Kaiser window)、切比雪夫窗(Chebyshev window)。3.1.2 数字低通滤波器的窗函数法设计假设理想低通数字滤波器的频率响应Hd(ejw)如图3.1所示,其幅频特性为Hd(ejw)=1。那么该滤波器的:6毕业设计论文 基于matlab的FIR滤波器的设计与仿真Hd(ejw-jwtì,w£wcïe)=íïî0
20、,p³w>wc(3-2-1)式中wc表示截止频率(rad),t表示采样延迟。w图3.1 理想低通数字滤波器幅频特性由此可得理想数字低通滤波器的单位冲激响应hd(n)为:hd(n)=12pòp-pHd(ejw)ejwndw=12pòw-wcec-jwtejwndw=sinwc(n-t)p(n-t)(3-2-2)根据式(3-2-2),可知hd(n)为无限非因果序列,关于t对称。为了从hd(n)得到一个因果线性相位的FIR滤波器,必须利用有限长度N的窗函数wN(n)对hd(n)进行截取,截取后的冲激响应函数h(n)可表示为:ìhd(n)wN(n),n=0
21、,1,,N-1h(n)=í (3-2-3)0,其他î此时h(n)为关于t=N-12偶对称的有限因果序列。当N为奇数时,所设计的FIR数字高通滤波器为型滤波器;当N为偶数时,为型滤波器。而h(n)表示的滤波器的频率特性为:H(ejw)=12pòpH-pd(ejq)W(ejqj(w-q)dq(3-2-4)jwH(ejw)是否能够很好地逼近Hd(e)取决于窗函数的频率特性W(e)。若将理想滤波器的频率响应写成:7FIR数字滤波器的设计 毕业设计论文Hd(ejw)=Hd(w)e-j(N-12)w (3-2-5)其中幅度频率特性:ì1,w£wcï
22、;Hd(w)=íïî0,wc<w£p (3-2-6)此时,h(n)滤波器的频率特性可表述为:H(ejw)=12pòp-pHd(q)e-j(N-12)qWR(w-q)e-j(w-q)(N-12)dq=e-j(N-12)w12pòpH-pd(q)WR(w-q)dq(3-2-7)由此可以得到所设计的滤波器的幅度频率特性为:H(w)=H(ejw)=12pòpH-pd(q)WR(w-q)dq (3-2-8)由式(3-2-8)可见,对实际FIR滤波器H(w)有影响的只是窗函数的幅度频率特性WR(w)。实际中的FIR滤波器的幅度频率
23、特性,是理想低通滤波器的幅度频率特性和窗函数的幅度频率特性的复卷积。复卷积给H(w)带来过冲和波动,所以加窗函数后,对滤波器的理想特性的影响有以下几点:(1)Hd(w)在截止频率的间断点变成了连续的曲线,使得H(w)出现了一个过渡带,它的宽度等于窗函数的主瓣宽度。由此可知,如果窗函数的主瓣越宽,过渡带就越宽。(2)由于窗函数旁瓣的影响,使得滤波器的幅度频率特性出现了波动,波动的幅度取决于旁瓣的相对幅度。旁瓣范围的面积越大,通带波动和阻带的波动就越大,也就是说阻带的衰减越小。而波动的多少,取决于旁瓣的多少。(3)增加窗函数的长度,只能减少窗函数的幅度频率特性W(w)的主瓣宽度,而不能减少主瓣和旁
24、瓣的相对值,该值取决于窗函数的形状,即增加截取函数的长度N只能相应的减少过渡带,而不能改变滤波器的波动程度。为了满足工程上的需要,可以通过改变窗函数的形状来改善滤波器的幅度频率特性,而窗函数的选择原则是:(1) 具有较低的旁瓣幅度,尤其是第一旁瓣的幅度;(2) 旁瓣的幅度下降的速率要快,以利用增加阻带的衰减;(3) 主瓣的宽度要窄,这样可以得到比较窄的过渡带。通常上述的几点难以同时满足。当选用主瓣宽度较窄时,虽然能够得到比较陡峭, 8毕业设计论文 基于matlab的FIR滤波器的设计与仿真 但是通带和阻带的波动明显增加。当选用比较小的旁瓣幅度时,虽然能够得到比较平坦和匀滑的幅度频率响应,但是过
25、渡带将加宽,因此实际中选用的窗函数往往是它们的折中。在保证主瓣的宽度达到一定要求的条件下,适当牺牲主瓣的宽度来换取旁瓣的波动减少。以上是从幅度频率特性设计方面对窗函数提出的要求,实际中设计FIR数字滤波器往往要求是线性相位的,因此要求w(n)满足线性相位的条件,即要求w(n)满足:w(n)=w(N-1-n) (3-2-9)所以窗函数不仅有截短的作用,而且能够起到平滑的作用,在很多领域得到了应用。、型理想低通滤波器的单位冲激响应hd(n)计算的MATLAB实现如例程3-1.1所示。例程3-1.1 、型理想低通滤波器的单位冲激响应function hd=ideal_lp(Wc,N)%compute
26、 the ideal lowpass fiter unit pulse respondence hd(n)%wc:cutoff frequency%N:window length%hd:unit pulse respondencealpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(Wc*m)./(pi*m);现举例说明:根据下列技术指标,设计一个FIR数字低通滤波器:Wp=0.3Pi, Ws=0.6Pi, Ap=0.25db, As=50db选择海明窗来设计该滤波器,确定单位冲激响应,绘出所设计滤波器的幅度响应。 解:matlab程序实现如下:%use h
27、amming window to design lowpass digital filterclear all;Wp=0.3*pi;Ws=0.6*pi;tr_width=Ws-Wp; %过渡带宽度N=ceil(6.6*pi/tr_width)+1 %滤波器长度n=0:1:N-1;9 hd(n)计算FIR数字滤波器的设计 毕业设计论文 Wc=(Ws+Wp)/2; %理想低通滤波器的截止频率hd=ideal_lp(Wc,N); %理想低通滤波器的单位冲激响应 w_ham=(hamming(N); %海明窗h=hd.*w_ham; %截取得到实际的单位脉冲响应db,mag,pha,w=freqz_m
28、2(h,1); %计算实际滤波器的幅度响应 delta_w=2*pi/1000;Ap=-(min(db(1:1:Wp/delta_w+1) %实际通带纹波As=-round(max(db(Ws/delta_w+1:1:501) %subplot(221)stem(n,hd)title(理想单位脉冲响应hd(n)subplot(222)stem(n,w_ham)title(海明窗w(n)subplot(223)stem(n,h)title(实际单位脉冲响应hd(n)subplot(224)plot(w/pi,db)title(幅度响应(dB)axis(0,1,-100,10)运行后,有如下结果:
29、N =23Ap =0.0448As =53实际阻带纹波 10毕业设计论文 基于matlab的FIR滤波器的设计与仿真理想单位脉冲响应hd(n)海明窗w(n)010203040010203040实际单位脉冲响应hd(n)幅度响应(dB)-50010203040-10000.51图3.2 II型FIR数字低通滤波器冲激响应与幅度响应其中freqz_m2.m文件内容如下:function db,mag,pha,w=freqz_m2(b,a)% db为相对振幅% mag为绝对振幅% pha为相位响应% w为采样频率% b为Ha(z)的分子多项式系数(对FIR,b=h)% a为Ha(z)的分母多项式系数
30、(对FIR,a=1)h,w=freqz(b,a,1000,'whole');h=(h(1:1:501)'w=(w(1:1:501)'mag=abs(h);db=20*log10(mag+eps)/max(mag);pha=angle(h);11FIR数字滤波器的设计 毕业设计论文3.1.3 基于窗函数法直接设计FIR数字滤波器基于窗函数法直接设计FIR数字滤波器的matlab函数主要有fir1、fir2和kaiserord三种函数,下面举例介绍fir1函数的应用。fir1函数在matlab中,fir1函数实现了加窗线性相位FIR数字滤波器的经典设计方法,主要用于
31、常用的标准通带滤波器的设计,包括低通、高通、带通、和带阻数字滤波器。fir1函数的具体算法是:如果窗函数为w(n),理想滤波器的单位脉冲响应为h(n),则所设计的滤波器的系数为b(n)=w(n)h(n),其中1nN。fir1函数的具体语法形式如下: l b=fir1(N,Wn)l b=fir1(N,Wn,ftype)l b=fir1(N,Wn,window)l b=fir1(N,Wn,ftype,window)l b=fir1(,normalization)b=fir1(N,Wn)返回向量b,包含N+1个元素,是滤波器传递函数的N+1个系数组成的向量;参数N为滤波器的阶次;Wn为归一化的截止频
32、率,在区间0 1上取值,当Wn=1时,它对应于信号采样频率的一半,如果Wn是一个含有两个数的向量,即Wn=w1 w2,则fir1函数返回一个N阶带通滤波器的系数,带通滤波器的的通带范围为:w1<w<w2,如果Wn是一个含有多个数的向量,即Wn=w1 w2 w3 w4 w5wn,则fir1函数返回一个N阶的多带性相位FIR滤波器的系数,该多带滤波器的通带范围为:0<w<w1,w1<w<w2,wn<w<1。b=fir1(N,Wn,ftype)可以通过改变参数ftype的值设计高通或带阻滤波器。 l 当ftype=high时,设计得到的滤波器是截止频率
33、为Wn的高通滤波器; l 当ftype=stop时,设计带阻滤波器,频带为Wn=w1 w2;l 当ftype=DC-0时,设计多带滤波器,并使其第一带为通带;l 当ftype=DC-1时,设计多带滤波器,并使其第一带为阻带。b=fir1(N,Wn,window)的参数window必须是一个长度为N+1的列向量,如果没用指定窗函数,fir1将采用默认的海明窗函数。举例说明:matlab中的chirp.mat文件中存储信号y的数据,该信号的大部分能量集中在Fs/4(或二分之一奈奎斯特)以上,试设计一个34阶的FIR高通滤波器,滤除频率低于Fs/4的信号成分,其中滤波器的截止频率为0.48(归一化后
34、的频率)、阻带衰减为30db、滤波器窗采用切比雪夫窗。解:matlab程序实现如下:%to test fir1 and to design highpass FIR filterclear all;load chirp %loads y and Fs12毕业设计论文 基于matlab的FIR滤波器的设计与仿真window=chebwin(35,30);b=fir1(34,0.48,'high',window);yfilt=filter(b,1,y);Py,fy=pburg(y,10,512,Fs); %滤波器前信号频谱Pyfilt,fyfilt=pburg(yfilt,10,5
35、12,Fs); %滤波器后信号频谱 plot(fy,10*log10(Py),'.',fyfilt,10*log10(Pyfilt);grid onylabel('幅度(dB)');xlabel('频率(Hz)');legend('滤波前的线性调频信号','滤波后的线性调频信号')幅度(dB)05001000150020002500频率(Hz)3000350040004500图3.3 滤波器前后的频谱比较3.2 FIR滤波器的最优化设计法最优化设计方法是指采用最优化准则来设计的方法。在FIR DF的最优化设计中,最
36、优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。实际设计中,只有采用窗函数法中的矩形窗才能满足前一种最优化准则,但由13FIR数字滤波器的设计 毕业设计论文 于吉布斯 (Gibbs )效应的存在,使其根本不能满足设计的要求。为了满足设计的要求 ,可以采用其它的窗函数来消除吉布斯效应 ,但此时的设计已经不能满足该最优化准则了。因此,要完成 FIR DF的最优化设计,只能采用后一种优化准则来实现。3.2.1 等波纹切比雪夫逼近准则尽管窗函数法在FIR数字滤波器的设计中有着广泛的应用,但不是最优化的设计。通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。等波纹
37、切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带)的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得Hd(ejw)和H(ejw)之间的最大绝对误差最小。等波纹切比雪夫逼近是采用加权逼近误差E(ejw),它可以表示为:E(ejw)=W(ejw)(dH(e-)jwH(e (3-4) jw其中,W(ejw)为逼近误差加权函数在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。尽管按照FIR数字滤波器单位取样响应h(n)的对称性和N的奇、偶性,FIR数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形
38、式:H(e)=ejw-j(N-1wej(p2)kH(w) (3-5)其中,k0 ,1 , H ()为幅度函数,且是一个纯实数,表达式也可以写成统一的形式:Hd(ejw)=Qw(P)w( ) (3-6)其中,Q(w)为的固定函数,P(w)为M个余弦函数的线性组合。3.2.2 基于切比雪夫逼近法直接设计FIR数字滤波器基于切比雪夫逼近法直接设计FIR数字滤波器的MATLAB函数主要有firls、remez和remezord三种函数。函数firls是函数fir1和fir2的扩展,函数firls与remez和remezord在使理想滤波器的频率响应与实际滤波器的频率响应之间的整体误差最小时,均采用切比
39、雪夫原理。下面举例介绍remez函数的应用。14毕业设计论文 基于matlab的FIR滤波器的设计与仿真 remez函数其调用格式是b=remez(n,f,a)b= remez(n,f,a,w)b= remez(n,f,a,ftype)b= remez(n,f,a,w,ftype)l 该函数用于设计n阶FIR滤波器,其幅频特性由f和a向量确定,调用后返回长度为n+1的滤波器系数向量b,且这些系数遵循以下偶对称关系:l f是频率点向量,范围为,频率点是逐渐增大,允许向量中有重复的频率点;a是指定频率点的幅频响应。l 参数w为权向量,它的长度与参数a相同,因此每个频带都有一个权值与其对应。 l 参
40、数ftype用于指定所设计的滤波器类型,ftype=hilbert,为奇对称的线性相位滤波器,返回的滤波器系数满足b(k)=-b(n+2-k),k=1,2.,n+1;ftype=differentiator,则采用特殊加权技术,生成奇对称的线性相位滤波器,使低频段误差大大小于高频段误差。举例说明:利用remez函数设计一个17阶的带通滤波器,并绘出理想滤波器与实际滤波器的幅频响应曲线,其中理想滤波器的频率与幅度条件为:f=0 0.3 0.4 0.6 0.7 1a=0 0 1 1 0 0解:matlab实现例程如下:%to test remez and to design bandpass FI
41、R filterclear all;f=0 0.3 0.4 0.6 0.7 1;a=0 0 1 1 0 0;b=remez(17,f,a);h,w=freqz(b,1,512);plot(f,a,'k-',w/pi,abs(h),'k.')legend('理想滤波器','实际滤波器')15FIR数字滤波器的设计 毕业设计论文00.10.20.30.40.50.60.70.80.91图3.4基于remez函数设计的FIR带通滤波器与理想滤波器的幅频响应曲线3.3 FIR滤波器的最小二乘设计法FIR滤波器的约束最小二乘法(CLS)的关
42、键特点,是在给定滤波器幅频响应最大允许波纹的上下阀值约束条件下,使实际滤波器的幅频响应在整个频率范围内(包括幅频响应不连续的任何区域)误差平方最小化,以逼近理想滤波器的幅频特性。约束最小二乘法并不需要定义通带、阻带或过渡带的区域,只需要定义截止频率(对于高通、低通、带通或带阻等滤波器)或通带和阻带边界频率(对于多频带滤波器)。所以在某些情况下,当无法确定过渡带的位置时,该方法则成为首选的滤波器设计方法。CLS方法包含两种matlab函数,即fircls1函数和fircls函数,其中函数fircls用于设计低通和高通线性相位数字滤波器,而函数fircls1用于设计多带FIR数字滤波器。下面举例介
43、绍fircls函数的应用fircls函数调用方式:l b=fircls(n,f,a,up,lo)l b=fircls(n,f,a,up,lo,design_flag)函数通过最小二乘算法原则,设计一个由f和a指定幅频响应和实线性相位对称的n阶FIR数字滤波器。16毕业设计论文 基于matlab的FIR滤波器的设计与仿真 l 输入参数f是频带边缘频率向量,单位Hz。输入参数f的取值范围为(0.0,1.0),其中1对应于0.5fs,这里的fs为采样频率;而且f的元素必须是按照升序来排列的。l 输入参数a是由f指定的各个频带上的幅值向量,它们的长度关系满足下式: Length(a)=length(f
44、)-1这里,length(a)为划分的不同频段数。ll 输入参数up和lo用来指定各频段幅度波动的上下限值,而且它们的长度必须与a的长度相同。 design_flag为滤波器设计监测标志。当design_flag= trace时,则以文本显示设计报表;当design_flag=plots时,则以图形方式绘出滤波器的幅度、群延迟,以及零极点图;l design_flag=both时,则同时采用文本方式和图形方式。 返回函数b为滤波器系数向量,向量长度为N+1。例5:利用fircls函数设计一个阶次为50,且满足下列指标的带通滤波器: f=0 0.4 0.8 1, a=0 1 0,up=0.02
45、1.02 0.01,lo=-0.02 0.98 -0.01解:matlab实现例程如下;%to test fircls and to design bandpass FIR filterclear all;n=50;f=0 0.4 0.8 1;amp=0 1 0;up=0.02 1.02 0.01;lo=-0.02 0.98 -0.01;b=fircls(n,f,amp,up,lo,'plots');%plot magnitude response设计的实际滤波器的特性曲线如下图所示:17FIR数字滤波器的设计 毕业设计论文-20.10.20.30.40.50.60.70.80
46、.911#0.02 dnaB-0.020.050.10.150.20.250.30.350.42#dnaB0.40.450.50.550.60.650.70.750.83#0.01 dnaB-0.010.80.820.840.860.880.90.920.940.960.981Frequency图3.5 基于fircls函数设计的FIR带通滤波器的特性曲线18毕业设计论文 基于matlab的FIR滤波器的设计与仿真第4章语音信号滤波处理语音信号滤波处理的基本思路为通过调用hello,kugou.wav文件,加入利用matlab产生的随机性噪声信号,得到滤波前的语音信号。其次,设计一个低通滤波器
47、滤除噪声,得到滤波后的语音信号。最后,将滤波前后的语音信号进行回放,比较滤波效果。语音信号的采样在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。wavread函数调用格式l y=wavread(file),读取file所规定的.wav文件,返回采样值放在向量y中。 l y,fs,nbits=wavread(C:UsersAdministratorDesktopdog.wav),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。对语音信号“hello,kugou.wav”进行采样其程序如下:y,fs,nbits=wavread(
48、39; hello,kugou.wav ')运行可得:采样频率fs =22050Hz ,数据位nbits =16Bit。语音信号的频谱分析首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab中可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱图其程序如下:y,fs,nbits=wavread('d:MATLAB7work声音信号处理hello,kugou.wav'); sound(y,fs,nbits); %对加载的语音信号进行回放Y=fft(y); %快速傅里叶变换figure(1)subplot(2 ,1 ,1),plot(y);title
49、('声音信号的波形');subplot(2 ,1 ,2),plot(abs(Y);title('声音信号的频谱');程序结果如下图:19语音信号滤波处理 毕业设计论文图4.1声音信号的波形及频谱噪声信号的构建程序如下:y=wavread('d:MATLAB7work声音信号处理hello,kugou.wav');N=length(y); %求出语音信号的长度noise=randn(N,1)/20; %噪声信号的函数z=fft(noise); %快速傅里叶变换figure(2)subplot(2 ,1 ,1),plot(noise);title(&
50、#39;噪声信号波形');subplot(2 ,1 ,2),plot(abs(z);title('噪声信号频谱');sound(noise,fs,nbits)程序结果如下图:20毕业设计论文 基于matlab的FIR滤波器的设计与仿真图4.2噪声信号波形及频谱加入噪声的语音信号的频谱matlab程序如下:y=wavread('d:MATLAB7work声音信号处理hello,kugou.wav');N=length(y);k=y+noise; %噪声信号的叠加figure(3)subplot(2,1,1);plot(k);title ('滤波前声
51、音信号的时域波形');K=fft(k);subplot(2,1,2);plot(abs(K);title ('滤波前声音信号的频域波形');21语音信号滤波处理 毕业设计论文 sound(k,fs,nbits)程序结果如下图:图4.3加入噪声的语音信号的波形及频谱滤波器的设计Matlab程序如下:Ft=22050;Fp=1600;Fs=3000;wp=2*Fp/Ft;ws=2*Fs/Ft;Ap=1;As=50;p=1-10.(-Ap/20);s=10.(-As/20);fpts=wp ws;22毕业设计论文 基于matlab的FIR滤波器的设计与仿真 mag=1 0;dev=p s;N ,wc,beta,ftype=kaiserord(fpts,mag,dev);b=fir1(N,wc,kaiser(N+1,beta);h,w=freqz(b,1);figure(4)plot(w/pi,abs(h);title('FIR低通滤波器');grid;程序结果如下图:图4.4设计的FIR低通滤波
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 野生动物疫病监测与兽医公共卫生考核试卷
- 软件测试工程师考试轻松掌握试题及答案
- 焙烤食品制造企业的营销渠道与客户关系管理考核试卷
- 公路工程生态设计理念试题及答案
- 船舶设计与仿真技术考核试卷
- 嵌入式开发实现中的思维方式探讨试题及答案
- 现代数据库与网络服务整合试题及答案
- 大学公寓社区管理制度
- 公司现场定置管理制度
- 计算机二级MySQL实务题目及答案
- (全册完整16份)北师大版五年级下册100道口算题大全
- 维修电工求职简历
- 人教版历史八年级上册知识点
- 麻醉药品和精神药品培训试题
- GB/T 799-2020地脚螺栓
- 非小细胞肺癌寡转移灶中立体定向放疗的运用,放射医学论文
- 远足拉练动员大会课件
- 出租房屋安全检查记录
- 夏季养胃知识课件
- 人教版PEP六年级英语下册单词听写(带四线格)
- 国家开放大学《财务管理#》形考任务1参考答案
评论
0/150
提交评论