椭圆滤波器的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

燕山大学课程设计说明书共15页第页1目录第1章摘要......................................................2第2章引言......................................................2第3章基本原理..................................................3第4章设计过程..................................................44.1椭圆滤波器设计结构图..........................................44.2设计椭圆数字滤波器的步骤......................................4第5章MATLAB的应用..............................................45.1MATLAB语言简介................................................45.2一些函数及指令简介............................................5第6章程序和仿真图...............................................76.1高通滤波器设计程序............................................76.2MATLAB信号仿真图.............................................9第7章结语.....................................................12心得体会........................................................13参考文献........................................................14燕山大学课程设计说明书共15页第页2第一章摘要本文叙述了高通椭圆滤波器的基本原理,详细介绍了MATLAB的发展和个别函数的功能以及波器设计在MATLAB上的实现。利用MATLAB滤波器设计函数直接实现椭圆滤波器的设计,介绍了椭圆型滤波器的基本理论和设计思想,给出了基于MATLAB设计高通椭圆型滤波器的具体步骤和利用MATLAB产生一个包含低频、中频、高频分量的连续信号,并实现对信号进行采样。文中还对采样信号进行频谱分析和利用设计的椭圆滤波器对采样信号进行滤波处理,观察滤波后的信号频谱,并对仿真结果进行分析和处理。并且详细介绍了在基于MATLAB设计椭圆滤波器过程中常用到的函数和命令。MATLAB的信号处理工具箱的两个基本组成就是滤波器的设计与实现以及频谱分心。该工具箱提供了丰富而简便的设计、实现滤波器设计方法,使原来繁琐的程序设计简化成函数的调用,特别是滤波器的表达式和滤波器形式之间的相互转换显得十分简便,为滤波器设计和实现开辟了一片开阔的天地。关键词:数字滤波器;MATLAB;椭圆滤波器第二章引言MATLAB的功能越来越强大,应用范围越来越广泛,如今它几乎覆盖了所有的科学和工程计算领域,如仿真技术、自动控制、数字信号处理、数字图像处理、系统识别、神经网络、小波分析等等。因此,掌握这一工具,具有十分重要的意义。数字滤波器的滤波过程是一个计算过程,实现对信号的运算处理,它将输入信号的序列数字按照预定的要求转换成输出序列。因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为一台计算机。数字滤波器在各种数字信号处理中发挥着十分重要的作用,其设计一直是信号处理领域的重要研究课题。椭圆滤波器(Ellipticfilter)又称考尔滤波器(Cauerfilter),是在通带和阻带等波纹的一种滤波器。它比切比雪夫方式更进一步地是同时用通带和阻带的起伏为代价来换取过渡带更为陡峭的特性。椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器,其选择性相对三种是最好的。燕山大学课程设计说明书共15页第页3数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器IIR和有限长单位脉冲响应滤波器FIR两种。其中IIR数字滤波器因具有结果简单、占用存储空间少、运算速度快、较高的计算精度和能够用较低的阶数实现较好的选频特性等特点,得到了广泛应用。第三章基本原理考尔在1931年提出了采样有限零点设计的滤波器,能更好地逼近理想的高通滤波器的特性。由于这种方法在确定零点的位置时与椭圆函数的许多特性有关,所以称之为椭圆高通滤波器。幅值响应在通带和阻带内都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优的,其振幅平方函数为2221()1/aNpHjR()其中RN(x)是雅可比(Jacobi)椭圆函数,ε为与通带衰减有关的参数。特点:1、椭圆低通滤波器是一种零、极点型滤波器,它在有限频率范围内存在传输零点和极点。2、椭圆低通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。3、对于同样的性能要求,它比其它两种滤波器所需用的阶数都低,而且它的过渡带比较窄。燕山大学课程设计说明书共15页第页4第四章设计过程4.1椭圆滤波器设计结构图椭圆滤波器设计结构图如图所示:连续混合输出信号图4.1结构框图4.2设计椭圆数字滤波器的步骤1.确定数字滤波器的性能指标:p、s、p、s。2.将数字滤波器的性能指标转化成相应模拟滤波器的性能指标。3.设计满足指标要求的模拟滤波器Ha(s)。4.通过变换将模拟滤波器转换成数字滤波器4.数字滤波器的MATLAB实现和频谱分析第5章MATLAB的应用5.1MATLAB语言简介MATlAB是在20世纪80年代初期,由美国的MathWorks软件开发公司正式推出的一种数学工具软件。它以矩阵运算为基础,把计算、可视化、程序设计有机地融合到了一个简单易学的交互式工作环境中,其出色的数值计算能力和强大的图形处理功能得到了广大科研人员和工程技术人员的垂青。它拥有功能全面的函数库,他把大量的函数封装起来,让用户脱离了繁琐复杂的程序设计过程,只需要将精力集中到模型的建立和工作上即可,大大提高了工作效率。利用MATLAB可以实现科学计算、符号运算、算法研究、数学建模和仿真、数据分析和可视化、科学工程绘图以及图形用户界面设计等强大功能。采样(100HZ)高通滤波器燕山大学课程设计说明书共15页第页5更重要的是,MATLAB提供了图形用户界面(GUI)设计功能,用户可以自行设计别具风格的人机交互界面。此外,MATLAB提供了与C语言或Fortran语言的交互操作,是用户能通过程序接口很方便地进行程序间的调用和转换。5.2一些函数及指令简介MATLAB的信号处理工具箱提供了设计椭圆滤波器的函数:ellipord函数、ellip函数、filter函数、freqz函数、fft函数和abs函数。1.ellipord函数的功能是求滤波器的最小阶数,其调用方式为:[n,wp]=ellipord(wp,ws,rp,rs)n-椭圆数字滤波器最小阶数;wp-椭圆滤波器通带截止角频率;ws-椭圆滤波器阻带起始角频率;rp-通带最大衰减量也即通带波纹(dB);rs-阻带最小衰减量(dB);这里wp、ws都是归一化频率,即0wp(或ws)1,1对应弧度。2.ellip函数的功能是用来设计椭圆滤波器,其调用方式为:(1)[b,a]=ellip(n,rp,rs,wp)rp用来指定通带内波纹的最大衰减;rs用来指定阻带内波纹的最小衰减;在这里,wp的取值范围是(0.0,1.0),其中1对应于0.5Fs,Fs为采样频率。(2)[b,a]=ellip(n,rp,rs,wp,'high'):设计高通椭圆滤波器。上述返回的向量b和a的维数都是n+1,而不是n。filter函数功能:利用IIR滤波器和FIR滤波器对数据进行滤波,其调用方式为:燕山大学课程设计说明书共15页第页6y=filter(b,a,x):计算输入信号X的滤波输出,向量b和a分别是所采用的滤波器的分子系数向量和滤波器的分母系数向量。[y,zf]=filter(b,a,x,zi):参数zi指定滤波器的初始条件值,其大小为zi=max(length(a),length(b))-1。y=filter(b,a,x,[],dim)或y=filter(b,a,x,zi,dim):参数dim指定滤波的维数。filter采用数字滤波器对数据进行滤波,其实现采用移位直接Ⅱ型结构,因而适用于IIR和FIR滤波器。滤波器的系统函数为nnmmzazazazazbzbzbzbbZH33221133221101)(即滤波器系数a=[a0a1a2...an],b=[b0b1...bm],输入序列矢量为x。这里,标准形式为a0=1,如果输入矢量a时,a0≠1,则MATLAB将自动进行归一化系数的操作;如果a0=0,则给出出错信息。4.freqz函数功能:求解数字滤波器频率响应,其调用方式为:(1)[h,w]=freqz(b,a,n):返回数字滤波器的n点复频率响应,输入参数b和a分别是滤波器系数的分子和分母向量;输出参数h是复频率响应,w是频率点。输入参数n的默认值为512。(2)h=freqz(b,a,w):计算由向量w(单位为rad/sample,范围为[0,])指定的频率点的复频率响应。(3)[h,f]=freqz(b,a,n,Fs):同时输出实际频率点。用于对H(ejω)在[0,Fs/2]上等间隔采样n点,采样点频率及相应频响值分别记录在f和h中。由用户指定FS(以HZ为单位)值。(4)h=freqz(b,a,f,Fs):计算由向量f指定的频率点的复频率响应。5.Abs函数调用方式为:Y=abs(x):计算x各元素的绝对值。当x为一个复数的时候,则计算x的复数模。燕山大学课程设计说明书共15页第页7第6章程序和仿真图6.1高通滤波器设计程序%连续信号的产生及采样clearFs=100;t=(1:100)/Fs;s1=sin(2*pi*t*5);s2=sin(2*pi*t*15);s3=sin(2*pi*t*30);s=s1+s2+s3;figure(1);plot(t,s)xlabel('时间(s)')ylabel('幅值')grid;%椭圆高通滤波器的设计[b,a]=ellip(4,0.1,40,30*2/Fs,'high');[h,w]=freqz(b,a,512);figure(2);plot(w*Fs/(2*pi),abs(h));xlabel('频率(Hz)');ylabel('频率响应图');grid;%对滤波后的信号进行分析和变换sf=filter(b,a,s);燕山大学课程设计说明书共15页第页8figure(3);plot(t,sf);xlabel('时间(s)');ylabel('幅值');axis([01-11]);S=fft(s,512);SF=fft(sf,512);w=(0:255)/256*(Fs/2);figure(4);Subplot(2,1,1)plot(w,abs(S(1:256)));grid;Subplot(2,1,2)plot(w,abs(SF(1:256)));xlabel('频率(Hz)');ylabel('傅立叶变换图');grid;燕山大学课程设计说明书共15页第页96.2MATLAB信号仿真图1.产生连续信号,包含低频,中频,高频分量的仿真图,如下图所示:图6.1连续信号时域图该图显示出输入

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功