<< Chapter < Page | Chapter >> Page > |
Prony's Method is a quasi-least-squares time-domain IIR filter design method.
First, assume $H(z)$ is an "all-pole" system:
A true least-squares solution would attempt to
minimize
$$\epsilon ^{2}=\sum_{n=0} $$∞
The deterministic linear prediction problem is a linear least-squares optimization, which is easy to solve, but it minimizes the prediction error, not the $\left|\mathrm{desired}-\mathrm{actual}\right|^{2}$ response error.
Notice that for $n> 0$ , with the all-pole filter
For the desired reponse
${h}_{d}(n)$ , one can choose the recursive filter coefficients
${a}_{k}$ to minimize the squared prediction error
$${\epsilon}_{p}^{2}=\sum_{n=1} $$∞
In matrix form, that's $$\begin{pmatrix}{h}_{d}(0) & 0 & \mathrm{...} & 0\\ {h}_{d}(1) & {h}_{d}(0) & \mathrm{...} & 0\\ & & & \\ {h}_{d}(N-1) & {h}_{d}(N-2) & \mathrm{...} & {h}_{d}(N-M)\\ \end{pmatrix}\left(\begin{array}{c}{a}_{1}\\ {a}_{2}\\ \\ {a}_{M}\end{array}\right)\approx -\left(\begin{array}{c}{h}_{d}(1)\\ {h}_{d}(2)\\ \\ {h}_{d}(N)\end{array}\right)$$ or $${H}_{d}a\approx -{h}_{d}$$ The optimal solution is $${a}_{\mathrm{lp}}=-((({H}_{d}){H}_{d})^{-1}({H}_{d}){h}_{d})$$ Now suppose $H(z)$ is an ${M}^{\mathrm{th}}$ -order IIR (ARMA) system, $$H(z)=\frac{\sum_{k=0}^{M} {b}_{k}z^{-k}}{1+\sum_{k=1}^{M} {a}_{k}z^{-k}}$$ or
For $N=2M$ , $({H}_{d})$ is square, and we can solve exactly for the ${a}_{k}$ 's with no error. The ${b}_{k}$ 's are also chosen such that there is no error in the first $M+1$ samples of $h(n)$ . Thus for $N=2M$ , the first $2M+1$ points of $h(n)$ exactly equal ${h}_{d}(n)$ . This is called Prony's Method . Baron de Prony invented this in 1795.
For $N> 2M$ , ${h}_{d}(n)=h(n)$ for $0\le n\le M$ , the prediction error is minimized for $M+1< n\le N$ , and whatever for $n\ge N+1$ . This is called the Extended Prony Method .
One might prefer a method which tries to minimize an overall error with the numerator coefficients, rather than justusing them to exactly fit ${h}_{d}(0)$ to ${h}_{d}(M)$ .
The final IIR filter is the cascade of the all-pole and all-zero filter.
This is is solved by $$\min\{{b}_{k} , \sum_{n=0}^{N} \left|{h}_{d}(n)-\sum_{k=0}^{M} {b}_{k}v(n-k)\right|^{2}\}$$ or in matrix form $$\begin{pmatrix}v(0) & 0 & 0 & \mathrm{...} & 0\\ v(1) & v(0) & 0 & \mathrm{...} & 0\\ v(2) & v(1) & v(0) & \mathrm{...} & 0\\ & & & & \\ v(N) & v(N-1) & v(N-2) & \mathrm{...} & v(N-M)\\ \end{pmatrix}\left(\begin{array}{c}{b}_{0}\\ {b}_{1}\\ {b}_{2}\\ \\ {b}_{M}\end{array}\right)\approx \left(\begin{array}{c}{h}_{d}(0)\\ {h}_{d}(1)\\ {h}_{d}(2)\\ \\ {h}_{d}(N)\end{array}\right)$$ Which has solution: $${b}_{\mathrm{opt}}=((V)V)^{-1}(V)h$$
Notice that none of these methods solve the true
least-squares problem:
$$\min\{a, , b , \sum_{n=0} \}$$∞
Notification Switch
Would you like to follow the 'Digital filter design' conversation and receive update notifications?