《本科毕业设计论文--通信工程基于matlab和双线性变换法的数字巴特沃斯高通iir滤波器.doc》由会员分享,可在线阅读,更多相关《本科毕业设计论文--通信工程基于matlab和双线性变换法的数字巴特沃斯高通iir滤波器.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、武汉理工大学MATLAB原理与应用课程设计说明书课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 基于MATLAB和双线性变换法的数字巴特沃斯高通IIR滤波器 初始条件:1)MATLAB软件2)数字信号处理与图像处理基础知识3)双线性变换法的原理和算法4)巴特沃斯高通滤波器的性能指标要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求:1)利用MATLAB仿真软件系统结合双线性变换法设计一个数字巴特沃斯高通IIR滤波器2)在数字信号处理平台上(PC机、MATLAB仿真软件)进行软件仿真设计并进
2、行调试和数据分析。3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、 年 月 日,布置课设具体实施计划与课程设计报告格式的要求说明。2、 年 月 日至 年 月 日,方案选择和电路设计。3、 年 月 日至 年 月 日,电路调试和设计说明书撰写。4、 年 月 日,上交课程设计成果及报告,同时进行答辩。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘 要IAbstractII1 数字滤波器11.1 数字滤波器的基本概念11.2 数字滤波器的分类11.3 数字滤波器的MATLAB实现12双线性变换法32
3、.1双线性变换法知识简介32.2双线性变换法设计数字滤波器原理33设计任务及方案选择53.1设计任务53.2方案设计论证与选择54数字滤波器的设计74.1设计方法74.2设计步骤84.3设计实例及仿真85 总结与体会146参考文献15摘 要 数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。鉴于此,数字滤波器的设计就显得尤为重要。 为了得到较纯净的真实信号,对巴特沃斯数字滤波器的幅频特性,设计方法以及设计步骤进行了研究,利用MATLAB仿真软件结合双线性变换
4、法设计出了数字巴特沃斯高通IIR滤波器,并且分析了巴特沃斯数字滤波器的相关特性。关键词:数字滤波器;巴特沃斯;MATLAB;双线性变换法 AbstractDigital filter is the basis of digital signal processing, used for signal filtering, detection and parameter estimation, in communications, image, voice, radar, and in many other fields have very wide range of applications.
5、 Especially in image processing, data compression has made remarkable progress and achievements. In view of this, digital filter design is particularly important.In order to obtain more pure true signal, the amplitude frequency characteristic of Butterworth digital filter, design method and design s
6、teps were studied by using MATLAB simulation software, combined with the bilinear transformation method for the design of Butterworth high pass digital IIR filter, and an analysis of the related characteristics of the digital filter with Bart Vos.Keywords: digital filter; Butterworth; MATLAB; biline
7、ar transformation method1 数字滤波器 1.1 数字滤波器的基本概念 数字滤波器是数字信号处理的重要基础,是对信号都是过滤检测与参数估计等处理过程中,它是使用最为广泛的一种线性系统。数字滤波器处理的对象是经由采样期间将模拟信号转换而得到的数字信号。数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统。数字滤波器的输入是一组数字量。它本身既可以是用数字硬件装配而成的一台用于完成给定运算的专用数字计算机,也可以是将所需的运算编写的程序通过计算机来执行。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术实现滤波器的功
8、能愈来愈受到人们的重视,并得到了广泛的应用。 数字滤波器的数学运算通常有两种实现方式。一种是频域法,即利用FFT快速运算方法对输入信号进行离散傅里叶变换,分析其频谱,然后再根据所希望的频率特性进行滤波,再利用傅里叶反变换得到时域信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频率特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。另一种方法是时域法,这种方法是通过离散的抽样数据做差分数学运算来达到滤波目的的。 1.2 数字滤波器的分类 数字滤波器按照不同的分类方法,可分为许多种,但总体来讲可以分成两大类。一类称为经典滤波器,即一般滤波器,特点是输入信号中有用的频率
9、成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到滤波的目的。但对于一般滤波器,如果信号和干扰的频带互不重叠,则不能完成对干扰的有效滤除,这是需要采用另一类所谓的现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器,这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳地提取信号。 从功能上,一般数字滤波器可以分为低通、高通、带通、带阻和全通等,此种分类方法是和模拟滤波器一样的。1.3 数字滤波器的MATLAB实现 MATLAB软件为滤波器的设计应用提供了丰富而简便的方法,如函数方法和图形工具方法等,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤
10、波器的设计和实现开辟了广阔的天地。 数字滤波器的一般设计过程为:按照实际需要,确定滤波器的性能要求; 用一个因果的、稳定的离散线性时不变系统,去逼近这一性能指标;用有限精度的运算实现所设计的系统;通过模拟,验证所设计的系统是否符合给定性能要求。2双线性变换法2.1双线性变换法知识简介脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法。双线性变换法是一种从模拟滤波器变换数字滤波器的方法,其主要思想是利用非线性压扩的方法将整个s平面压缩成宽为2/T的带状区,即将整个s平面频率轴上的频率范围压缩到-/T/T之
11、间,再用转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。 由图2-1看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。图2.1 双线性变换频率对应关系2.2双线性变换法设计数字滤波器原理将s平面轴压缩变换到s1平面轴上的-/T到/T一
12、段,可以采用以下变换关系:其中c为常数,一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,就引入该待定常数c。这样=变换到,变换到,可将上式写成令,解析延拓到整个s平面和s1平面,可得将s1平面为的带状区域与整个z平面之间的标准映射关系带入上式得s平面和z平面的单值映射关系为或在MATLAB中,双线性z变换可以通过函数实现,其调用格式为:;其中B,A为模拟滤波器传递函数G(s)的分子分母多项式的系数向量,而,为数字滤波器的传递函数H(z)的分子分母多项式的系数向量。3设计任务及方案选择3.1设计任务课题要求设计一个IIR数字滤波器,高通,采用双线性变换法,用巴特沃斯实现,用
13、MATLAB软件对其进行仿真与调试。本设计将先说明用双线性法设计IIR数字滤波器的原理,然后写出基于MATLAB的软件设计流程。在对设计进行调试,分析实验数据。3.2方案设计论证与选择 IIR滤波器设计的主要方法是先设计低通模拟滤波器,然后转换为高通、带通或带阻数字滤波器。对于其他如高通,带通,则通过频率变换转换为设计相应的高通,带通等。在设计的全过程的各个步骤,MATLAB都提供相应的工具箱函数,使得IIR数字滤波器设计变得非常简单。总的来说,我的设计方案主要有以下两种: 方案一:从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,
14、而得到所需类型的数字滤波器。冲击响应不变法模拟域数字高通 模拟高通归一化模拟低通原型双线性变换法频率变换图3.1先频率变换再离散变换方案二:先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。归一化模拟低通原型数字高通数字低通原型数字域频率变换双线性变换法图3.2先离散再频率变换以上两种方案都是可行的,我选择了第一种方案进行设计,即先在模拟域内经频率变换成为所需类型的模拟滤波器,然后进行双线性变换,由S域变到Z域,从而的到所需类型的数字滤波器。因为高通滤波器的设计方法是先将要设计的滤波器的技术特性指标通过频率转换成模拟低通滤波器的技术指
15、标,再根据这些性能指标设计出低通滤波器的传递函数,为了设计程序的简洁,故选择了方案一。4数字滤波器的设计4.1设计方法方案一:冲激响应不变法 冲激相应不变法是从时域出发,要求数字滤波器的激响应h(n)对应于模拟滤波器ha(t)的等间隔抽样,h(n)=ha(nT) ,其中T是抽样周期,因此时域逼近良好。 优点:1)h(n)完全模仿模拟滤波器的单位抽样响应时域逼近良好 2)线性相位模拟滤波器转变为线性相位数字滤波器 缺点:1)对时域的采样会造成频域的“混叠效应”,故有可能使所设计数字滤波器的频率响应与原来模拟滤波器的频率响应相差很大。 2)不能用来设计高通和带阻滤波器。只适用于限带的低通、带通滤波
16、器 方案二:双线性变换法 双线性变换法是从频域出发,使DF的频率响应与AF的频率响应相似的一种变换法。直接使数字滤波器的频率响应,逼近模拟滤波器的频率响应,进而求得 H(z)。 优点:1)避免了频率响应的混迭现象。 2)在特定AF和特定DF处,频率响应是严格相等的,它可以较准确地控制截止频率的位置。 3)它是一种简单的代数关系,设计十分方便。 缺点:1)除了零频率附近,与之间严重非线性,即线性相位模拟滤波器变为非线性相位数字滤波器。 2)要求模拟滤波器的幅频响应为分段常数型,不然会产生畸变 3)对于分段常数型AF滤波器,经双线性变换后,仍得到幅频特性为分段常数的DF.但在各个分段边缘的临界频率
17、点产生畸变,这种频率的畸变,可通过频率预畸变加以校正。 方案三:频率变换法 设计思想:1)从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。 2)先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤 波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。 综上所述,频率变换法是基于双线性变换法或冲激响应不变法(用于频带变换),此处选择双线性变换法主要是基于要获得严格的频率响应,以及较准确地控制截止频率的位置。而由于此种方法是一种简单的代数关系,设计也十分方便。4.2设计步骤(1) 用公式对数字滤波器边
18、界频率进行预畸变,得到同类型的模拟滤波器的边界频率(即使给定的边界频率以模拟频率的形式给出,也要先对这些频率进行数字化,然后再进行预畸变。)(2) 用相应的频率变换公式将的频率指标变换成原型低通滤波器的频率指标。(3) 用相应的方法设计巴特沃斯模拟低通滤波器。(4) 用相应的频率逆变换将模拟低通滤波器系统函数变换为。(5) 用的双线性变换式将变换为。4.3设计实例及仿真设计一个数字巴特沃斯高通IIR滤波器,其技术指标为:通带临界频率,通带内衰减小于,阻带临界频率,阻带内衰减大于,采样频率为。(1) 将以模拟频率的形式给出的边界频率数字化fp = 400 ; fs = 300; Rp = 1;
19、%通带最大衰减Rp=1dBRs = 20; %阻带最小衰减Rs=20dBwp =fp*2*pi; ws =fs*2*pi;Fs=1000;T=1/Fs; %采样频率与采样周期Wp=wp/(Fs); %将模拟频率数字化Ws=ws/(Fs);(2) 频率预畸变,得到同类型模拟滤波器的边界频率wp2,ws2wp2=2*tan(Wp/2)/T; %预畸变求滤波器通带临界频率(3) 模拟巴特沃斯低通滤波器的设计N,Wn = buttord(wp2,ws2,Rp,Rs,s); z,p,k=buttap(N); %创建Buttord低通滤波器原型Bap,Aap=zp2tf(z,p,k); %由零极点转换为传
20、递函数的形式figure(1)freqs(Bap,Aap); %模拟低通滤波器的频率响应title(模拟滤波器(低通原型)的频率响应)下图是模拟巴特沃斯低通原型滤波器的仿真结果图4.1 模拟巴特沃斯低通原型滤波器分析:1. 要设计的是巴特沃斯滤波器,通过巴特沃斯最小阶数选择函数N,Wn = buttord(wp,ws,Rp,Rs,s);其中wp为通带边界频率,ws为阻带边界频率,单位是rad/s。Rp,Rs分别是通带波纹和阻带衰减,单位为dB.函数返回值N为模拟滤波器的最小阶数,Wn为模拟滤波器的截止频率,单位是rad/s。MATLAB控制台返回N=4,说明该滤波器是4阶。2. buttap是
21、模拟低通滤波器原型设计函数。用z,p,k=buttap(N);得到z,p,k后,可求出滤波器系数B,A。其中z表示零点,p表示极点,k表示增益。3. freqs求模拟滤波器的频率响应函数。(4) 模拟巴特沃斯高通滤波器的设计Bbs,Abs=lp2hp(Bap,Aap,Wn); %模拟低通变高通figure(2)freqs(Bbs,Abs);title(模拟滤波器的频率响应)通过转换后将模拟低通原型滤波器转换为了模拟高通滤波器,其波形如下图所示。图4.2 模拟高通滤波器分析上图可以发现,这个图符合高通的一般特性,与预期效果一样。在设计的过程中涉及到了一个频率变换的问题,即将模拟低通原型变为高通,
22、函数的用法是b,a=lp2hp(Bap,Aap,Wn);功能是把模拟低通原型转换成截止频率为Wn的模拟高通滤波器。其中Bap,Aap分别为低通传递函数的分子向量和分母向量。b,a分别为高通传递函数的分子向量和分母向量。(5) 模拟高通滤波器转换为数字高通滤波器Bbz,Abz=bilinear(Bbs,Abs,FS); %双线性变换求其频率响应figure(3)freqz(Bbz,Abz,512,FS);title(数字滤波器的频率响应)图4.3 数字滤波器的频率响应由于使用的是双线性不变法设计的,其相位为非线性。此处主要是要获得严格的频率响应,以及较准确地控制截止频率表的位置,所以画出了详细的
23、幅频响应。%详细显示数字滤波器的幅频响应hw,w=freqz(Bbz,Abz,512); figure(4)plot(w/pi,20*log10(abs(hw);gridaxis(0,1,-200,10)title( Butterworth Type Highpass Digital Filter)xlabel(w/pi);ylabel(幅度(dB); 图4.4详细的幅频响应分析上图可以发现在0.6(即300Hz)处的衰减为20dB,而在0.8(即400Hz)处的衰减极小,应该小于1dB,由此可见,此设计符合要求。(6)理论计算数字巴特沃斯高通滤波器的仿真wp=0.8*pi;ws=0.6*pi
24、;OmegaP=2*1000*tan(wp/2);OmegaS=2*1000*tan(ws/2);lamdas=OmegaP/OmegaS;N=0.5*log10(10.(20/10)-1)/(10.(1/10)-1)/log10(lamdas);%笔算的结果为N=3.6947;故取N=4%此处为计算高通的传递函数Wn= 4.8890e+003az=0 0 0 0 1;bz=1 2.613 3.414,2.613,1;Bbs,Abs=lp2hp(az,bz,Wn)%用双线性不变法处理Bbz,Abz=bilinear(Bbs,Abs,1000);%画图hw,w=freqz(Bbz,Abz,512
25、); figure(5)plot(w/pi,20*log10(abs(hw);gridaxis(0,1,-200,10)set(gca,XTickMode,manual,XTick,0,Ws/(pi),Wp/(pi),1);gridset(gca,YTickMode,manual,YTick,-200,-Rs,-Rp,10);gridtitle( 理论计算的滤波器的幅频响应)xlabel(w/pi);ylabel(幅度(dB);其运行结果为下图图4.5 理论计算的滤波器的幅频响应图综上所述,本滤波器以四阶的形式实现了预期的设计目标,通带临界频率,通带内衰减小于,阻带临界频率,阻带内衰减大于,采
26、样频率为。5 总结与体会 在课设之前,我对MATLAB软件,特别是滤波器设计中的函数基本上处于一种模糊状态。但是通过与同学不断的交流,最后完成了这次课设,对滤波器的设计有了比较清楚的了解。这次课设的完成,真的不太容易。我的理论基础不是很扎实,所以完成起来要比其他同学费劲。在课程设计的过程中,我学到了很多东西,比如设计滤波器的一些基本函数的用法,各种模拟滤波器的特性,设计滤波器的一些基本方法。但更为重要的是,我对于解决一个问题的思路更加清晰,找到了属于自己的方法。当然,在设计的过程中,不可能避免的遇到了很多问题,如刚开始思路比较混乱,没有明确的方向。也由于一些基本的概念了解的不够清楚,比如模拟频
27、带变换,我理解为是做模拟滤波器,而老师的课程设计题上有一句话似乎要求是要做数字滤波器。所以,在这个问题上,走了很多弯路。但通过与同学交流终于弄清楚数字滤波器而不是模拟滤波器。模拟频带变换只不过是一种变化方式或者说一种变化过程。是由模拟低通变为模拟高通,再由模拟高通变为数字高通的过程。总的来说,这次课程设计让我对MATLAB有了更深刻的了解,对数字滤波器的设计流程有了大致的了解,掌握了一些设计滤波器的基本方法,提高了理论用于实践的能力,掌握了更多专业相关的使用知识与技能。同时,也暴露了我很多的不足,在以后的学习中,将进一步发现并克服缺点。6参考文献1数字信号处理(第三版),丁玉美,高西全.西安电
28、子科技大学出版社,2000. 2MATLAB及在电子信息课程中的应用,陈怀堔,吴大正,高西全.电子工业出版社,2006. 3MATLAB 7.0从入门到精通,求是科技.人民邮电出版社,2006. 4数字信号处理(第三版)学习指导,高西全,丁玉美.西安科技大学出版社,2001.5MATLAB在数字信号处理中的应用,薛年喜,清华大学出版社,2006.6数字信号处理(第2版),程佩青,清华大学出版社,2003本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:课程设计答辩或质疑记录:成绩评定依据:序 号评分项目最高分限实际得分1设计说明书(论文)文理通顺、书写工整、图纸整洁。102方案设计合理,有一定创新,计算正确、论证充分。203答辩时态度谦虚有礼。104能够及时正确地回答教师所提出的问题。305仿真设计及其运行情况106设计报告规范性20最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日15