您好,欢迎访问三七文档
第5章窗函数本章对数字信号处理过程中所用到的有关窗函数进行了说明,这些窗函数主要有:矩形窗函数、三角窗函数、巴特利特窗函数、广义余弦窗、汉宁窗函数、海明窗函数、布莱克曼窗函数、凯塞窗函数和切比雪夫窗函数等。本章的学习目标:●理解窗函数的基本概念以及加窗原理●掌握基本窗函数产生的方法●掌握广义余弦窗函数产生的各种方法●了解凯塞窗函数和切比雪夫窗函数产生的方法5.1窗函数基本概念在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。下面介绍窗函数的基本概念。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即xn(n)=x(n)w(n)在频域上则有()()()()∫−−⋅=ππjjjdeπ21eθθωθωWeXXNMATLAB在数字信号处理中的应用•154•由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。MATLAB信号工具箱主要提供了以下几种窗函数,如表5-1所示。表5-1MATLAB窗函数窗窗函数矩形窗Boxcar巴特利特窗Barlett三角窗Triang布莱克曼窗Blackman海明窗Hamming汉宁窗Hanning凯塞窗Kaiser切比雪夫窗Chebwin5.2基本窗函数数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和巴特利特窗函数。下面就对这些窗函数展开介绍。5.2.1矩形窗函数矩形窗(RectangularWindow)函数的时域形式可以表示为:⎩⎨⎧−≤≤==其他,010,1)()(NnnRnwN它的频域特性为()⎟⎠⎞⎜⎝⎛⎟⎠⎞⎜⎝⎛=⎟⎠⎞⎜⎝⎛−−2sin2sinee21jjωωωωNWNR第5章窗函数•155•Boxcar函数:生成矩形窗调用方式w=boxcar(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w=ones(n,1)。应用说明例:生成一个长度为50的矩形窗,并观察其频率特性(使用归一化的幅值和频率),结果如图5-1所示。图5-1矩形窗及其频谱特性程序n=50;window=boxcar(n);[h,w]=freqz(window,1);subplot(2,1,1)stem(window);subplot(2,1,2);plot(w/pi,20*log(abs(h)/abs(h(1))));5.2.2三角窗函数三角窗是最简单的频谱函数为非负的一种窗函数。三角窗函数的时域形式可以表示为:)W(ejω当n为奇数时⎪⎩⎪⎨⎧≤≤+++−+≤≤+=nknnknnknkkw21,1)1(2211,12)(当n为偶数时⎪⎩⎪⎨⎧≤≤+−≤≤−=nknnknnknkkw2,)1(221,12)(MATLAB在数字信号处理中的应用•156•它的频域特性为:()()221jj2sin41sin12ee⎟⎟⎟⎟⎠⎞⎜⎜⎜⎜⎝⎛⎟⎠⎞⎜⎝⎛⎟⎠⎞⎜⎝⎛−−=⎟⎠⎞⎜⎝⎛−−ωωωωNNWNR三角窗函数的主瓣宽度为Nπ8,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。Triang函数:生成三角窗调用方式w=triang(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。三角窗也是两个矩形窗的卷积。三角窗函数的首尾两个数值通常是不为零的。当n是偶数时,三角窗的傅立叶变换总是非负数。应用说明例:生成一个长度为50的三角窗,并观察其频率特性(使用归一化的幅值和频率),结果如图5-2所示。图5-2三角窗及其频谱特性程序n=31;window=triang(n);[h,w]=freqz(window,1);subplot(1,2,1)stem(window);subplot(1,2,2);plot(w/pi,20*log(abs(h)/abs(h(1))));5.2.3巴特利特窗函数巴特利特窗函数的时域形式可以表示为当n为奇数时⎪⎩⎪⎨⎧≤≤+−−−+≤≤−−=nknnknknkkw21,1)1(22211,1)1(2)(第5章窗函数•157•当n为偶数时()⎪⎩⎪⎨⎧≤≤−−≤≤−−=nknnknnknkkw2,1)(221,1)1(2Bartlett函数:生成巴特利特窗调用方式w=bartlett(n):(1)输入参数n是窗函数的长度;(2)输出参数w是由窗函数的值组成的n阶向量。(3)巴特利特窗是两个矩形窗的卷积。(4)此函数生成的巴特利特窗的两端总是0。(5)该函数与三角窗函数非常类似。当n是奇数时,则有bartlett(n+2)的中间部分等于triang(n);当n是偶数时,巴特利特窗的傅立叶变换是负数。应用说明例:生成一个长度为50的巴特利特窗,并观察其频率特性(使用归一化的幅值和频率),结果如图5-3所示。图5-3巴特利特窗及其频谱特性程序n=51;window=bartlett(n);[h,w]=freqz(window,1);subplot(1,2,1)stem(window);subplot(1,2,2);plot(w/pi,20*log(abs(h)/abs(h(1))));5.3广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。这些窗都是频率为0、2π/(N–1)和4π/(N–1)的余弦曲线的合成,其中为窗的长度。通常采用下面的命令来生成这些窗:NMATLAB在数字信号处理中的应用•158•()()1Nπ21N:0ind'−∗∗−=ind)*cos(2Ccos(ind)BAwindow∗+∗−=其中,A、B、C适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函数,●布莱克曼窗A=0.5,B=0.5,C=0.08;5.3.1汉宁窗函数汉宁窗函数的时域形式可以表示为:分别是:●汉宁窗A=0.5,B=0.5,C=0;●海明窗A=0.54,B=0.54,C=0;⎟⎟⎠⎞⎜⎜⎝⎛⎟⎠⎞⎜⎝⎛+−=1π2cos15.0)(nkkwNk,,2,1L=它的频域特性为:()()⎟⎠⎞⎜⎝⎛−−⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛−++⎟⎠⎞⎜⎝⎛−−+=21je1π21π225.05.0NRRRNWNωωωωω其中,)(ωRW为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了函数:生成汉宁窗nning(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。。函数返回包括为零的首尾两个元素。(使用归一化的幅值和频率),结果如图5-41倍,为8π/N。hanning调用方式(1)w=ha注意:此函数不返回是零点的窗函数的首尾两个元素(2)w=hanning(n,'symmetric'):与上面相类似。(3)w=hanning(n,'periodic'):此点的窗函数应用说明例:生成一个长度为50的汉宁窗,并观察其频率特性图5-4汉宁窗及其频谱特性第5章窗函数•159•所示程序ndow,1);plot(w/pi,20*log(abs(h)/abs(h(1))));5.3.2海明窗函数海明窗函数的时域形式可以表示为。n=51;window=hanning(n);[h,w]=freqz(wisubplot(1,2,1)stem(window);subplot(1,2,2);⎟⎠⎞⎜⎝⎛−−=1π2cos46.054.0)(NkkwNk,,2,1L=它的频域特性为⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛−++⎟⎠⎞⎜⎝⎛−−+=1π21π223.0)(54.0)(NWNωωωω其中,)(ωRW为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的。函数:生成海明窗hamming(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶来控制窗函数首尾的两个元素值;其取值为symriodic;默认值为symmetric。用归一化的幅值和频率),结果如图5-5程序Hamming调用方式(1)w=向量。(2)w=hamming(n,sflag):参数sflag用metric或pe应用说明例:生成一个长度为50的海明窗,并观察其频率特性(使所示。n=51;图5-5海明窗及其频谱特性MATLAB在数字信号处理中的应用•160•window=hamming(n);[h,w]=freqz(window,1);plot(w/pi,20*log(abs(h)/abs(h(1))));5.3.3布莱克曼窗函数布莱克曼窗函数的时域形式可以表示为subplot(1,2,1)stem(window);subplot(1,2,2);⎟⎠⎞⎜⎝⎛−−+⎟⎠⎞⎜⎝⎛−−−=11π4cos08.011π2cos5.042.0)(NkNkkwNk,,2,1L=它的频域特性为=)(ωW42.0()ωRW+25.0+⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛−++⎟⎠⎞⎜⎝⎛−−1212NWNWRRπωπω⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛−++⎟⎠⎞⎜⎝⎛−−1π41π404.0NWNWRRωω其中,)(ωRW为矩形窗函数的幅度频率特性函数。布莱克曼窗函数的最大旁瓣值比主瓣值低57dB,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N。Blackman函数:生成海明窗ckman(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n来控制窗函数首尾的两个元素值;其取值为symmetric或periodic;默认值为symmetric。用归一化的幅值和频率),结果如图5-6所示。程序调用方式(1)w=bla阶向量。(2)w=blackman(n,sflag):参数sflag用应用说明例:生成一个长度为50的布莱克曼窗,并观察其频率特性(使n=51;window=blackman(n);图5-6布莱克曼窗及其频谱特性第5章窗函数•161•[h,w]=freqz(window,1);plot(w/pi,20*log(abs(h)/abs(h(1))));5.4数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使用户凯塞窗函数的时域形式可表示为subplot(1,2,1)stem(window);subplot(1,2,2);凯塞窗上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。而凯塞窗定义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是近乎最大的。而且,这种窗函的设计变得非常灵活。)(1211)(020ββINkIkw⎥⎥⎦⎤⎢⎢⎣⎡⎟⎠⎞⎜⎝⎛−−−=10−≤≤Nk是第1类变形零阶贝塞尔函数,β是窗函数的形状参数,由下式确定:)(0βI其中,⎪⎩⎪⎨⎧≤≤−+−−=21,05021),21(07886.0)21(5482.050),7.8(1102.04.0ααααααβ其中,α为凯塞窗函数的主瓣值和旁瓣值之间的差值(dB)。改变β的取值,可以对主瓣宽度和旁瓣衰减进行自由选择。β的值
本文标题:窗函数
链接地址:https://www.777doc.com/doc-1870801 .html