欢迎来到天天文库
浏览记录
ID:62506230
大小:277.21 KB
页数:20页
时间:2021-05-10
《实验二用FFT作谱分析.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二用FFT作谱分析1.实验目的(1)迸一步加深PFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。⑵熟悉FFT算法原理和FFT于程序的应用。⑶学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差尺其原因,以便在实际中正确应用FFT。2.实验步骤(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。⑵复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图,读懂本实验提供的FFT于程序。⑶编制信号产生于程序,产生以下典
2、型信号供谱分析用:n+h0?<3X2(/7)=<8-舁4?<704-/70<72<3尤3(〃)=3、补0*//*计算如果乂(K)的实部和虚部分别储存在数组私和xi中*/VoidFft(doublcxrO,doublexiQ>诚N,iniM)intL、BJP,k,i;doublerPartKB,iPariKB;doublerCf[128],iCf[128]/*计算旋转因于*/doublePl2=8.0*atan(l.O);fi)r(i=O;i4、;L++){B=(iiit)(p()w(2,(L-l))+0.5);for(J=0;J<=B・1;J++){P=J*((int)(p5、;xi[k]=xi[k]+iPartKB;}}}}/*倒序于程序*/voidChangcOrdor(doublcxrQ,doublexiQ,intN){intLH,N1,I,J,K;doubleT;LH=N/2;J=LH;N1=N-2;fi)r(I=1;K=Nia++){iF(I=K){J=J-K;K=(int)(K/2+0.5);}J=〕+K;}}(1)按实验内容要求,上机实验并写出实6、验报告。本实验采用的是MATLAB语言,因此FFT于程序直接调用MATLAB语言中的FFT函数就可以实现。下面给岀完整的MATLAB程序精品%实验二,用FFT做谱分析b=mcnuC请选择信号xl(n)--x8(n),xl(n),;x2(n),,,x3(n),;x4(n),;x5(n),,,x6(n),;x7=x44-x5,,,x8=x4+jx5,,rExit,);ifb==9b=0;endi=0;closeall;whilc(b)ifb==6temp^menuC请选择FFT变换区间长度NTN=16TN=32;N二64);7、iftcmp==lN二16;clsciftcmp==2N=32;elseN=64;endfs=64;n=O:N-l;精品x=cos(8*pi*n/fs)+cos(l6*pi*n/fs)+cos(20*pi*n/fs);elsetcmp=mcnuC请选择FFT变换区间长度N7N=8,;N=16,,,N=32,);iftcmp==lN二&clsciftcmp==2N=16;elseN=32;endifb==lx=[l111000()];elseifb==2x=[l2344321];elseifb==3x=[43211234];8、elseifb==4n=O:N-l;x=cos(0.25*pi*n);elseifb二二5n=O:N-l;精品x=sin((pi*n)/8);elseifb==7n=O:N-l;x=cos(n*pi/4)+sin(n*pi/8);elseifb==8n=O:N-l;x=cos(n*pi/4)+j*sin
3、补0*//*计算如果乂(K)的实部和虚部分别储存在数组私和xi中*/VoidFft(doublcxrO,doublexiQ>诚N,iniM)intL、BJP,k,i;doublerPartKB,iPariKB;doublerCf[128],iCf[128]/*计算旋转因于*/doublePl2=8.0*atan(l.O);fi)r(i=O;i4、;L++){B=(iiit)(p()w(2,(L-l))+0.5);for(J=0;J<=B・1;J++){P=J*((int)(p5、;xi[k]=xi[k]+iPartKB;}}}}/*倒序于程序*/voidChangcOrdor(doublcxrQ,doublexiQ,intN){intLH,N1,I,J,K;doubleT;LH=N/2;J=LH;N1=N-2;fi)r(I=1;K=Nia++){iF(I=K){J=J-K;K=(int)(K/2+0.5);}J=〕+K;}}(1)按实验内容要求,上机实验并写出实6、验报告。本实验采用的是MATLAB语言,因此FFT于程序直接调用MATLAB语言中的FFT函数就可以实现。下面给岀完整的MATLAB程序精品%实验二,用FFT做谱分析b=mcnuC请选择信号xl(n)--x8(n),xl(n),;x2(n),,,x3(n),;x4(n),;x5(n),,,x6(n),;x7=x44-x5,,,x8=x4+jx5,,rExit,);ifb==9b=0;endi=0;closeall;whilc(b)ifb==6temp^menuC请选择FFT变换区间长度NTN=16TN=32;N二64);7、iftcmp==lN二16;clsciftcmp==2N=32;elseN=64;endfs=64;n=O:N-l;精品x=cos(8*pi*n/fs)+cos(l6*pi*n/fs)+cos(20*pi*n/fs);elsetcmp=mcnuC请选择FFT变换区间长度N7N=8,;N=16,,,N=32,);iftcmp==lN二&clsciftcmp==2N=16;elseN=32;endifb==lx=[l111000()];elseifb==2x=[l2344321];elseifb==3x=[43211234];8、elseifb==4n=O:N-l;x=cos(0.25*pi*n);elseifb二二5n=O:N-l;精品x=sin((pi*n)/8);elseifb==7n=O:N-l;x=cos(n*pi/4)+sin(n*pi/8);elseifb==8n=O:N-l;x=cos(n*pi/4)+j*sin
4、;L++){B=(iiit)(p()w(2,(L-l))+0.5);for(J=0;J<=B・1;J++){P=J*((int)(p5、;xi[k]=xi[k]+iPartKB;}}}}/*倒序于程序*/voidChangcOrdor(doublcxrQ,doublexiQ,intN){intLH,N1,I,J,K;doubleT;LH=N/2;J=LH;N1=N-2;fi)r(I=1;K=Nia++){iF(I=K){J=J-K;K=(int)(K/2+0.5);}J=〕+K;}}(1)按实验内容要求,上机实验并写出实6、验报告。本实验采用的是MATLAB语言,因此FFT于程序直接调用MATLAB语言中的FFT函数就可以实现。下面给岀完整的MATLAB程序精品%实验二,用FFT做谱分析b=mcnuC请选择信号xl(n)--x8(n),xl(n),;x2(n),,,x3(n),;x4(n),;x5(n),,,x6(n),;x7=x44-x5,,,x8=x4+jx5,,rExit,);ifb==9b=0;endi=0;closeall;whilc(b)ifb==6temp^menuC请选择FFT变换区间长度NTN=16TN=32;N二64);7、iftcmp==lN二16;clsciftcmp==2N=32;elseN=64;endfs=64;n=O:N-l;精品x=cos(8*pi*n/fs)+cos(l6*pi*n/fs)+cos(20*pi*n/fs);elsetcmp=mcnuC请选择FFT变换区间长度N7N=8,;N=16,,,N=32,);iftcmp==lN二&clsciftcmp==2N=16;elseN=32;endifb==lx=[l111000()];elseifb==2x=[l2344321];elseifb==3x=[43211234];8、elseifb==4n=O:N-l;x=cos(0.25*pi*n);elseifb二二5n=O:N-l;精品x=sin((pi*n)/8);elseifb==7n=O:N-l;x=cos(n*pi/4)+sin(n*pi/8);elseifb==8n=O:N-l;x=cos(n*pi/4)+j*sin
5、;xi[k]=xi[k]+iPartKB;}}}}/*倒序于程序*/voidChangcOrdor(doublcxrQ,doublexiQ,intN){intLH,N1,I,J,K;doubleT;LH=N/2;J=LH;N1=N-2;fi)r(I=1;K=Nia++){iF(I=K){J=J-K;K=(int)(K/2+0.5);}J=〕+K;}}(1)按实验内容要求,上机实验并写出实
6、验报告。本实验采用的是MATLAB语言,因此FFT于程序直接调用MATLAB语言中的FFT函数就可以实现。下面给岀完整的MATLAB程序精品%实验二,用FFT做谱分析b=mcnuC请选择信号xl(n)--x8(n),xl(n),;x2(n),,,x3(n),;x4(n),;x5(n),,,x6(n),;x7=x44-x5,,,x8=x4+jx5,,rExit,);ifb==9b=0;endi=0;closeall;whilc(b)ifb==6temp^menuC请选择FFT变换区间长度NTN=16TN=32;N二64);
7、iftcmp==lN二16;clsciftcmp==2N=32;elseN=64;endfs=64;n=O:N-l;精品x=cos(8*pi*n/fs)+cos(l6*pi*n/fs)+cos(20*pi*n/fs);elsetcmp=mcnuC请选择FFT变换区间长度N7N=8,;N=16,,,N=32,);iftcmp==lN二&clsciftcmp==2N=16;elseN=32;endifb==lx=[l111000()];elseifb==2x=[l2344321];elseifb==3x=[43211234];
8、elseifb==4n=O:N-l;x=cos(0.25*pi*n);elseifb二二5n=O:N-l;精品x=sin((pi*n)/8);elseifb==7n=O:N-l;x=cos(n*pi/4)+sin(n*pi/8);elseifb==8n=O:N-l;x=cos(n*pi/4)+j*sin
此文档下载收益归作者所有