实验一:DFSDFTFFT 
一、实验内容
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))]);
3、已知有限长序列x(n)=[1,0.5,0,0.5,1,1,0.5,0],要求:
求该序列的DFTIDFT的图形;
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);
matlab傅里叶变换的幅度谱和相位谱    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))]);
FFT算法求该序列的DFTIDFT的图形;
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)');
假定采用频率Fs=20Hz,序列长度N分别取83264,用FFT计算其幅度谱和相位谱。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。