MATLAB的窗函数数字滤波器设计
发布时间:2024-11-21
发布时间:2024-11-21
…
B^ HC R G R P ISP O咖
-…一………一一……一……一…………………………………………………
M T A啮函数数字滤波器设 A L B自|赵思奇
摘
要结合低通和带通数字滤波器的设计全过程,讨论了应用 MA L B 7 3进行 FR TA . I窗函数设计的方法,并比较和探讨了 I窗函数滤波器的设计。在设计中给出了 I R一
些重要和复杂函数的应用方法和技巧。
关键词
MA L B,频域,窗函数 TA
一
、
引言结合低通和带通数字滤波器的设计全过程,深化和讨论了
应用 MA L B . T A 7 3进行 FR窗函数设计的方法。MA L B作为 I TA美国 M tWok公司开发的用于概念设计,算法开发,建模仿 ah rs真,实时实现的理想集成环境,是目前最好的科学计算类软
件。MA L B软件起初目的只用于矩阵计算,经过不断改进, TA现已广泛应用于教育、科研、生产等多个方面,如数学计算、
算法原型开发、自动控制理论、统计、神经网络和数字信号处理等。
本文从应用角度来介绍 M T A在数字滤波器方面的基 A LB
本知识。因此除了 FR滤波器方法之外,还比较和探讨了 I I I R
滤波器的设计,而且在设计中同时使用了多种程序方法和工具方法。下面结合实例,即低通和带通两个特定化数字滤波器的设计全过程来进行阐述。
图 1时域的图象和幅频响应图像
为例,实现的程序代码为:N;2; 00
二、编程1 FR窗函数的时域和频域特性 .I在应用 FR窗函数设计数字滤波器之前,我们需要先了解 I FR窗函数的时域和频域特性。 I ()用 fq 1应 r z函数 e可以利用普通的 f q函数来得到窗函数的时域和频域特 rz e性,f q实质是使用 m (速傅里叶变换 )方法,如以 r z的 e快 hmmn为例,取 12 a i g窗 0 4个抽样点。令滤波器次数为 6,抽 4
w ̄o[k ie ( 5): o ( as r N, 2_ J
这里函数 ki rn bt)示返回一个 n点 K i r。 B t a e(, e表 s a a e窗 s e a是 K i r的参数,此参数影响窗函数傅里叶变换的边瓣 as窗 e
(i l e
s eo )衰减。增加 bt将加宽主瓣。为得到一个用 K i r d b e a a e s窗设计的 FR滤波器,使用边瓣高度—— a B I d,公式如下:0 10 ( 8 7 . 1 2a一 . ) b t= e a a5>0
0 5 4 (一2 ) .8 2 a 1。一0 0 8 6a一 1 5>=a=2 .7 8 ( 2 ) 0> 10 a<21
实现的效果如图 2所示。
样频率为 4 0 H,可以得到窗函数在时域的图象和以 d 00 z B表示的幅频响应图像,如图 1示。所 利用语句【z,] f q (, 0 4 f) hw f= r zh 12,s,得到不同频率下的 e振幅 hw是相应频率。 z,f
两向量同样长度。f的取值范围是从 0到抽样频率/。 2( )用 w t l数 2应 v o函 o MA L B .供了函数 w t l T A 6 5提 v o,利用它可以同时得到时域 o
的窗函数图像以及窗函数的 D T值域图像。以 K i r F a e窗函数 s图 2用 Ka e设计的 F R滤波器 i r窗 s I
黼
。
i
;…
;…
:
…
…
…
:
…
‘。…
s。
实用第一智慧密集… .
…
.
一
一
一
…
…
…
…
…
…
…
…
…
…
.
…
与之类似,应用 w t l也可以得到 Bak n et— v o, o lcma、R c n a g、H rig a m n、G us n等窗函数在时域和频域的图 l e amn、H m ig as a i像。 2低通滤波器设计 .下面我们应用 MA L B设计一个特定化的低通滤波器, TA
然后应用 ki rr数,得到滤波器次数 n语句为 f,, a eo s d函。 n Wn bt,r e ki rr(,, e,0 0,其中 a=【 1为理 e f p】= a e d fa dv 8 0 ) a y so 1, 0
想的放大量。接着应用 f l函数,与上一语句搭配使用,得到 i r滤波器 (量表示形式 )。最后应用 f q向 r z函数得到幅频响应 e和相频响应,应用语句为:b: r(,,tp, a e(+1 i fl n Wn f e ki rn, y s bt)‘ocl’ ) e, nsa a e,实现效果如图 4所示。
此设计给出了完整的实现过程,为了帮助大家拓展视野,本实例应用了更复杂和更精确的 r
z函数。并以 B trot e窗 me ut w r e h滤波器为例引入了 I I波器设计方法。实现的源代码程序中包 R滤
含了 ki r d e eod等复杂函数的应用技巧。最后还探讨 as o、r zr er m了不用编程而集成化的 MA L B滤波器设计工具的应用。这 TA0
个特定化的低通滤波器的设计要求如下: 1截止频率: 00 z 1 10 H;2抽样频率: 0 0 z ) 80 ; H
3止带衰减:少 2 d )至 0 B; 4通带波动 ( pl):大 0 5 B; ) r pe最 i . d 5传送带宽:10 z ) 0H。 ( )用不同的滤波器次数 1使以汉明窗为例,分别使用三个次数: 0 0 0 1、2、4,截止频率为 10 H,抽样频率为 80 z首先将截止频率归一化 00 z 00H。【1,然后利用一个循环,使用 fl函数得到以向量形式表示 z】 i r的窗函数。然后仍运用 f q r z函数,得到滤波器不同频率 ( e弧度制 )下的振幅。关键代码为: fr o P=1 3:: %开始一个循环,用三次使b=f 1 n( ) Wi h mmig( P)+1 ) i ( P, q a r, n n{ ):
图 4 Ka e窗滤波器幅频与相频响应 ir s
2使用 Bak a、R c nl、hnig a mn ) l m n et g c a e ann、h m i g等窗函数此处以 Bak a l m n窗函数为例。令 n= 0利用语句 b= c 2, i (, n bak a ( f ln w,lcm nn+1 )到窗函数。最后应用 po( m g r )得 l f a) t,
得到幅频响应图像,如图 5所示。
%使用 f1函数得到以向量形式表示的窗函数 i r结果如图 3所示。
一—一 一—一
—
—
图 5 B ak n窗滤波器的幅频响应 lcma
通过程序验证得知,除 K i r函数之处,Bak a、 ae窗 s l m n c图 3不同滤波器次数的汉明窗滤波器 ()用不同的窗函数 2使
R c nl、H n i、H m ig et ge a n g a m n等几种 FR窗函数只能满足截止 a n I频率为 10 H这一条件,不能满足以下精确的条件: 00 z①止带衰减:至少 2 d; 0 B
1应用 K i r函数 ) ae窗 s用此函数
实现的关键点是计算参数 dv e。利用语句 dv= e 【 1 (p 2 ) ) (0 (/ 0+1 0 ( s 2 );计 (0 r/ 0一1/ 1 r 2 ) )1一r/ 0】来 p算参数,其中参数 r通带波动,参数 r p是 s=2止带波动。 0是
②通带波动:最大 0 5 B .d;⑧传送带宽: 10 z 0H。 这是因为除了 K i r函数方法是通过题干中已知条件求 as窗 e
蠢与二肇
…
…
G P IS P O R M………………………一…………………………………………………………………腿 HC R G A
出的窗大小 N,其余的几种窗函数方法都无法求出 N,只能事先指定。因此可以得知使用这些窗函数进行 FR滤波器设计的 I方法不是一个精确完美的方法。 ( )识拓展 3知
下面加深讨论,分别应用 lme ̄ z函数 FR滤波器、I I I R滤波器和免于编程而集成化的 MA L B工具三种方法来解决以 TA上问题。
1R me函数 FR滤波器方法 )e z I
利用此函数的关键仍是求出参数 dv e。利用语句 dv= e[ 1 (/ 0一1/ 1 (/ 0+1 0 ( r/ 0]计 (0 r 2 ) ) (0 p r 2 ) )1一 s 2 )来 p
算。然后使用[,oa,】=rm zr( adv f)出次数 n nf,o w e eodf,e,s求,,
再使用 b=rm zn f, ow与上句搭配求出分子系数。最后 e e(,o a, )应用 f q (,, 0 4 f函数得到幅频和相频响应,实现的效 r zb 1 12,s e )果如图 6所示。 图 7 B t r ot波器的幅频和相频响应 ut w r e h滤
图 8利用 M A L B专用滤波器设计工具设计出的滤波器 TA图 6利用 Re z函数得到的 FR滤波器 me I2I )I波器 MA L B解法 R滤 TA
查时域和频域特性,继续深化知识讲解 FR窗函数的应用,并 I
以 B t rot波器为例。归一化通带和截止频率之后 u ew r t h滤[2,使用【,]=bt r( p W,p r)到 n=7 Wn: z】 n Wn ut d w, S r,s得 o, 0 8 3。再使用[,]=b t rn wn得到 B t rot波器 . 17 ba u e(, ) t ut w r e h滤的分子及分母系
数。最后仍用 f q (,, 1, 0 0得到幅频和 r zb a5 2 8 o ) e相频响应,实现的效果如图 7所示。 3M TA ) A L B滤波器设计工具
通过不同频率下正弦波的输入和输出探讨实际的滤波效果。最后,使用白噪声作为输入,得出输出范围。这个特定要求的 FR带通滤波器设计要求如下: I1通带: 5 ) 10~2 0 z 5H;
2传送带宽: 0 z ) 5H;3通带波动: . d ) 0 1B;4止带衰减: 0 B ) 6d;
如果使用 M T A A L B提供的专用滤波器设计工具就不需编程,只需要选取要使用的滤波器类型,在各设计要求栏中填人题目的要求,便可得到多种特性,例如幅频响应 (图 8所如示 )。
5抽样频率: K z ) 1H。
() 1使用 K i r a e窗函数设计滤波器 s首先计算参数,元素 dv须包含特定化顶峰波动的值或 e必通带、止带允许的偏移量。dv=【 1 (/ 0一1/(0 e (0 r 2 ) ) 1 p(/ 0+1, 0 ( s 2 ) 1 (/ 0一1/ 1 (p r 2 ) ) 1一r/ 0,(0 p r 2 ) ) (0 p r/
除了幅频和相频响应之外,通过滤波器设计工具,还可以得到其他一些特性,比如相频响应、冲激响应和极零点图,只需在工具栏上 A a s子菜单中分别选取 p ae epne m nl i ys h s rso s、i—pl sos和 pl/ e po项即可实现。 us r pne ee o zr l e o t 3 .带通滤波器设计
2 )+1 1然后应用【,, e, ye 0 )。 n Wn bt f p】=k i rr( u, as at a eodf t m g, s cs
dv f m ) e,s p得到 k i r的尺寸并进行尺寸修正,n=n+rm a ae窗 s e(,2。再然后 h n ) h= f ln i (,Wn t e asrn+1 e ) r,fp,ki ( y e,bt, a‘
下面再应用 M T A A L B设计一个特定化的带通滤波器,调
n sa’)目的是与上两句搭配使用,得出 ki r FR ocl e, ae窗 I s
实用第 智慧密集滤波器的分子系数。
() 2幅频和相频响应图像此实例的实现应用函数 f q就可以完成,即 e zh, rz e f q (h 1 r
12, a p,实现结果如图 9所示
。 04 m )啪豫 馥 u々
『——广—]——_一 山 T
—\…
碗
麓蚤鼬
。 l警鼯
f瞄峨蚤
- -
|
?。f 40 z ()= 0 H 2
《魏甄|巷 蕊蔼 %鬻稔
譬 薯
嚣譬瓢
萋稻萋稻 虢赣豫 s|毒 强嗡鼍|誊| 毽蘩每||
图 9 K i r函数滤波器 as窗 e ()定正弦波 3测
从设计要求知道,频率在 10~ 5 H,例如频率位于 s 5 20 z i n(0 p t~s (0 p¥t之间的正弦波可无损失地通过 30 i ) i 5 0 i ) n
这一滤波器。
因此以频率为 5 H,2 0 z 0 H这三个值为例, 0 z 0 H,4 0 z结果如图 1示。 0所
当 f 5 H,使用正弦函数 X i(0 p t。程序见附=0 z=s 10 i ) n录 1当 f 40 z。= 0 ,应用 X i(0 p¥ )从图中清楚地 H=s 80 i t。 n看到,这两个正弦波基本上被带通滤波器滤掉。当 f 2 0= 0 H,使用正弦函数 X s (0 p t。此时正弦波基本上可 z= i 40 i ) n 以无损通过带通滤波器。 ()出冲激响应图像和极零点图 4作f 0 Hz ( =2 0 3)
图 1频率为 5 Hz 0 H、4 0 0 0、20 z 0Hz的正弦波通过滤波器的输入输出
使用 MA L B中的滤波器设计工具,使用 K i r,再选 TA as窗 e取分析 ( nls )子菜单中的冲激响应 ( pl sos)和 Aa i ys i us r pne m ee极零点作图 (o/eo l ),是可得到冲激响应图像和极零 pl zr p t于 e o点图,如图 1所示。 1 ( )出范围 5输以白噪声输入得出输出范围,显示如图 1 2所示。程序见
源代码 ( )。略
§0t
~
…
一一班
一
一年~
一
一。
l 一
}{…’ …
●
t强罄 l∞ t
: ≥…暑强
∞姆一
| t%
鹌
f 0=5 Hz ( ) 1
电 20.2盔嫡幢1 08建
圬雏i与 《
…
…
B哦P IS P O R M…………………………一………………………一……………一 l HC R G A……………一一,P X同样长度。然后利用语句 p t 1 l l (x )作
出幅频 X l ( 0 o 0 px ) o g响应图像,如图 1所示。请一定注意因为 P X为能量,所以 3 X
用 1倍而不是 2 O 0倍。2应用 I . I R滤波器
对于上面带通滤波器的设计应用 I I波器,比如应用 e R滤 l— l i p函数。首先应用[, n n w]=e i r (p W,p r)回 e i i lp d w, Sr,s返 lo lp c l t
滤波器的最低次数 n,使通带波动 ( B<r,止带衰减 d) p (B r d )>s .相应的截止频率为 w。w:【5/s 2 p, 5/ n s 10 f i20 图 l冲激响应和极零点图 l
f 2 p】 s i为止带最大和最小频率。w p=【1 0 0/s (5—5 ) f¥2¥p,2 0+5 ) f 2 p] i(5 0/s i,为通带最大和最小频率。因此得到 n=5 r=[. 0 0 .0 0。接着应用[,】 e i(,p,wl 0 20,0 6 0】 b a= lp n r, l
r, n; sw )得到滤波器系统函数[,】 b a。幅频响应如下,振幅以 d B形式表示。结果如图 1示。 4所
图 1白噪声通过滤波器的输入及输出 2
三、讨论I得到频域输出的图像 .在上面带通滤波器设计 3 2中,输入不同频率的正弦波 ()图 1应用 ei 4 lp函数得到的 I滤波器幅频响应 l I R
得到不同的输出,但是只涉及时域输出,也可以得到频域输出的图像。以 s (0 p ) i 10 i为例,此时频率为 5 H。 n t 0 z可以应用 P D函数。它的标准形式是【 x,】=P D(, S Px F S X
( )幅频和相频响应图像 1作出滤波器实际的幅频和相频响应图像,应用 f q r z函 e数,结果如图 1示。 5所
N F, s WI D W, O E L P,此函数返回频率值 F,与 FT F, N O N V R A )
图 1应用 fe z函数得到的滤波器幅频和相频响应 5 rq图 1频率为 5 Hz正纹波通过滤波器后的频域输出 3 0的
瓣
’
…
i j
’
f
i
’
}
’
实用第一智慧密集…一 … 一 … … …一 … 一 … … …… …
( )测定滤波器的输出 2
当输入为不同频率下的正弦波,测
定滤波器的输出。从设
计要求中得知,频率在 10~ 5 H的正弦波,例如频率位于 5 20 z s (0 p t~s (0 p¥t之间的正弦波能无损失地通 i 30 i ) i 5 0 i ) n n过滤波器。我们试验 5、20 0 H这三个值。当 f 0 z 0 0、4 0 z=5 H
和 4 0H 0 z时,取正弦函数分别为 X= i(0 p t和 s s 10 i ) i n n(0 p t。在图 1 ( )中分别予以显示 5 2 80 i ) 62和 0个周期。 可以清楚地看到,这两个正弦波基本上被带通滤波器滤掉。当 f 0 z,取正弦函数为 s (0 p¥t。在图 1 ( )中=20H时 i 40 i ) n 63
显示 2 0个周期。可以清楚地看到,此正弦波基本上可以无损通过带通滤波器。结果如图 1示。 6所
( )作出冲激响应图像和极零点图 3应用语句 dm us(, ) r csb a,便得到了冲激响 i pl b a和 l u (, ) e of 0H ():20 z 3图 1频率为 5, 0,0 Hz的正弦波通过 6 02040
应图像和极零点图,结果如图 l 7所示。( )输出范围 4
带通滤波器的输入输出
使用白噪声作为输入,得出输出范围,结果如图 1 8所刁。
f 5 Hz ( )= 0 1
图 1冲激响应和极零点图 7
f 40 z (1= 0 H 2
9盔醺2雏i电疆.与 28圬 i 0_ 01衰;
简化应用,通过程序方法,熟悉并加深了对工具方法实质的理解,对使用者具有一定的指导意义。通过设计,给出了 rm— ee
zr、 ki rr、el od pd等很多复杂函数的应用方法, od a eod lpr、 s s i 可供大家借鉴。 此外,还可以应用 sto工具方法来解决设计中的一些问 pol题,由于此方法的实质等同于给出的程序方法和工具方法,并且比较容易,限于篇幅,不再详述。
参考文献1 y tm n l ssa d s n l r c s ig i mp a i o h s f S se a ay i n i a o e sn:w t e h ss nt eu eo g p h MA L B/P i pDe b g .Ha lw,E g a d T A hl n i h i r o n ln;Re dn,Ma s d a ig s .A—
d sn—W ely 9
8. io se,1 9
图 l白噪声通过滤器的输入及输出 8
2 o uain l tt t s a d o kwt C mp tt a ai i n b o i MAT AB.W e d .Ma- o s sc h h L n yL t 't e,An e Ma t e .B c a o,F;L n o;C a ma i z n gl R. r n z o a R t n L o d n h p n& i
四、总结本文应用 M T A . A L B7 3对 FR窗函数滤波器设计进行了详 I细的讨论,并且进行了深化和比较,探讨了 I I R滤波器的使用。在设计中,同时使用了程序工具方法,由于工具是程序的
Ha1 RC 2 0 . 1/C,c 0 2
3 MA L g i e D s n J Hih m, N c o a J Hi h m. T AB ud, e mo d . ga ih ls . gaP i d lh a S cey f r I d s i a d p l d Mah ma is hl ep i: o it o n u t a n A p i t e t, a rl e cc 00 2 0.
(稿日期:2 0收 0 8年 1 O月 1日) 9
(上接第 5 5页)</ c it sr> p
c t h( x e t n x ac E c p i e ) o{ ̄t M s e t毒 e . e s g; S us g T x x M s a e
/显示上载文件的操作失败消息 )/<i utp b R n v l增加上载文件" n i n ty e= u o a e= p u o dc k=ad i )/ d Fl > e(p o e t dv i r B nCi ( b c n e, v nA g ) rt ce odSue t lk o j t e d r E e t rs c e s e_
)
七、建立文件夹在浏览文件信息的主页面中,单击“创建文件夹”链接,进入创建文件夹页面,如图 4。创建文件夹名称
(s r gt e r=R q e tQu rS r g【 h dr: ti Di n h e u s . ey ti t e i n lHtp i Colcin i Ls t Fl l t l it= H t Co t x . r n . e e o fe tp ne t Cur t eRe u s i s q e t Fl; e S r g ule po d s= n w S r gBu d ti B i r la M g n d u e ti n U er
《上载的文件如下: 4< r ) - b>: t r y{
…
~
.
…
…
一
~
…
一
,
一
…
一
~
;
{ r t=O 1 i L tC u t j - o I i:<fe i . o n:+4 ) l s{ H t P se Fl P se Fl=fe it{: tp o t d i h o t d i e e i Ls Il l
国
图 4创建文件夹运行界面截图实现代码如下:: s m I Dre r. ra Dre r( ea+fle a e; S t .O. i t yCet i t yt pt ye eo e e o h h odr m ) n
sr g i N me:P t . e FlN me P se F e tn e a i f l ah G ti a o td i . e f h lFlNe i e me):i( tNa e!= n l f fe m i ul》
{,( tig iNul E t P t . t rc oy me i S r,s l f n l Or mpy( a h Ge Di t rNa e
《 e i ) t Dr ) h )
八、总结we应用程序的编写是一项综合性的工作,它涉及到多项 1 )
h o td i . a e s te i+fe a )/ l se Fl S vA ( Dr i N me/上载文件 ̄ e h les le
h o td i . a e s t e r@ 4 fe a ) P se Fl S v A ( Di 4/ - i N me: e h - l
知识的运用。从一定意义上讲,N T早就准备了丰富的类库功 .E能,关键在于自己去发现和应用。同时,就此项目而言,只需
u l d g Ap e d文件名称: 4f N me 4<b1 ) po Ms . p n《 a -i a l e - r: )} )¥ ts g T x po d g T S ; a u Ms . e t u ia Ms . o i t (: )
稍加修改,就可作为网站的一个模块运用,使网站提供更多的服务。
/显示上载文件的操作成功消息/}
(稿日期:2 0收 0 8年 1 0月 1日) 6
下一篇:2015年证券从业考试真题及答案