zoukankan      html  css  js  c++  java
  • 《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、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    [安卓基础] 005.创建一个简单的UI
    [转]19张记录人类正在毁灭地球的照片
    SD.Team颜色代码大全
    [工具-004]如何从apk中提取AndroidManifest.xml并提取相应信息
    [Python番外]001.用Sublime开发Python
    [转]佛家四大经典爱情故事
    读Pyqt4教程,带你入门Pyqt4 _005
    读Pyqt4教程,带你入门Pyqt4 _004
    读Pyqt4教程,带你入门Pyqt4 _003
    [工具-003]如何从ipa中提取info.plist并提取相应信息
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/6741727.html
Copyright © 2011-2022 走看看