当前位置 博文首页 > 通信汪的美好生活的博客:离散时间信号的DFT变换及FFT变换

    通信汪的美好生活的博客:离散时间信号的DFT变换及FFT变换

    作者:[db:作者] 时间:2021-07-11 22:24

    我会把那个文档上传在我的资源文档里面,有兴趣的去下载(里面有我其他同学写的思路),我会把那个文档的截图放在这篇文章里面,这里是把课后的习题做了一下。
    一、文档截图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    二、习题解法(解法不唯一下面只是我的理解)
    习题1:采用FFT计算序列 x2=cos(pi/4*n) n=1:64的离散傅立叶变换,绘出序列曲线,幅度、相位曲线,计算离散傅立叶变换所需的时间。
    答:代码:

    clc
    clear
    N=64;
    n=0:N-1;
    xn=cos(0.25*pi*n);
    t=cputime
    Xk=fft(xn,64);
    tt=cputime-t
    magXk=abs(Xk);
    PhaseXk=(180/pi)*angle(Xk);
    subplot(311),stem(n,xn);
    xlabel('n');ylabel('x(n)');title('x(n) N=64');
    grid 
    f=n/N;
    subplot(312);stem(f,magXk);
    xlabel('frequency');ylabel('|X(k)|');title('|X(K)| N=64');
    grid
    subplot(313);stem(f,PhaseXk);
    xlabel('frequency');ylabel('PhaseXk');title('PhaseXk N=64');
    grid
    
      现象:
    

    在这里插入图片描述

    习题2:x=0.5sin(2pi15t)+2sin(2pi40t),fs=100Hz,绘制幅频图,并分析信号点数以及FFT变换的采样点数对频谱分辨率的影响
    1)数据个数N=32,FFT所用的采样点数NFFT=32;
    2)N=32,NFFT=128;
    3)N=256,NFFT=128;
    4)N=256,NFFT=512。

        答:代码:
    
    clc
    clear 
    fs=100;
    I=1/fs;
    t=(0:300).*I;
    y=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
    plot(t,y);grid on;
    N=256;
    Nfft=128;
    W0=fft(y(1:N),Nfft);
    Aw=2*abs(W0)/N;
    df=fs/Nfft;
    N1=256;
    Nfft1=512;
    W1=fft(y(1:N1),Nfft1);
    Aw1=2*abs(W1)/N1;
    df1=fs/Nfft1;
    figure(2);
    plot((0:Nfft-1)*df,Aw,'-r');grid on;
    hold on;
    plot((0:Nfft1-1)*df1,Aw1);grid on;
    hold on;
    plot((0:Nfft1-1)*df1,Aw1);grid on;
    h=legend('N=32 Nfft=32','N1=32 Nfft1=128');
    
     现象:
    

    在这里插入图片描述
    在这里插入图片描述
    习题3:S=3+2sin(2pi90t+pi/2)+sin(2pi50*t-pi/6)的频谱
    答:代码:

    clc
    clear
    fs=300;N=256;
    n=0:N-1;t=n/fs;
    x=3+2*sin(2*pi*90*t+pi/2)+sin(2*pi*50*t-pi/6);
    y=fft(x,N);
    mag=abs(y);
    mag=mag/(N/2);
    mag(1)=mag(1)/2;
    f=n*fs/N;
    subplot(211),stem(f,mag);hold on;plot(f,mag,'r');
    xlabel('频率/HZ');
    ylabel('振幅'), title('N=256');grid on;
    subplot(212),stem(1:N/2),mag(1:N/2);hold on ;
    plot(f(1:N/2),mag(1:N/2),'b');
    xlabel('频率/HZ');
    ylabel('振幅'),title('N=256');grid on;
    
     现象:
    

    在这里插入图片描述
    总结:不想打字了哈哈,但愿以后自己有时间来看看现在的自己写的东西哈哈在这里插入图片描述
    在这里插入图片描述

    cs