基于MATLAB信号处理工具箱的数字滤波器设计与仿真

上传人:豆浆 文档编号:11365969 上传时间:2017-10-13 格式:DOC 页数:10 大小:229KB
返回 下载 相关 举报
基于MATLAB信号处理工具箱的数字滤波器设计与仿真_第1页
第1页 / 共10页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真_第2页
第2页 / 共10页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真_第3页
第3页 / 共10页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真_第4页
第4页 / 共10页
基于MATLAB信号处理工具箱的数字滤波器设计与仿真_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于MATLAB信号处理工具箱的数字滤波器设计与仿真》由会员分享,可在线阅读,更多相关《基于MATLAB信号处理工具箱的数字滤波器设计与仿真(10页珍藏版)》请在金锄头文库上搜索。

1、基于 MATLAB 信号处理工具箱的数字滤波器设计与仿真 简介:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用 MATLAB 信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MATLAB 语言进行程序设计和利用信号处理工具箱的 FDATool 工具进行界面设计的详细步骤。利用 MATLAB 设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用 MATLAB 环境下的仿真软件 Simul

2、ink 对所设计的滤波器进行模拟仿真。 关键字:数字滤波器 MATLAB FIR IIR 一、引言:在电力系统微机保护和二次控制中,很多信号的处理与分析都是基于对正弦基波和某些整次谐波的分析,而系统电压电流信号(尤其是故障瞬变过程)中混有各种复杂成分,所以滤波器一直是电力系统二次装置的关键部件【1】 。目前微机保护和二次信号处理软件主要采用数字滤波器。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用 MATLAB 信号处理工具箱(Signal Processing Toolbox)可以快速有效的实现数字滤波器的设计与仿真。1 数字滤

3、波器及传统设计方法数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应( FIR)滤波器。IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以 IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波

4、纹最佳逼近法等。在对滤波器实际设计时,整个过程的运算量是很大的。例如利用窗函数法【2】设计M 阶 FIR 低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列 ,然后根据(2)式计算出 M 个滤波器系数 。当滤波器阶数比较高时,计算量比较大,设计过程中改变参数或滤波器类型时都要重新计算。(1)(2)设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式

5、计算和编制简单的程序很难在短时间内完成设计。利用 MATLAB 强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。2 数字滤波器的 MATLAB 设计2.1 FDATool 界面设计 2.1.1 FDATool 的介绍FDATool(Filter Design & Analysis Tool)是 MATLAB 信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0 以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox) 。FDATool 可以设计几乎所有的基本的常规滤波器,包括 FIR 和 IIR 的各种设计方法。

6、它操作简单,方便灵活。FDATool 界面总共分两大部分,一部分是 Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter 部分主要分为:Filter Type(滤波器类型)选项,包括 Lowpass(低通) 、Highpass(高通) 、Bandpass (带通) 、Bandstop(带阻)和特殊的 FIR 滤波器。Design Method(设计方法)选项,包括 IIR 滤波器的 Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫 I 型)法、 Cheby

7、shev 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 Specif

8、ications 选项,可以详细定义频带的各参数,包括采样频率 Fs 和频带的截止频率。它的具体选项由 Filter Type 选项和 Design Method 选项决定,例如 Bandpass(带通)滤波器需要定义 Fstop1(下阻带截止频率) 、Fpass1(通带下限截止频率) 、Fpass2(通带上限截止频率) 、Fstop2(上阻带截止频率) ,而 Lowpass(低通)滤波器只需要定义 Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications 选项

9、,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义 Wstop1(频率 Fstop1 处的幅值衰减) 、Wpass(通带范围内的幅值衰减) 、Wstop2(频率 Fstop2 处的幅值衰减) 。当采用窗函数设计时,通带截止频率处的幅值衰减固定为 6db,所以不必定义。Window Specifications 选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。2.1.2 带通滤波器设计实例本文将以一个 FIR 滤波器的设计为例来说明如何使用 MATLAB 设计数字滤波器:在小电流接地系统中注入 83.3Hz 的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及

10、整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96 阶FIR 数字滤波器,采样频率 1000Hz,采用 Hamming 窗函数设计。本例中,首先在 Filter Type 中选择 Bandpass(带通滤波器) ;在 Design Method 选项中选择 FIR Window(FIR 滤波器窗函数法) ,接着在 Window Specifications 选项中选取 Hamming;指定 Filter Order 项中的 Specify Order95;由于采用窗函数法设计,只要给出通带下限截止频率 Fc1 和通带上限截止频率 Fc2,选取 Fc170Hz,Fc284Hz 。设

11、置完以后点击 Design Filter 即可得到所设计的 FIR 滤波器。通过菜单选项 Analysis 可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将结果保存为 1.fda 文件。在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的 FIR 滤波器和 IIR 滤波器也都可以使用 FDATool 来设计。 图 1 滤波器幅频和相频响应(特性区)2.2 程序设计法在 MATLAB 中,对各种滤波器的设计都有相应的计算振幅响应的函数【3】 ,可以用来做滤波器的程序设计。上例的带通滤波器可以用程

12、序设计: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 中的功能模块构成数字滤波器的仿真框图,在

13、仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号 , ,通过 Simulink 环境下的 Digital Filter Design(数字滤波器设计)模块导入2.1.2 中 FDATool 所设计的滤波器文件 1.fda。仿真图和滤波 效果图如图 2 所示。图 2 Simulink 仿真图及滤波效果图可以看到经过离散采样、数字滤波后分离出了 83.3Hz 的频率分量(scope1 ) 。之所以选取上面的叠加信号 作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同 一致,可以反映实际的情况。本例设计

14、的滤波器已在实际工作中应用,取得了不错的效果。4 结论利用 MATLAB 的强大运算功能,基于 MATLAB 信号处理工具箱( Signal Processing Toolbox)的数字滤波器设计法可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。利用 MATLAB 设计数字滤波器在电力系统二次信号处理软件和微机保护中,有着广泛的应用前景。】基于谐波检测中的数字低通滤波器的 MATLAB 设计时间:2010-11-15 14:32:22 来源:现代电子技术 作者:由于电力系统中非线性电子元件

15、的大量使用,使得谐波污染问题日益严重,当谐波含量超过一定限度时就可能对电网和用户造成极大的危害,且增加线路损耗,降低线路传输能力,干扰通信信号等。因此,应该积极寻找一种治理谐波污染的有效手段。目前有源电力滤波器(APF)是治理电网谐波污染的一种有效手段,APF 的补偿原理是实时产生一个与系统中的无功和谐波电流大小相等、方向相反的补偿电流,用以抵消非线性负载产生的无功和谐波电流,使流入电网的电流全是有功分量,因此无功和谐波电流的实时检测就成为实时补偿的关键。而谐波及无功电流的检测实质就是低通滤波器的设计。本文利用 MATLAB 中的 FDAtool 实现了对数字低通滤波器模型的快速设计,并采用V

16、HDL 语言在 FPGA 上实现。1 低通滤波器的选择滤波器有模拟滤波器和数字滤波器两种。这里选用数字滤波器,因为它相对于模拟滤波器更容易进行滤波代数运算,而且它不会像模拟滤波器那样随时间、温度、电压漂移,还有就是它能实现近似理想的响应和线性相位,所以能更好地达到谐波检测的实时性和准确性的要求。数字滤波器有无限冲激响应(IIR)系统和有限冲激响应(FIR)系统两种。虽然 FIR滤波器相对于 IIR 滤波器可以得到严格的线性相位,但在相同技术指标下,IIR 滤波器由于存在输出对输入的反馈,因而可用大约 11015FIR 滤波器的阶数来满足指标的要求,从而使得所用空间少,运算次数少,实时性强。由于谐波检测环节对相位要求不高,而对计算速度要求极高,因此选择 IIR 滤波器作为研究的对象。2 利用 MATLAB 设计 IIR 滤波器目前数字滤波器的设计有许多现成的高级语言

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号