datasheet

技术文章—FFT相关原理及使用注意事项

2019-04-25来源: EEWORLD作者: ZLG立功科技·致远电子关键字:FFT  波形混叠

在信号分析与处理中,频谱分析是重要的工具。FFT(Fast Fourier Transform,快速傅立叶变换)可以将时域信号转换至频域,以获得信号的频率结构、幅度、相位等信息。该算法在理工科课程中都有介绍,众多的仪器或软件亦集成此功能。FFT实用且高效,相关原理与使用注意事项也值得好好学习。

 

一、何为FFT

 

对于模拟信号的频谱分析,首先得使用ADC(模拟数字转换器)进行采样,转换为有限序列,其非零值长度为N,经DFT(离散傅立叶变换)即可转化为频域。DFT变换式为:

 

 

在上式中,N点序列的DFT需要进行N2次复数乘法和次复数加法,运算量大。FFT是DFT的快速算法,利用DFT运算中的对称性与周期性,将长序列DFT分解为短序列DFT之和。最终运算量明显减少,使得FFT应用更加广泛。

 

FFT基于一个基本理论:任何连续的波形,都可以分解为不同频率的正弦波形的叠加。FFT将采样得到的原始信号,转化此信号所包含的正弦波信号的频率、幅度、相位,为信号分析提供一个创新视觉。

 

例如在日常生活中有使用到的AM(Amplitude Modulation,幅度调制)广播,其原理是将人的声音(频率约20Hz至20kHz,称为调制波)调制到500kHz~1500kHz正弦波上(称为载波)中 ,载波的幅度随调制波的幅度变化。声音经这样调制后,可以传播得更远。在AM的时域波形(波形电压随时间的变化曲线),载波与调制波特征不易体现,而在FFT后的幅频曲线中则一目了然。如下图为1000kHz载波、10kHz调制波的AM调制信号,时域信号经FFT后其频率能量出现在990kHz、1.01MHz频率处,符合理论计算。

 

 

图 1 调制波10kHz、载波1000kHz的AM时域与频域曲线

 

二、FFT相关知识

 

现实生活中的模拟信号,大多都是连续复杂的,其频谱分量十分丰富。正如在数学中常量π,其真实值是个无理数。当用3.14来替代π时,计算值与真实值就会有偏差。在使用FFT这个工具时,受限于采样时的频率Fs、采样点长度N、ADC的分辨率nbit等因素的制约,所得到的信息会有所缺失与混淆。

 

  1. 奈奎斯特区与波形混叠

 

FFT分析结果中,存在一个那奈奎斯特区的概念,其宽度为采样率的一半Fs/2,信号频谱被分成一个个相连的奈奎斯特区。日常信号分析中,大多关心的是1st奈奎斯特区的信号,即DC到Fs/2的频段。FFT所得到的信号频率信息,也是在1st奈奎斯特区内。其他高奈奎斯特区频段的信号,会以不同的方式混叠到1st奈奎斯特区:

 

偶数奈奎斯特区会镜像后混叠到1st奈奎斯特区;

 

奇数奈奎斯特区会频移后混叠到1st奈奎斯特区。

 

如下图所示,假如原有模拟信号频谱段较宽,信号频段的最大频率大于采样率Fs。在采样率Fs下,信号频谱的A、B、C三部分区域,分别位于1st、2st、3st奈奎斯特区。那经FFT后:

 

A部分信号本来就在1st奈奎斯特区,保持不变;

 

B部分频谱会以Fs/2为镜像后混叠到1st奈奎斯特区;

 

C部分频谱频偏Fs后混叠到1st奈奎斯特区。

 

这样在FFT的分析结果中,1st奈奎斯特区就会重叠了A、B、C三部分区域的信号。其他奈奎斯特区频率信号干扰到需分析的信号,就会造成常说的波形混叠问题。

 

就单个频率信号而言,若原始信号的频率为|±KFs ±Fin|(K为自然数),则经过FFT分析后,信号会落入在1st奈奎斯特区的Fin频率处。

 

图 2 奈奎斯特区投影与波形混叠

 

这在时域上理解不难:在常用设备示波器的采样率设为100MSa/s,这时输入10MHz、90MHz、110MHz频率的信号,采样得到的波形是一样的,都为10MHz。此时奈奎斯特区宽度为50MHz,信号90MHz位于2st奈奎斯特区,经Fs/s镜像后,为10MHz;信号110MHz位于3st奈奎斯特区,经频偏Fs后,亦为10MHz。在FFT后的数据中,这三个频率信号的频点都落在1st奈奎斯特区的10MHz处。

 

 

图 3 波形混叠时的时域芯片

 

为了解决信号混叠问题,可以采取以下措施:

 

提高模数转换器ADC的采样率Fs

 

这相当把1st奈奎斯特区拉宽。当满足Fs/2大于信号频段的最大频率Fin_max时,自然不会现混叠。这是采样定理的简单实践。

 

在模数转换器前串入抗混叠滤波器

 

抗混叠滤波器最常见的是低通滤波器,此滤波器可以将高于Fs/2的高阶奈奎斯特区频段信号衰减掉,只保留待测量1st奈奎斯特区频段的信号。

 

  1. FFT数据的物理意义

 

长度为N的有限序列,经FFT后得会到N个复数,完成了时域到频域的涅磐。原始信号包含的各种正弦信号,会转化成对应位置的复数:

 

第一个复数,代表信号的直流分量。此复数的模值,为直流分量的N倍。

 

第二至第N/2个复数,代表着均匀频率间隔信号的特征。此复数的模,为此频率信号幅度的N/2倍;此复数的角度,为此频率信号的相位。一个奈奎斯特区包含N/2个频率点,频率点的间隔称为频率分辨率:

 

 

对上式稍作变换:频率分辨率的倒数,为可分析信号的周期:

 

 

NT即采样时间,可见FFT的频率分辨率,与其他参数无关,只与采样时间长度有关。

 

第N/2+1至第N个复数,从上文的奈奎斯特区可知,是1st奈奎斯特区的镜像,可以忽略。

 

  1. 频谱泄漏与窗函数

 

在利用FFT对ADC的动态性能评估中,为了减少不相关因素对动态性能的影响,测试中一般要求给ADC低噪电源、低噪时钟,待测信号幅度尽量接近且略低于ADC的输入量程,而待测信号的频率Fin也有要求:

 

 

为啥频率要这样要求?将上式中的频率转换为周期就很好理解:

 

 

即为采样时间,采样时间刚好包含了n个整周期的待测信号。这样选取输入信号频率的原因,是FFT分析中默认采集到的数据,是原始连续波形中的一段周期波形。既然波形是连续的,那波形肯定首尾相连的、开始点电压值等于终点处电压值的。

 

若采样到的数据不是连续的,则相当数据在首尾处有一个电压突变,电压突变在频域上就代表着很高的频率分量。这些高频的频率分量混叠到1st奈奎斯特区时,就会对原有信号的频谱造成干扰,这也叫频谱泄漏。

 

在实际的信号分析中,待测信号的频率是很难事先设定的,这就容易会造成频谱泄漏。为了减轻这个影响,FFT加入了窗函数这个概念。窗函数,其实是一个加权系数,将不同位置的采样点,分别乘以不同的系数。经过加权相乘后,采样点就变成首尾相连的连续波形了。不同的窗函数,其加权曲线不一样,造成的影响就有所差异。举例hann窗的系数定义如下:

 

 

其N=64系数曲线与频谱如下:

 

 

图 4 N=64 hann窗系数曲线与频谱曲线

 

 

图 5 叠加窗前后的信号波形

 

  1. 频谱图指标定义

 

将FFT得到的各个频率点幅度,绘制成随频率变化的曲线,可以得到信号的频谱图。在原厂ADC的器件手册或性能评估方案中,会有与性能相关指标的定义。在众多指标中,以下几个尤为重要:

 

信噪比SNR

 

信号均方根幅值与除前六个谐波与直流分量之外的所有频率分量均方根和之比。在只考虑ADC的量化误差时,SNR只与ADC的位数相关。

 

信纳比SINAD

 

信号均方根振幅与出直流分量之外的所有频谱分量均方根和之比。SINAD与SNR之间的差异只有前六个谐波分量所含的能量。

 

总谐波失真THD

 

信号均方根与前六个谐波之和的均方根值之比。谐波的产生是因为信号经过了非线性环节,导致信号产生畸变。

 

无杂散动态范围SFDR

 

信号均方根与最大杂散频谱分量均方根值之比。SFDR可以表征信号分析的动态范围。

 

有效位数ENOB

 

ENOB反映了信号与正弦波的拟合程度。在FFT中可以使用公式计算:ENOB =(SINAD-1.76)/6.02。这公式是与基于ADC只有量化误差时的计算模型,具体的推论可以参考ADI的应用文档MT-001《Taking the Mystery out of the Infamous Formula,"SNR = 6.02N + 1.76dB," and Why You Should Care》。

 

 

图 6  ZDS4054 Plus FFT功能分析界面

 

ZDS4000 FFT分析功能可以自动计算总谐波失真THD、信噪比SNR,显示前10次高功率信号频率。

 

FFT是简便而高效的分析工具,在众多的软件中都已很好的集成。在网络上简单搜索一下例程,在Matlab软件中简单敲入fft(),即可做信号分析。而ZLG立功科技-致远电子的高性能数据挖掘性示波器,FFT分析的样本数可达4Mpts,这使得示波器可以在最高采样率下,采样更长时间的波形。这样在FFT后,数据的奈奎斯特区就相当宽,而频率分辨率又相当窄,非常适用信号分析与噪声定位。

 



    关键字:FFT  波形混叠

    编辑:muyan 引用地址:http://mirrt.com/Test_and_measurement/ic459714.html
    本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

    上一篇:罗德与施瓦茨两款新的信号和频谱分析仪 具有多种频率型号
    下一篇:最后一页

    关注eeworld公众号 快捷获取更多信息
    关注eeworld公众号
    快捷获取更多信息
    关注eeworld服务号 享受更多官方福利
    关注eeworld服务号
    享受更多官方福利

    推荐阅读

    STM32F4学习笔记2——自建库函数整合FFT计算遇到的问题及方法

    最近采用FFT计算信号频谱,需要先减去信号均值,参考网上看到的范例,实现了功能,代码为:arm_mean_f32(DataBuffer, SIG_N, &MeanData);for (int16_t k = 0 ; k <= SIG_N - 1 ; k++) {DeMeanDataBuffer[k] = DataBuffer[k] - MeanData;}arm_mean_f32(DeMeanDataBuffer, SIG_N, &MeanData2);arm_status status; arm_cfft_radix2_instance_f32 S;  status
    发表于 2019-02-19

    STM32F4 FFT 音乐频谱 不要太easy!

    在数字信号处理当中,我们最常用的就是卷积和离散傅里叶变换(DFT)。可以证明卷积、相关、谱分析、滤波等都可以转化为离散傅里叶变换来实现。大学学了信号和系统、数字信号处理对于傅里叶变换有了更深的理解。下面介绍一种超级简单的方法做一个用FFT做一个音乐频谱仪。过程中参考了正点原子的STM32F4教程,在此,要特别感谢正点原子。先看下效果:系统采用基于ARM-Cortex M4核的STM32F407ZGT6单片机,调用官方DSP库进行4096点FFT运算,然后实时显示音乐信号的频谱。下面将重点介绍核心函数和算法:1、第一个函数是arm_status arm_cfft
    发表于 2018-07-24

    【实用指南】教你使用FFT和示波器

    本文讨论了一些重要的FFT特性,解释了如何利用这些特性设置FFT以实现高效的分析。   快速傅里叶变换(FFT)是20世纪70年代微处理器进入商业设计时首次出现的。从昂贵的实验室型号到最便宜的业余型号,现在几乎每一台示波器都能提供FFT分析功能。FFT是一种功能强大的工具,高效使用FFT要求人们对FFT有一定的研究。本文将介绍如何设置FFT和高效使用FFT,FFT的技术原理这里不再赘述。   FFT是一种能够缩短离散傅里叶变换(DFT)计算时间的算法,也是一种用于在频域(幅度和相位与频率的关系)中查看所采集的时域(幅度与时间)数据的分析工具。FFT给数字示波器增加了频谱分析功能。   观察图1中
    发表于 2018-04-03
    【实用指南】教你使用FFT和示波器

    基于51单片机FFT算法的源码设计

      FFT算法是计算离散傅里叶变换的方法,它大大地减少了运算量,缩短了运算时间,使实时分析成为可能。  按时间抽取的FFT算法通常将原始的数据倒位序存储,最后按照正常顺序输出结果X  下面是128点的FFT函数。  (1) 128点FFT子函数。  (2)下面给出256位的KeilC51源程序,目的是能够更好地熟悉FFT算法在单片机及其他嵌入式处理器中的实现方法。   我们在使用FFT算法程序的时候,可以根据需要对上面的程序进行优化处理。优化处理主要是使用直接的整数加减、移位、乘法操作去替换程序中采用定点模拟实现的加减、移位、乘法等操作。
    发表于 2018-03-06
    基于51单片机FFT算法的源码设计

    如何使用STM32提供的DSP库进行FFT

      前些日子,因为需要在STM32F103系列处理器上,对采集的音频信号进行FFT,所以花了一些时间来研究如何高效并精确的在STM32F103系列处理器上实现FFT。在网上找了很多这方面的资料做实验并进行比较,最终选择了使用STM32提供的DSP库这种方法。  本文将以一个实例来介绍如何使用STM32提供的DSP库函数进行FFT。 1.FFT运算效率  使用STM32官方提供的DSP库进行FFT,虽然在使用上有些不灵活(因为它是基4的FFT,所以FFT的点数必须是4^n),但其执行效率确实非常高效,看图1所示的FFT运算效率测试数据便可见一斑。该数据来自STM32 DSP库使用文档。  图
    发表于 2016-12-30
    如何使用STM32提供的DSP库进行FFT
    热门资源推荐

    小广播

    相关热搜器件

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved