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、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    java 之 File类
    java 之 内部类
    java 之 泛型
    如何生成随机码
    sql中getdate()&convert的使用
    sql中Distinct&Count的用法
    C#中如何使用正则表达式
    Sql按照字段分组,选取其他字段最值所在的行记录
    为什么在属性中设置private set
    基本Sql语句汇总
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/9513412.html
Copyright © 2011-2022 走看看