了解FFT加窗

概览

了解时域和频域、快速傅里叶变换(FFT)和加窗,以及如何将其用于加深对信号的理解。

内容

了解域、FFT

傅里叶变换在理解日常信号和排除信号错误方面非常有用。虽然傅里叶变换属于复杂的数学函数,但理解含义并将其与测量信号关联起来并不复杂。从本质上将,傅里叶变换可接收信号并将信号分解为不同振幅和频率的正弦波。让我们更深入地了解傅里叶变换的意义及作用。 

所有信号正弦波而成

在观察真实信号时,通常会看到电压会随时间变化。这称为时域。傅里叶定理指出,时域中的任意波形都可由正弦波和余弦波的加权和来表示。例如,取两个正弦波,其中一个正弦波的速度是另一个的3倍,或者频率是另一个的1/3。将二者叠加后,就会得到一个不同的信号。

图1:两个信号叠加会形成新的信号。

试想一下,如果第2个正弦波的振幅也为第1个正弦波的1/3。这一次只有峰值受到影响。

图2:叠加信号时调整振幅会影响峰值。

假设叠加了第3个信号,且其振幅和频率均为原始信号的1/5。如果以这种方式继续叠加波形,直到到达噪声底,可能会得到下图中的波形。

图3:方波由若干正弦波叠加而成。

现在已经创建了一个方波。如此一来,时域中的所有信号都可用一系列正弦波来表示。

我们为什么要着重介绍这种可轻松构建信号的方式?因为如果使用正弦波构造信号,则也可将信号解构为正弦波。在解构信号后,即可查看和分析原始信号中存在的不同频率。以下几个示例说明了解构信号的意义:

  • 如果解构无线电波,则可选择要收听的特定频率或电台。
  • 如果能将音频波解构为不同的频率(例如低音和高音),则可更改音调或频率,以增强某些声音并消除不必要的噪音。
  • 如果解构不同速度和强度的地震振动,则可优化建筑设计以避免受到最强振动的影响。
  • 如果解构计算机数据,则可忽略不重要的频率,从而使内存中的表示更加紧凑,也就是实现所谓的文件压缩。

使用FFT信号

傅里叶变换将信号的时域表示分解为频域表示。频域显示了不同频率下的电压。它是同一信号的另一种表示方式。 

数字化仪对波形进行采样并将其转换为离散值。傅里叶变换无法处理经过这种转换后的数据。因此,使用离散傅里叶变换(DFT)可得到离散值的频域分量(区间)。快速傅里叶(FFT)是DFT的优化实现,它执行的计算量更少,但本质上是对信号进行解构。

请查看图1中的信号。其中有两个不同频率的信号;在此情况下,信号在频域中有两条竖线,分别为组成信号的两个正弦信号的频率。

图4:两个振幅相等的正弦波叠加,会在频域中产生两条竖线。

原始信号的振幅在垂直轴上表示。图2中的信号中有两个振幅不同的信号,可以看到最高竖线与最高电压正弦信号的频率相对应。查看时域中的信号,可通过了解最大电压信号的频率来更好地了解原始信号。

图5:最高竖线是最大振幅的频率。

查看频域中信号的形状也很有帮助。我们以频域中的方波为例。使用许多不同频率的正弦波可以生成方波;因此,信号在频域中有许多竖线,每叠加一个信号就增加一条竖线。如果在频域中存在漂亮的斜坡,则表明它的原始信号是方波。

图6:正弦波频域的外观与斜坡相似。

那么,这在现实中又如何呢?许多混合信号示波器(MSO)都具有FFT功能。下图所示为是方波的FFT在混合信号图中的外观。将其放大,可看到频域中的各个尖峰。

图7:图:A中显示原始正弦波及其相应的FFT,B中显示FFT的放大部分,可在其中看到各个尖峰。

查看频域中的信号有助于对信号进行验证和故障排除。例如,假设电路输出正弦波。示波器的时域输出信号如图8所示。看起来不错!

图8:由于这两个正弦波非常相似,因此如果将二者叠加,就能得到近乎完美的正弦波。

因为期望结果是仅以一个频率输出正弦波,因此该信号在频域中应只有一条竖线。但是可以发现在较高频率处存在一条较小的竖线;所以正弦波并不如预期般完美。可利用电路来消除在该特定频率下可能引入噪声的因素。频域可很好地显示时域中的干净信号是否包含干扰、噪声或抖动。

图9:在图8看似完美的正弦波中,可以发现其中实际存在毛刺。

 

加窗

虽然对信号执行FFT可提供深刻的见解,但了解FFT的局限性以及如何使用加窗来提高信号清晰度同样重要。

什么加窗

在使用FFT测量信号的频率分量时,应基于有限的数据集进行分析。实际的FFT变换会假设波形是一组有限数据集,也就是周期信号的一个周期的连续频谱。对于FFT,时域和频域均为环形拓扑,所以在时间上,可将波形的两个端点理解为连接在一起。当被测信号为周期性信号且采集时间间隔为整数个周期时,FFT结果与该假设相符。

测量整数个周期(A)可得到理想的FFT (B)

图10:测量整数个周期(A)可得到理想的FFT (B)。

但是,很多时候被测信号并非为整数个周期。因此,被测信号的有限性可能导致出现具有与原始连续时间信号特征不同的截断波形,并且有限性会在被测信号中引入剧烈的变化。这种剧烈的变化是不连续的。

如果采集周期数并非整数,端点则不连续。这些人为的不连续在FFT中显示为原始信号中不存在的高频分量。这些频率可能远高于奈奎斯特频率,并且会在0到采样率的一半之间混叠。因此,使用FFT得到的频谱并不是原始信号的实际频谱,而是模糊信号。其外观像是一个频率的能量泄漏到其他频率。这种现象称为频谱泄漏,它会导致细频谱线扩散到更宽的信号中。

测量非整数周期(A)会将频谱泄漏至FFT (B)

图11:测量非整数周期(A)会将频谱泄漏至FFT (B)。

加窗技术可最大限度地减少对非整数周期执行FFT产生的影响。加窗可减少由数字化仪采集的每个有限序列边界处不连续点的振幅。加窗包括将时间记录乘以一个有限长度的窗函数,该窗函数的振幅在边缘处平滑并逐渐趋近于0。这使波形的端点相交,从而生成没有剧烈变化的连续波形。该技术也称为应用窗函数

图12:应用窗函数可最大限度地减少频谱泄漏的影响。

函数

您可根据信号的不同,应用多种不同类型的窗函数。如需了解给定窗函数对频谱的影响,应进一步了解窗函数的频率特性。 

根据窗函数的实际图表,可以发现窗函数的频率特征为具有一个主瓣和数个旁瓣的连续频谱。主瓣位于时域信号的每个频率分量的中心,旁瓣则接近0。旁瓣高度表示窗函数对主瓣周围频率的影响。强正弦信号的旁瓣响应可能超过附近的弱正弦信号的主瓣响应。通常,较低的旁瓣可减少测量FFT中的泄漏,但会增加主瓣的带宽。旁瓣跌落速率是旁瓣从峰值开始的渐近衰减速率。提高旁瓣跌落速率可减少频谱泄漏。

选择窗函数并非易事。每个窗函数都有各自的特性,并适用于不同的应用。如需选择窗函数,必须估计信号的频率成分。

  • 如果信号包含远离目标频率的强干扰频率分量,请选择具有高旁瓣跌落速率的平滑窗。
  • 如果信号包含靠近目标频率的强干扰信号,请选择具有低最大旁瓣的窗函数。
  • 如果目标频率包含两个或多个彼此非常接近的信号,则频谱分辨率很重要。在这种情况下,最好选择主瓣较窄的平滑窗。
  • 如果单个频率分量的振幅精度比给定频率区间中分量的确切位置更重要,请选择主瓣较宽的窗函数。
  • 如果信号频谱的频率成分非常平坦或较宽,则使用统一窗或不使用窗。
  • 一般来说,Hanning(汉宁)窗适用于95%的情况。它具有良好的频率分辨率并可减少频谱泄漏。如果不了解信号性质又想应用平滑窗,可从汉宁窗入手。

即使不使用窗,由于本质上对时域输入信号截取快照并使用离散信号进行处理,信号也会与高度一致的矩形窗进行卷积运算。该卷积具有正弦函数特征频谱。因此,通常将不使用窗的情况称作统一窗或矩形窗,因为它仍然存在加窗效应。

Hamming窗函数和汉宁窗函数均为正弦曲线。两个窗均生成宽峰值但低旁瓣。然而,汉宁窗的两端均为0从而消除了所有不连续。但Hamming窗并未完全达到0,因此信号中仍存在轻微的不连续。由于存在这种差异,Hamming窗在消除距离最近旁瓣方面的效果更好,但在消除其他旁瓣方面效果较差。由于噪声测量对频率分辨率有较高要求,同时对旁瓣有较低要求,因此这些窗函数在噪声测量上非常有用。

图13:Hamming窗和汉宁窗可生成较宽的峰值,并且具有良好的低旁瓣。

Blackman-Harris窗与Hamming窗和汉宁窗类似。其生成的频谱具有较宽的峰值,但旁瓣压缩良好。该窗有两种主要类型。4阶Blackman-Harris窗是一种出色的通用窗函数,它拥有高达90s dB的旁瓣抑制和较宽的主瓣。7阶Blackman-Harris窗函数具有您需要的所有动态范围,但它的主瓣较宽。

图14:Blackman-Harris窗生成较宽的峰值,但旁瓣压缩良好。

Kaiser-Bessel窗在振幅精度、旁瓣距离和旁瓣高度等各种相互冲突的目标值之间取得了平衡。它与Blackman-Harris窗函数类似,但在主瓣宽度相同的情况下,它的近端旁瓣往往较高,而较远端旁瓣较低。选择该窗通常会将信号泄漏至接近噪声底的位置。

Flat Top窗也是正弦曲线,但其值实际上穿过了0线。这会在频域中生成更宽的波峰,与其他窗相比,更接近信号的真实振幅。 

Flat Top窗可提供更准确的振幅信息

图15:Flat Top窗可提供更准确的振幅信息。

上述为几种常用的窗函数。选择窗函数没有通用的方法。但是,下表可帮助您进行初步选择。请务必比较不同窗函数的性能,以找到最适合应的窗函数。

 

信号内容窗函数
正弦波或正弦波组合汉宁
正弦波(振幅精度很重要)Flat Top
窄带随机信号(振动数据)汉宁
宽带随机(白噪声)统一
紧密间隔的正弦波统一、Hamming
激励信号(锤击)
响应信号指数
未知内容汉宁
正弦波或正弦波组合汉宁
正弦波(振幅精度很重要)Flat Top
窄带随机信号(振动数据)汉宁
宽带随机(白噪声)统一
两个频率接近但振幅相差较大的单频Kaiser-Bessel
两个频率接近且振幅几乎相等的单频统一
精确的单频振幅测量Flat Top

总结

  • 时域中的所有信号都可用一系列正弦波来表示。
  • FFT变换将信号的时域表示解构为频域表示,以分析信号中的不同频率。
  • 频域可很好地显示时域中的干净信号是否包含干扰、噪声或抖动。
  • 频谱泄漏是由信号中原始非整数周期的不连续引起,可通过加窗来改善。
  • 加窗可减少由数字化仪采集的每个有限序列边界处不连续点的振幅。
  • 通常将不使用窗的情况称作统一窗或矩形窗,因为它仍然存在加窗效应。
  • 一般来说,Hanning窗适用于95%的情况。它具有良好的频率分辨率并可减少频谱泄漏。
  • 应比较不同窗函数的性能,以找到最适合应用的窗函数。

下一步