在时域信号中,如果对一个包含不连续点的信号进行截断,即使用有限个样本点来表示原本无限长或更长的信号,那么在频域中这相当于对信号进行了乘以一个矩形窗的操作。这种操作会导致原信号频谱与矩形窗的频谱卷积,从而在频域中引入额外的频率成分,这就是所谓的“频谱泄漏”(Spectral Leakage)。
频谱泄漏(Spectral Leakage)是指在对一个非周期信号或周期但长度与分析窗口不匹配的信号进行离散傅里叶变换(DFT)时,信号的能量不再集中在原来的频率位置,而是扩散到周围的频率上。这种现象主要是由于信号在时域中被截断所引起的。
同时,在时域中,这种截断也会导致Gibbs现象的发生,即在信号的不连续点附近会出现振荡,这些振荡的峰值不会随着采样点数目的增加而减少。
数学解释
假设有一个连续时间信号 x ( t ) x(t) x(t),其傅里叶变换为 X ( f ) X(f) X(f)。当我们对该信号进行采样,得到离散时间信号 x [ n ] = x ( n T s ) x[n] = x(nT_s) x[n]=x(nTs),其中 T s T_s Ts是采样间隔, f s = 1 / T s f_s = 1/T_s fs=1/Ts是采样频率。然后我们对 N N N个采样点进行 DFT,得到离散频谱 X [ k ] X[k] X[k]。
1. 理想情况下的 DFT
如果 x ( t ) x(t) x(t)是一个周期信号,并且采样点数 N N N恰好等于信号的一个完整周期,则 DFT 可以完美地表示信号的频谱。此时,DFT 的定义为:
X [ k ] = ∑ n = 0 N − 1 x [ n ] e − j 2 π k n / N X[k] = \sum_{n=0}^{N-1} x[n] e^{-j 2 \pi k n / N} X[k]=n=0∑N−1x[n]e−j2πkn/N
2. 实际情况下的 DFT
然而,大多数情况下,信号不是严格周期的,或者采样点数 N N N不等于信号的一个完整周期。在这种情况下,信号在时域中被一个矩形窗 w [ n ] w[n] w[n]截断,即:
x N [ n ] = x [ n ] ⋅ w [ n ] x_N[n] = x[n] \cdot w[n] xN[n]=x[n]⋅w[n]
其中,矩形窗 w [ n ] w[n] w[n]定义为:
w [ n ] = { 1 if 0 ≤ n < N 0 otherwise w[n] = \begin{cases} 1 & \text{if } 0 \leq n < N \\ 0 & \text{otherwise} \end{cases} w[n]={10if 0≤n<Notherwise
因此,实际的 DFT 变为:
X N [ k ] = ∑ n = 0 N − 1 x [ n ] w [ n ] e − j 2 π k n / N X_N[k] = \sum_{n=0}^{N-1} x[n] w[n] e^{-j 2 \pi k n / N} XN[k]=n=0∑N−1x[n]w[n]e−j2πkn/N
根据傅里叶变换的性质,时域中的乘积对应于频域中的卷积。因此,实际的频谱 X w ( f ) X_w(f) Xw(f)可以表示为:
X w ( f ) = X ( f ) ∗ W ( f ) X_w(f) = X(f) * W(f) Xw(f)=X(f)∗W(f)
其中, W ( f ) W(f) W(f)是矩形窗的傅里叶变换,即:
W ( f ) = sin ( π f N ) sin ( π f ) W(f) = \frac{\sin(\pi f N)}{\sin(\pi f)} W(f)=sin(πf)sin(πfN)
这个函数被也称为 sinc 函数,其主瓣宽度为 2 N \frac{2}{N} N2Hz,旁瓣高度逐渐减小但始终存在。
频谱泄漏的影响
由于 W ( f ) W(f) W(f)的主瓣和旁瓣,实际的频谱 X w ( f ) X_w(f) Xw(f)会受到以下影响:
- 主瓣宽度:主瓣越宽,信号的能量就越分散,导致分辨率降低。
- 旁瓣高度:旁瓣的存在会导致相邻频率成分之间的干扰,使得频谱中的尖峰变得模糊。