`fir1`: Window-based finite impulse response filter design.

`b = fir1(n,Wn)` returns row vector b containing the n+1 coefficients of
an order n lowpass FIR filter.

Algorithms: The window method of FIR filter design [1].

`fir2`: Frequency sampling-based finite impulse response filter design.

`b = fir2(n,f,m)` returns row vector b containing the n+1 coefficients
of an order n FIR filter. The frequency-magnitude characteristics of
this filter match those given by vectors f(frequency) and
m(corresponding magnitude). References:[2, 3]

`firls`: Least square linear-phase FIR filter design.

`b = firls(n,f,a)` returns row vector b containing the n+1 coefficients
of the order n FIR filter whose frequency-amplitude characteristics
approximately match those given by vectors f and a. The output filter
coefficients, or ``taps,'' in b obey the symmetry relation.
References: [4, 5]

`fircls`: Constrained least square, FIR multiband filter design.

`b = fircls(n,f,amp,up,lo)` generates a length n+1 linear phase FIR
filter b. The frequency-magnitude characteristics of this filter match
those given by vectors f(frequency) and amp(amplitude).

Algorithms: uses an iterative least-squares algorithm to obtain an equiripple response. The algorithm is a multiple exchange algorithm that uses Lagrange multipliers and Kuhn-Tucker conditions on each iteration[6].

`fircls1`: Constrained least square, lowpass and highpass, linear phase, FIR filter design.

`b = fircls1(n,wo,dp,ds)` generates a lowpass FIR filter b, where n+1 is
the filter length, wo is the normalized cutoff frequency in the range
between 0 and 1 (where 1 corresponds to the Nyquist frequency), dp is
the maximum passband deviation from 1 (passband ripple), and ds is the
maximum stopband deviation from 0 (stopband ripple).

Algorithms: uses an iterative least-squares algorithm to obtain an equiripple response. The algorithm is a multiple exchange algorithm that uses Lagrange multipliers and Kuhn-Tucker conditions on each iteration[6].

`firpm`: Parks-McClellan optimal FIR filter design.

`b = firpm(n,f,a)` returns row vector b containing the n+1 coefficients
of the order n FIR filter whose frequency-amplitude characteristics
match those given by vectors f and a. The filters are optimal in the
sense that the maximum error between the desired frequency response
and the actual frequency response is minimized. Filters designed this
way exhibit an equiripple behavior in their frequency responses.
Reference: [7]

`cfirpm`: Complex and nonlinear-phase equiripple FIR filter design.

`b = cfirpm(n,f,@fresp)` returns a length n+1 FIR filter with the best
approximation to the desired frequency response as returned by
function fresp, f is a vector of frequency band edge pairs.

Algorithms: An extended version of the Remez exchange method is implemented for the complex case[8].

[Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University

[Automatic-links disclaimer]