《用FFT作谱分析实验报告.pdf》由会员分享,可在线阅读,更多相关《用FFT作谱分析实验报告.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字信号处理数字信号处理实验报告实验报告FFTFFT 的谱分解的谱分解一、实验目的:一、实验目的:1、在理论学习的基础上,通过本实验,加深对 FFT 的理解,熟悉 MATLAB 中的有关函数。2、熟悉应用 FFT 对典型信号进行频谱分析的方法。熟悉 FFT 算法原理和 FFT 子程序的应用。3、学习用 FFT 对连续信号和时域离散信号进行谱分析的方法。了解应用 FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用 FFT。二、实验原理:二、实验原理:1快速傅立叶变换(FFT)算法长度为 N 的序列x(n)的离散傅立叶变换X (k)为:nkX(k) x(n)WN,k 0,.,N 1
2、n0N1N 点的 DFT 可以分解为两个 N/2 点的 DFT,每个 N/2 点的 DFT 又可以分解为两个 N/4 点的 DFT。依此类推,当 N 为 2 的整数次幂时(N 2M),由于每分解一次降低一阶幂次,所以通过 M 次的分解,最后全部成为一系列 2 点 DFT 运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是 2 的整数次方的时候,为了使用以 2 为基的 FFT,可以用末尾补零的方法,使其长度延长至 2的整数次方。序列X (k)的离散傅立叶反变换为1x(n) NX(k)Wk0N1nkN,n 0,., N 11离散傅立叶反变换与正变换的区别在于WN
3、变为WN,并多了一个1 N的运算。1因为WN和WN对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将 FFT 和快速傅立叶反变换(IFFT)算法合并在同一个程序中。2利用 FFT 进行频谱分析若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT 运算求得X (k),X (k)就代表了序列在0,2之间的频谱值。幅度谱X(k) 2XR(k) XI2(k)相位谱(k) arctanXI(k)XR(k)若信号是模拟信号,用 FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用 FFT 来对连续信号进行谱分析。按采样定理,采样频率fs应大于 2
4、 倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器。用 FFT 对模拟信号进行谱分析的方框图如下所示。抗混叠低通滤波器采样 T=1/fsN点 FFT三、实验步骤三、实验步骤1、复习 DFT 的定义、性质和用 DFT 作谱分析的有关内容;2、复习 FFT 算法原理与编程思想,并对照 DIT-FFT 运算流图和程序流图,读懂本实验提供的 FFT 子程序;3、编制信号产生子程序,产生以下典型信号供谱分析用:x1(n) R4(n)n 1,x2(n) 8n,0,4n,x3(n) n3,0,0 n 34 n 7其它n0 n 34 n 7其它nx4(n) cosx5(n) sin
5、4nn8选择 FFT 的变换区间 N 为 8 和 16 两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。(4)对模拟周期信号进行谱分析x6(t) cos8t cos16t cos20t选择 采样频率Fs 64Hz,变换区间 N=16,32,64 三种情况进行谱分析。(5)令 x(n)=x4(n)+x5(n),用 FFT 计算点和 16 点离散傅里叶变换,X(k)=DFTx(n)并根据 DFT 的对称性,由 X(k)求出 X(k)=DFTx4(n)和 X(k)=DFTx5(n),并与上面结果进行比较。四、实验程序四、实验程序figure(1);n=0:15;k
6、1=0:7;k2=0:15;x1=(n32,才能取完一个周期的序列。这一点,从上面三个图可以清晰看出。其中N=32 和 N=16 的图形分析,可以参考x4(n)的分析。6、x(n)=x4(n)+x5(n)两者都不能显示一个周期内的所有序列,尽管 N=8 时的序列是 N=16 时序列的一部分,但是它们确属两个不同的序列。所以它们的傅里叶变换不同,即不能按照x1(n)的进行分析而且周期延拓后所取得傅里叶级数的主值序列不同,即DFT 变换值不同。7、x(n)=x4(n)+jx5(n)通过结合x4(n)和x5(n)的频谱分析,从以上的图可以看出,将原信号的DFT 变换分为共轭对称部分合共个反对称部分,
7、则可以得出原信号的实部对应离散傅里叶变换的共轭对称部分,原信号的虚部对应离散信号的共轭反对称部分。六、实验结论六、实验结论FFT 变换即快速傅里叶变换的性质同 DFT 即离散傅里叶变换相同。离散傅里叶变换有两个物理意义,一是,是对该序列的傅里叶变换 w 的抽样或者说对Z 变换单位圆内的抽样。二是,将该序列进行周期延拓后的傅里叶级数变换的主值序列。七、思考题七、思考题1、在N=8 时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16 呢?答:时一样,时不一样。因为 DFT 变换可以看成是将该序列进行周期延拓后的傅里叶级数变换的主值序列。当 N=8 时,两序列进行周期延拓后序列相同,所以其傅里叶级数变换的主值序列也相同,进而 DFT 变换也相同。而当 N=16 时,两序列进行周期延拓后序列不相同,所以其傅里叶级数变换的主值序列也相同,进而 DFT 变换也不相同。八、小结:八、小结:通过本次实验,我加深了对 DFT 以及 FFT 算法的原理的理解,熟悉了应用典型信号进行谱分析的方法。本次实验的难点在于编写程序,并且进行调试,运行,在此过程中我对 MATLAB 的运用更加熟练了,对其原理也有了更深入的了解。
限制150内