Daubechies wavelet

Scaling and wavelet function of continuous D4 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