前述课堂介绍了信号在三种不同域中的表达形式,那么如果要对信号进行动态实时的分析,FFT傅里叶变换(把信号从时域转换到频域)就是分析的基础,所以本次课堂就介绍与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。
【免责声明】本文转自吉兴汽车声学部件科技有限公司(ID:gh_ff1a461c24cb),作者陈晓君,版权归原作者所有!仅用于个人学习,对文中观点判断均保持中立,若您认为文中来源标注与事实不符,若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!