窗函数的实现与分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

摘要...................................................................... I

1.窗函数 (1)

2.窗函数的种类 (2)

2.1 基本窗函数 (4)

2.2 广义余弦窗 (5)

3.基于matlab的实现 (9)

3.1MATLAB软件简介 (9)

3.2各窗函数的图形 (11)

3.3各窗函数的幅频特性 (13)

4.频谱泄露 (15)

4.1频谱泄漏原理 (15)

4.2 产生机理 (15)

4.3窗函数的频谱泄漏的抑制方法 (16)

4.4窗函数的选择 (18)

5.实验结果分析 (19)

6.心得体会 (20)

参考文献 (21)

摘要

现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。

在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。

1.窗函数

1.1基本概念

在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT 的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR 滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。

窗函数的基本概念。设x (n )是一个长序列,w (n )是长度为N 的窗函数,用w (n )截断x (n ),得到N 点序列x n (n ),即

x n (n ) = x (n ) w (n )

在频域上则有

由此可见,窗函数w (n )不仅仅会影响原信号x (n )在时域上的波形,而且也会影响到频域内的形状。

1.2设计原理

窗函数设计法的基本原理是用有限长单位脉冲响应序列()n h 逼近()n h d 。由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:

()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为

()()()()

⎰--⋅=ππj j j d e π21e θθωθωW e X X N ()()()

n n h n h d ω=()()n

j N n j e n h e H ωω∑-==10

式中,N 为所选窗函数()n ω的长度。用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。

2.窗函数的种类

对时间序列作傅里叶变换时,实际上要作周期延拓,如果取长序列的一段进行处理,还要先作截断。截断会引起频谱的泄漏问题,这是由于抽样后的离散序列与矩形截断序列相乘,在频域造成两者的频谱卷积形成的。为了避免频谱泄露对结果的影响,在对非周期信号作时间截断时,除尽量增加截断序列的宽度外,也应选其频谱的旁瓣较小的截断窗函数,以减小泄漏的影响。在信号处理中窗函数是一种除在给定区间之外取值均为0的实函数。常用的窗函数很多,例如矩形窗、三角窗、Hanning 窗、Hamming 窗、Parzen 窗、Kaiser 窗、Chebyshev 窗、Tukey 窗、Poisson 窗、Caushy 窗、Gaussian 窗和Blackman 窗等等,定义方式不同,性质也不同,可以根据实际需要来选择合适的截断窗函数减轻泄露问题。

窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。在这里,应用窗函数对输入数据进行截断(时域加窗),从而得到要处理的数据及其长度。

表2.1 MATLAB 窗函数

表2.2各种窗函数的基本参数

这样选定窗函数类型和长度N 之后,求出单位脉冲响应()()()n n h n h d ω•=,并按照上式求出()ωj e H 。()ωj e H 是否满足要求,要进行演算。一般在()n h 尾部加零使长度满足2的整数次幂,以便用FFT 计算()ωj e H 。如果要观察细节,补零点数增多即可。如果()

ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。

如果要求线性相位特性,则()n h 还必须满足

()()n N h n h --±=1 根据上式中的正、负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。要根据所设计的滤波特性正确选择其中一类,例如,要设计线性相位低通特性,可以选择()()n N h n h --=1这一类,而不能选择()()n N h n h ---=1这一类。

主程序框图如图2.1所示。其中幅度特性要求用dB 表示。

相关文档
最新文档