Note: This page has been translated by MathWorks. Please click here

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

Parks-McClellan optimal FIR filter order estimation

`[n,fo,ao,w] = firpmord(f,a,dev)`

[n,fo,ao,w] = firpmord(f,a,dev,fs)

c = firpmord(f,a,dev,fs,'cell')

`[n,fo,ao,w] = firpmord(f,a,dev)`

finds
the approximate order, normalized frequency band edges, frequency
band amplitudes, and weights that meet input specifications `f`

, `a`

,
and `dev`

.

`f`

is a vector of frequency band edges (between 0 and*F*_{s}/2, where*F*_{s}is the sampling frequency), and`a`

is a vector specifying the desired amplitude on the bands defined by`f`

. The length of`f`

is two less than twice the length of`a`

. The desired function is piecewise constant.`dev`

is a vector the same size as`a`

that specifies the maximum allowable deviation or ripples between the frequency response and the desired amplitude of the output filter for each band.

Use `firpm`

with the resulting
order `n`

, frequency vector `fo`

,
amplitude response vector `ao`

, and weights `w`

to
design the filter `b`

which approximately meets the
specifications given by `firpmord`

input parameters `f`

, `a`

,
and `dev`

.

b = firpm(n,fo,ao,w)

`[n,fo,ao,w] = firpmord(f,a,dev,fs)`

specifies a sampling frequency `fs`

. `fs`

defaults
to 2 Hz, implying a Nyquist frequency of 1 Hz.
You can therefore specify band edges scaled to a particular application's
sampling frequency.

`c = firpmord(f,a,dev,fs,'cell')`

generates
a cell-array whose elements are the parameters to `firpm`

.

In some cases, `firpmord`

underestimates or
overestimates the order `n`

. If the filter does not
meet the specifications, try a higher order such as `n+1`

or `n+2`

.

`firpmord`

uses the algorithm suggested in [1]. This method is inaccurate for band
edges close to either 0 or the Nyquist frequency, `fs/2`

.

[1] Rabiner, Lawrence R., and Otto Herrmann.
“The Predictability of Certain Optimum Finite-Impulse-Response
Digital Filters.” *IEEE ^{®} Transactions on Circuit
Theory*. Vol. 20, Number 4,
1973, pp. 401–408.

[2] Rabiner, Lawrence R., and Bernard Gold. *Theory
and Application of Digital Signal Processing.* Englewood
Cliffs, NJ: Prentice-Hall, 1975, pp. 156–157.

Was this topic helpful?