zoukankan      html  css  js  c++  java
  • 《DSP using MATLAB》示例Example4.11

    代码:

    b = [1, 0]; a = [1, -0.9];               %  
    
    %% ----------------------------------------------
    %%   START a    determine H(z) and sketch    
    %% ----------------------------------------------
    figure('NumberTitle', 'off', 'Name', 'Example4.11a H(z) its pole-zero plot')
    set(gcf,'Color','white'); 
    zplane(b,a);
    title('pole-zero plot'); grid on;
    
    %% ----------------------------------------------
    %%    END
    %% ----------------------------------------------
    
    %% --------------------------------------------------------------
    %%    START    b   |H|   <H
    %%    1st form of freqz
    %% --------------------------------------------------------------
    [H,w] = freqz(b,a,100);                 % 1st form of freqz
    
    magH  = abs(H);  angH  = angle(H);  realH  = real(H);  imagH  = imag(H);
    
    %% ================================================
    %%              START H's  mag ang real imag
    %% ================================================
    figure('NumberTitle', 'off', 'Name', 'Example4.11b H its mag ang real imag');
    set(gcf,'Color','white'); 
    subplot(2,2,1); plot(w/pi,magH); grid on;  %axis([0,1,0,1.5]); 
    title('Magnitude Response');
    xlabel('frequency in pi units'); ylabel('Magnitude  |H|'); 
    subplot(2,2,3); plot(w/pi, angH/pi); grid on; % axis([-1,1,-1,1]);
    title('Phase Response');
    xlabel('frequency in pi units'); ylabel('Radians/pi');
    
    subplot('2,2,2'); plot(w/pi, realH); grid on;
    title('Real Part');
    xlabel('frequency in pi units'); ylabel('Real');
    subplot('2,2,4'); plot(w/pi, imagH); grid on;
    title('Imaginary Part');
    xlabel('frequency in pi units'); ylabel('Imaginary');
    %% ==================================================
    %%             END H's  mag ang real imag
    %% ==================================================
    
    %% ---------------------------------------------------------------
    %%    END    b   |H|   <H
    %% ---------------------------------------------------------------
    
    
    %% --------------------------------------------------------------
    %%    START    b   |H|   <H
    %%    2nd form of freqz
    %% --------------------------------------------------------------
    [H,w] = freqz(b,a,200,'whole');                 % 2nd form of freqz
    
    magH  = abs(H(1:101));  angH  = angle(H(1:101));  realH  = real(H);  imagH  = imag(H);
    
    %% ================================================
    %%              START H's  mag ang real imag
    %% ================================================
    figure('NumberTitle', 'off', 'Name', 'Example4.11b  using 2nd form freqz ');
    set(gcf,'Color','white'); 
    subplot(2,2,1); plot(w/pi,magH); grid on;  %axis([0,1,0,1.5]); 
    title('Magnitude Response');
    xlabel('frequency in pi units'); ylabel('Magnitude  |H|'); 
    subplot(2,2,3); plot(w/pi, angH/pi); grid on; % axis([-1,1,-1,1]);
    title('Phase Response');
    xlabel('frequency in pi units'); ylabel('Radians/pi');
    
    subplot('2,2,2'); plot(w/pi, realH); grid on;
    title('Real Part');
    xlabel('frequency in pi units'); ylabel('Real');
    subplot('2,2,4'); plot(w/pi, imagH); grid on;
    title('Imaginary Part');
    xlabel('frequency in pi units'); ylabel('Imaginary');
    %% ==================================================
    %%             END H's  mag ang real imag
    %% ==================================================
    
    %% ---------------------------------------------------------------
    %%    END    b   |H|   <H
    %% ---------------------------------------------------------------
    
    
    %% --------------------------------------------------------------
    %%    START    b   |H|   <H
    %%    3rd form of freqz
    %% --------------------------------------------------------------
    w = [0:1:100]*pi/100;     H = freqz(b,a,w); 
    %[H,w] = freqz(b,a,200,'whole');                 % 3rd form of freqz
    
    magH  = abs(H);  angH  = angle(H);  realH  = real(H);  imagH  = imag(H);
    
    %% ================================================
    %%              START H's  mag ang real imag
    %% ================================================
    figure('NumberTitle', 'off', 'Name', 'Example4.11b  using 3rd form freqz ');
    set(gcf,'Color','white'); 
    subplot(2,2,1); plot(w/pi,magH); grid on;  %axis([0,1,0,1.5]); 
    title('Magnitude Response');
    xlabel('frequency in pi units'); ylabel('Magnitude  |H|'); 
    subplot(2,2,3); plot(w/pi, angH/pi); grid on; % axis([-1,1,-1,1]);
    title('Phase Response');
    xlabel('frequency in pi units'); ylabel('Radians/pi');
    
    subplot('2,2,2'); plot(w/pi, realH); grid on;
    title('Real Part');
    xlabel('frequency in pi units'); ylabel('Real');
    subplot('2,2,4'); plot(w/pi, imagH); grid on;
    title('Imaginary Part');
    xlabel('frequency in pi units'); ylabel('Imaginary');
    %% ==================================================
    %%             END H's  mag ang real imag
    %% ==================================================
    
    %% ---------------------------------------------------------------
    %%    END    b   |H|   <H
    %% ---------------------------------------------------------------
    

      结果:

    牢记: 1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    Eclipse出错
    每天学点MVC 【ExecuteStoreCommand SqlParameterCollection 中已包含 SqlParameter】
    ORA12541: TNS: 无监听程序 每天学点Oracle
    每天学点Oracle10gplSql命令
    Access中Sql语句如何运行问题
    如何网络赚钱
    每天学点Oracle10g客户端配置
    存储过程(工作随笔)审核退单
    存储过程(工作随笔)慢性病
    存储过程(工作随笔) 住院情况分析
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/6111568.html
Copyright © 2011-2022 走看看