窗函数

维基百科,自由的百科全书
跳转至: 导航搜索

信号处理中,窗函数(window function)是一种除在给定区间之外取值均为0的实函数。譬如:在给定区间内为常数而在区间外为0的窗函数被形象地称为矩形窗任何函数与窗函数之积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。窗函数在频谱分析滤波器设计、波束形成、以及音频数据压缩(如在Ogg Vorbis音频格式中)等方面有广泛的应用。

频谱分析[编辑]

从理论上可以得出函数 \cos(\omega t)\,傅立叶变换除了在频率 \pm \omega\, 之外处处为 0。但是许多其它的函数或者波形数据并没有这样方便的闭式变换,或者是我们只对某一时间范围内的频谱数据感兴趣,在这种情况下,就需要对有限时间范围的波形进行傅立叶变换或者其它类似的变换。通常通过波形与一个窗函数的乘积来表示。但是,包括矩形窗在内的所有窗函数都会对待测频谱产生影响。

离散时间信号[编辑]

当输入波形是采样信号而非连续信号时,傅立叶分析通常对信号应用窗函数并用离散傅立叶变换。但是 离散傅里叶变换得到的频谱只是离散时间傅里叶变换频谱的一个粗糙采样。上图是正弦信号应用矩形窗后傅立叶频谱的一部分。位于横轴0点位置的是正弦信号真实频谱,其余频谱均为谱泄漏。频率单位为“DFT bins”(DFT 量化单位)即这些整数值是DFT采样得到的频率。所以该图显示了这样一种情况,正弦信号的实际频率正好与DFT的采样频率一致,并且频谱的最大值通过采样得到。采样错过最大值时的测量误差被称为“扇形损失”(名称源于顶点的形状)。但是这种状况下最有趣的是那些与实际频谱相一致的即值为零的那些点。这种情况下,DFT创造了没有泄露的假象。尽管不如本例这样,泄露是DFT中人为引入的也是普遍误解。但是既然任何窗函数都有泄露,那些表面上的不存在泄露才是人为造成的。

总泄漏[编辑]

概念的分辨率和动态范围往往是有些主观的,這取決於用戶的实际意图。但他們也往往是高度相關,與總洩漏,這是量化的。它通常表示為一個等效帶寬,B認為它作為再分配DTFT成長方形的高度等於頻譜寬度 B的最大和洩漏的,更大的帶寬。它有時被稱為噪聲等效帶寬或等效噪聲帶寬,因為它是成正比的平均功率將每個登記的DFT并當輸入信號包含隨機噪聲組件(或者只是隨機噪聲)。圖的功率譜,平均隨著時間的推移,通常顯示一個單位的噪聲底,造成這種效果。噪聲的高度層是成正比的,所以乙兩個不同的窗口功能可以產生不同的噪音樓層。

处理增益與損耗[编辑]

三種不同窗函數造成的處理損耗

信號處理中,透過某些操作,可以利用信號和噪聲之間性質的差異,來提高信號某些方面的品質。當某個正弦信號隨機地疊加的破壞性噪聲,頻譜分析能區別的信號與噪聲的分量,往往能使檢測信號的某些特性更容易,如測量振幅和頻率。比如說,若將大多數的正弦信號能量集中於一個頻率附近,並將噪聲均勻分布,能有效的改善信噪比(signal to noise ratio, SNR)處理增益通常用來描述SNR改善的程度。頻譜分析的處理增益取決於窗函數的噪聲頻寬(B)和潛在的扇形損失。這些效果可能部分抵消,因為窗函數有最少的扇形自然有最大的滲漏。


右圖描述了三種不同的窗函數對相同的數據的影響。此數據包含兩個相等強度的正弦信號與外加的噪聲。兩正弦波的頻率被定為其中一個無扇形而另一個有最大扇形。兩個正弦信號在Hann Window下都造成比Blackman–Harris window更少的信噪比損耗。 一般情況下,這防止我們在低動態範圍的應用採用高動態範圍的窗。

不應使用窗函數的應用[编辑]

在一些應用中,最好不使用窗函數。例如:

  • 在衝擊模型測試中,當分析暫態信號,如重錘打擊產生的激發信號(脈衝激發技術)時,大部分能量位於記錄的開頭。若使用非矩形的窗,會無謂的減弱大部分能量和傳播頻率響應
  • 上述的一種推廣,當測量自窗口信號,如脈衝衝擊響應,正弦叢發,連續變頻叢發,噪聲叢發時,這樣的信號使用模態分析。在這種情況下應用窗函數只會惡化信噪比。
  • 測量一個週期T的虛擬隨機噪聲(PRN)激發信號,​​並使用相同的記錄週期T時。PRN信號是週期性的,因此,該信號的所有頻譜分量將會與FFT區間中心重合而無洩漏。
  • 當測量被鎖定於採樣頻率的重複信號,例如在測量的振動頻譜分析的軸對準,軸承,發動機,變速器等的故障診斷。由於信號是重複的,所有的頻譜能量被限制到基本的重複頻率的整數倍。

典型的窗函数[编辑]

矩形窗[编辑]

每個DFT過程都被窗所修飾限制,因為一個有限時間序列等效上是由無限長時間序列成上一長度與資料區塊長度相同(NΔt)的矩形窗。在舉行窗的例子中,其DFT是由訊號本身的DFT及一矩形的DFT做迴旋所產生,然而矩形窗屬於時間變量的零次冪窗。矩形窗使用最多, 習慣上不加窗就是使信號通過了矩形窗。這種窗的優點是主瓣比較集中,缺點是旁瓣較高,並有負旁瓣,導致變換中帶進了高頻干擾和洩漏,甚至出現負譜現象。

矩形窗; B=1.00

w(n) = 1\,

高斯窗[编辑]

高斯窗, σ=0.4; B=1.45

w(n)=e^{-\frac{1}{2} \left ( \frac{n-(N-1)/2}{\sigma (N-1)/2} \right)^{2}}
\sigma \le \;0.5\,

Hamming窗[编辑]

Hamming窗; B=1.37

w(n)=0.53836 - 0.46164\; \cos \left ( \frac{2 \pi n}{N-1} \right)

Hann窗[编辑]

Hann窗; B=1.50

w(n)= 0.5\; \left(1 - \cos \left ( \frac{2 \pi n}{N-1} \right) \right)

Hann窗有时也称为 "Hanning" 窗,以与 Hamming 窗的名称类似。但是这是不对的,因为这两个窗是分别根据 Julius von HannRichard Hamming 的名字命名的。
汉宁(Hanning)窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。   从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

Bartlett窗(端点值为0)[编辑]

Bartlett窗; B=1.33

w(n)=\frac{2}{N-1}\cdot\left(\frac{N-1}{2}-\left |n-\frac{N-1}{2}\right |\right)\,

三角形窗(端点值非0)[编辑]

三角形窗; B=1.33

w(n)=\frac{2}{N}\cdot\left(\frac{N}{2}-\left |n-\frac{N-1}{2}\right |\right)\,

Bartlett-Hann窗[编辑]

Bartlett-Hann窗; B=1.46

w(n)=a_0 - a_1 \left |\frac{n}{N-1}-\frac{1}{2} \right| - a_2 \cos \left (\frac{2 \pi n}{N-1}\right )
a_0=0.62;\quad a_1=0.48;\quad a_2=0.38\,

Blackman窗[编辑]

Blackman窗; B=1.73

w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right) + a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)
a_0=0.42;\quad a_1=0.5;\quad a_2=0.08\,

Kaiser窗[编辑]

File:Window function (kaiser 2).png
Kaiser窗, α =2; B=1.50
File:Window function (kaiser 3).png
Kaiser window, α =3; B=1.80

w(n)=\frac{I_0\Bigg (\pi\alpha \sqrt{1 - (\begin{matrix} \frac{2 n}{N-1} \end{matrix}-1)^2}\Bigg )} {I_0(\pi\alpha)}

参见Kaiser窗.


低分辨率(高动态范围)窗[编辑]

Nuttall窗(一阶导数连续)[编辑]

Nuttall 窗, 一阶导数连续; B=2.02

w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)
a_0=0.355768;\quad a_1=0.487396;\quad a_2=0.144232;\quad a_3=0.012604\,

Blackman-Harris窗[编辑]

Blackman-Harris窗; B=2.01

w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)
a_0=0.35875;\quad a_1=0.48829;\quad a_2=0.14128;\quad a_3=0.01168\,

Blackman-Nuttall窗[编辑]

Blackman-Nuttall 窗; B=1.98

w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)
a_0=0.3635819; \quad a_1=0.4891775; \quad a_2=0.1365995; \quad a_3=0.0106411\,

平顶窗[编辑]

平顶窗; B=3.77

w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)+a_4 \cos \left ( \frac{8 \pi n}{N-1} \right)
a_0=1;\quad a_1=1.93;\quad a_2=1.29;\quad a_3=0.388;\quad a_4=0.032\,

其他窗函数[编辑]

贝塞尔窗[编辑]

正弦窗[编辑]

多夫-柴比雪夫窗[编辑]

Dolph Chebyshev.png

α參數控制了窗口的尖細程度,α也是旁辦准尉的對數,因此α=2.0表示比主辦低了兩個度(decades)或是-40dB。窗口的特徵是主辦的背景洩漏在轉換後的輸出唯一常數振福。對一個已給定洩漏等級,當主般的寬度為最小十,這個窗口是最佳化。 另外優點在於,當只有小數目輸入訊號取樣點時,可用來做小轉換,這個窗口在主辦附近提供很好的能見度。

Dolph–Chebyshev window, α = 5; B = 1.94

多重窗[编辑]

三重余弦窗[编辑]

参看[编辑]

参考文献[编辑]

  • Oppenheim, A.V., and R.W. Schafer, Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999, pp 468-471.
  • Albert H. Nuttall, Some Windows with Very Good Sidelobe Behavior, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.ASSP-29, No.1, February 1981, pp 84-91.
  • Frederic J. Harris, On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform, Proceedings of the IEEE, Vol.66, No.1, January 1978, pp 51-83.
  • S.W.A. Bergen and A. Antoniou, Design of Ultraspherical Window Functions with Prescribed Spectral Characteristics, EURASIP Journal on Applied Signal Processing, vol. 2004, no. 13, pp. 2053-2065, 2004.
  • S.W.A. Bergen and A. Antoniou, Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function, EURASIP Journal on Applied Signal Processing, vol. 2005, no. 12, pp. 1910-1922, 2005.