基于matlab的滤波器的设计与仿真设计
- 格式:doc
- 大小:334.00 KB
- 文档页数:15
基于MATLAB的有源滤波器的设计与仿真对并联型有源电力滤波器的控制方法进行研究,应用MATLAB软件建立了仿真模型,利用SimPower工具箱谐波电流检测方法进行建模和仿真。
在simulink 环境下,对提出的定时比较控制方法和并联型APF抑制谐波效果进行了仿真实验。
标签:MATLAB;有源电力滤波器;仿真近年来,电力电子技术发展的越来越快,其发展的重大障碍是电力电子装置的谐波污染问题。
目前在主要采用被动型谐波抑制方案来抑制谐波,本文对并联型有源电力滤波器进行研究,应用MATLAB软件建立了仿真模型。
1 有源电力滤波器(APF)有源电力滤波器一般可分为:并联型APF、串联型APF和串并联混合型APF,其一般由检测回路,控制回路和主电路构成,理论上讲,有源滤波器可以对任意谐波电流进行补偿,并联有源滤波器其与系统相并联,可等效为一受控电流源,通过适当控制APF可产生与负载谐波大小相等、方向相反的谐波电流,从而将电源侧电流补偿为正弦波[1]。
2 并联有源滤波器2.1 谐波电流检测原理及仿真模型设立谐波电流检测利用ip、iq运算方式,该方法用一锁相环和一正、余弦发生电路得到与电源电压同相位的正弦信号sin wt和对应的余弦信号-cos wt,这两个信号与ia、ib、ic一起计算出有功分量电流ip和iq无功分量电流,经低通滤波器LPF滤波得出ip、iq的直流分量ip、iq对应于三相电流中的基波正序分量,再经过2/3 变换,得到三相电流基波正序分量[2]。
负载电流发生模块source,三项/两项变换模块C32,运算模块C,两项/三项变换模块C23以及低通滤波器构成了其主要的仿真模型[3],其中各模块所需元件可在simulink模块库中找到,比如交流电源,电压、电流测量模块,RLC 串联电路,电感元件,三相桥式整流器。
图1 ip、iq运算方式检测谐波电流的整体仿真模型2.2 三项并联型有源电力滤波器仿真图2 三项并联型有源电力滤波器仿真2.3 仿真结果谐波检测电路采用基于瞬时无功功率理论的ip、iq检测法的工作原理,使用MATLAB中SIMULIINK仿真模块。
本科生毕业论文(设计)题目:基于matlab模拟滤波器的设计与仿真系部电子信息工程学院学科门类工科专业电子信息工程学号xxxxxxxxxxxxxxxxxx姓名XXX指导教师XXX2012年 5 月18 日基于matlab的模拟滤波器设计与仿真摘要几乎在所有的工程技术领域中都会涉及到信号处理问题,而滤波器信号处理的重要组成部分。
本论文首先介绍了滤波器的滤波原理以及模拟滤波器的设计方法,然后系统地介绍了模拟滤波器(包括巴特沃斯滤波器和切比雪夫滤波器)的设计原理和方法,并在此基础上论述了低通、高通、带通、带阻模拟滤波器的设计。
最后,采用MATLAB对所述滤波器进行建模仿真。
仿真结果表明用matlab设计的滤波器符合技术要求,且直观简便,有利于设计的优化。
关键字:模拟滤波器频率转换MATLAB装订线ABSTRACTIn almost all areas of engineering and technology, signal processing will be involved andsignal processing is an important component of filter signal processing. This paper will firstintroduce the principle of filter and the design method of analog filters. Then the paper willpresent the design principles and methods of analog filters (including the Butterworth filter andChebyshev filter) and on this basis, the analog filters (including low-pass, high-pass, band-pass,and band-stop) design will be discussed. Last is the use of virtual realization of analog filtersMATLAB. It can be seen that based on the simulation result, the filter designed by MATLAB iscoincident in technical requirements and handy in anchauung. What’s more, it is easy to adjustthe performance of filters.Key words:Filtering Analog filters MATLAB装订线第1章绪论 (1)1.1课题研究背景及意义 (1)1.2国内外研究现状及趋势 (1)1.3本文的主要工作安排 (2)第2章基本理论知识 (3)2.1滤波器的工作原理 (3)2.1.1模拟滤波器的工作原理 (3)2.1.2数字滤波器的工作原理 (4)2.2滤波器的基本特性 (5)2.2.1模拟滤波器与数字滤波器的基本特性 (5)2.2.2无限冲激响应IIR和有限冲激响应FIR滤波器 (7)2.3滤波器的主要性能指标 (8)第3章模拟滤波器的设计 (9)3.1模拟滤波器的分类 (9)3.2 模拟滤波器的设计方法 (9)3.3模拟原型滤波器及最小阶数选择 (11)3.3.1巴特沃斯滤波器及最小阶数选择 (11)3.3.2切比雪夫滤波器及最小阶数选择 (14)3.3.3椭圆滤波器及最小阶数的选择 (20)3.3.4贝塞尔滤波器 (21)第4章 MATLAB仿真 (22)4.1MATLAB简介 (22)4.2对低通模拟滤波器的仿真 (23)4.3 模拟高通滤波器的仿真 (25)4.4 模拟带通滤波器的仿真 (26)4.5 对带阻模拟滤波器的仿真 (28)第5章频率转换 (30)5.1低通至高通的转换 (30)5.2低通至带通的变换 (31)5.3低通至带阻的变换 (34)第6章总结与展望 (36)参考文献 (37)第1章绪论1.1课题研究背景及意义凡是有能力进行信号处理的装置都可以称为滤波器。
摘要信息无处不在,但在步入网络信息时代之后,无论是信息的数量,还是其传递的速度,都在快速地增加。
信号是信息传播的载体,但在信号产生、发送以及传播的过程中,都会不可避免地引入一些其他的信号成分。
所以,在进行信号处理前,就需要对所接收到的信号进行过滤,以去掉噪声干扰成分,从而得到有效的信号成分。
在电子系统中,这个任务通常由滤波器来完成。
本文主要内容是通过MATLAB工具设计两种数字滤波器的基本方法。
这两种数字滤波器指无限脉冲响应(IIR, Infinite Impulse Response)滤波器和有限脉冲响应(FIR,Finite Impulse Response)滤波器,输入和输出信号皆为数字信号。
以往传统的数字滤波器设计方法步骤繁琐,计算环节繁杂,一旦设计完成,无法便捷修改滤波特性曲线,十分不便,以上缺点极大的限制了数字滤波器的发展与应用。
而MATLAB及其附带的工具箱功能十分强大,我们利用该软件设计上述的两种滤波器,可以做到随时把结果曲线与目标滤波特性曲线对比,从而做出改进,节省时间和工作量,优点十分显著。
本论文分为三部分:第一部分为绪论,简单介绍数字信号处理中滤波器的作用和前景;第二部分介绍FIR滤波器设计的原理,并且介绍使用MATLAB设计FIR 数字滤波器的方法,同时在MATLAB下进行仿真;第三部分介绍IIR滤波器设计的原理,并且介绍使用MATLAB设计IIR数字滤波器的方法,同时在MATLAB下进行仿真。
关键词:MATLAB,FIR数字滤波器,IIR数字滤波器,设计,仿真AbstractInformation is everywhere, but after entering the era of network information, regardless of the amount of information, or its transfer speed, are increasing at a high speed. The carrier signal is the dissemination of information, but in the signal generation, transmission and dissemination process, will inevitably introduce some other signal component. So, in signal processing, we need on the received signal is filtered to remove noise, interference, so as to obtain the signal component effective. In electronic systems, this task is usually accomplished by filter.The main content of this paper is the basic method of using MATLAB tools to design two kinds of digital filters. These two kinds of digital filter with infinite impulse response (IIR, Infinite Impulse Response) filter and the finite impulse response (FIR, Finite Impulse Response) filter, the input and output signals are digital signals. The design method of traditional digital filter is complicated, complicated calculation process, once the design is complete, not convenient to modify the filter characteristic curve, very inconvenient, the above disadvantages greatly limits the development and application of digital filter. While MATLAB and its toolbox function with very strong, we use the software design of two kinds of filter above, can be done at any time the results curve and target filtering characteristics, so as to make improvements, save time and effort, notable advantages.This paper is divided into three parts: the first part is the preface, and Prospect of digital signal processing is introduced in the filter function; the second part introduces the principle of FIR filter design, and introduces the method of using MATLAB to design FIR digital filter, and the simulation on the MATLAB; third part introduces the principle of IIR filter design, and introduces the method of using MATLAB IIR digital filter design, and Simulation in MATLAB.Keywords: MATLAB, FIR digital filter, IIR digital filter, design, simulation目录第一章绪论 (1)1.1 研究数字滤波器的意义与背景 (1)1.2 数字滤波器的分类 (3)1.3 论文工作与编排 (4)1.4 本章小结 (4)第二章理论依据2.1 系统设计的理论依据2.1.1 数字滤波器概述2.1.2 FIR和IIR数字滤波器比较2.2 MATLAB中的滤波器设计工具2.3 本章小结第三章基于MATLAB的FIR数字滤波器设计3.1 MATLAB软件简介3.1.1 MATLAB介绍3.1.2 S-function介绍3.2 FIR滤波器基础简介3.2.1 FIR滤波器的基本特性3.2.2 主流FIR滤波器的硬件实现方法3.3 MATLAB滤波器工具设计FIR滤波器实例3.3.1 FIR滤波器的设计3.3.2 FIR滤波器的仿真3.4 Ti公司基于DSP实现FIR滤波器的程序3.5 本章小结第四章基于MATLAB的IIR数字滤波器设计4.1 IIR滤波器基础简介4.2 MATLAB滤波器工具设计IIR滤波器实例4.2.1 IIR滤波器的设计4.2.2 IIR滤波器的仿真4.3 本章小结第五章总结与展望参考文献致谢第一章绪论在过去的30年间,电子信息技术得到了飞速发展。
第一章:引言1.1选题的依据及意义几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。
信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。
如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。
数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。
数字滤波器有FIR数字滤波器和IIR数字滤波器,IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性,但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一般是某种确定的非线性相位特性。
为了得到线性相位特性,对IIR滤波器必须另外加相位校正网络,使滤波器设计变得复杂,成本也高,又难以得到严格的线性相位特性。
而FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性,同时为了使FIR数字滤波器的设计更优化,因而研究FIR数字滤波器的优化设计具有重要的理论意义。
1.2 数字滤波器简介数字滤波在DSP中占有重要地位。
数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。
如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。
数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。
随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。
以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
基于Matlab 的模拟滤波器设计与仿真周学军(延安大学物理与电子信息学院,陕西延安 716000)摘 要:巴特沃思、切比雪夫模拟低通滤波器通常是设计模拟高通、带通和带阻滤波器的原型,先按给定频率响应巴特沃思、切比雪夫低通H a (s )逼近,然后由选定H a (s )实现二端口网络的电路结构和参数值。
在此对达林顿T 型和П型电路结构的滤波器元件参数进行了编程计算,并对其系统函数的幅频特性进行仿真。
仿真结果符合设计要求,该方法便捷,程序具有可扩展性。
关键词:Laplace 变换;模拟滤波器;巴特沃斯;切比雪夫中图分类号:T N713 文献标识码:A 文章编号:1004-373X (2010)08-0062-02Design and Simulation of Analog Filter Based on MatlabZH O U Xue -jun(Co llege of Phy sics and Electronics Info rma tion ,Yan 'an Universi ty ,Yan 'an 716000,China )Abstract :Butter wo rth and Cheby shev analog lo w -pass filters a re usually designed to simulate hig h -pa ss ,ba nd pass and band sto p filte r pro to types .But te rwo rth and Cheby shev low -pa ss H a (s )appro ximation is responded acco rding to a g iv en fre -quency ,and then the cir cuit str ucture and parameter value s are realized by selected H a (s ).T he element parameter s of the fil -te r with str uctures of Darling to n T -ty pe and П-ty pe cir cuits are pe rfo rmed with the calculatio n and prog ram ,and then the am -plitude -frequency characteristic of its sy stem function is simula ted .T he simulatio n r esults show that the sy stem can mee t the desig n requir ements ,the method is convenient and the prog ram has expansibility .Keywords :L aplace transfo rma tion ;analo g filter ;But te rwo rth ;Cheby shev收稿日期:2009-10-240 引 言建立在拉普拉斯变换基础之上的模拟滤波器的理论和设计方法已经发展得相当成熟,且有若干典型滤波器供人们选择,如巴特沃斯(Butterw orth )滤波器、切比雪夫(Chebyshev )滤波器等。
基于Matlab的FIR低通滤波器设计及simulink仿真实现2012题目基于Matlab的FIR低通滤波器设计及simulink仿真实现学院自动化与电气工程学院专业测控技术与仪器班级 083 学号108034063 学生姓名 xxx 指导教师 xxx 完成日期 2012年5月25日xxx 科技学院本科毕业论文(2012届)题目基于Matlab的FIR低通滤波器设计及simulink 仿真实现学院自动化与电气工程学院专业测控技术与仪器083 班级学号 108034063学生姓名 xxx指导教师 xxx完成日期 2012年5月25号xxx科技学院毕业设计、学位论文版权使用授权书本人 xxx 学号 108034063 声明所呈交的毕业设计、学位论文《基于Matlab 的FIR低通滤波器设计及simulink仿真实现》,是在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,与我一同工作的人员对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
本毕业设计、学位论文作者愿意遵守xxx科技学院关于保留、使用学位论文的管理办法及规定,允许毕业设计、学位论文被查阅。
本人授权 xxx科技学院可以将毕业设计、学位论文的全部或部分内容编入有关数据库在校园网内传播,可以采用影印、缩印或扫描等复制手段保存、汇编毕业设计、学位论文。
(保密的学位论文在解密后适用本授权书)论文作者签名:xxx 导师签名: xxx签字日期: 2012 年5月 25日签字日期: 2012 年 5 月 25日浙江科技学院本科毕业设计摘要数字滤波器是数字信号处理的一个重要的技术分支。
在现代电子系统中,FIR 数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。
在工程实践中,一般对信号处理要求有实时性和灵活性,而已有的一些软件和硬件计算和实现方式则难以同时达到这两方面的要求。
基于MATLAB的数字滤波器设计及滤波仿真1.实验原理:①正弦信号:Ax+n=wn)sin()(ϕ②巴特沃斯模拟滤波器的设计:[N,Wc]=buttord(Wp,Ws,ap,as,'s')[N,Wc]=buttord(wp,ws,αp,αs)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。
1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc 作为butter函数的调用参数。
坛[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’) 用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率[BS,AS]=butter(N,Wc,'s')[B,A] = BUTTER(N,Wn),设计一个阶数为n,频率为Wn的低通滤波器;[B,A] = BUTTER(N,Wn,ftype)可以设计高通,带阻滤波器,其中ftype参数的形式可以指定何种滤波器, ftype为‘high’时,设计一个阶数为n,频率为Wn的高通滤波器;ftype为‘stop’时,得到滤波器阶数为2*n,频率范围为Wn = [W1,W2]的带阻滤波器;③双线性变换设计IIR滤波器:[BZ,AZ]=bilinear(BS,AS,1/T)④信号滤波Y =filter(B,A,X)输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母整个滤波过程是通过下面差分方程实现的:a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb) - a(2)*y(n-1) - ... - a(na+1)*y(n-na)[Y,Zf] = FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母,并输入Zi指定X的初始状态,Zf为最终状态矢量2.Simulink的使用方法:模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。
目录1引言 (1)2 关于MATLAB (1)3 数字滤波的基本概念 (2)4设计方案 (3)4.1数字滤波器设计的基本步骤 (3)4.1.1确定指标 (3)4.1.2模型逼近 (3)4.1.3实现性能分析和计算机仿真 (3)4.2基于MATLAB的FIR数字滤波器的设计与仿真 (3)4.3基于MATLAB的IIR数字滤波器的设计 (7)4.3.1 IIR数字滤波器的设计原理 (7)4.3.2 IIR数字滤波器的传统设计方法 (7)4.3.3 IIR数字滤波器的设计 (8)4.3.4 IIR数字滤波器的程序设计 (9)4.3.5 IIR数字滤波器的仿真 (10)5 FIR数字滤波器与IIR数字滤波器的比较 (11)6 结论 (12)参考文献 (12)摘要数字滤波器是一个离散系统。
该系统能对输入的离散信号进行处理,从而获得所需的有用信息。
现代数字滤波器的设计大体可以分为IIR和FIR两大类,可以用软件和硬件两种方法来实现,而选用MATAB信号处理工具箱为设计通用滤波器带来了极大的方便。
本文按设计指标要求设计了滤波器,其中IIR采用巴特沃什,FIR采用布莱克曼窗进行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对IIR和FIR的实现形式和性能等方面进行比较。
关键词:MATLAB;IIR;FIRAbstractThe digital filter is a discrete system. The system can be able to handle discrete signals. So it can achieve required important information. There are two major kinds of design principle of digital filter, which are finite impulse response (FIR) and infinite impulse response (IIR). The modern digital filter can be received by two kinds of method of software and hardware. But using MATLAB signal disposing tool case to design the digital filter is more convenient and universally applied.The main body of the paper is demanded to design a digital filter according to the designing index. IIR adopts Butterworth and FIR adopts the Blackman window to design the digital filter. Finally, carry out comparison on IIR and the FIR realization and function aspect.Key words: MATLAB; IIR; FIR1引言理想滤波器就是一个让输入信号中的某些有用频谱分量无任何变化的通过,同时又能完全抑制另外那些不需要的成分的具有某种选择性的器件、网络或计算机硬件支持的计算程序。
根据对不同信号的处理可将滤波器分为模拟滤波器和数字滤波器两种。
模拟滤波器和数字滤波器的概念相同,只是信号的形式和实现滤波的方法不同。
数字滤波器是指输入输出都是数字信号的滤波器。
滤波器的滤波原理就是根据信号与噪声占据不同的频带,将噪声的频率放在滤波器的阻带中而由于阻带的响应为零,这样就滤去了噪声。
数字滤波器可以分为两大类:一类是经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤去的频率成分各占不同的频率带,通过一个合适的选频滤波器达到滤波的目的,这种滤波器主要是无限冲激响应滤波器和有限冲激响应滤波器;另外一类滤波器是现代滤波器,当信号和干扰的频带相互重叠,经典滤波器不能完成对干扰的有效去除时,可以采用现代滤波器,这些滤波器可以按照随即信号部的一些统计分布规律,从干扰中最佳的提取信号。
这种滤波器主要有维纳滤波器、卡尔曼滤波器、自适应滤波器等[10]。
与模拟滤波器相同,数字滤波器从功能上可以分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等。
数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,任何数字系统都可看成一个数字滤波器,因此数字滤波器的应用相当广泛。
设计任务:设计一数字带通滤波器,分别用IIR和FIR两种类型来实现。
2 关于MATLABMATLAB是Matrix Laboratory(矩阵实验室)的缩写。
它是美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境,现已发展成为一个具有高性能数值计算和可视化功能的科学计算环境,问题的提出和解答只需以数学方式表达和描述,不需要大量原始而传统的编程过程。
该软件包括:数值分析、矩阵计算、数字信号处理、建模和系统控制等应用程序。
MATLAB语言简洁、紧凑、使用方便,有丰富的运算符号和函数库,还具有结构化的控制语句和面向对象编程的特点。
随着其版本的不断提高,各种工具箱的扩充和完善,MATLAB的功能越来越强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。
MATLAB是一个交互式系统,特别适用于研究、解决工程和数学问题,典型应用包括:一般的数值计算、算法原型以及通过矩阵公式解决一些特殊问题,促进了统计、数字信号处理等科学的发展。
MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。
MATLAB的信号处理工具箱提供了丰富而简便的设计、实现IIR和FIR的方法,使原来烦琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔的天地。
数字滤波器采用传统的设计方法要进行大量复杂的运算,而利用MATLAB强大的计算功能进行计算机辅助设计,就可以快速要效的设计数字滤波器,大大的简化计算量,直观简便。
MATLAB的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究和辅助设计的工具。
在设计数字滤波器时,通常采用信号处理工具箱提供的设计模拟和数字滤波器的MATLAB函数采用编程的方法和仿真实现,亦可以利用信号处理工具箱提供的滤波器设计和分析工具(Filter Design & Analysis Tool)实现。
MATLAB的一种重要的工作方式就是M文件的编程工作方式。
M文件有两种形式,一种是脚本文件,另一种是函数文件。
M文件的扩展名为“.m”。
M文件可以通过任何纯文本编辑器进行编辑,MATLAB也自带有文本编辑器,使用“edit”命令即可开启。
3 数字滤波的基本概念滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。
如果滤波器的输入和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。
该滤波器通过对时域中离散的采样数据作差分运算实现滤波。
一个线性时不变数字滤波器可以用常系数线性差分方程表示为式中x(n),y(n)分辨是输入和输出信号序列;ai,bk分别是滤波系数。
当上式bk中系数全部为零时,就有这种形式的滤波器为有限冲激响应滤波器,简称FIR 型。
此事系统的输出仅与输入有关。
它的实现一般采用非递归算法。
4设计方案4.1 数字滤波器设计的基本步骤4.1.1确定指标在设计一个滤波器之前,必须首先根据工程实际的需要来确定滤波器的技术指标。
在很多实际应用中, 数字滤波器常被用来实现选频操作。
因此指标的形式一般在频域中给出幅度和相位响应。
4.1.2模型逼近一旦确定了技术指标,就可以利用已学习过的基本原理和关系式,提出一个滤波器模型来逼近给定的技术指标。
这是滤波器设计所要研究的主要问题。
4.1.3实现性能分析和计算机仿真以上两步的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描述的。
根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
4.2 基于MATLAB 的FIR 数字滤波器的设计与仿真利用MATLAB 设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极减轻了工作量,有利于滤波器设计的优化。
FIR 滤波器的设计方法有窗函数法、最优化设计法及约束最小二乘逼近法。
MATLAB 信号处理工具箱中提供了滤波器设计方法的工具函数,编程中可以根据设计要求直接调用相应函数,方便快捷。
本设计数字滤波器的性能指标为:πωρ2.0=,B R B A d 25.0d 50s .03p s ===,,πω,要求用窗函数设计一个高通滤波器。
本例采用凯泽窗函数设计该高通滤波器,原程序节选如下: As=50;ws=0.2*Pi;wp=0.3*Pi;tr_width=wp-ws;M=ceil((As-7.95)*2*pi/(14.36*tr_width)+l)+l; disp([‘滤波器的长度为’,num2str(M)]);beta=0.1102*(AS-8.7);n=【0:l:M-l]:disp([‘线性相位斜率为’,num2str(beta)]);w_k ai=(kaiser(M,beta))’;wc=(ws+wp)/2:hd=ideal_lp(pi,M)-ideal_lp(wc,M);h==hd.*w_kai;[db,mag,pha,grd,w]=freqz_m(h,[1]);delta_w=2*pi/l000;Rp=-(min(db(wp/delta_w+l:l:501)));disp([‘实际通带波动为’,num2str(Rp)]);As=-round(max(db(l:l:ws/delta_w+l)));disp([‘最小阻带衰减为’,num2str(As)]); subplot(l,l,l);subplot(2,2,l);stem(n,hd);titl e(‘理想脉冲响应’);axis([0,M-l -0,4 0.8]);yl abel(‘hd(n)’);subplot(2,2,2):stem(n,w_kai):title(‘凯泽窗’):axis([0,M-1 0 1.1]);ylabel(‘w(n)’);subplot(2,2,3);stem(n,h);title(‘实际脉冲响应’);axis(【0,M-l -0.4 0.8]);xlabel(’n’);ylabel(’h(n)’);subplot(2,2,4);plot(w/pi,db);title(‘幅度响应/dB’);axis([0 1 -100 10]);grid;xlabel(‘以π为单位的频率’):ylabel(‘分贝数/dB’);程序运行后得到的结果如图1所示。