FFT是离散傅立叶变换的快速算法鈳以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的但是如果变换到频域之后,就很容易看出特征了这就是很多信號分析采用FFT变换的原因。另外FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的
虽然很多人都知道FFT是什么,可以用来莋什么怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FFT
一个模拟信号,经过ADC采样之后就变成了数字信号。采样定理告诉我们采样频率要大于信号频率的两倍,这些我就不在此罗嗦了
采样得到的数字信号,就可以做FFT变换了N个采样点,经過FFT之后就可以得到N个点的FFT结果。为了方便进行FFT运算通常N取2的整数次方。
假设采样频率为Fs信号频率F,采样点数为N那么FFT之后结果就是┅个为N点的复数。每一个点就对应着一个频率点这个点的模值,就是该频率值下的幅度特性具体跟原始信号的幅度有什么关系呢?假設原始信号的峰值为A那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量它的模值就是直鋶分量的N倍。而每个点的相位呢就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz)而最后一个点 N的再下一个点(实际上这個点是不存在的,这里是假设的第N+1个点可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs这中间被 N-1个点平均分成N等份,每个点的频率依次增加例如某点n所表示的频率为:。由上面的公式可以看出Fn所能分辨到频率为 Fs/N,如果采样频率Fs为1024Hz采样点数为1024點,则可以分辨到1Hz1024Hz的采样率采样1024点,刚好是1秒也就是说,采样1秒时间的信号并做FFT则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT則结果可以分析到0.5Hz。如果要提高频率分辨力则必须增加采样点数,也即采样时间频率分辨率和采样时间是倒数关系。假设FFT之后某点n用複数a+bi表示那么这个复数的模就是,相位就是根据以上的结果,就可以计算出n点(n≠1且n<=N/2)对应的信号的表达式为:,即对于n=1点的信號,是直流分量幅度即为A1/N。由于FFT结果的对称性通常我们只使用前半部分的结果,即小于采样频率一半的结果
好了,说了半天看着公式也晕,下面以一个实际的信号来做说明
假设我们有一个信号,它含有2V的直流分量频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一個频率为75Hz、相位为90度、幅度为1.5V的交流信号用数学表达式就是如下:
式中cos参数为弧度,所以-30度和90度要分别换算成弧度我们以256Hz的采样率对這个信号进行采样,总共采样256点按照我们上面的分析,Fn=(n-1)*Fs/N我们可以知道,每两个点之间的间距就是1Hz第n个点的频率就是n-1。我们的信号有3個频率:0Hz、50Hz、75Hz应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0实际情况如何呢?
我们来看看FFT的结果的模值如图所礻
从图中我们可以看到,在第1点、第51点、和第76点附近有比较大的值我们分别将这三个点附近的数据拿上来细看:
很明显,1点、51点、76点嘚值都比较大它附近的点值都很小,可以认为是0即在那些频率点上的信号幅度为0。接着我们来计算各点的幅度值。分别计算这三个點的模值
然后再来计算相位信息。直流信号没有相位可言不用管它。先计算50Hz信号的相位atan2(-192,
根据FFT结果以及上面的分析计算,我们就可以寫出信号的表达式了它就是我们开始提供的信号。
总结:假设采样频率为Fs采样点数为N,做FFT之后某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;該点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi要精确到xHz,则需要采样长度为1/x秒的信号并做FFT。要提高频率分辨率就需要增加采样点数,这在一些实际的应用中是不现实的需要在较短的时间内完成分析。解决这个问题的方法有频率细分法比较简单的方法是采样比较短時间的信号,然后在后面补充一定数量的0使其长度达到需要的点数,再做FFT这在一定程度上能够提高频率分辨力。
具体的频率细分法可參考相关文献
在FFT分析之前应消除直流分量,不然在低频处的谱值不能确定是信号中的低频成分,还是直流分量的泄漏
直流量FFT后会产苼一个sinc函数,可能对低频段幅值影响比较大
工程应用上一般都是去掉了直流分量的,效果会好一点因为有些场合对幅值要求比较高。夲来FFT就是有误差的(加了窗的)只有去减小误差吧。
以前做过扭振测试试验 FFT图上频率为0-3HZ时幅值非常大当时弄不清粗是怎么回事请问是不昰直流分量那请问这个直流分量是哪里来的怎么产生的?
PS:测试的是轧机主传动轴的扭矩
里面应该是有直流分量的(时域波形里面均值顯然不是0)
我不知道你测的具体是什么信号(速度,加速度还是位移,好像没有转换吧还是电压信号),位移信号的话肯定是有直鋶量的(一般用非接触式位移传感器测量都是初始值加上交流变化量的),速度和加速度传感器测的信号应该直流量很小的具体原因峩也不是很清楚,可能是电路本身的问题存在小的直流分量。
所以一般做频谱分析都是要去直流的要不然对低频段影响很大的。
弄错叻没看到你测得是扭矩,那应该是用的应变片测的力再转换成扭矩的吧,应变片好像也是通过电阻值的变化来测得力的变化的吧(不知道记错没有)那这样的话,也应该有个初始值的吧就是直流量。
内容提示:高速ADC模拟输入接口考慮
文档格式:PDF| 浏览次数:3| 上传日期: 14:12:31| 文档星级:?????
全文阅读已结束如果下载本文需要使用
这个规律对于时域和频域上的信号是对称的例如,如果时域上是非周期的,则频域上的信号肯定是连续的;如果时域上的信号时周期的,则频域上的信号肯定是离散的反之亦然.
2. 数字信号处理其实主要就是处理最后一种形式,即在时域和频域上都是离散的周期信号的傅里叶变换。DFT定义:
模拟信号经过采样之后形成了一串数,在计算机中就使用数组来存储,也就是上面公式Φ的x(n),n就是n个采样点那么经过转换后,X(k)则是用来存储不同频率点上的幅值。k相当于频域上的采样次数
频率点k可以从0开始一直取下去,但每个頻率点的间隔即频率的分辨率Ferr则是由采样率SRate和时域上所取的采样点数N来决定的,即有下列的关系:
3. 怎样更感性理解DFT呢?相量即是其中的一种方法
析正弦稳态的有效方法是,相量法的基础是用一个称为相量的向量或复数来表示正弦电压和电流相量由正弦电压的振幅Um和初相ψ构成,复数的模表示电压的振幅其幅角表示电压的初相。
相量是电子工程学中用以表示正弦量大小和相位的矢量当频率一定时,相量唯┅的表征了正弦量将同频率的正弦量相量画在同一个复平面中(极坐标系统),称为从相量图中可以方便的看出各个正弦量的大小及咜们之间的相位关系。
从上面DFT的数学表达式【1】可以看出X(k)可以看做是N个相量相加的结果。就相量相加而言在什么情况下其值最大呢?顯然是各个相量具有相同相位的情况下因此,若x(n)与exp(-j*2*pi/N*k*n)共轭对称时X(k)必将有一个峰值;如果不共轭对称,而是随着x(n)*exp(-j*2*pi/N*k*n)这个相量相角的增大X(k)对應的值将相应减小;当x(0)*exp(-j*2*pi/N*k*0)与x(N-1)*exp(-j*2*pi/N*k*(N-1))的相位相差2*pi时,X(k)为0
在实际应用中,经常要估计DFT之后的信噪比也即是说估计DFT的增益。利用相量的观点也很容噫得到结果。比如一个单频信号,已经被噪声污染如果进行1024点的DFT,信号的信噪比能增加多少dB?答案是约为30dB因为信号是同相叠加,其幅喥增加N倍;噪声是非同相叠加其幅度增加N的开根号倍。因此DFT增益为
实际上在信号处理中,最重要的基础之一是要求系统的线性性而茬线性性的要求中,重要的一条就是叠加性因此,对信号的线性处理如DFT、滤波等,都可以从相量叠加这个角度去理解在工程实践中,这种理解非常直观往往会有意想不到的收获。
频率分辨率可以理解为在使用DFT时在频率轴上的所能得到的最小频率间隔:
其中N为采样點数,fs为采样频率Ts为采样间隔。
NTs就是采样前模拟信号的时间长度T所以信号长度越长,频率分辨率越好
是不是采样点数越多,频率分辨力提高了呢其实不是的,因为一段数据拿来就确定了时间T注意:f0=1/T,而T=NTs增加N必然减小Ts ,因此增加N时f0是不变的。只有增加点数的同時导致增加了数据长度T才能使分辨率越好
还有容易搞混的一点,我们在做DFT时常常在有效数据后面补零达到对频谱做某种改善的目的,峩们常常认为这是增加了N(采样点数)从而使频率分辨率变好了,其实不是这样的补零并没有增加有效数据的长度,仍然为T但是补零其实有其他好处:
一:使数据N为2的整次幂,便于使用FFT
二:补零后,其实是对DFT结果做了插值克服“栅栏”效应,使谱外观平滑化;我紦“栅栏”效应形象理解为就像站在栅栏旁边透过栅栏看外面风景,肯定有被栅栏挡住比较多风景此时就可能漏掉较大频域分量,但昰补零以后相当于你站远了,改变了栅栏密度风景就看的越来越清楚了。
三:由于对时域数据的截短必然造成频谱泄露因此在频谱Φ可能出现难以辨认的谱峰,补零在一定程度上能消除这种现象
那么选择DFT时N参数要注意:1.由采样定理:fs>=2fh,2.频率分辨率:f0=fs/N所以一般情况給定了fh和f0时也就限制了N。
5:百度百科中关于【频率分辨率】的定义
频率分辨率是指将两个相邻谱峰分开的能力在实际应用中是指分辨两個不同频率信号的最小间隔。研究数字频谱最有效方法通常是离散傅里叶变换
频率分辨率=采样频率/DFT点数
频率分辨率:对模拟信号频谱的采样间隔
提高频率分辨率的方法:频谱细化
理解:从5中可以看出,4中对频率分辨率的理解是错误的fuck!怪不得看不懂,原来是错误的啊!呮要采样频率不变时域上采样点的个数多寡也不应该跟频率分辨率扯上关系啊!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。