zoukankan      html  css  js  c++  java
  • 《DSP using MATLAB》Problem 5.36

            第1小题

            代码:

    %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    %%            Output Info about this m-file
    fprintf('
    ***********************************************************
    ');
    fprintf('        <DSP using MATLAB> Problem 5.36 
    
    ');
    
    banner();
    %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    % -------------------------------------------------------------------------------------
    %          X(k) is DFTs of real-valued sequence x(n)             
    %           x(n)=A*sin(2*pi*l*n/N)      n=[0:N-1]
    %             
    %             1   x1(n) = 3sin(0.04*pi*n)  n=[0:200-1]                                     
    % -------------------------------------------------------------------------------------
    N = 200; l = 2;
    n1 = [0:N-1];
    x1 = 3*sin(2*pi*l*n1/100);
    
    figure('NumberTitle', 'off', 'Name', 'P5.36.1 x(n), N=200')
    set(gcf,'Color','white'); 
    stem(n1, x1); 
    xlabel('n'); ylabel('x(n)');
    title('x(n)=3sin(0.04pin)');  grid on;
    
        k1 = [0:N-1];
    Xk_DFT = fft(x1, N);
        N1 = length(Xk_DFT);                                              % length 
    
        magXk_DFT = abs( [ Xk_DFT ] );                                    % DFT magnitude
        angXk_DFT = angle( [Xk_DFT] )/pi;                                 % DFT angle
       realXk_DFT = real(Xk_DFT); imagXk_DFT = imag(Xk_DFT);
    
    figure('NumberTitle', 'off', 'Name', 'P5.36.1 X(k), DFT of x(n) N=200')
    set(gcf,'Color','white'); 
    subplot(2,2,1); stem(k1, magXk_DFT); 
    xlabel('k'); ylabel('magnitude(k)');
    title('magnitude DFT of x(n)');  grid on;
    subplot(2,2,3); stem(k1, angXk_DFT);  
    %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('angle(k)');
    title('angle DFT of x(n)');  grid on;
    subplot(2,2,2); stem(k1, realXk_DFT); 
    xlabel('k'); ylabel('real (k)');
    title('real DFT of x(n)');  grid on;
    subplot(2,2,4); stem(k1, imagXk_DFT);  
    %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('imag (k)');
    title('imag DFT of x(n)');  grid on;
    
    
    figure('NumberTitle', 'off', 'Name', 'P5.36.1 Imagnary X(k), N=200')
    set(gcf,'Color','white'); 
    stem(k1, imagXk_DFT); 
    xlabel('k'); ylabel('imag (k)');
    title('imag DFT of x(n)');  grid on;
    

      运行结果:

            200个样点包含4个周期,

            序列的DFT

            DFT序列的虚部,范围[0:N-1]。

            DFT序列的实部和虚部,范围[-N:N-1]。

             DFT序列的实部和虚部,范围[-N/2:N/2-1]。

    牢记: 1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    LOJ 6089 小Y的背包计数问题 —— 前缀和优化DP
    洛谷 P1969 积木大赛 —— 水题
    洛谷 P1965 转圈游戏 —— 快速幂
    洛谷 P1970 花匠 —— DP
    洛谷 P1966 火柴排队 —— 思路
    51Nod 1450 闯关游戏 —— 期望DP
    洛谷 P2312 & bzoj 3751 解方程 —— 取模
    洛谷 P1351 联合权值 —— 树形DP
    NOIP2007 树网的核
    平面最近点对(加强版)
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/9513412.html
Copyright © 2011-2022 走看看