This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Halfband FIR filter design


b = firhalfband(n,fp)
b = firhalfband(n,win)
b = firhalfband(n,dev,'dev')
b = firhalfband('minorder',fp,dev)
b = firhalfband('minorder',fp,dev,'kaiser')
b = firhalfband(...,'high')
b = firhalfband(...,'minphase')


b = firhalfband(n,fp) designs a lowpass halfband FIR filter of order n with an equiripple characteristic. n must be an even integer. fp determines the passband edge frequency, and it must satisfy 0 < fp < 1/2, where 1/2 corresponds to π/2 rad/sample.

b = firhalfband(n,win) designs a lowpass Nth-order filter using the truncated, windowed-impulse response method instead of the equiripple method. win is an n+1 length vector. The ideal impulse response is truncated to length n + 1, and then multiplied point-by-point with the window specified in win.

b = firhalfband(n,dev,'dev') designs an Nth-order lowpass halfband filter with an equiripple characteristic. Input argument dev sets the value for the maximum passband and stopband ripple allowed.

b = firhalfband('minorder',fp,dev) designs a lowpass minimum-order filter, with passband edge fp. The peak ripple is constrained by the scalar dev. This design uses the equiripple method.

b = firhalfband('minorder',fp,dev,'kaiser') designs a lowpass minimum-order filter, with passband edge fp. The peak ripple is constrained by the scalar dev. This design uses the Kaiser window method.

b = firhalfband(...,'high') returns a highpass halfband FIR filter.

b = firhalfband(...,'minphase') designs a minimum-phase FIR filter such that the filter is a spectral factor of a halfband filter (recall that h = conv(b,fliplr(b)) is a halfband filter). This can be useful for designing perfect reconstruction, two-channel FIR filter banks. The minphase option for firhalfband is not available for the window-based halfband filter designs — b = firhalfband(n,win) and b = firhalfband('minorder',fp,dev,'kaiser') .

In the minimum phase cases, the filter order must be odd.


collapse all

This example designs a minimum order halfband filter with a specified maximum ripple.

b = firhalfband('minorder',.45,0.0001);

You can see that the impulse response is zero for every alternate sample.


[1] Saramaki, T, “Finite Impulse Response Filter Design,” Handbook for Digital Signal Processing. S.K. Mitra and J.F. Kaiser Eds. Wiley-Interscience, N.Y., 1993, Chapter 4.

Extended Capabilities

See Also


Introduced in R2011a