基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc_第1页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc_第2页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc_第3页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc_第4页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB信号处理工具箱的数字滤波器设计与仿真 简介:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDATool工具进行界面设计的详细步骤。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用MATLAB环境下的仿真软件Simulink对所设计的滤波器进行模拟仿真。 关键字:数字滤波器 MATLAB FIR IIR 一、引言:在电力系统微机保护和二次控制中,很多信号的处理与分析都是基于对正弦基波和某些整次谐波的分析,而系统电压电流信号(尤其是故障瞬变过程)中混有各种复杂成分,所以滤波器一直是电力系统二次装置的关键部件【1】。目前微机保护和二次信号处理软件主要采用数字滤波器。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用MATLAB信号处理工具箱(Signal Processing Toolbox)可以快速有效的实现数字滤波器的设计与仿真。1 数字滤波器及传统设计方法数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。在对滤波器实际设计时,整个过程的运算量是很大的。例如利用窗函数法【2】设计M阶FIR低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列 ,然后根据(2)式计算出M个滤波器系数 。当滤波器阶数比较高时,计算量比较大,设计过程中改变参数或滤波器类型时都要重新计算。(1)(2)设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。2数字滤波器的MATLAB设计2.1 FDATool界面设计 2.1.1 FDATool的介绍FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox)。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。2.1.2 带通滤波器设计实例本文将以一个FIR 滤波器的设计为例来说明如何使用MATLAB设计数字滤波器:在小电流接地系统中注入83.3Hz的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶FIR数字滤波器,采样频率1000Hz,采用Hamming窗函数设计。本例中,首先在Filter Type中选择Bandpass(带通滤波器);在Design Method选项中选择FIR Window(FIR滤波器窗函数法),接着在Window Specifications选项中选取Hamming;指定Filter Order项中的Specify Order95;由于采用窗函数法设计,只要给出通带下限截止频率Fc1和通带上限截止频率Fc2,选取Fc170Hz,Fc284Hz。设置完以后点击Design Filter即可得到所设计的FIR滤波器。通过菜单选项Analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将结果保存为1.fda文件。在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的FIR滤波器和IIR滤波器也都可以使用FDATool来设计。 图1 滤波器幅频和相频响应(特性区)2.2 程序设计法在MATLAB中,对各种滤波器的设计都有相应的计算振幅响应的函数【3】,可以用来做滤波器的程序设计。上例的带通滤波器可以用程序设计:c=95; 定义滤波器阶数96阶w1=2*pi*fc1/fs;w2=2*pi*fc2/fs; %参数转换,将模拟滤波器的技术指标转换为数字滤波器的技术指标window=hamming(c+1); %使用hamming窗函数h=fir1(c,w1/pi w2/pi,window); 使用标准响应的加窗设计函数fir1freqz(h,1,512); 数字滤波器频率响应在MATLAB环境下运行该程序即可得到滤波器幅频相频响应曲线和滤波器系数h。篇幅所限,这里不再将源程序详细列出。3 Simulink仿真本文通过调用Simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号 , ,通过Simulink环境下的Digital Filter Design(数字滤波器设计)模块导入2.1.2中FDATool所设计的滤波器文件1.fda。仿真图和滤波效果图如图2所示。 图2 Simulink仿真图及滤波效果图可以看到经过离散采样、数字滤波后分离出了83.3Hz的频率分量(scope1)。之所以选取上面的叠加信号 作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同 一致,可以反映实际的情况。本例设计的滤波器已在实际工作中应用,取得了不错的效果。4 结论利用MATLAB的强大运算功能,基于MATLAB信号处理工具箱(Signal Processing Toolbox)的数字滤波器设计法可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。利用MATLAB设计数字滤波器在电力系统二次信号处理软件和微机保护中,有着广泛的应用前景。】基于谐波检测中的数字低通滤波器的MATLAB设计时间:2010-11-15 14:32:22 来源:现代电子技术 作者:由于电力系统中非线性电子元件的大量使用,使得谐波污染问题日益严重,当谐波含量超过一定限度时就可能对电网和用户造成极大的危害,且增加线路损耗,降低线路传输能力,干扰通信信号等。因此,应该积极寻找一种治理谐波污染的有效手段。目前有源电力滤波器(APF)是治理电网谐波污染的一种有效手段,APF的补偿原理是实时产生一个与系统中的无功和谐波电流大小相等、方向相反的补偿电流,用以抵消非线性负载产生的无功和谐波电流,使流入电网的电流全是有功分量,因此无功和谐波电流的实时检测就成为实时补偿的关键。而谐波及无功电流的检测实质就是低通滤波器的设计。本文利用MATLAB中的FDAtool实现了对数字低通滤波器模型的快速设计,并采用VHDL语言在FPGA上实现。1 低通滤波器的选择滤波器有模拟滤波器和数字滤波器两种。这里选用数字滤波器,因为它相对于模拟滤波器更容易进行滤波代数运算,而且它不会像模拟滤波器那样随时间、温度、电压漂移,还有就是它能实现近似理想的响应和线性相位,所以能更好地达到谐波检测的实时性和准确性的要求。数字滤波器有无限冲激响应(IIR)系统和有限冲激响应(FIR)系统两种。虽然FIR滤波器相对于IIR滤波器可以得到严格的线性相位,但在相同技术指标下,IIR滤波器由于存在输出对输入的反馈,因而可用大约11015FIR滤波器的阶数来满足指标的要求,从而使得所用空间少,运算次数少,实时性强。由于谐波检测环节对相位要求不高,而对计算速度要求极高,因此选择IIR滤波器作为研究的对象。2 利用MATLAB设计IIR滤波器目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab为数字滤波的研究和应用提供了一个直观、高效、便捷的工具。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是Matlab工具箱使各个领域的研究人员可以直观而方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。21 在Matlab中进行仿真设计许多文献中在利用Matlab设计IIR数字滤波器时,采用先设计一个模拟滤波器,然后利用脉冲响应不变法或者双线性变换法,将模拟滤波器的传输函数转换成数字滤波器的系统函数,设计过程比较复杂,编写的程序比较长,没有很专业的知识是设计不出来的。而本文利用FDAFool工具可以非常方便地设计出数字滤波器。FDATool(Filter Design&Analysis Tool)是Matlab中的一种图形用户工具,为滤波器的设计提供了一个综合、简便的图形用户界面。本文要设计一个谐波中的低通检测电路滤波器,对于三相电路而言,其交流侧主要是5次和7次谐波,因此本文设计的低通滤波器的指标为:模拟信号采样频率Fs=2000Hz,通带截止频率Fpass=100Hz,阻带截止频率Fstop=200Hz,通带波动不大于01dB,阻带衰减不小于32dB。在图1界面中设置好参数,并且选择IIR中的Elliptic滤波器,然后点击Design Filter,即可得到所设计滤波器的模型:Order(阶)=4,Sections(节)=2,并可观察其幅度响应、相位响应,还可以观察脉冲响应、阶跃响应、滤波器的零极点绘制图以及系统函数的各个系数等指标。22 利用Simulink检验滤波效果 打开Simulink新建一个文件untitledl如图2,在FDATool界面中点击Realize Model,将设计好的滤波器模型导入Simulink中,然后添加三个频率分别为50Hz、250Hz、350Hz的正弦波,利用Scope见察通过数字低通滤波器Filter的滤波效果。Scopel显示的是50Hz正弦波,Scope2显示的是50Hz叠加上250Hz、350Hz正弦波后的波形,Scope显示的是通过我们设计的低通滤波器后的波形,对比图3(a)、(b)可以看出,滤波后的波形保留了50Hz的信号,且略有延迟,并将高频部分有效地滤除,说明设计的滤波器符合要求。3 数字低通滤波器FPGA实现数字滤波器的实现方法一般有以下几种:(1)采用加法器、乘法器、延时器设计专用的滤波电路。(2)在通用计算机系统中加上专用的加速处理机设计实现。(3)用通用的可编程实现。(4)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现。这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。(5)采用FPGACPLD设计实现。在上述几种方法中,第(2)种方法的缺点是速度较慢,一般可用于DSP算法的模拟。第(1)、(4)种方法专用性强,应用受到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论