📄 45051.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-CN" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="generator" content="oblog" />
<meta name="author" content="dragonflyx," />
<meta name="keyword" content="一篇关于fdatool使用的文章(转载)" />
<meta name="description" content=" 基于MATLAB信号处理工具箱的数字滤波器设计与仿真 摘要:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整" />
<title>一篇关于fdatool使用的文章(转载)--青青的笔记</title>
<link rel="alternate" href="/user1/4595/rss2.xml" type="application/rss+xml" title="RSS" />
<link href="/OblogStyle/OblogUserDefault4.css" rel="stylesheet" type="text/css" />
<script src="/inc/main.js" type="text/javascript"></script>
</head>
<body>
<span id="gg_usertop"></span><LINK href="/skin/fine-coffee/css.css" type=text/css rel=stylesheet><LINK href="/skin/fine-coffee/001.css" type=text/css rel=stylesheet>
<DIV id=top></DIV>
<DIV id=mainbox>
<DIV id=main>
<DIV id=mainlfet>
<DIV id=mainlfet01>
<H3>分类</H3><div id="subject">载入中...</div>
<H3>日历</H3><div id="calendar">载入中...</div>
<H3>登陆</H3>
<DIV><div id="ob_login">载入中...</div></DIV>
<H3>最新文章</H3><div id="newblog">载入中...</div>
<H3>回复</H3><div id="newmessage">载入中...</div>
<H3>站点统计</H3><div id="info">载入中...</div><div id="aobomusic"></div>
<H3>友情链接</H3><div id="links"></div><div id="gg_userlinks"></div> </DIV></DIV>
<DIV id=mainright>
<DIV id=mainright01></DIV>
<DIV id=mainblog><DIV id="topic">一篇关于fdatool使用的文章(转载)<SPAN class="time">2008-1-9 20:00:00</SPAN></DIV>
<DIV id="text"><span id="ob_logd45051"></span> <TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD align=middle>
<H2>基于MATLAB信号处理工具箱的数字滤波器设计与仿真</H2></TD></TR>
<TR>
<TD vAlign=top height=600>
<TABLE cellSpacing=0 cellPadding=0 width=1 align=left border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE><SPAN style="FONT-SIZE: 10pt; WORD-BREAK: break-all; LINE-HEIGHT: 170%">
<P>摘要:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用matlab信号处理工具箱(signal processing toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用matlab语言进行程序设计和利用信号处理工具箱的fdatool工具进行界面设计的详细步骤。利用matlab设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用matlab环境下的仿真软件simulink对所设计的滤波器进行模拟仿真。 <BR></P>
<P>关键词:数字滤波器 matlab fir iir </P>
<P></P>
<P><STRONG>引言:</STRONG></P>
<P>在电力系统微机保护和二次控制中,很多信号的处理与分析都是基于对正弦基波和某些整次谐波的分析,而系统电压电流信号(尤其是故障瞬变过程)中混有各种复杂成分,所以滤波器一直是电力系统二次装置的关键部件【1】。目前微机保护和二次信号处理软件主要采用数字滤波器。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用matlab信号处理工具箱(signal processing toolbox)可以快速有效的实现数字滤波器的设计与仿真。</P>
<P><STRONG>1 </STRONG><STRONG>数字滤波器及传统设计方法</STRONG></P>
<P>数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(iir)滤波器和有限长冲激响应(fir)滤波器。</P>
<P>iir数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以iir滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。fir数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。</P>
<P>在对滤波器实际设计时,整个过程的运算量是很大的。例如利用窗函数法【2】设计m阶fir低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列<SUB><IMG height=24 src="http://www.zlunwen.com/downimg/2007-08-25/10-27-41-343.gif" width=40></SUB>,然后根据(2)式计算出m个滤波器系数<SUB><IMG height=21 src="http://www.zlunwen.com/downimg/2007-08-25/10-27-41-968.gif" width=33></SUB>。当滤波器阶数比较高时,计算量比较大,设计过程中改变参数或滤波器类型时都要重新计算。</P>
<P><SUB><IMG height=45 src="http://www.zlunwen.com/downimg/2007-08-25/10-27-42-562.gif" width=196></SUB> (1)</P>
<P><SUB><IMG height=24 src="http://www.zlunwen.com/downimg/2007-08-25/10-27-43-125.gif" width=116></SUB> (2)</P>
<P>设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用matlab强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。</P>
<P><STRONG>2</STRONG><STRONG>数字滤波器的matlab设计</STRONG></P>
<P><STRONG>2.1 fdatool</STRONG><STRONG>界面设计</STRONG></P>
<P><STRONG>2.1.1</STRONG><STRONG> fdatool</STRONG><STRONG>的介绍</STRONG></P>
<P>fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。</P>
<P>fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。design filter部分主要分为:</P>
<P>filter type(滤波器类型)选项,包括lowpass(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和特殊的fir滤波器。</P>
<P>design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、 chebyshev type ii(切比雪夫ii型) 法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。</P>
<P>filter order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶数)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify order=n-1),如果选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。</P>
<P>frenquency specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻带截止频率),而lowpass(低通)滤波器只需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -