您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > DFS、DFT与FFT
实验四:DFS、DFT与FFT一、实验内容2、已知某周期序列的主值序列为x(n)=[0,1,2,3,2,1,0],编程显示2个周期的序列波形。要求:①用傅里叶级数求信号的幅度谱和相位谱,并画出图形②求傅里叶级数逆变换的图形,并与原序列进行比较。N=7;xn=[0,1,2,3,2,1,0];xn=[xn,xn];n=0:2*N-1;k=0:2*N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k);x=(Xk*exp(j*2*pi/N).^(n'*k))/N;subplot(2,2,1);stem(n,xn);title('x(n)');axis([-1,2*N,1.1*min(xn),1.1*max(xn)]);subplot(2,2,2);stem(n,abs(x));title('IDFS|X(k)|');axis([-1,2*N,1.1*min(x),1.1*max(x)]);subplot(2,2,3),stem(k,abs(Xk));title('|X(k)|');axis([-1,2*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);subplot(2,2,4),stem(k,angle(Xk));title('arg|X(k)|');axis([-1,2*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);课程名称数字信号实验成绩指导实验报告院系05100123x(n)05100510IDFS|X(k)|051051015|X(k)|0510-2-1012arg|X(k)|3、已知有限长序列x(n)=[1,0.5,0,0.5,1,1,0.5,0],要求:①求该序列的DFT、IDFT的图形;xn=[1,0.5,0,0.5,1,1,0.5,0];N=length(xn);n=0:N-1;k=0:N-1;Xk=xn*exp(-1i*2*pi/N).^(n'*k);x=(Xk*exp(1i*2*pi/N).^(n'*k))/N;subplot(2,2,1);stem(n,xn);title('x(n)');axis([-1,N,1.1*min(xn),1.1*max(xn)]);subplot(2,2,2);stem(n,abs(x));title('IDFT|X(k)|');axis([-1,N,1.1*min(x),1.1*max(x)]);subplot(2,2,3),stem(k,abs(Xk));title('|X(k)|');axis([-1,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);subplot(2,2,4),stem(k,angle(Xk));title('arg|X(k)|');axis([-1,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);0246800.51x(n)0246800.51IDFT|X(k)|024681234|X(k)|02468-2-1012arg|X(k)|②用FFT算法求该序列的DFT、IDFT的图形;xn=[1,0.5,0,0.5,1,1,0.5,0];N=length(xn);subplot(2,2,1);stem(n,xn);title('x(n)');k=0:N-1;Xk=fft(xn,N);subplot(2,1,2);stem(k,abs(Xk));title('Xk=DFT(xn)');xn1=ifft(Xk,N);subplot(2,2,2);stem(n,xn1);title('x(n)=IDFT(Xk)');0246800.20.40.60.81x(n)01234567012345Xk=DFT(xn)0246800.20.40.60.81x(n)=IDFT(Xk)③假定采用频率Fs=20Hz,序列长度N分别取8、32和64,用FFT计算其幅度谱和相位谱。Ts=0.05;C=[32,64,8];forr=0:2;N=C(r+1);n=0:N-1;xn=[1,0.5,0,0.5,1,1,0.5,0,zeros(1,N-8)];D=2*pi/(N*Ts);k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(3,2,2*r+1);plot(k*D,abs(X));subplot(3,2,2*r+2);stairs(k*D,angle(X));end-100-500501000246-100-50050100-505-100-500501000246-100-50050100-505-100-500500246-100-50050-5054、已知一个无限长序列x(n)=0.5n(n≥0),采样周期Ts=0.2s,要求序列长度分别取8、32和64,用FFT求其频谱。Ts=0.2;C=[8,32,64];forr=0:2;N=C(r+1);n=0:N-1;xn=0.5.^n;D=2*pi/(N*Ts);k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(3,2,2*r+1);plot(k*D,abs(X));axis([-80,80,0,3]);subplot(3,2,2*r+2);stairs(k*D,angle(X));axis([-80,80,-1,1]);end-500500123-50050-101-500500123-50050-101-500500123-50050-101二、思考题答案①离散傅里叶级数与连续性周期信号的傅里叶级数有何不同?周期序列的频谱有何特点?答:傅里叶级数仅有N个独立的谐波分量,展成离散傅立叶级数时,只能取k=0~N-1的N个独立的谐波分量,而连续性周期信号的傅里叶级数由无穷多个与基波频率成整数倍的谐波分量叠加而成。周期序列的频谱特点:以N为周期的周期序列的频谱X(k)也是一个以N为周期的周期序列。②DFS、DFT、FFT有何联系?答:DFS是求周期序列(周期为N)的离散傅里叶级数X(k),X(k)也是一个以N为周期的周期序列,DFT是求有限长序列的离散傅立叶变换X(k),而X(k)是X(k)的主值序列,也就是说对DFS的变换结果只取0~N-1的序列值就得到DFT的变换。FFT只是DFT的一种快速高效的算法,它适用序列长度很大时,使用其可以大大缩短运算时间。三、实验总结1、周期序列的离散傅里叶级数(DFS)(1)DFS的基本概念:(2)周期序列的DFS和IDFS(3)周期重复次数对序列频谱的影响2、离散傅里叶变换(DFT)(1)DFT与IDFT(2)DFT与DFS的联系(3)DFT与DTFT的联系(4)MATLAB提供的FFT函数(5)用FFT进行频谱分析
本文标题:DFS、DFT与FFT
链接地址:https://www.777doc.com/doc-4950921 .html