声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 声学噪声 声学理论 查看内容

快速傅里叶变换 (FFT)

2018-12-14 14:53| 发布者: weixin| 查看: 1261| 评论: 0|原作者: weixin|来自: 声振之家微信公众号

摘要: 这篇文章将解释FFT如何运作,并介绍相关参数和其对测量结果的影响。
  在音频和声学测量领域,“快速傅里叶变换”(FFT)是一个非常重要的测量方法。它能将一个信号转化为频谱分量,从而得出关于该信号的频率信息。FFT方法通常适用于对机械或某个系统进行缺陷分析,品质控制以及状态监测等。这篇文章将解释FFT如何运作,并介绍相关参数和其对测量结果的影响。

  严格来说,FFT是对“离散傅里叶变换”(DFT)的优化算法实现。信号在一个时间段内被采集并分离出频率分量。这些分量在不同频率各自都是正弦振荡波,有自己的幅度和相位,转换过程可以用下图来示意。在所测量的时间内,信号包含了三个不同的主频。
1.png
  信号在时域和频域的视图

  信号的一部分被扫描并存储起来用于后处理,这里有两个相关的参数:

    · 测试系统的采样率或采样频率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确定,测量周期和频率分辨率就确定了,可能出现:

    · 较小的块长使测量循环更快但频率分辨率较粗;

    · 较大块长会使测量更慢但得到更好的频率分辨率;
2.png
  同一信号在较小块长和较大块长下的FFT测量结果

  傅里叶变换中,是假设采集的信号周期性无限重复的,这就带来两个结论:

    · FFT只适用于周期性信号;

    · 采集的信号段必须包含了一个完整周期。

  可以看出,第二个结论只有少数信号能满足。如果对一个频率不是df的整数倍的信号采样,则在含2n个样本的块内,其将以不同的值开始和结束。这就导致时域信号的跳变,和FFT频谱的“弥散”,也称泄露。
3.png
  未加时间窗的信号会产生频谱弥散

  为了阻止这种弥散,实践中会对信号样本应用“窗口”。使用一个加权函数,信号样本或多或少会更平缓的开关。这样采集到的和之后的“加窗”信号即以幅值零开始和结束。现在,样本就无需经过复杂的转换而周期性重复。
4.png
  加窗时域信号和频谱

  正如以上内容所说,测量系统的采样率和块长度BL是FFT的两个核心参数。采样率表明了扫描待分析信号的速率。比如说,商用级计算机声卡录制.WAV格式音频时一般每秒采集44100次。

  奈奎斯特定理:
  Harry Nyquist(哈里·奈奎斯特)发现了模拟信号采样的一个基础理论:采样率必须至少是信号最高频率的两倍。例如,要对一个最高频率为24kHz的信号采样,采样率就至少要达到48kHz。采样率的一半,本例中就是24kHz,被称为“奈奎斯特频率”。

  混叠:
  如果输入系统的频率高于奈奎斯特频率会怎样呢?大多数时候,对信号的采样数量绰绰有余。在48kHz采样率下,6kHz频率的信号每周期被采样8次,而12kHz的信号就只能采样4次。

  在奈奎斯特频率,每周期就只能采集两次信号。有不少于两个采样的情况下,要无损的重建信号还是可能的。但如果样本不到两个,生成的信号中就会包含原始信号中不存在的杂余信号。

  镜像频率:
  在FFT中,此类杂余的人工信号以镜像频率的形式出现。如果超出奈奎斯特频率,信号将被设想出的极限反射,回弹到有用频带上。这些讨厌的镜像频率在扫描前被一个模拟低通滤波器(抗混叠滤波器)过滤了。这个滤波器确保高于奈奎斯特频率的部分被抑制。

  时间窗:
  在周期性重复的信号案例中,时间窗用来平缓扫描结束时的跳变。这能阻止频谱中的拖尾效应。窗口的类型繁多,有些只有很小的差别。在选择时间窗时要清楚:每个窗口在频率可选择性和幅值精度之间都有妥协。
5.png

  频谱平均:
  在分析非周期性信号,比如噪声或音乐时,捕捉多个FFT块并据此确定平均值总是有益的。有两种可能的方法:

    · 经典平均:测量多个FFT,每个结果都在最后的平均结果中有相同的权重,这个方法适用于时间定义好的测量;

    · 指数平均:持续测量FFT,这里同样的也要考虑确定数量的FFT结果。然而,计权却与结果的“年龄”成反比。最早的测量对结果的贡献最小,最近的测量对平均结果影响最大,指数平均适用于长期持续监测频谱。
6.png

  功率vs.峰值检测:
  现代的高分辨率FFT分析仪具备通过FFT块长度对测量结果数量解耦的能力。这样一来也会让测量时间变长,尤其是对高分辨率FFT。因此,举例来说,对于一个2MB的块长,就没有必要测量和显示超过一百万个点(bins),只需足够用于显示的点数即可,如1024个。

  确定每个FFT点(bin)值的方法有两种:

    · “最大峰值”:此处用的是FFT结果中的最大值,这个方法非常适用于FFT的可视化显示;

    · “功率”:这时计算FFT结果总和并按能量平均,当FFT用于计算时这个方法很有必要。

  FFT结果的计算:
  FFT主要用于让信号直观且可视。不过,也有一些应用中FFT结果是用来做计算的。比如,通过RSS(和的平方根)算法可以计算确定频带的极简电平。

  另一个应用是频谱对比。下面范例中为一个电动螺丝刀的声学测量结果。测得结果减去参考频谱得到偏差。再将该差值与预设的上下限对比。其中上图频谱显示螺丝刀正常工作,下图的声学频谱则表明测试样本有缺陷。
7.png
  信号原理中的经典范例就是方波信号的频谱分量,包含了所有基波频率加权奇数倍之和。
8.png

  来源:声学测试小角落微信公众号(ID:Acoustic_Corner),原文来自NTi Audio官网。

最新评论

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

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.

返回顶部