掌握FFT特性基础知识,可以在各种测量问题中更加轻松地得到想要的分析结果。FFT是把信号从时域转换到频域的算法,但是在这个过程中,有很多需要设置的参数,即转换过程受多个参数的影响。 首先,计算必须在硬件上进行,所以信号必须是数字信号,因此采样的过程参数会影响FFT的计算结果。另外,在计算过程中,输出结果的分辨率的多少,也会影响到计算的过程。 采样 采样就是对模拟信号连续采集N 个点的过程,每个点之间的时间间隔都是相同的,为了在FFT计算时效率更高,N 取2的倍数。 如上图所示,对一段采样的数据块进行FFT计算,得到M 个曲线组成的频域数据,这些线与时域中采样点的性质类似。需要明白的是,不像时域采样一个点,FFT是进行块运算的,FFT计算得到频域中的一条线。 明白了这一点,那么下一个采样点的计算如下图所示,整段采样数据去掉一个最旧的点,加入一个最新的点,形成一个块,再次进入计算。 但是,每个采样点都进行计算的话,计算的数据量将会非常大,所以这里会涉及计算块的长度和重叠率(下一次计算时与前次计算的块重叠部分)。 频率分辨率 如果我们有N 个时域采样点,那么我们最多能够在频域中得到N/2个曲线结果,这是FFT的一个重要特性,因为实际上,每一条线都包含了幅值和相位两种信息。 我们可以很直观的理解幅值,那么相位为何也如此重要呢?在时域中的表现形式如下图所示,一个信号由三个不同的正弦波组成,任意变化其中一个正弦波的相位,那么,得到的结果将有严重的失真。如下图所示: FFT频率范围 这里还有另外一个问题。我们在采样时能确定采样点之间的时间间隔,也就是采样率,那么频域中两条线之间的间隔(频率分辨率)是多少呢? 可得到最小的曲线值,频率是Fmin=1/N。N 是采样信号的长度。另外,在0Hz处有时会有较大的幅值,这是DC直流信号。 那么,最大的Fmax 等于多少呢? Fmax=fs/2,fs 为时域信号的采样率。 所以说,频域中两条曲线之间的长度为: 因此,如果计算时不考虑重叠率,而采集的点数与采样率相等,那么其频域中的频率分辨率约等于1。 来源:吉兴汽车声学部件科技有限公司微信公众号,作者:陈晓君。 |
GMT+8, 2024-11-25 07:35 , Processed in 0.188048 second(s), 24 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.