www.gusucode.com > signal 案例源码程序 matlab代码 > signal/ConvertLinearPhaseFilterToMinimumPhaseExample.m
%% Convert Linear-Phase Filter to Minimum-Phase % Use the window method to design a 25th-oder FIR filter with normalized % cutoff frequency $0.4\pi$ rad/sample. Verify that % it has linear phase but not minimum phase. % Copyright 2015 The MathWorks, Inc. %% h = fir1(25,0.4); h_linphase = islinphase(h) h_minphase = isminphase(h) %% % Use |polystab| to convert the linear-phase filter into a minimum-phase % filter. Plot the phase responses of the filters. hmin = polystab(h)*norm(h)/norm(polystab(h)); hmin_linphase = islinphase(hmin) hmin_minphase = isminphase(hmin) hfvt = fvtool(h,1,hmin,1,'Analysis','phase'); legend(hfvt,'h','hmin') %% % Verify that the two filters have identical magnitude responses. hfvt = fvtool(h,1,hmin,1); legend(hfvt,'h','hmin')