Recursive digital filter design

`[b,a] = yulewalk(n,f,m)`

`yulewalk`

designs recursive IIR digital filters
using a least-squares fit to a specified frequency response.

`[b,a] = yulewalk(n,f,m)`

returns
row vectors, `b`

and `a`

, containing
the `n+1`

coefficients of the order `n`

IIR
filter whose frequency-magnitude characteristics approximately match
those given in vectors `f`

and `m`

:

`f`

is a vector of frequency points, specified in the range between 0 and 1, where 1 corresponds to half the sample frequency (the Nyquist frequency). The first point of`f`

must be 0 and the last point 1. All intermediate points must be in increasing order. Duplicate frequency points are allowed, corresponding to steps in the frequency response.`m`

is a vector containing the desired magnitude response at the points specified in`f`

.`f`

and`m`

must be the same length.`plot(f,m)`

displays the filter shape.

The output filter coefficients are ordered in descending powers
of *z*.

$$\frac{B(z)}{A(z)}=\frac{b(1)+b(2){z}^{-1}+\cdots +b(n+1){z}^{-n}}{a(1)+a(2){z}^{-1}+\cdots +a(n+1){z}^{-n}}$$

When specifying the frequency response, avoid excessively sharp transitions from passband to stopband. You may need to experiment with the slope of the transition region to get the best filter design.

[1] Friedlander, B., and Boaz Porat. "The
Modified Yule-Walker Method of ARMA Spectral Estimation." *IEEE ^{®} Transactions
on Aerospace Electronic Systems*. Vol. AES-20, Number 2,
1984, pp. 158–173.

Was this topic helpful?