快速傅里叶变换 (FFT)
在音频和声学测量领域,“快速傅里叶变换”(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官网。
页:
[1]