资源描述:
《序列的傅里叶变换实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一序列的傅立叶变换一、实验目的1.进一步加深理解DFS,DFT算法的原理;2.研究补零问题;3.快速傅立叶变换(FFT)的应用。二、实验步骤1.复习DFS和DFT的定义,性质和应用;2.熟悉MATLAB语言的命令窗口、编程窗口和图形窗口的使用;3.利用提供的程序例子编写实验用程序;4.按实验内容上机实验,并进行实验结果分析;5.写出完整的实验报告,并将程序附在后面。三、实验内容1.周期方波序列的频谱试画出下面四种情况下的的幅度频谱,已知并分析补零后,对信号频谱的影响。2.有限长序列x(n)的DFT(1)取x(n)(n=0:10)时,画出x(n)的频谱X(k)的幅度;(2)
2、将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k)的幅度;(3)取x(n)(n:0~100)时,画出x(n)的频谱X(k)的幅度。利用FFT进行谱分析3.已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N点DFT的幅值谱。请分别画出N=45;N=50;N=55;N=60时的幅值曲线。4.自己编写基2DIT-FFT的FFT函数,并用编写MATLAB程序,利用DFT计算所给序列的线性卷积;在程序中利用自己编写的FFT函数。已知,求四、图1、(1)(2)(3)(4)2、3、4、附录:程序%Example1L=5;N=20;
3、n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N)Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)');title('DFSofSQ.wave:L=16,N=64');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');%Example2M=100;
4、N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)];figure(1)subplot(2,1,1);stem(n1,y1);xlabel('n');title('signalx(n),0<=n<=100');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('SamplesofDTFTMagnitude')
5、;stem(w1/pi,magY1);axis([0,1,0,10]);xlabel('frequencyinpiunits');%example3figure(1)subplot(2,2,1)N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);plot(q,abs(y))stem(q,abs(y))title('FFTN=45')%subplot(2,2,2)N=50;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t
6、);y=fft(x,N);plot(q,abs(y))title('FFTN=50')%subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);plot(q,abs(y))title('FFTN=55')%subplot(2,2,4)N=16;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);plot(q,abs(y))title('FFTN=16')function[X
7、k]=dfs(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;