数字信号处理窗函数的对比.docx
- 文档编号:9862700
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:17
- 大小:548.23KB
数字信号处理窗函数的对比.docx
《数字信号处理窗函数的对比.docx》由会员分享,可在线阅读,更多相关《数字信号处理窗函数的对比.docx(17页珍藏版)》请在冰豆网上搜索。
数字信号处理窗函数的对比
摘要
数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。
而FIR数字滤波器可以方便地实现线性相位且其群时延不随频率变化的,因此在数字信号处理中占有非常重要的地位。
在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用。
FIR数字滤波器传统的设计方法有窗函数法、频率抽样法和等波纹逼近法。
用窗函数设计FIR数字滤波器就是用有限长的脉冲相应逼近序列,其基本设计思想为:
首先选定一个理想的选频滤波器,然后截取它的脉冲响应得到线性相位。
本文就是以窗函数设计方法为基础的。
窗函数是一种用一定宽度窗函数截取无限长脉冲响应序列获取有限长脉冲响应序列的设计方法。
本文首先介绍了利用窗函数法设计带通滤波器的基本方法;然后对矩形窗,汉宁窗,哈明窗,布莱克曼窗,三角窗和凯塞窗等六种常用的窗函数进行了说明;再后应用MATLAB软件设计加窗的FIR数字滤波器,并结合具体实例进行了说明;最后主要探讨了各窗函数设计法中随着其窗函数长度的不同其幅度特性曲线和相位特性曲线的性能分析以及不同类型窗函数的性能分析。
关键字:
数字滤波器; MATLAb;不同长度;窗函数
第一章窗函数基本概念
在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。
这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。
而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。
当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。
而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。
而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。
另外,在功率谱估计中也要遇到窗函数加权问题。
由此可见,窗函数加权技术在数字信号处理中的重要地位。
下面介绍窗函数的基本概念。
设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即
xn(n)=x(n)w(n)
在频域上则有
由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。
MATLAB信号工具箱主要提供了以下几种窗函数,如表5-1所示。
MATLAB窗函数
窗
窗函数
矩形窗
Boxcar
巴特利特窗
Barlett
三角窗
Triang
布莱克曼窗
Blackman
海明窗
Hamming
汉宁窗
Hanning
凯塞窗
Kaiser
切比雪夫窗
Chebwin
表1各种窗函数的基本参数如下
窗函数
旁瓣峰值幅度/dB
过渡带宽
阻带最小衰减/dB
矩形窗
-13
4π/N
-12
汉宁窗
-31
8π/N
-44
哈明窗
-41
8π/N
-53
不莱克曼窗
-57
12π/N
-74
三角形窗
-25
8π/N
-25
凯塞窗(α=7.865)
-57
10π/N
-80
第二章三种窗函数简介及对比
以上八种窗口大概可分为基本函数窗,广义余弦窗,凯塞窗,切比雪夫窗。
本实验主要对比基本函数窗里德三角函数窗,广义余弦窗里德汉宁窗,还有切比雪夫窗。
数字信号处理领域中所用到的基本窗函数主要有:
矩形窗函数、三角窗函数和巴特利特窗函数。
下面就对这些窗函数展开介绍。
汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。
这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。
采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。
这些窗都是频率为0、2π/(N–1)和4π/(N–1)的余弦曲线的合成,其中
为窗的长度。
通常采用下面的命令来生成这些窗,
对于给定的旁瓣高度,切比雪夫窗的主瓣宽度最小。
这是因为它的旁瓣具有相同的高度,也就是具有等波纹性。
切比雪夫窗在边沿的采样点有尖峰。
2.1三角窗函数
三角窗是最简单的频谱函数
为非负的一种窗函数。
三角窗函数的时域形式可以表示为:
当n为奇数时
当n为偶数时
它的频域特性为:
三角窗函数的主瓣宽度为
,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。
2.2汉宁窗函数
汉宁窗函数的时域形式可以表示为:
它的频域特性为:
其中,
为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8π/N。
2.3切比雪夫窗
对于给定的旁瓣高度,切比雪夫窗的主瓣宽度最小。
这是因为它的旁瓣具有相同的高度,也就是具有等波纹性。
切比雪夫窗在边沿的采样点有尖峰。
2.4、窗口长度N分别等于90,60,30的程序及结果
n=90;
window=triang(n);
[h,w]=freqz(window,1);
subplot(2,3,1)
stem(window);
subplot(2,3,4);
plot(w/pi,20*log(abs(h)/abs(h
(1))));
window=hanning(n);
[h,w]=freqz(window,1);
subplot(2,3,2)
stem(window);
subplot(2,3,5);
plot(w/pi,20*log(abs(h)/abs(h
(1))));
r=50;
window=chebwin(n,r);
[h,w]=freqz(window,1);
subplot(2,3,3)
stem(window);
subplot(2,3,6)
plot(w/pi,20*log(abs(h)/abs(h
(1))));
窗口长度N分别等于90,60,30的三幅图,每图中分别为三角窗,汉宁窗,切比雪夫窗。
2.5不同长度及不同窗函数对比分析
由以上运行结果可知,三角窗的主瓣宽带较大,但是旁瓣宽带较小。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度也比较大。
旁瓣谱峰渐进衰减速度却比三角窗快的多。
对于给定的旁瓣高度,切比雪夫窗的主瓣宽度最小。
这是因为它的旁瓣具有相同的高度,也就是具有等波纹性。
切比雪夫窗在边沿的采样点有尖峰。
对于同一种窗来说,选取不同的长度的区别也很大,N越小,主瓣越宽,过渡带越宽。
.
总体来说,三角窗的效果最差,切比雪夫窗的效果最好。
下面我们利用以上的分析结果,利用三种窗函数做出滤波器进行对比。
第三章程序实现及比较
3.1设计要求
用三角窗设计一个线性相位带通滤波器,上下边带宽截止频率分别为
,
α1=0.2,α2=0.4,绘制它的幅频和相位特性曲线,观察它的实际3dB和3dB带宽。
观察幅频和相位特性的变化,注意长度N变化对结果的影响。
3.2N=20时三种窗函数程序及运行结果
N=20:
window=triang(21);
b=fir1(20,[0.20.4],window);
freqz(b,1);
window=hanning(41);
b=fir1(40,[0.20.4],window);
freqz(b,1);
r=15;
window=chebwin(21,r);
b=fir1(20,[0.20.4],window);
freqz(b,1);
N=20时用三角形窗设计的线性相位带通滤波器幅频和相位特性曲线
N=20时用汉宁窗设计的线性相位带通滤波器幅频和相位特性曲线
N=20时用切比雪夫窗设计的线性相位带通滤波器幅频和相位特性曲线
3.3N=40时三种窗函数程序及运行结果
N=40:
window=triang(41););
b=fir1(40,[0.20.4],window);
freqz(b,1);
window=hanning(71);
b=fir1(70,[0.20.4],window);
freqz(b,1);
r=25;
window=chebwin(41,r);
b=fir1(40,[0.20.4],window);
freqz(b,1);
图4N=40时用三角形窗设计的线性相位带通滤波器幅频和相位特性曲线
图4N=40时用汉宁窗设计的线性相位带通滤波器幅频和相位
特性曲线
图4N=40时用切比雪夫窗设计的线性相位带通滤波器幅频和相位特性曲线
3.3N=70时三种窗函数程序及运行结果
window=triang(71);
b=fir1(70,[0.20.4],window);
freqz(b,1);
window=hanning(71);
b=fir1(70,[0.20.4],window);
freqz(b,1);
r=55;
window=chebwin(71,r);
b=fir1(70,[0.20.4],window);
freqz(b,1);
图5N=70时用三角形窗设计的线性相位带通滤波器幅频和相位特性曲线
图5N=70时用汉宁窗设计的线性相位带通滤波器幅频和相位特性曲线
N=70时用切比雪夫窗设计的线性相位带通滤波器幅频和相位特性曲线
3.5整体分析
首先介绍下主瓣宽度,旁瓣宽度,和旁瓣谱峰渐进衰减速度的基本概念。
窗函数有三个频域指标,对时间窗的一般要求是其频谱(也叫做频域窗)的主瓣尽量窄,以提高频率分辨率;旁瓣要尽量低,以减少泄漏。
但两者往往不能同时满足,需要根据不同的测试对象选择窗函数。
一个理想的窗口应该有最小的B和A,最大的D。
B、A、D的意义如图10.36所示。
从以上分析可以得出,在各种窗函数中,三角窗阻带最小,衰减最小,然后是汉宁窗,切比雪夫窗。
总体来说三角窗的效果最差,切比雪夫窗的效果最好。
此外,设计的FIR数字滤波器的长度N不同,所得到的滤波器的过渡带也会不一样,N越小,主瓣越宽,过渡带越宽。
从图中我们看到,对于同一种窗,N的值越大主瓣宽度越小,相应地,滤波器的过渡带就越窄,主瓣高度与第一旁瓣高度的差值方面基本不变。
而旁瓣的个数越来越多,但旁瓣的宽度随着N的加大而减小。
总体来说,相同的窗函数下,N值越大,主瓣越窄,过渡带越窄,阻带的波动频率加快,但阻带的最小衰减没有改变。
因此,实际中应选择主瓣较宽的窗函数,以加大阻带的衰减,保证通带的平稳,同时在保证阻带最小衰减指标的情况下,适当增加N值,使过渡带更宽一些。
第四章课设心得
此次课程设计,我查阅了很多相关资料,也学到了很多东西。
设计带通滤波器时首先要计算出过渡带,然后查表得到不同窗函数所需要的阶数,不同的窗函数所设计的滤波器的形状各有差异,尤其在主瓣宽度、旁瓣的形状以及主瓣与旁瓣的高度差上有比较明显得差别,实际应用中应根据实际情况,折衷处理,兼顾各项指标。
实际中遇到的离散时间信号总是有限长的,因此不可避免地要遇到数据截断问题。
而在信号处理中,对离散序列的数据截断是通过序列与窗函数相乘来实现的。
而且,有关滤波器的设计、功率谱估计等基本概念也要用到窗函数。
本次课程设计对经常用到的下面6个窗函数:
矩形窗函数、汉宁窗函数、海明窗函函数、布莱克曼窗函数、三角窗函数以及凯塞窗函数,先是做了基本概念上的阐释,然后又结合具体的实例,对窗函数的频域特性等进行了介绍;最后对其MATLAB实现函数做出了说明。
通过这次学习,我不但掌握了FIR数字滤波器窗函数的基本知识及其实际应用的技巧了,还提高了自己的编程和写报告的能力,收获颇多。
参考文献
【1】谢平、王娜、林洪彬《信号处理原理与应用》燕山大学2008年
【2】唐向宏.数字信号处理-原理:
实现与仿真.北京:
高等教育出版社2000.12
【3】薛年喜.MATLAB在数字信号处理中的应用(第二版).北京:
清华大学出版社2008.1
【4】王世一.数字信号处理.北京:
北京理工大学出版社2001
【5】陈亚勇等.Matlab信号处理详解.北京:
人民邮电出版社2001
【6】刘泉《信号与系统》高等教育出版社2006
【7】陈怀琛《MATLAB及在电子信息课程中的应用》(第3版)电子工业出版社2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 函数 对比