Daubechies wavelet filter computation

The `dbaux`

function generates the scaling filter coefficients for
the "extremal phase" Daubechies wavelets.

The computation of the

`dbN`

Daubechies scaling filter requires the extraction of the roots of a polynomial of order`4N`

. Instability may occur beginning with values of`N`

in the 30s.

The algorithm used is based on a result obtained by Shensa [3], showing a correspondence between the “Lagrange à trous” filters and the convolutional squares of the Daubechies wavelet filters.

The computation of the order *N* Daubechies scaling filter
*w* proceeds in two steps: compute a “Lagrange à trous” filter
*P*, and extract a square root. More precisely:

P the associated “Lagrange à trous” filter is a symmetric filter of length 4N-1. P is defined by

*P*= [*a*(*N*) 0*a*(*N*-1) 0 ... 0*a*(1) 1*a*(1) 0*a*(2) 0 ... 0*a*(*N*)]where

Then, if

*w*denotes db*N*Daubechies scaling filter of sum ,*w*is a square root of*P*:*P*=`conv`

(`wrev`

(*w*),*w*) where*w*is a filter of length 2*N*.The corresponding polynomial has

*N*zeros located at −1 and*N−1*zeros less than 1 in modulus.

Note that other methods can be used; see various solutions of the spectral factorization problem in Strang-Nguyen [4] (p. 157).

[1] Daubechies, I. *Ten
Lectures on Wavelets*, CBMS-NSF conference series in applied mathematics, SIAM Ed.,
1992.

[2] Oppenheim, Alan V., and Ronald W.
Schafer. *Discrete-Time Signal Processing*. Englewood Cliffs, NJ: Prentice
Hall, 1989.

[3] Shensa, M.J. (1992), “The discrete
wavelet transform: wedding the a trous and Mallat Algorithms,” *IEEE Trans. on Signal
Processing*, vol. 40, 10, pp. 2464-2482.

[4] Strang, G., and T.
Nguyen.*Wavelets and Filter Banks*. Wellesley, MA: Wellesley-Cambridge
Press, 1996.