ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:70.67KB ,
资源ID:11082052      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11082052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的滤波器设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的滤波器设计.docx

1、基于MATLAB的滤波器设计基于MATLAB的滤波器设计摘 要 论文结合滤波器的不同种类进行设计,运用MATLAB软件,针对性地进行了实例分析。设计了巴特沃斯模拟滤波器(50Hz处的衰减为1dB, 400Hz处的最小衰减为60dB,带内增益为4,通带内无波纹),和切比雪夫滤波器(通带频率23kHz、两边的过渡带宽为0.5 kHz、通带纹波为1dB、阻带衰减大于100dB),并给出相应的程序。对于数字滤波器,通过FIR滤波器和IIR滤波器实例,运用MATLAB实现,给出了的相应的图形。关键词 滤波器;MATLAB;FIR滤波器;巴特沃斯滤波器;切比雪夫滤波器;Based on the MATLA

2、B filter designAbstract This paper combining the different kinds of filter to achieve the design, used the MATLAB software, and analyzed the problems which aimed particular. the simulation filter is based on the examples of Bartheworth filter (Request the attenuation in 50Hz is 1dB, require gain tha

3、t located in the minimum attenuation at 60dB in 400Hz place is 4, and the no ripple in the pass-band) and Chebyshev filter (Pass band frequency is between 2 3 kHz, both sides of transition bandwidth is 0.5 kHz, pass band ripple is 1dB, and stop band attenuation beyond 100dB), then provides the corre

4、sponding program. Though Digital filters is mainly by the example of analyzing FIR filters, using the MATLAB to realize; this paper uses the MATLAB gave out the graphics displays. Key-words Filter; MATLAB; FIR filter; Bartheworth filter; Chebyshev filter1引 言在工程实际中遇到的信号经常伴有噪声,为了消除或减弱噪声,提取有用信号,必须进行滤波,

5、能实现滤波功能的系统称为滤波器。严格地讲,滤波器可以定义为对已知的激励提供规定响应的系统,响应的要求可以在时域或频域内给定。滤波器的功能主要由其系统函数决定。滤波技术在通信测量、数据采集、控制系统及电力系统等领域得到了广泛的应用。滤波器的设计在这些领域中必不可少, 甚至是至关重要的环节, 其优劣将直接影响整个系统的性能。滤波器设计的关键是找到一个稳定可实现的逼近函数, 其频率特性满足所需滤波器的所有要求。虽然目前已有多种成熟的逼近函数(矩形窗等), 然而不论哪种逼近函数都需要进行非常繁琐的计算, 而且通过综合设计确定实现这一传递函数的电路及其元件值的过程也很复杂。MATLAB 中提供了丰富的用

6、于模拟滤波器设计和数字滤波器设计的函数, 通过编程可以很容易实现低通、高通、带通、带阻滤波器, 并能画出滤波器的幅频、相频特性曲线。本文是通过举例设计模拟和数字两种滤波器的设计方法的实现、电路图的以及仿真出其波形。 2 MATLAB软件的简单介绍MATLAB是国际公认的优秀科技应用软件,是计算机辅助分析与设计、算法研究和应用开发的基础工具和首选平台,是目前科学研究领域最流行的应用软件,其特点概括为1:(1) 高效的数字计算方法及符号计算功能,使用户从繁杂的数学运算分析中解脱出来。(2) 完备的图形处理功能,实现计算结果和编程的可视化。(3) 友好的用户界面及接近数学表达式的自然化语言,使学习者

7、易于学习和掌握。(4) 功能丰富的应用工具箱,为用户提供了大量方便而实用的处理工具。(5) Simulink动态建模与仿真系统,丰富而功能强大的器件库,提供了实时方便的仿真手段。MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文Matrix Laborutory(矩阵实验室)的缩写。是现今国际公认的最优秀的科技应用软件,它具有强大的数值计算和工程运算功能、符号计算功能和科学数据可视化能力。广泛应用于数值计算、图形分析、过程控制、系统识别、实时控制和动态仿真等领域。成为大学生、硕士生和博士生必须掌握的基本技能。同时,MATLAB也被研

8、究单位和工业部门广泛应用,使科学研究和解决各种具体问题的效率大大提高。MATLAB集成环境主要包括五个部分2:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析3,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型

9、,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。3 基于MATLAB的滤波器设计由于滤波器种类的不同,在此讨论基于MATLAB的模拟滤波器设计和基于MATLAB的数字滤波器的设计。3.1基于MATLAB的模拟滤波器的设计3.1.1 利用MATLAB确定低通滤波器的阶数和幅频特性曲线 设计要求: 模拟信号输入滤波器, 要求在50Hz处的衰减为1dB, 在400Hz处的最小衰减为60dB带内增益为4, 通带内无波纹, 而且要减小截止频率后波形的起伏。根据对设计要求的分析,低通滤波器采用Butterworth滤波器, 因为它具有较平坦的幅频特性, 而

10、且其元件值比较合乎实际、对精度要求稍宽。下面利用MATLAB 确定该低通滤波器的阶数, 并画出其幅频特性(图1),程序代码如下4:Wp= 50*2*pi;Ws=400*2*pi;Rp=1;Rs=60;N,Wn=buttord(Wp,Ws,Rp,Rs,s)Fc=Wn/(2*pi) ;b,a=butter(N,Wn,s);w=linspace(1,800,10000)*2*pi;H=freqs(b,a,w);magH =abs(H);plot(w/(2*pi),20*log10(magH) ;x label( 频率(Hz);y label( 幅度(dB);title( 幅频特性);运行结果:N=4

11、Wn=446.9304图1 4阶Butterworth滤波器的幅频特性由图1可以看出, 由MATLAB所设计的5阶Butterworth滤波器波形在通带内平直、没有波纹, 阻带内陡降, 符合我们对滤波特性的实际要求, 所以滤波器的阶数选为4阶。在MATLAB中,用N,Wn=buttord(Wp,Ws,Rp,Rs,s)语句实现Butterworth滤波器阶数和边缘频率的确定;b,a=butter(N,Wn,s)语句来实现Butterworth滤波器的设计。其中Wp为通带截止频率;Rp为通带截止频率处的衰减;Ws为阻带截止频率;Rs为阻带截止频率处的衰减; b,a是滤波器传递函数多项式的系数;n为

12、滤波器的阶数;Wn为截止频率;s表示模拟滤波器的。3.1.2 利用MATLAB设计带通滤波器设计高通、带通、带阻滤波器的传统方法是: 根据对高通、带通、带阻滤波器的特性指标要求, 导出相应的低通原型的指标来, 然后确定低通原型的传递函数H(s) ,再根据一定变换关系得出高通、带通、带阻滤波器的传递函数。而用MATLAB可以像设计低通滤波器一样直接得出高通、带通、带阻滤波器的参数和特性曲线。设计一带通滤波器, 设计要求为: 通带频率2 3 kHz、两边的过渡带宽为0.5 kHz、通带纹波为1dB、阻带衰减大于100dB, 并画出幅频特性曲线5(如图2所示)。程序如下:wp=2000 3000*2

13、*pi;ws=1500 3500*2*pi;Rp=1;Rs=100;N,Wn = buttord(wp,ws,Rp,Rs,s);%计算阶数和截止频率Fc= Wn/( 2* pi);b,a=butter(N,Wn,s);%计算滤波器传递函数多项式系数w=linspace(1,4000,1000)*2*pi;H=freqs(b,a,w);magH=abs(H);phaH=unwrap(angle(H) );plot(w/2*pi),20*log10(magH),b);xlabel(频率/Hz);ylabel(幅度/dB);grid on运行结果:N= 22Wn= 1.0e+004*1.9070图2

14、 巴特沃思带通滤波器的幅频特性因此该带通滤波器的阶数为N=223.2 基于MATLAB的数字滤波器的设计数字滤波器又分为无限冲击响应数字滤波器(IIR)和有限冲击响应数字滤波器(FIR),在此举例基于MATLAB的FIR滤波器的设计和IIR滤波器的设计来讨论数字滤波器的设计。3.2.1 FIR 数字滤波器设计原理FIR 数字滤波器可以用下面的差分方程来描述6其中x(n)是输入序列,y(n)是输出序列,h(n)是系统的单位脉冲响应。由于其采用卷积的方法得到输出,故可以采用快速算法FFT进行卷积计算,提高信号处理速度。FIR 数字滤波器满足线性相位的条件是其乘法器的系数关于中点对称,又因为其结构无

15、反馈的回路,所以是无条件的稳定系统。3.2.2 窗函数法设计及MATLAB 实现FIR 滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用。窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数N和窗函数的类型,使其幅频特性逼近理想滤波器幅频特性。其次,因为理想滤波器的是无限长的,所以需要对进行截断,数学上称这种方法为窗函数法1。其中是希望逼近的滤波器的单位脉冲响应,是希望逼近的滤波器的幅频特性,是所设计的滤波器的单位脉冲响应,是窗函数。在截断的过程中要保证FIR滤波器的稳定性

16、与线性相位的特性。由于截断效应使所设计滤波器的幅频特性存在误差,称之为吉布斯效应。最后,验证所设计的滤波器是否满足要求,若不满足,重新设计。常用的窗函数有矩形窗、三角窗、汉宁窗和凯塞窗等。窗函数的选择一般要满足以下三个条件7:(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。(2)旁瓣幅度下降速度要快,以利于增加阻带衰减。(3)主瓣宽度要窄,以获得较陡的过渡带。FIR 滤波器的设计任务是选择有限长度的 h(n), 使函数H(ej)满足技术要求。本文将针对一个含有 1000Hz 和 2000Hz 的正弦波信号, 设计一个FIR低通滤波器。参数要求: 采样频率 FS=8000Hz, 通带为 01200

17、Hz, 阻带16004000Hz, 通带波纹为 1%,阻带波纹 10%。下面将利用程序设计法, SPTool 设计法和 FDA-Tool 设计法对上述滤波器进行设计。3.2.3 程序设计法在 Matlab 下设计 FIR 滤波器有多种函数, 如 fir1, fir2, firls, remez, fircls, firclsl, cremez, firrcos 。下面以 remez 函数设计滤波器8。 程序如下:Fs=8000; %采样频率f=1200 1600;a=1 0;dev=0.01 0.1;n,fo,ao,w=remezord(f,a,dev,Fs); %估计滤波器的参数b=reme

18、z(n,fo,ao,w); %用 remez 函数设计滤波器freqz(b,1,1024,Fs); %滤波器的频率响应, 如图 1t=(0:100)/Fs;x=sin(2*pi*t*1000)+sin(2*pi*t*2000); %设置输入信号 xx1=filter(b,1,x); %对信号 x 进行滤波,得输出信号 x1figuresubplot(211);plot(t,x);grid;subplot(212);plot(t,x1);grid;程序运行结果如图3,图4所示:图3 上图为幅频特性,下图为相频特性图4 上图为输入信号x,下图为输出信号x13.2.4 IIR数字滤波器的设计IIR数

19、字滤波器冲激响应无限宽,与模拟滤波器相匹配。因此可采取在模拟滤波器设计的基础上进一步变换的方法设计IIR滤波器,即通过已知的模拟滤波器系统的系统函数H(s)来设计数字滤波器的系统函数H(z),主要是通过脉冲响应不变法或双线性变换法完成s平面到Z平面的变换。通过典型的模拟滤波器(如巴特沃斯滤波器、切比雪夫滤波器等)可实现一定参数要求的数字滤波器。IIR数字滤波器的设计具体步骤9:(1)按照既定规则将数字滤波器技术指标转为模拟低通滤波器技术指标。(2)以转换后的技术指标为依据设计模拟低通滤波器H(s)(传递函数) 。(3)再按照一定规则将H(s)转换成H(z)(数字滤波器的传递函数)。若设计的是高

20、通、带通或带阻滤波器,还需进行以下步骤:将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标, 然后设计出低通H(s), 再将H(s)转换为H(z)。(1)程序如下10:wp0=0.5*pi; wp1=0.4*pi; wp2=0.6*pi; Ap=3; ws2=0.7*pi; As=15;T=5*pi*10(-6);% 用双线性变换法设计滤波器% 频率预畸变ws1=wp0-(ws2-wp0) ;wc1=(2/T)*tan(wp1/2); wc2=(2/T)*tan(wp2/2);wr1=(2/T)*tan(ws1/2); wr2=(2/T)*tan(ws2/2);w0=(2/T

21、)*tan(wp0/2);B=wc2-wc1;% 将指标转换成归一化模拟低通滤波器的指标nowr1=(wr12)-(w02)/(B*wr1);nowr2=(wr22)-(w02)/(B*wr2);nowc1=(wc12)-(w02)/(B*wc1);nowc2=(wc22)-(w02)/(B*wc2);% 设计归一化的模拟低通滤波器if(abs(nowr1)-abs(nowr2)0nowr=abs(nowr2);elsenowr=abs(nowr1);endnowc=1;N=buttord(nowc,nowr,Ap,As,s);bLP,aLP=butter(N,nowc,s);bBP,aBP=

22、lp2bp(bLP,aLP,w0,B);% 用双线性变换法转换成数字滤波器Fs=1/T;b,a=bilinear(bBP,aBP,Fs);w=linspace(0,pi,500) ;h=freqz(b,a,w );plot(w,20*log10(abs(h);axis(0,pi,-120,20);grid;xlabel(frequency ( rad);ylabel(gain( db) ;sys=tf(b,a,T)(2)其图形如图5所示:图5 MATLAB程序设计法仿真波形结论论文通过利用MATLAB来设计数字滤波器和模拟滤波器,对于不同的设计要求, 只需修改程序中的参数, 运行后即可得到相应

23、的阶数和截止频率, 避免了复杂的运算及查表,使得滤波器的设计与实现趋于方便。其中给出了巴特沃斯滤波器低通滤波器和巴特沃斯带通滤波器的实现程序、FIR数字滤波器的实现程序、IIR数字滤波器的实现程序以及各种滤波实现的滤波图形。MATLAB软件使得工程设计中滤波器技术更加趋于完善,通过论文设计掌握了MATLAB的基本使用方法。参考文献1 郑君里,应启衍,杨为理. 信号与系统 M.北京: 高等教育出版社,2000. 2 郑阿奇. MATLAB实用教程M. 浙江: 浙江电子出版社,2003.3 周学军.基于MATLAB的模拟滤波器的设计与仿真M.陕西:西安电子科技大学出版社,2010.4 姜春玲,史玲

24、. 基于MATLAB的模拟滤波器的设计M. 山东: 山东交通学院学报, 2004.5 李瀚荪. 电路分析M. 北京:高等教育出版社,2005.6 程佩青. 数字信号处理教程(第2版)M. 北京:清华大学出版社,2002.7 高西全,丁玉美.数字信号处理(第3 版)M. 陕西: 西安电子科技大学出版社,2008.8 林炜鹏.基于MATLAB的FIR数字滤波器的设计M.广东:广东科技出版社,2009. 9 张维玺. 巴特沃斯数字陷波滤波器的设计M. 北京:现代电子技术出版社,2002.10 张春生,钱萌.MATLAB在数字滤波器设计中的应用探索M.北京:现代电子技术出版社,2008.致 谢值此论文

25、完成之际,我首先衷心感谢尊敬的导师*老师。在求学期间,杨老师对我的学习和研究工作给予了极大的关怀和帮助。正是由于他的严格要求和悉心指导,本文的研究工作才得以顺利完成。杨老师深厚广博的学识修养、严谨求实的治学态度、敏锐活跃的学术思想、崇高执著的敬业精神和平易近人的学者风范深刻影响和教育了我,严谨的治学精神和良好的科研方法给学生留下了深刻的印象,将是我毕生受益的宝贵财富。在此,对杨一军老师表示最诚挚的谢意!谨向四年来为学生的成长和进步倾注了无数心血的老师们表示衷心的谢意!在多年的学习生活中,还得到了许多领导和老师的热情关心和帮助。在日常学习和生活中,我的室友*等关心和支持我,在完成论文之际*给了我很大帮助,在此对他们表示感谢。感谢为我操劳一生的父母,没有您们对我的教导和关怀,就没有我现在的一切,您们对子女的深爱和支持我将铭记终生!在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!衷心地感谢在百忙之中评阅论文和参加答辩的各位老师,教授!

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2