数字信号处理实验三--用FFT作谱分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字信号处理实验报告一、实验目的(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质);(2)熟悉FFT算法的原理;(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法分析误差及其原因,以便在实际中正确应用FFT。二、实验内容(1)x(n)={10≤𝑛≤50其他构造DFT函数计算x(n)的10点DFT,20点DFT并画出图形;(2)利用FFT对下列信号逐个进行谱分析并画出图形a、x1(n)=R4(n);b、x2(n)=cos𝜋4𝑛;c、x3(n)=sin𝜋8𝑛以上3个序列的FFT变换区间N=8,16(3)设一序列中含有两种频率成份,f1=2HZ,f2=2.05HZ,采样频率取为fs=10HZ,即)/2sin()/2sin()(21ssfnffnfnx要区分出这两种频率成份,必须满足N400,为什么?a.取x(n)(0≤n128)时,计算x(n)的DFTX(k)b.将a中的x(n)以补零方式使其加长到0≤n512,计算X(k)c.取x(n)(0≤n512),计算X(k)(4)令)()()(32nxnxnx用FFT计算16点离散傅立叶变换并画出图形,分析DFT的对称性(5))()()(32njxnxnx用FFT计算16点离散傅立叶变换并画出图形,分析DFT的对称性三、实验代码(1)1、代码function[Xk]=dft(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;%离散傅立叶变换方法定义N=10;%10点DFTn1=[0:N-1];x1=[ones(1,6),zeros(1,N-6)];%生成1行6列的单位矩阵和1行N-6列的0矩阵Xk1=dft(x1,N);%10点DFTfigure(1);subplot(2,1,1);stem(n1,x1);%画火柴图xlabel(‘n’);ylabel(‘x(n)’);subplot(2,1,2);stem(n1,abs(Xk1));xlabel(‘n’);ylabel(‘x(n)’);N=20;n2=[0:N-1];x2=[ones(1,6),zeros(1,14)];Xk2=dft(x2,N);figure(2);subplot(2,1,1);stem(n2,x2);xlabel(‘n’);ylabel(‘x(n)’);subplot(2,1,2);stem(n2,abs(Xk2));xlabel(‘n’);ylabel(‘x(n)’);2、运行结果图110点DFT图220点DFT3、结果分析定义x(n)的N点DFT为由定义知:DFT具有隐含周期性,周期与DFT的变换长度N一致,这说明,变换长度不一样,DFT的结果也不一样10)()(10NkWnxkXNnnkNNjNeW2其中(2)1、代码N=64;n=[0:N-1];x1=[ones(1,4),zeros(1,N-4)];%定义x1(n)=R4(n)x2=cos((pi/4)*n);%定义x2(n)=cos𝜋4𝑛x3=sin((pi/8)*n);%定义x3(n)=sin𝜋8𝑛y1=fft(x1);y2=fft(x2);y3=fft(x3);%分别进行DFTfigure(1);m1=abs(y1);subplot(2,1,1);%绘制x1(n)的图形stem(n,x1);subplot(2,1,2);%绘制x1(n)的DFT图形stem(n,m1)figure(2);m2=abs(y2);subplot(2,1,1);stem(n,x2);%绘制x2(n)的图形subplot(2,1,2);stem(n,m2);%绘制x1(n)的DFT图形figure(3);m3=abs(y3);subplot(2,1,1);stem(n,x3);%绘制x3(n)的图形subplot(2,1,2);stem(n,m3);%绘制x1(n)的DFT图形2、运行结果图3x1(n)的DFT前后图形图4x2(n)的DFT前后图形图5x3(n)的DFT前后图形3、结果分析由图可以看出,离散序列的DFT与对应连续函数的FT有对应关系,不同之处在于DFT的结果是离散的,而FT的结果是连续的,再者,DFT结果与DFT的变换长度N有关。(3)a、1、程序N=256;n=[0:N-1];x=sin(2*pi*2*n/10)+sin(2*pi*2.05*n/10);%定义xX=fft(x);%DFTfigure(1);subplot(2,1,1);stem(n,x);%绘制xsubplot(2,1,2);plot(n,abs(X));%绘制DFT后的图形2、运行结果图6长度为256的DFTb、1、程序N=128;n=[0:N-1];n1=[0:511];x=sin(2*pi*2*n/10)+sin(2*pi*2.05*n/10);x1=[x,zeros(1,384)];%以补零方式将n加长到512X1=fft(x1);figure();subplot(2,1,1)stem(n1,x1);%绘制xsubplot(2,1,2);plot(n1,abs(X1))%绘制DFT后的图形2、运行结果图7以补零方式加长到512的DFTC、1、程序N1=512;n2=[0:N1-1];x2=sin(2*pi*2*n2/10)+sin(2*pi*2.05*n2/10);%长度为512时变换X2=fft(x2);holdonfigure();subplot(2,1,1);stem(n2,x2);%绘制xsubplot(2,1,2);plot(n2,abs(X2));%绘制DFT后的图形2、运行结果图8长度为512的DFT3、结果分析由三种情况下的DFT结果可知,要区分信号中的两个不同频率,需要有一定个数的N,也就是说,N要足够大才可以区分开两个频率;第一种N,N400,因此DFT后二者频率未被区分开来;第二种N,N以补零的方式加长到512点,大于400,则可以将二者频率区分开来;第三种N,N400,二者频率分开了;也就是说,区分不同频率从DFT的角度来讲只要加长N的长度,而不管是以补零方式加长还是其他方式加长。(4)1、程序N=16;n=[0:N-1];x2=cos((pi/4)*n);x3=sin((pi/8)*n);x=x2+x3;%定义前述的序列x2(n)、x3(n)和x(n)y2=fft(x2);y3=fft(x3);y=fft(x);%对x2(n)、x3(n)和x(n)进行傅立叶变换figure(1);m2=abs(y2);subplot(2,1,1);stem(n,x2);%绘制x2(n)的图形subplot(2,1,2);stem(n,m2)%绘制DFT后的x2(n)图形figure(2);m3=abs(y3);subplot(2,1,1);stem(n,x3);%绘制x3(n)的图形subplot(2,1,2);stem(n,m3);%绘制DFT后的x3(n)图形figure(3);m=abs(y);subplot(2,1,1);stem(n,x);%绘制x(n)的图形subplot(2,1,2);stem(n,m);%绘制DFT后的x(n)图形2、运行结果图9x2(n)DFT前后的图形图10x3(n)DFT前后的图形图11x(n)DFT前后的图形3、结果分析a、x2(n)为实偶对称序列(余弦序列),也可以认为是共轭对称序列;b、x3(n)为实奇对称序列(正弦序列),也可以认为是共轭反对称序列;c、x(n)可以认为是一个分成了共轭对称和共轭反对称序列的实序列,则其DFT的实部对应x2(n),其虚部和j一起对应x3(n);以上就是DFT的共轭对称性的一部分。(5)1、程序N=16;n=[0:N-1];x1=cos((pi/4)*n)+j*sin((pi/8)*n);y1=fft(x1);figure(1);m1=abs(y1);subplot(2,1,1);stem(n,x1);%绘制x1(n)的图形subplot(2,1,2);stem(n,m1);%绘制DFT后的x1(n)图形2、运行结果图12x1(n)DFT前后的图形3、结果分析X1(n)可以认为是一个分成了实部和虚部的序列,则其DFT的实部对应共轭对称序列,其虚部和j一起对应共轭反对称序列。就是DFT的共轭对称性的另一部分。四、实验小结通过此次实验,我进一步加深DFT算法原理和基本性质的理解;熟悉FFT算法的原理;知道了如何用FFT对连续信号和时域离散信号进行谱分析的方法分析误差及其原因,以便在实际中正确应用FFT。同时此次实验也加深了我对课本知识的理解,能更加熟练的将课本知识运用的实际问题中。

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功