欢迎来到天天文库
浏览记录
ID:21325455
大小:113.23 KB
页数:8页
时间:2018-10-21
《用fft进行谱分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验4用FFT进行谱分析成绩专业班级学号姓名报告日期.一、实验目的1.进一步加深对DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。2.熟悉FFT算法原理和FFT子程序的应用。3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。二、实验原理1.快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点
2、的DFT。依此类推,当N为2的整数次幂时(),由于每分解一次降低一阶幂次,所以通过M次的分解,最后全部成为一系列2点DFT运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。序列的离散傅立叶反变换为离散傅立叶反变换与正变换的区别在于变为,并多了一个的运算。因为和对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT和快速傅立叶反变换(IFFT)算法合并在同一个程序中。2.利用FF
3、T进行频谱分析若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT运算求得,就代表了序列在之间的频谱值。幅度谱相位谱若信号是模拟信号,用FFT进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT来对连续信号进行谱分析。按采样定理,采样频率应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器。用FFT对模拟信号进行谱分析的方框图如下所示。抗混叠低通滤波器采样T=1/fsN点FFT三、主要实验仪器及材料微型计算机、Matlab6.5教学版、TC编程
4、环境。四、实验内容1.知识准备实验前学生应认真复习DFT和FFT有关的知识,掌握快速傅里叶变换的基本原理以及如何用FFT等计算信号频谱。2.离散时间信号(序列)的产生利用MATLAB或C语言编程产生和绘制下列两有限长序列:、、、3.用一种语言编写FFT的通用程序块4.画主程序实现框图并编写主程序,实现信号的谱分析。5.记录下实验内容中各信号的X(k)值,作出频谱图。五、思考题1.根据实验中各的X(k)值以及频谱图,说明参数的变化对信号频谱产生哪些影响?2.如果周期信号的周期预先不知道,如何用FFT进行分析?六、实验报告要
5、求1.简述实验原理及目的。2.结合实验中所得给定典型序列幅频特性曲线,与理论结合比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。3.总结实验所得主要结论。4.简要回答思考题。FFT通用程序块:voidfft(double*dr,double*di,intN){intlh,m;lh=N/2;m=int(log(N)/log(2)+0.9999);intj=lh;intk;for(inti=1;i<(N-1);i++){if(i6、i]=dr[j];di[i]=di[j];dr[j]=tr;di[j]=ti;}k=lh;while(j>=k){j=j-k;k=k/2;}j=j+k;}for(i=1;i<=m;i++){intb=int(pow(2.0,(i-1)));for(j=0;j7、);dr[k+b]=dr[k]-tr;di[k+b]=di[k]-ti;dr[k]=dr[k]+tr;di[k]=di[k]+ti;k=int(k+pow(2.0,i));}}}}4.clcclearn=1:15;x1=cos(n*pi)/4;subplot(2,2,1);stem(x1,'.');title('');y1=fft(x1,4);i=0:3;subplot(2,2,2);stem(i,abs(y1),'.');xlabel('(N=4wk=2pik/N)k');ylabel('[X1(k)]');title8、('N=4的幅频特性曲线');y1=fft(x1,8);i=0:7;subplot(2,2,3);stem(i,abs(y1),'.');xlabel('(N=8wk=2pik/N)/k');ylabel('[X1(k)]');y1=fft(x1,16);title('N=8的幅频特性曲线');i=0:15;subp
6、i]=dr[j];di[i]=di[j];dr[j]=tr;di[j]=ti;}k=lh;while(j>=k){j=j-k;k=k/2;}j=j+k;}for(i=1;i<=m;i++){intb=int(pow(2.0,(i-1)));for(j=0;j
7、);dr[k+b]=dr[k]-tr;di[k+b]=di[k]-ti;dr[k]=dr[k]+tr;di[k]=di[k]+ti;k=int(k+pow(2.0,i));}}}}4.clcclearn=1:15;x1=cos(n*pi)/4;subplot(2,2,1);stem(x1,'.');title('');y1=fft(x1,4);i=0:3;subplot(2,2,2);stem(i,abs(y1),'.');xlabel('(N=4wk=2pik/N)k');ylabel('[X1(k)]');title
8、('N=4的幅频特性曲线');y1=fft(x1,8);i=0:7;subplot(2,2,3);stem(i,abs(y1),'.');xlabel('(N=8wk=2pik/N)/k');ylabel('[X1(k)]');y1=fft(x1,16);title('N=8的幅频特性曲线');i=0:15;subp
此文档下载收益归作者所有