• 《DSP using MATLAB》示例Example 8.30


    %% ------------------------------------------------------------------------
    %%            Output Info about this m-file
    fprintf('
    ***********************************************************
    ');
    fprintf('        <DSP using MATLAB> Exameple 8.30 
    
    ');
    
    time_stamp = datestr(now, 31);
    [wkd1, wkd2] = weekday(today, 'long');
    fprintf('      Now is %20s, and it is %8s  
    
    ', time_stamp, wkd2);
    %% ------------------------------------------------------------------------
    
    % Digital Filter Specifications:   Chebyshev-2 bandpass
    ws = [0.4*pi 0.7*pi];            % digital stopband freq in rad
    wp = [0.25*pi 0.8*pi];           % digital passband freq in rad
    Rp = 1;                          % passband ripple in dB
    As = 40;                         % stopband attenuation in dB
    
    % Calculation of Chebyshev-2 filter parameters:
    [N, wn] = cheb2ord(wp/pi, ws/pi, Rp, As);
    
    fprintf('
      ********* Chebyshev-2 Filter Order is = %3.0f 
    ', N)
    
    % Digital Elliptic Bandpass Filter Design:
    [bhp, ahp] = cheby2(N, As, ws/pi, 'stop');
    
    [C, B, A] = dir2cas(bhp, ahp)
    
    % Calculation of Frequency Response:
    %[dblp, maglp, phalp, grdlp, wwlp] = freqz_m(blp, alp);
    [dbhp, maghp, phahp, grdhp, wwhp] = freqz_m(bhp, ahp);
    
    
    %% -----------------------------------------------------------------
    %%                             Plot
    %% -----------------------------------------------------------------  
    
    figure('NumberTitle', 'off', 'Name', 'Exameple 8.30')
    set(gcf,'Color','white'); 
    M = 1;                          % Omega max
    
    subplot(2,2,1); plot(wwhp/pi, maghp); axis([0, M, 0, 1.2]); grid on;
    xlabel(' frequency in pi units'); ylabel('|H|'); title('Magnitude Response');
    set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.25, 0.4, 0.7, 0.8, M]);
    set(gca, 'YTickMode', 'manual', 'YTick', [0, 0.8913, 1]);
    
    subplot(2,2,2); plot(wwhp/pi, dbhp); axis([0, M, -50, 2]); grid on;
    xlabel(' frequency in pi units'); ylabel('Decibels'); title('Magnitude in dB');
    set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.25, 0.4, 0.7, 0.8, M]);
    set(gca, 'YTickMode', 'manual', 'YTick', [-50, -40, -1, 0]);
    
    subplot(2,2,3); plot(wwhp/pi, phahp/pi); axis([0, M, -1.1, 1.1]); grid on;
    xlabel('frequency in pi nuits'); ylabel('radians in pi units'); title('Phase Response');
    set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.25, 0.4, 0.7, 0.8, M]);
    set(gca, 'YTickMode', 'manual', 'YTick', [-1:0.5:1]);
    
    subplot(2,2,4); plot(wwhp/pi, grdhp); axis([0, M, 0, 15]); grid on;
    xlabel('frequency in pi units'); ylabel('Samples'); title('Group Delay');
    set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.25, 0.4, 0.7, 0.8, M]);
    set(gca, 'YTickMode', 'manual', 'YTick', [0:5:15]);
    

      运行结果:

    牢记: 1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    为什么常见编程语言中数组的索引都是从0开始?
    【转载】计算机经典论文选读
    Jetbrains-别人家的公司
    2019.9沉淀反思
    HttpUrlConnection流传输问题(正确传输包含中文的JSON字符串)
    记一次SpringBoot启动缓慢问题的解决过程
    Maven发布jar包到私库
    2016年回顾
    Java集合框架源码分析之ArrayList
    关于哔哩哔哩直播姬
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/6741727.html
Copyright © 2020-2023  润新知