# Daubechies wavelet

Daubechies wavelets are a family of orthogonal wavelets named after Belgian physicist and mathematician Ingrid Daubechies. They are used in discrete wavelet transform.

## Definition

Scale function coefficients (low pass filter in orthogonal filter banks) must satisfy following conditions ($N$  is length of filter).

Normalization
$\sum _{n=0}^{N-1}h_{0}[n]={\sqrt {2}}$  or $\sum _{n=0}^{N-1}h_{0}[n]=2$  (then coefficients must be divided by factor of ${\sqrt {2}}$ )

which implies

$\sum _{n=0}^{N-1}(h_{0}[n])^{2}=1$  or $\sum _{n=0}^{N-1}(h_{0}[n])^{2}=2$  (then coefficients must be divided by factor of ${\sqrt {2}}$ )
Orthogonality
$\sum _{n=0}^{N-1}h_{0}[n]h_{0}[n-2k]=0$  for $k\not =0$
Vanishing moments
$\sum _{n=0}^{N-1}(-1)^{n}h_{0}[n]n^{m}=0$  for $0\leq m

There is more than one solution (except case of $N=2$ ). However, it is necessary to distinguish between low pass and high pass filter.

Wavelets are denoted like Dx, where x is either number of coefficients ($N$ ) or number of vanishing moments ($N/2$ ). First case of notation (number of coefficients) is more recent and more frequented (e.g. D8 is wavelet with 8 coefficients).

## Example

MATLAB code for enumeration of wavelet with 4 coefficients (denoted as D4).

t = solve(
'h0*h0 + h1*h1 + h2*h2 + h3*h3 = 1',           % normalization
'h2*h0 + h3*h1 = 0',                           % orthogonality
'+(0^0)*h0 -(1^0)*h1 +(2^0)*h2 -(3^0)*h3 = 0', % zero
'+(0^1)*h0 -(1^1)*h1 +(2^1)*h2 -(3^1)*h3 = 0'  % and first vanishing moments
);


Solutions (low pass filters only):

h0 h1 h2 h3
-0.129409522551260 0.224143868042014 0.836516303737808 0.482962913144534
0.482962913144534 0.836516303737808 0.224143868042014 -0.129409522551260