FIR低通滤波器加窗效应分析.docx
《FIR低通滤波器加窗效应分析.docx》由会员分享,可在线阅读,更多相关《FIR低通滤波器加窗效应分析.docx(18页珍藏版)》请在冰豆网上搜索。
FIR低通滤波器加窗效应分析
1.摘要2
2.弓丨言3
3.FIR滤波器设计4
3.1线性相位FIR滤波器的条件与特点
3.2用窗函数法设计FIR滤波器的基本原理
3.3用窗函数法设计FIR滤波器的一般步骤
3.4FIR滤波器加窗效应分析
3.5几种常用窗函数简介
四MATLAB仿真滤波实现14
4.1MATLAB软件简介
4.2设计中主要用到的MATLAB函数
4.3实验程序及结果分析
五心得体会与总结21
22
六参考文献
.摘要
数字滤波器一词出现在60年代中期。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号(对应数字频率)转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的数字频率
(2n*f/fs,f为模拟信号的频率,fs为采样频率,注意区别于模拟频率),按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(ws/2=n),其频率响应具有以2n为间隔的周期重复特性,且以折叠频率即3=n点对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器,以及f.i.r滤波器。
二.引言
随着信息技术的迅猛发展,数字信号处理已成为一个极其重要的学科和技术领域。
在通信、语音、图像、自动控制和家用电器等众多领域得到了广泛的应用。
数字滤波是数字信号处理的重要环节,它在数字信号处理中占有着重要的地位,它具有可靠性好、精度高、灵活性大、体积小、重量轻等优点。
随着数字技术的发展,数字滤波器越来越受到人们的重视,广泛地应用于各个领域。
数字滤波器的输入输出信号都是数字信号,它是通过一定的运算过程改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波的,这种运算过程是由乘法器、加法器和单位延迟器组成的。
数字滤波器是数字信号处理技术的重要内容,其对数字信号进行的最常见处理是保留数字信号中的有用频率成分和去除信号中的无用频率成分。
按照时间域的特性,数字滤波器可以分为无限冲激脉冲响应数字滤波器(IIR滤波器)和有限冲激脉冲响应数字滤波器(FIR滤波器)。
三FIR滤波器设计
3.1线性相位FIR滤波器的条件与特点
N1
h(n)zn,系统频率n0
N1
FIRDF的系统函数无分母,为H(z)biz
i0
N1
响应可写成:
H(ejw)h(n)ejwn,令H(ejw)=H(w)ej(w),H(w)称为幅
n0
度函数,(w)称为相位函数。
这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。
线性相位的FIR滤波器是指其相位函数(W)满足线性方程:
(w)=w(,是常数)
根据群时延的定义,式中表示系统群时延,表示附加相移。
线性相位的FIR系统都具有恒群时延特性,因为为常数,但只有=0的FIR系统采具有恒相时延特性。
第一类FIRDF的特点:
恒相时延,相位曲线是过原点的曲线;
可通过h(n)灵活设计幅度函数的零点位置;幅度函数对频率轴零点偶对称H(w)H(w),对点偶对称
H(w)H(2w)。
第二类FIRDF的特点:
恒相时延,相位曲线是过原点的直线;
幅度函数对频率轴零点偶对称H(w)H(W);
幅度函数对频率轴点奇对称H(w)
H(2w)o由H(w)的连续性,
点一定是幅度函
数的零点
cos[w(n〔)]0H()0H(z)在z=-l处有零点;因此这类滤波器不
2
适合高通或带阻滤波器。
第三类FIRDF的特点:
N1
恒群时延,有一附加相移,相位曲线是截距为一、斜率为-一1的直线;
222
幅度函数对零频点奇对称H(w)H(w),零频是H(w)的零点;
对奇对称H(w)H(2w),也是H(w)的零点。
第四类FIRDF的特点:
N1
恒群时延,有一附加相移,相位曲线是截距为一、斜率为-一1的直线;
222
幅度函数对零频点奇对称H(w)H(w),零频是H(w)的零点;
对偶对称H(w)H(2w)o
3.2用窗函数法设计FIR滤波器的基本原理
设所希望得到的滤波器的理想频率响应为Hd(ejw)o那么FIR滤波器
的设计就在于寻找一个传递函数H(ejw)h(n)ejwn去逼近Hd(ejw)。
在
n0
这种逼近中最直接的一种方法是从单位取样响应序列h(n)着手,使h(n)
逼近理想的单位取样响应hd(n)。
我们知道hd(n)可以从理想频率响应
Hd(ejw)通过傅里叶反变换来得到,即:
jwjwn
Hd(e)hd(n)e
n
12
hd(n)厂0Hd(ejw)ejwndw
但是一般来说,这样得到的单位取样响应hd(n)往往都是无限长序列;而且是非因果的。
我们以一个截止频率为wc的线性相应位理想低通为例来说明。
设低通滤波器的时延为,即:
Hd(ejw)
jw
e
0
wWc
Wcw
sin[Wc(n)]
(n)
1wcjwjwn,
hd(n)
ejejdw
2Wc
这是一个以为中心的偶对称的无限长非因果序列。
这样一个无限长的
序列怎样用一个有限长序列去近似呢?
最简单的办法就是直接截取它的
段来代替它。
例如把n0到nN1的一段截取来作为h(n),但是为
要保证所得到的是线性相位滤波器。
必须满足h(n)的对称性,所以时延
应该取h(n)长度的一半,即(N1)/2
h(n)
hd(n)0nN1
0其它n
这种直接截取的办法可以形象地想象为:
h(n)好比是通过一个“窗口”所看到的一段hd(n)。
h(n)中表达为hd(n)和一个“窗口函数”的乘积。
在这里,窗口函数就是矩形脉冲函数Rn(n),即
h(n)hd(n)Rn(n)
但是一般来说,窗口函数并不一定是矩形函数,可以在矩形以内还对
hd(n)作一定的加权处理,因此,一般可以表示为
h(n)hd(n)w(n)
这里w(n)就是窗口函数。
按照复卷积公式,在时域中的乘积关系可表示成在频域中的周期性
卷积关系,即可得所设计的FIR滤波器的频率响应:
H〔沖)=—|肌(評⑴一册)de
其中,We为截断窗函数的频率特性。
由此可见,实际的FIR数字滤波器的频率响应hej逼近理想滤波器频率响应%於"冯的好坏,完全取决于窗函数的频率特性we。
如果w(n)具有下列形式:
0,n0,nN
w(n)
1,0nN
w(n)相当于一个矩形,我们称之为矩形窗。
即我们可采用矩形窗函数w(n)将无限脉冲响应hd(n)截取一段h(n)来近似为hd(n)。
3.3用窗函数法设计FIR滤波器的一般步骤
1.确定逼近理想滤波器的频率响应函数Hd(ejw);
2.求出理想的单位抽样响应hd(n);
(3)根据过渡带宽和阻带最小衰件等要求,选择窗函数,并确定窗口长度;
求所设计的FIR滤波器的单位抽样响应h(n)hd(n)w(n);
计算频率响应H(ejw)DTFT[h(n)],验算指标是否满足要求,若不满足,则要重新设计
FIR滤波器加窗效应分析
经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?
下图给出了理想滤波器加矩形窗后的情况。
理想低通滤波器的频率响应底总屮驾如图中左上角图,矩形窗的频率响应w(ej)为左下角图。
根据卷积定理,即得实际滤波器的频率响应Hej图形为图中右图。
--i!
冀册賈
(WjTh
I'
由图可看出,加矩形窗后使实际频率响应偏离理想频率响应,主要影响
有两个方面:
(1)在理想幅频特性陡直边缘处形成过渡带,过渡带宽取决于矩形窗函数频率响应的主瓣宽度4/N。
(2)过渡带两侧形成肩峰和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,波纹越多。
3.5几种常用窗函数简介
矩形窗
矩形窗函数的时域形式可以表示为:
w(n)RN(n)
1,0nN1
0,其他
它的频域特性为:
sin
Wej
j-2
sin
汉宁窗函数
汉宁窗函数的时域形式可以表示为:
w(k)
0.51
k
cos2n
n1
k1,2,,N
它的频域特性为:
0.5Wr0.25Wr
2n
N1
Wr
N1J
2
e
其中,WR()为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8n/N。
海明窗函数
海明窗函数的时域形式可以表示为:
k1,2,,N
w(k)0.540.46cos2n
N1
它的频域特性为:
其中,Wr()为矩形窗函数的幅度频率特性函数。
W()0.54Wr()0.23Wr
2n
Wr
2n
海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的。
布莱克曼窗
+0.()8cc>s
增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。
频谱的幅度函数为:
fF(^=042FF>(ffl)+0.25
+0.04
三角窗函数
三角窗是最简单的频谱函数Wej为非负的一种窗函数。
三角窗函数的
时域形式可以表示为:
当n为奇数时:
2k
w(k)
n1
2(nk1)n1
n1,2
当n为偶数时:
w(k)
2k1n
1k-
n2
2(nk1)n
,—knn2
它的频域特性为:
WRej
N1n1sin—
224
N1.
sin—
2
三角窗函数的主瓣宽度为8n/N,比矩形窗函数的主瓣宽度增加了倍,但是它的旁瓣宽度却小得多。
6.凯泽窗
以上几种窗函数,都是以增加主瓣宽度为代价来降低旁瓣。
凯泽窗
则可自由选择主瓣宽度和旁瓣衰减,如图
(2)。
佩冲)=
图
(2)
式中lo(x)是零阶贝塞尔函数,参数B可自由选择,决定主瓣宽度与旁瓣衰减。
B越大,w(n)窗越窄,其频谱的主瓣变宽,旁瓣变小。
四MATLAB仿真滤波实现
MATLAB软件简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
4.2设计中主要用到的MATLAB函数
fir1函数
fir1函数实现线性相位FIR数字滤波器的窗函数法设计.利用这一函数可以设计出标准的低通、高通、带通和带阻线性相位FIR滤波器。
调用格式:
(1)b=fir1(n,wn)
用海明窗设计低通或带通的FIR滤波器.wn是截止频率,以“弧度”为单位。
fir1函数返回FIR滤波器的系数向量b。
如果wn是一个标量,则返回的是一个n阶的低通FIR数字滤波器。
(2)b=fir1(n,wn,'type','window')
‘type'为滤波器的类型,当type=high时,设计高通FIR滤波器;当type=stop时,设计带阻FIR滤波器。
向量window用来指定窗函数类型,其长度为n+1,缺省时为海明窗。
freqz函数
为了检验所设计的数字滤波器是否正确,可以画出其幅频特性.MATLAB提供了求解数字滤波器频率响应的函数freqz,其调用格式如下:
[h,w]=freqz(b,a,n)
返回数字滤波器的n点频率响应h和频率向量w。
若n缺省,则自动取n为默认值512。
plot函数
plot(Y)如果Y是mKn的数组,以1:
m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是nx1或者1Xn的向量,则以1:
n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。
title函数
title就是给已经画出的图加一个标题.title(”)里面的内容就是
图片标题的名称。
legend函数
legend(string1,string2,string3,...)
分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。
4.2.6xlabel
)ylabel()函数
Xlabel()函数给x坐标轴添加标注,ylabel()函数给y坐标轴添加标注。
4.2.7holdon
Holdon命令可以保护当前的坐标系,使以后再使用plot()函数时将新的曲线叠印在原来的图上,用holdoff则可以取消保护状态。
4.2.8axis
axis(【xminxmaxyminymax】)设置坐标轴的极限范围。
c2-5e953e15d32f-Numbered_e95422实验程序及结果分析
(1)相同的窗口加不同的窗长(M=10,20,40)
程序一、汉宁窗不同窗长
wc=0.25;
N=[112141];
M=N-1;
hl1=fir1(M
(1),wc,hanning(N
(1)));
hl2=fir1(M
(2),wc,hanning(N
(2)));
hl3=fir1(M(3),wc,hanning(N(3)));
[h1,w11]=freqz(hl1,1,512);
[h2,w12]=freqz(hl2,1,512);
[h3,w13]=freqz(hl3,1,512);
plot(w11/pi,20*log(abs(h1)/max(abs(h1))));
holdon
plot(w12/pi,20*log(abs(h2)/max(abs(h2))),':
');
holdon
plot(w13/pi,20*log(abs(h3)/max(abs(h3))),'--');
gridon;
axis([01-35010]);
3)|');
title('汉宁窗不同窗长');
xlabel('3/n');ylabel('|H(eAj
legend({'M=10','M=20','M=40'});
汉宁窗不同窗怅
图(3)分别给出了M=10,M=20及M=40时的Hej的幅频特性曲线。
由图可知当M的值逐渐增大,即窗口的长度逐渐变长时,过渡带的宽度逐渐变窄,但阻带内的波动幅度没有多大改善。
说明调整窗口长度可以有效的控制过度带的宽度,但不改变旁瓣的相对宽度,不能加大阻带的衰减。
(2)不同窗口加相同的窗长
程序二、同窗长的汉宁窗与矩形窗比较
wc=0.25;
N=21;
M=N-1;
hl1=fir1(M,wc,hanning(N));
hl2=fir1(M,wc,boxcar(N));
[h1,w11]=freqz(hl1,1,512);
[h2,w12]=freqz(hl2,1,512);
plot(w11/pi,20*log(abs(h1)/max(abs(h1))));
holdonplot(w12/pi,20*log(abs(h2)/max(abs(h2))),':
');
gridon;
axis([01-35010]);
title('
同窗长的汉宁窗与矩形窗比较');
xlabel('
3/n');ylabel('|H(eAj3)|')
legend({'
汉宁窗','矩形窗'})
可窗长的汉宁窗与拒形京比较
由上图可以看出,加汉宁窗比加矩形窗可以更好的减小阻带内的波动,但同时却增大了过渡带的宽度。
因此在选择窗函数时,既要考虑过渡带的宽度,也要考虑阻带波动。
一般选着窗函数的原则是在保证阻带衰减满足要求的情况下,尽量减小过渡带的宽度。
五.心得体会与总结
通过一周的课设,我对数字信号处理有了更进一步的理解,通过对数字滤波器的设计,我又了解了数字滤波器的基本结构和基本特性。
通过对作为论文的重要部分MATLAB的运用,从而大大提高了我对计算,变成和绘图于一体的该应用软件的运用能力。
在每次的课程设计中,遇到问题,最好的办法就是问别人,因为每个人掌握情况不一样,不可能做到处处都懂,发挥群众的力量,复杂的事情就会变得很简单。
这一点我深有体会,在很多时候,我遇到的困难或许别人之前就已遇到,向他们请教远比自己在那冥思苦想来得快。
而且通过此次的课程设计,使我在学习理论基础知识的同时学会了应用MATLAB,增强了对理论知识的理解。
六.参考文献
谢平王娜林洪彬编著《信号处理原理及应用》机械工业出版社
2008.10
万永革编著《数字信号处理的MATLAB实现》科学出版社
王世一著《数字信号处理》(修订版)北京理工大学出版社2003.2