weixin 发表于 2020-5-12 15:59

信号分析基础 | 信号动态分析——FFT属性

掌握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。

来源:吉兴汽车声学部件科技有限公司微信公众号,作者:陈晓君。

潮男宅女 发表于 2020-7-20 17:16

唉 这贴好玩儿

zlw6668 发表于 2020-8-11 17:02

写得很好。

dsp2008 发表于 2020-8-28 14:14

画蛇添足,这伙计的最后一段话稀下了!
页: [1]
查看完整版本: 信号分析基础 | 信号动态分析——FFT属性