您好,欢迎访问三七文档
1I目录摘要......................................................................I1.窗函数....................................................................12.窗函数的种类..............................................................22.1基本窗函数..........................................................42.2广义余弦窗..........................................................53.基于matlab的实现.........................................................93.1MATLAB软件简介.......................................................93.2各窗函数的图形......................................................113.3各窗函数的幅频特性..................................................134.频谱泄露.................................................................154.1频谱泄漏原理........................................................154.2产生机理...........................................................154.3窗函数的频谱泄漏的抑制方法..........................................164.4窗函数的选择........................................................185.实验结果分析............................................................196.心得体会................................................................20参考文献...................................................................21武汉理工大学《数字信号处理》课程设计I摘要现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。武汉理工大学《数字信号处理》课程设计11.窗函数1.1基本概念在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。窗函数的基本概念。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即xn(n)=x(n)w(n)在频域上则有由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。1.2设计原理窗函数设计法的基本原理是用有限长单位脉冲响应序列nh逼近nhd。由于nhd往往是无限长序列,而且是非因果的,所以用窗函数n将nhd截断,并进行加权处理,得到:nh就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数jeH为ππjjjdeπ21eWeXXNnnhnhdnjNnjenheH10武汉理工大学《数字信号处理》课程设计2式中,N为所选窗函数n的长度。用窗函数法设计的滤波器性能取决于窗函数n的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。2.窗函数的种类对时间序列作傅里叶变换时,实际上要作周期延拓,如果取长序列的一段进行处理,还要先作截断。截断会引起频谱的泄漏问题,这是由于抽样后的离散序列与矩形截断序列相乘,在频域造成两者的频谱卷积形成的。为了避免频谱泄露对结果的影响,在对非周期信号作时间截断时,除尽量增加截断序列的宽度外,也应选其频谱的旁瓣较小的截断窗函数,以减小泄漏的影响。在信号处理中窗函数是一种除在给定区间之外取值均为0的实函数。常用的窗函数很多,例如矩形窗、三角窗、Hanning窗、Hamming窗、Parzen窗、Kaiser窗、Chebyshev窗、Tukey窗、Poisson窗、Caushy窗、Gaussian窗和Blackman窗等等,定义方式不同,性质也不同,可以根据实际需要来选择合适的截断窗函数减轻泄露问题。窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。在这里,应用窗函数对输入数据进行截断(时域加窗),从而得到要处理的数据及其长度。表2.1MATLAB窗函数窗窗函数矩形窗Boxcar巴特利特窗Barlett三角窗Triang布莱克曼窗Blackman海明窗Hamming汉宁窗Hanning凯塞窗Kaiser切比雪夫窗Chebwin武汉理工大学《数字信号处理》课程设计3表2.2各种窗函数的基本参数窗函数旁瓣峰值幅度/dB过渡带宽阻带最小衰减/dB矩形窗-134π-12三角形窗-258π/N-25汉宁窗-318π/N-44海明窗-418π/N-53不莱克曼窗-5712π/N-74凯塞窗(α=7.865)-5710π/N-80这样选定窗函数类型和长度N之后,求出单位脉冲响应nnhnhd,并按照上式求出jeH。jeH是否满足要求,要进行演算。一般在nh尾部加零使长度满足2的整数次幂,以便用FFT计算jeH。如果要观察细节,补零点数增多即可。如果jeH不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。如果要求线性相位特性,则nh还必须满足nNhnh1根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类,例如,要设计线性相位低通特性,可以选择nNhnh1这一类,而不能选择nNhnh1这一类。主程序框图如图2.1所示。其中幅度特性要求用dB表示。武汉理工大学《数字信号处理》课程设计4设画图时,用)(lg20kH打印幅度特性。第k点对应的频率kNk2。为使曲线包络更接近jeH的幅度特性曲线,DFT变换区间要选大些。例如窗口长度N=33时,可通过在nh末尾补零的方法,使长度变为64,再进行64点DFT,则可以得到更精确的幅度衰减特性曲线。2.1基本窗函数数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和巴特利特窗函数。下面就对这些窗函数展开介绍。2.1.1矩形窗函数矩形窗(RectangularWindow)函数的时域形式可以表示为:其他,010,1)()(NnnRnwN(公式2-1)它的频域特性为开始读入窗口长度N计算hd(n)调用窗函数子程序求w(n)调用子程序(函数)计算H(k)=DFT[h(n)]调用绘图子程序(函数)绘制H(k)幅度相位曲线结束图2.1主程序框图计算h(n)=hd(n)w(n))()()()()()()]([)(22kHkHkHkjHkHkHnhDFTkHIRIR武汉理工大学《数字信号处理》课程设计52sin2sinee21jjNWNR公式(2-2)Boxcar函数:生成矩形窗调用方式w=boxcar(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w=ones(n,1)。2.1.2三角窗函数三角窗是最简单的频谱函数)W(ej为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时nknnknnknkkw21,1)1(2211,12)(公式(2-3)当n为偶数时nknnknnknkkw2,)1(221,12)(公式(2-4)它的频域特性为:221jj2sin41sin12eeNNWNR(公式2-5)三角窗函数的主瓣宽度为Nπ8,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。Triang函数:生成三角窗调用方式w=triang(n);输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。三角窗也是两个矩形窗的卷积。三角窗函数的首尾两个数值通常是不为零的。当n是偶数时,三角窗的傅立叶变换总是非负数。2.2广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为武汉理工大学《数字信号处理》课程设计6改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。这些窗都是频率为0、2π/(N–1)和4π/(N–1)的余弦曲线的合成,其中N为窗的长度。通常采用下面的命令来生成这些窗:1Nπ21N:0ind'(公式2-8)ind)*cos(2Ccos(ind)BAwindow(公式2-9)其中,A、B、C适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函数,分别是:汉宁窗A=0.5,B=0.5,C=0;海明窗A=0.54,B=0.54,C=0;布莱克曼窗A=0.5,B=0.5,C=0.08;2.2.1汉宁窗函数汉宁窗函数的时域形式可以表示为:1π2cos15.0)(nkkwNk,,2,1(公式2-10)它的频域特性为:
本文标题:窗函数的实现与分析
链接地址:https://www.777doc.com/doc-5704860 .html