理解频域、时域、FFT和加窗 加深对信号的认识

2022-12-09 来源:微波射频网 字号:

学习信号时域和频域、快速傅立叶变换(FFT)、加窗,以及如何通过这些操作来加深对信号的认识。

理解时域、频域、FFT傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误。尽管傅立叶变换是一个复杂的数学函数,但是通过一个测量信号来理解傅立叶变换的概念并不复杂。从根本上说,傅立叶变换将一个信号分解为不同幅值和频率的正弦波。我们继续来分析这句话的意义所在。

所有信号都是若干正弦波的和

我们通常把一个实际信号看作是根据时间变化的电压值。这是从时域的角度来观察信号。

傅立叶定律指出,任意波形在时域中都可以由若干个正弦波和余弦波的加权和来表示。例如,有两个正弦波,其中一个的频率是另一个的3倍。将两个正弦波相加,就得到了一个不同的信号。

图1 两个信号相加,得到一个新的信号

假设第二号波形幅值也是第一个波形的1/3。此时,只有波峰受影响。

图2 信号相加时调整幅值影响波峰

假加上一个幅值和频率只有原信号1/5的信号。按这种方式一直加,直到触碰到噪声边界,您可能会认出结果波形。

图3 方波是若干正弦波的和

您创建了一个方波。通过这种方法,所有时域中的信号都可表示为一组正弦波。

即使可以通过这种方法构造信号,那意味着什么呢? 因为可以通过正弦波构造信号,同理也可以将信号分解为正弦波。

一旦信号被分解,可查看和分析原信号中不同频率的信号。请参考信号分解的下列使用实例:

  • 分解广播信号,可选择要收听的特定频率(电台)。

  • 将声频信号分解为不同频率的信号(例如,低音、高音),可增强特定频段,移除噪声。

  • 根据速度和强度分解地震波形,可优化楼宇设计,避免强烈震动。

  • 分解计算机数据时,可忽略频率重要性最低的数据,这样就能更紧凑地利用内存。这就是文件压缩的原理。

使用FFT分解信号

傅立叶变换将一个时域信号转换为频域信号。频域信号显示了不同频率对应的电压。 频域是另一种观察信号的角度。

数字化仪对波形进行采样,然后将采样转换为离散的值。因为发生了转换,傅立叶转换在这些数据上无法进行。 可使用离散傅立叶变换(DFT),其结果是离散形式的频域信号。FFT是DFT的一种优化实现,计算量较少,但是本质上是对信号的分解。

请查看上图1中的信号。有两个频率不同的信号。在该情况下,频域中就会显示两条表示不同频率的竖线。

图4 当相同幅值的两个正弦波相加,在频域中就显示为两条频率竖线

原信号的幅值在竖轴上表示。图2中有个不同幅值的信号。频域中最高的竖线对应于最高电压的正弦信号。在频域里观察信号,可直观地看出最高电压发生在哪个频率上。

图5 最高的竖线是幅值最大的频率

在频域里也可观察到信号的形状。例如,频域中方波信号的形状。使用不同频率的正弦波创建一个方波。即可预见,在频域中,这些信号都会被表示为一根竖线,每一根竖线都表示组成方波的正弦波。如频域中,竖线显示为一个梯度,就可知道原信号是一个方波信号。

图6 频域中表示正弦波的竖线呈现为一个梯度

现实生活中,情况是怎样的呢? 许多混合信号示波器(MSO)都有FFT功能。下图中,你可以观察到混合信号图中,方波FFT是如何显示的。放大后可观察到频域中的尖峰。

图7 上图为原正弦波和FFT,下图是放大的FFT,可观察到表示频率的尖峰

在频域中观察信号有助于验证和发现信号中的问题。例如,假设有一个输出正弦波的电路。可在示波器上查看时域输出信号,如图8所示。看上去没有任何问题!

图8 如果将两个很相似的波形相加,仍然会得到一个完美的正弦波

在频域中查看信号时,如果输出的正弦波频率稳定,应该只在频率中显示为一条竖线。但是,可以看到在更高的频率上仍然有一条竖线,表示正弦波并不如观察到的那么完美。可尝试优化电路,去除特定频率的噪声。在频域中显示信号有助于发现信号中的干扰、噪声和抖动。

图9 查看图8中看似完美的正弦波,可以看出波形中有一个抖动

信号加窗

FFT提供了观察信号的新视角,但是FFT也有各种限制,可通过加窗增加信号的清晰度。

什么是加窗?

使用FFT分析信号的频率成分时,分析的是有限的数据集合。FFT认为波形是一组有限数据的集合,一个连续的波形是由若干段小波形组成的。对于FFT而言,时域和频域都是环形的拓扑结构。时间上,波形的前后两个端点是相连的。如测量的信号是周期信号,采集时间内刚好有整数个周期,那么FFT的上述假设合理。

图10 测量整数个周期(上图)可以得到理想的FFT(下图)

在很多情况下,并不能测量到整数个周期。因此,测量到的信号就会被从周期中间切断,与时间连续的原信号显示出不同的特征。有限数据采样会使测量信号产生剧烈的变化。 这种剧烈的变化称为不连续性。

采集到的周期为非整数时,端点是不连续的。这些不连续片段在FFT中显示为高频成分。这些高频成分不存在于原信号中。这些频率可能远高于奈奎斯特频率,在0~采样率的一半的频率区间内产生混叠。使用FFT获得的频率,不是原信号的实际频率,而是一个改变过的频率。类似于某个频率的能量泄漏至其他频率。这种现象叫做频谱泄漏。频率泄漏使好的频谱线扩散到更宽的信号范围中。

图11 测量非整数个周期(上图)将频谱泄漏添加至FFT(下图)

可通过加窗来尽可能减少在非整数个周期上进行FFT产生的误差。数字化仪采集到的有限序列的边界会呈现不连续性。加窗可减少这些不连续部分的幅值。加窗包括将时间记录乘以有限长度的窗,窗的幅值逐渐变小,在边沿处为0。加窗的结果是尽可能呈现出一个连续的波形,减少剧烈的变化。这种方法也叫应用一个加窗。

图12 加窗可尽可能减少频谱泄漏

加窗函数

根据信号的不同,可选择不同类型的加窗函数。要理解窗对信号频率产生怎样的影响,就要先理解窗的频率特性。

窗的波形图显示了窗本身为一个连续的频谱,有一个主瓣,若干旁瓣。主瓣是时域信号频率成分的中央,旁瓣接近于0。旁瓣的高度显示了加窗函数对于主瓣周围频率的影响。对强正弦信号的旁瓣响应可能会超过对较近的弱正弦信号主瓣响应。

一般而言,低旁瓣会减少FFT的泄漏,但是增加主瓣的带宽。旁瓣的跌落速率是旁瓣峰值的渐进衰减速率。增加旁瓣的跌落速率,可减少频谱泄漏。

选择加窗函数并非易事。每一种加窗函数都有其特征和适用范围。要选择加窗函数,必须先估计信号的频率成分。

  • 如果您的信号具有强干扰频率分量,与感兴趣分量相距较远,那么就应选择具有高旁瓣下降率的平滑窗。

  • 如果您的信号具有强干扰频率分量,与感兴趣分量相距较近,那么就应选择具有低最大旁瓣的窗。

  • 如果感兴趣频率包含两种或多种很距离很近的信号,这时频谱分辨率就非常重要。 在这种情况下,最好选用具有窄主瓣的平滑窗。

  • 如果一个频率成分的幅值精度比信号成分在某个频率区间内精确位置更重要,选择宽主瓣的窗。

  • 如信号频谱较平或频率成分较宽,使用统一窗,或不使用窗。

  • 总之,Hanning窗适用于95%的情况。 它不仅具有较好的频率分辨率,还可减少频谱泄露。如果您不知道信号特征但是又想使用平滑窗,那么就选择Hanning窗。

即使不使用任何窗,信号也会与高度一致的长方形窗进行卷积运算。本质上相当于对时域输入信号进行截屏,对离散信号也有效。该卷积有一个正弦波函数特性的频谱。基于该原因,没有窗叫做统一窗或长方形窗。

Hamming窗和Hanning窗都有正弦波的外形。两个窗都会产生宽波峰低旁瓣的结果。Hanning窗在窗口的两端都为0,杜绝了所有不连续性。Hamming窗的窗口两端不为0,信号中仍然会呈现不连续性。Hamming窗擅长减少最近的旁瓣,但是不擅长减少其他旁瓣。Hamming窗和Hanning适用于对频率精度要求较高对旁瓣要求较低的噪声测量。

图13 Hamming和Hanning都会产生宽波峰低旁瓣的结果

Blackman-Harris窗类似于Hamming和Hanning窗。得到的频谱有较宽的波峰,旁瓣有压缩。该窗主要有两种类型。4阶Blackman-Harris是一种通用窗,在高90s dB处具有旁瓣抑制功能,有较宽的主瓣。7阶Blackman-Harris窗函数有宽广的动态范围,有较宽的主瓣。

图14 Blackman-Harris窗的结果是较宽的波峰,旁瓣有压缩

Kaiser-Bessel窗在幅值精度、旁瓣距离和旁瓣高度之间取得了较好的平衡。Kaiser-Bessel窗与Blackman-Harris窗类似,对于相同的主瓣宽度而言,较近的旁瓣更高,较远的旁瓣更低。选择该窗通常会将信号泄漏至离噪声较近的位置。

Flat top窗也是一个正弦波,穿过0线。Flat top窗的结果是在频域中产生一个显著宽广的波峰,与其他窗相比离信号的实际幅值更近。

图15 Flat top窗具有更精确的幅值信息

上面列举了几种常见的窗函数。 选择窗函数并没有一个通行的方法。下表可帮助您做出初步选择。请始终比较窗函数的性能,从而找到最适合的一种窗函数。

总结

  • 所有时域中的信号都可表示为一组正弦波。

  • FFT变换将一个时域信号分解为在频域中表示,并分析信号中的不同频率成分。

  • 在频域中显示信号有助于发现信号中的干扰、噪声和抖动。

  • 信号中如果包含非整数个周期,会发生频率泄漏。可通过加窗来改善该情况。

  • 数字化仪采集到的有限序列的边界会呈现不连续性。加窗可减少这些不连续部分的幅值。

  • 没有窗叫做统一窗或长方形窗,因为加窗效果仍然存在。

  • 一般情况下,Hanning窗适用于95%的情况。它不仅具有较好的频率分辨率,还可减少频谱泄露。

  • 请始终比较窗函数的性能,从而找到最适合的一种窗函数。

主题阅读:时域加窗