您好,欢迎访问三七文档
目录1课程设计的目的…………………………………………………………………12课程设计的要求…………………………………………………………………13课程设计报告内容………………………………………………………………13.1数字滤波器简介……………………………………………………………13.2FIR滤波器的设计原理……………………………………………………23.3窗函数法设计原理…………………………………………………………43.4用窗函数法设计FIR滤波器的步骤………………………………………53.5设计题目及程序的代码……………………………………………………63.6设计并用matlab仿真后的结果…………………………………………94总结……………………………………………………………………………101用布莱克曼窗设计数字带通滤波器1.课程设计的目的通过自己设计并建立数字信号处理系统,掌握数字信号处理系统的的基本原理,加深对数字信号处理的认识,提高实际应用、动手能力。学会使用MATLAB仿真工具,使得计算机模拟实现对数字信号处理系统的仿真;掌握FIR滤波器的参数选择及设计方法;提高Matlab下的程序设计能力及综合应用能力;理解用窗函数设计数字滤波器的基本思想。2.课程设计的要求1.巩固和加深对数字信号处理课程的基本知识的理解和掌握;2.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;3.学会使用MATLAB,掌握MATLAB的程序设计方法;4.综合运用数字信号处理的基本理论,基本概念,基本方法进行频谱分析和IIR滤波器以及FIR滤波器的设计;5.了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程;6.设计的题目要求达到一定工作量,并具有一定的深度和难度;7.能独立编写出课程设计说明书,准确分析设计结果。3.课程设计报告内容3.1数字滤波器简介数字滤波器(DigitalFilter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠2性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器有低通、高通、带通、带阻等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器。3.2FIR滤波器的设计原理滤波器的单位脉冲响应h(n)长度为N,那么H(z)是z-1的N-1次多项式(FIR滤波器的阶数是N-1)该系统在z平面上有N-1个零点,在z=0处有一个N-1重极点。系统永远稳定。1.线性相位FIRDF设FIRDF的单位脉冲响应h(n)长度为N,则其频率响应函数为H(ejω)=Hg(ω)ejθ(ω)式中,Hg(ω)称为幅度特性函数,是ω的实函数(可以取负值),与|H(ejω)|不同;θ(ω)称为相位特性函数。2.线性相位条件对FIRDF时域约束10()()NnnHzhnz()()NjjnnHehne1033.线性相位FIR滤波器幅度特性Hg(ω)的特点h(n)对称性h(n)长度N幅度函数Hg(ω)相位特性θ(ω)可以设计的滤波器类型第一类线性相位偶对称奇数ω=0,π,2π三点偶对称四种滤波器都可设计第一类线性相位偶对称偶数关于ω=π奇对称,关于ω=0,2π偶对称不能实现高通和带阻滤波特性。第二类线性相位奇对称奇数ω=0,π,2π三点奇对称只能设计带通滤波器第二类线性相位奇对称偶数关于ω=π偶对称,关于ω=0,2π奇对称可设计高通、带通滤波器,不能设计低通和带阻12N12N12N1/22N1/22N4线性相位FIR数字滤波器的零点分布特点3.3窗函数法设计原理一个理想数字滤波器的频率响应为Hd(ejω),对应的时域序列为滤波器的单位脉冲响应hd(n),是无限长非因果的。设计FIR-DF就是要设计一个数字系统,去逼近理想数字滤波器的频率响应为Hd(ejω)。窗函数法就是对无限长的hd(n)加窗(用窗函数与之相乘,从而使之变成有限长的)下面主要介绍课程设计中用到的布莱克曼窗。其频谱函数为:线性相位FIR数字滤波器的零点分布)(1π4cos08.01π2cos5.042.0)(BlnRNnNnnN)()()(1π4jR1π4jR1π2jR1π2jRjRjBlee04.0e)e(25.0)e(42.0)e(NNNN53.4用窗函数法设计FIR滤波器的步骤(1)选择窗函数类型和长度,写出窗函数w(n)表达式。根据阻带最小衰减选择窗函数w(n)的类型,再根据过渡带宽度确定所选窗函数的长度N。(2)构造希望逼近的频率响应函数Hd(ejω)。布莱克曼窗的四种波形其幅度函数为这样其幅度函数由五部分组成。它们都是移位不同,且幅度也不同的Wrg(w)函数,使旁瓣再进一步抵消。旁瓣峰值幅度进一步增加,其幅度谱主瓣宽度是矩形窗的3倍。布莱克曼窗的四种波形如下图所示。参数为:n=-57dB;ΔB=12π/N;s=-74dB。1π41π404.01π21π225.0)(42.0)(RgRgRgRgRgBlgNWNWNWNjj(1)/2ddg(e)()eNHHcdgc1||()0||πH2spc6(3)计算:或者可以直接写出低通单位脉冲响应(4)加窗得到设计结果:h(n)=hd(n)w(n)3.5设计题目及程序的代码用窗函数法设计数字带通滤波器:下阻带边缘:Ws1=0.2pi,As=60dB下通带边缘:Wp1=0.35pi,Rp=1dB上通带边缘:Wp2=0.65pi,Rp=1dB上阻带边缘:Ws2=0.8pi,As=60dB根据窗函数最小阻带衰减的特性。以及关参照窗函数的基本参数表,选择布莱克曼窗可达到75dB最小阻带衰减,其过渡带为11pi/N。以下为用布莱克曼窗设计数字带通滤波器的程序代码:clearall;wp1=0.35*pi;wp2=0.65*pi;ws1=0.2*pi;ws2=0.8*pi;As=60;tr_width=min((wp1-ws1),(ws2-wp2));%过渡带宽度M=ceil(11*pi/tr_width)+1%滤波器长度M=75n=[0:1:M-1];wc1=(ws1+wp1)/2;%理想带通滤波器的下截止频率wc2=(ws2+wp2)/2;%理想带通滤波器的上截止频率hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);w_bla=(blackman(M))';%布莱克曼窗h=hd.*w_bla;%截取得到实际的单位脉冲响应[db,mag,pha,grd,w]=freqz_m(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;deeHnhnjjdd)(21)(sin(())()()cdnhnn7Rp=-min(db(wp1/delta_w+1:1:wp2/delta_w))%实际通带纹波As=-round(max(db(ws2/delta_w+1:1:501)))%实际通带纹波As=75%plotssubplot(2,2,1);stem(n,hd);title('idealimpulseresponse')%理想单位脉冲响应hd(n)axis([0M-1-0.40.5]);xlabel('n');ylabel('hd(n)')subplot(2,2,2);stem(n,w_bla);title('blackmanwindow')%布莱克曼窗w(n)axis([0M-101.1]);xlabel('n');ylabel('w(n)')subplot(2,2,3);stem(n,h);title('actualimpulseresponse')%实际单位脉冲响应hd(n)axis([0M-1-0.40.5]);xlabel('n');ylabel('h(n)')subplot(2,2,4);plot(w/pi,db);axis([01-15010]);title('magnituderesponseindb');%幅度响应(dB)grid;xlabel('frequenceinpiunits');ylabel('decibles')8在设计过程中调用的子程序:functionhd=ideal_lp(wc,M);%计算理想低通滤波器的脉冲响应%------------------------------------%[hd]=ideal_lp(wc,M)%hd=理想脉冲响应0到M-1%wc=截止频率%M=理想滤波器的长度%alpha=(M-1)/2;n=[0:1:(M-1)];m=n-alpha+eps;%加上一个很小的值eps避免除以0的错误情况出现hd=sin(wc*m)./(pi*m);以及function[db,mag,pha,grd,w]=freqz_m(b,a);%Modifiedversionoffreqzsubroutine%-------------------------------------%[db,mag,pha,grd,w]=freqz_m(b,a);%db=RelativemagnitudeindBcomputedover0topiradians%mag=absolutemagnitudecomputedover0topiradians%pha=Phaseresponseinradiansover0topiradians%grd=Groupdelayover0topiradians%w=501frequencysamplesbetween0topiradians%b=numeratorpolynomialofH(z)(forFIR:b=h)%a=denominatorpolynomialofH(z)(forFIR:a=[1])%[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);9db=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(b,a,w);3.6设计并用matlab仿真后的结果104.总结设计带通滤波器是首先要计算出过渡带。然后查表得到不同窗函数所需要的阶数,不同的窗函数所设计的滤波器的形状各有差异。所以实际应用中应根据实际情况,折中处理,兼顾各项指标。通过这次设计,对数字带通滤波器有了更深刻的理解。熟悉matlab的运行环境,其中对于布莱克曼窗的原理也有了更透彻的理解。初步掌握了matlab语言在数字信号处理中的一些基本库函数的调用和编写基本程序等应用。学会了数字滤波器的设计的一般步骤及处理后的结果。掌握了窗函数的基本知识及实际应用技巧。进一步认识到了将所学的东西运用于实践的重要性。收获颇多。
本文标题:滤波去噪音要点
链接地址:https://www.777doc.com/doc-5163924 .html