| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Filter Design Toolbox |
| Contents | Index |
| Learn more about Filter Design Toolbox |
ismaxphase(h)
ismaxphase(h,tolerance)
ismaxphase(h) determines if the filter object h is maximum phase, and returns 1 if true and 0 if false. adapfilt, dfilt, and mfilt objects work with ismaxphase.
ismaxphase(h,tolerance) uses input argument tolerance to determine whether the zeros of the filter transfer function have values that are close enough to 1 to be considered 1 or greater (on or outside the unit circle, returning 1 if true (the difference between the coefficient value and 1 is less than tolerance) and 0 if not.
The phase determination is based on the reference coefficients. A filter is maximum phase when the zeros of its transfer function are on or outside the unit circle, or when the numerator is a scalar.
Two examples show ismaxphase in use. The first is a discrete-time dfilt object and the second an adaptive filter.
fp = 100;
fst= 120;
fs = 800;
ap = 1;
ast= 80;
d = fdesign.lowpass('fp,fst,ap,ast',fp,fst,ap,ast,fs);
h = design(d,'equiripple','minphase',true);
isminphase(h)
ans =
1To make this a maximum phase filter, use fliplr to change the coefficient order. Reordering the coefficients this way changes the phase from minimum to maximum.
h.numerator=fliplr(h.numerator);
ismaxphase(h)
ans =
1returns 1 so this is a maximum phase filter. Compare to isminphase.
For the adaptive filter example, try the following code:
x = randn(1,500); % Input to the filter b = fir1(31,0.5); % FIR system to be identified n = 0.1*randn(1,500); % Observation noise signal d = filter(b,1,x)+n; % Desired signal mu = 1; % NLMS step size offset = 50; % NLMS offset ha = adaptfilt.nlms(32,mu,1,offset); [y,e] = filter(ha,x,d);
After adapting, ha is an FIR filter that does not exhibit maximum phase.
ismaxphase(ha)
ans =
0isallpass, isfir, islinphase, isminphase, isreal, issos, isstable
![]() | islinphase | isminphase | ![]() |

Learn how to apply early verification to your development process through these technical resources.
How much time do you spend on testing to ensure implementation meets system-level requirements?
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |