在音频和声学测量领域,“快速傅里叶变换”(FFT)是一个非常重要的测量方法。它能将一个信号转化为频谱分量,从而得出关于该信号的频率信息。FFT方法通常适用于对机械或某个系统进行缺陷分析,品质控制以及状态监测等。这篇文章将解释FFT如何运作,并介绍相关参数和其对测量结果的影响。 严格来说,FFT是对“离散傅里叶变换”(DFT)的优化算法实现。信号在一个时间段内被采集并分离出频率分量。这些分量在不同频率各自都是正弦振荡波,有自己的幅度和相位,转换过程可以用下图来示意。在所测量的时间内,信号包含了三个不同的主频。 信号在时域和频域的视图 信号的一部分被扫描并存储起来用于后处理,这里有两个相关的参数: · 测试系统的采样率或采样频率fs(如48kHz),这是一秒内获取的样本平均数量(每秒钟样本数量); · 选定的样本数量,块长度BL,在FFT中总是2的整数幂(如210=1024样本)。 从fs和BL这两个基础参数,可以确定更多的其它参数。 · 带宽fn(=尼奎斯特频率):这个值表示FFT能测得的理论最大频率:fn=fs/2。比如采样率为48kHz时,理论上能得到的最大频率分量就是24kHz。对于模拟系统来说,由于模拟滤波器的存在,实际测得值通常都或多或少小于理论值,比如说只测到20kHz。 · 测量周期D:测量周期可由采样率fs和块长度BL计算:D=BL/fs。在fs=48kHz且BL=1024时,周期即为1024/48000Hz=21.33 ms。 · 频率分辨率df:频率分辨率表示两个测量结果间的频率间隔,df =fs/BL。在fs=48kHz且BL=1024时,分辨率即为48000Hz/1024=46.88Hz。 实践中,系统一般都会提供多种可选的采样率。然而,一旦块长度BL确定,测量周期和频率分辨率就确定了,可能出现: · 较小的块长使测量循环更快但频率分辨率较粗; · 较大块长会使测量更慢但得到更好的频率分辨率; 同一信号在较小块长和较大块长下的FFT测量结果 傅里叶变换中,是假设采集的信号周期性无限重复的,这就带来两个结论: · FFT只适用于周期性信号; · 采集的信号段必须包含了一个完整周期。 可以看出,第二个结论只有少数信号能满足。如果对一个频率不是df的整数倍的信号采样,则在含2n个样本的块内,其将以不同的值开始和结束。这就导致时域信号的跳变,和FFT频谱的“弥散”,也称泄露。 未加时间窗的信号会产生频谱弥散 为了阻止这种弥散,实践中会对信号样本应用“窗口”。使用一个加权函数,信号样本或多或少会更平缓的开关。这样采集到的和之后的“加窗”信号即以幅值零开始和结束。现在,样本就无需经过复杂的转换而周期性重复。 加窗时域信号和频谱 正如以上内容所说,测量系统的采样率和块长度BL是FFT的两个核心参数。采样率表明了扫描待分析信号的速率。比如说,商用级计算机声卡录制.WAV格式音频时一般每秒采集44100次。 奈奎斯特定理: Harry Nyquist(哈里·奈奎斯特)发现了模拟信号采样的一个基础理论:采样率必须至少是信号最高频率的两倍。例如,要对一个最高频率为24kHz的信号采样,采样率就至少要达到48kHz。采样率的一半,本例中就是24kHz,被称为“奈奎斯特频率”。 混叠: 如果输入系统的频率高于奈奎斯特频率会怎样呢?大多数时候,对信号的采样数量绰绰有余。在48kHz采样率下,6kHz频率的信号每周期被采样8次,而12kHz的信号就只能采样4次。 在奈奎斯特频率,每周期就只能采集两次信号。有不少于两个采样的情况下,要无损的重建信号还是可能的。但如果样本不到两个,生成的信号中就会包含原始信号中不存在的杂余信号。 镜像频率: 在FFT中,此类杂余的人工信号以镜像频率的形式出现。如果超出奈奎斯特频率,信号将被设想出的极限反射,回弹到有用频带上。这些讨厌的镜像频率在扫描前被一个模拟低通滤波器(抗混叠滤波器)过滤了。这个滤波器确保高于奈奎斯特频率的部分被抑制。 时间窗: 在周期性重复的信号案例中,时间窗用来平缓扫描结束时的跳变。这能阻止频谱中的拖尾效应。窗口的类型繁多,有些只有很小的差别。在选择时间窗时要清楚:每个窗口在频率可选择性和幅值精度之间都有妥协。 频谱平均: 在分析非周期性信号,比如噪声或音乐时,捕捉多个FFT块并据此确定平均值总是有益的。有两种可能的方法: · 经典平均:测量多个FFT,每个结果都在最后的平均结果中有相同的权重,这个方法适用于时间定义好的测量; · 指数平均:持续测量FFT,这里同样的也要考虑确定数量的FFT结果。然而,计权却与结果的“年龄”成反比。最早的测量对结果的贡献最小,最近的测量对平均结果影响最大,指数平均适用于长期持续监测频谱。 功率vs.峰值检测: 现代的高分辨率FFT分析仪具备通过FFT块长度对测量结果数量解耦的能力。这样一来也会让测量时间变长,尤其是对高分辨率FFT。因此,举例来说,对于一个2MB的块长,就没有必要测量和显示超过一百万个点(bins),只需足够用于显示的点数即可,如1024个。 确定每个FFT点(bin)值的方法有两种: · “最大峰值”:此处用的是FFT结果中的最大值,这个方法非常适用于FFT的可视化显示; · “功率”:这时计算FFT结果总和并按能量平均,当FFT用于计算时这个方法很有必要。 FFT结果的计算: FFT主要用于让信号直观且可视。不过,也有一些应用中FFT结果是用来做计算的。比如,通过RSS(和的平方根)算法可以计算确定频带的极简电平。 另一个应用是频谱对比。下面范例中为一个电动螺丝刀的声学测量结果。测得结果减去参考频谱得到偏差。再将该差值与预设的上下限对比。其中上图频谱显示螺丝刀正常工作,下图的声学频谱则表明测试样本有缺陷。 信号原理中的经典范例就是方波信号的频谱分量,包含了所有基波频率加权奇数倍之和。 来源:声学测试小角落微信公众号(ID:Acoustic_Corner),原文来自NTi Audio官网。 |
GMT+8, 2024-11-24 20:41 , Processed in 0.067975 second(s), 23 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.