- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06快速傅立叶变换09
快速傅立叶变换函数fftt2() fftt2()的使用 求离散频谱的模和相角 频谱分辨率 FFT的频率范围 离散频谱的绘制 * 快速傅立叶变换 傅立叶变换将时间域的问题转换成频率域的问题进行研究,可以展示出时域信号的一些特点,可使研究的问题简化。 对由等周期采样得到的离散数据进行的傅立叶变换,称为离散傅立叶变换 DFT 。快速傅立叶变换 (FFT)算法往往要求进行离散傅立叶变换 的数据个数为2的整数次方,即 N=2r ,r为正整数。 离散傅立叶变换 与逆变换对的公式: ? int fftt2(double *x , double *y , int n , double f); 其中:n 离散数据的点数,取2的整数次方 f= -1.0 傅立叶变换 FFT 1.0 傅立叶逆变换 IFFT x 变换前后离散数据的实部 y 变换前后离散数据的虚部 0 计算成功 1 计算失败 返回值= 函数fftt2()在文件 fftt2.c中,使用文件包含预处理的方法将其包括在主程序的原文件中 #include “fftt2.c” 若A/D采集12位数据减2047变成补码形式后放入整型数组,为进行FFT 要定义两个双精度数组,分别放离散数据的实部和虚部。 double dx[512] , dy[512]; 实部数组放采集的数据,虚部数组放 0.0 。 fft(double *xx,double *yy,int n,double dd) { double aa,bb; printf(\n FFT...\n); if(fftt2(xx,yy,n,dd)= =0) {for(i=0;i=n-1;i++) { aa=sqrt((*(xx+i))*(*(xx+i))+(*(yy+i))*(*(yy+i))); bb=atan2((*(yy+i)),(*(xx+i))); *(xx+i)=aa; *(yy+i)=bb; } printf(\n FFT OK .\n); } else printf(\n FFTERROR\n); } 主函数中调用语句 fft(dx,dy,256,-1.0); 频谱分辨率是指经FFT变换后所产生的离散频谱分量的增量?f。FFT算法所能分辨的最小频谱增量?f由时间记录长度TL决定。 TL=N?T N 采样点数,T 采样周期 ?f=1/NT=1/ TL 若 T=10mS=0.01S , N=256 NT=2.56 S ?f=1/NT=1/2.56=0.3906Hz 若 T=20mS=0.02S , N=256 NT=5.12S ?f=1/NT=1/5.12=0.1953Hz T的增加受到限制 可增加采样点数 ?f f 0 fN fmax=N/2TL=N/2NT=1/2T=fS/2= fN奈奎斯特频率 实际最高频率为 ?fN/2 最低交流频率分量 ?f 要求画出离散的幅频和相频特性曲线,并截取屏幕图形。 *
文档评论(0)