Coiflet Explained

Coiflets are discrete wavelets designed by Ingrid Daubechies, at the request of Ronald Coifman, to have scaling functions with vanishing moments. The wavelet is near symmetric, their wavelet functions have

N/3

vanishing moments and scaling functions

N/3-1

, and has been used in many applications using Calderón–Zygmund operators.[1] [2]

Theory

Some theorems about Coiflets:[3]

Theorem 1

For a wavelet system

\{\phi,\tilde{\phi},\psi,\tilde{\psi},h,\tilde{h},g,\tilde{g}\}

, the following threeequations are equivalent:

\begin{array}{lcl} l{M\tilde{\psi}}(0,l]=0&forl=0,1,\ldots,L-1\\ \sumn(-1)nnlh[n]=0&forl=0,1,\ldots,L-1\\ H(l)(\pi)=0&forl=0,1,\ldots,L-1 \end{array}

and similar equivalence holds between

\psi

and

\tilde{h}

Theorem 2

For a wavelet system

\{\phi,\tilde{\phi},\psi,\tilde{\psi},h,\tilde{h},g,\tilde{g}\}

, the following six equationsare equivalent:

\begin{array}{lcl} l{M\tilde{\phi}}(t0,l]=\delta[l]&forl=0,1,\ldots,L-1\\ l{M\tilde{\phi}}(0,l]=

l
t
0

&forl=0,1,\ldots,L-1

t&
\\ \hat{\phi}
0)

forl=0,1,\ldots,L-1\\ \sumn

l
(n-t
0)

h[n]=\delta[l]&forl=0,1,\ldots,L-1\\ \sumnnl

l
h[n]=t
0

&forl=0,1,\ldots,L-1\\ H(l)

t
(0)=(-jt
0)

&forl=0,1,\ldots,L-1\\ \end{array}

and similar equivalence holds between

\tilde{\psi}

and

\tilde{h}

Theorem 3

For a biorthogonal wavelet system

\{\phi,\psi,\tilde{\phi},\tilde{\psi}\}

, if either

\tilde{\psi}

or

\psi

possesses a degree L of vanishing moments, then the following two equations are equivalent:

\begin{array}{lcl} l{M\tilde{\psi}}(t0,l]=\delta[l]&forl=0,1,\ldots,\bar{L}-1\\ l{M\psi}(t0,l]=\delta[l]&forl=0,1,\ldots,\bar{L}-1\\ \end{array}

for any

\bar{L}

such that

\bar{L}\llL

Coiflet coefficients

Both the scaling function (low-pass filter) and the wavelet function (high-pass filter) must be normalised by a factor

1/\sqrt{2}

. Below are the coefficients for the scaling functions for C6–30. The wavelet coefficients are derived by reversing the order of the scaling function coefficients and then reversing the sign of every second one (i.e. C6 wavelet =).

Mathematically, this looks like

Bk=(-1)kCN

, where k is the coefficient index, B is a wavelet coefficient, and C a scaling function coefficient. N is the wavelet index, i.e. 6 for C6.
Coiflets coefficients (normalized to have sum 2)!k!C6!C12!C18!C24!C30
−10−0.0002999290456692
−90.0005071055047161
−80.00126192242286190.0030805734519904
−7−0.0023044502875399−0.0058821563280714
−6−0.0053648373418441−0.0103890503269406−0.0143282246988201
−50.01100625341566280.02272492296652970.0331043666129858
−40.02317519347743370.03316712095834070.03773447713912610.0398380343959686
−3−0.0586402759669371−0.0930155289574539−0.1149284838038540−0.1299967565094460
−2−0.1028594569415370−0.0952791806220162−0.0864415271204239−0.0793053059248983−0.0736051069489375
−10.47785945694153700.54604209306953300.57300667054729500.58733481003220100.5961918029174380
01.20571891388307001.14936478771373001.12257051374066001.10625291007910001.0950165427080700
10.54428108611692600.58973438739123800.60596714354564800.61431461933577100.6194005181568410
2−0.1028594569415370−0.1081712141834230−0.1015402815097780−0.0942254750477914−0.0877346296564723
3−0.0221405430584631−0.0840529609215432−0.1163925015231710−0.1360762293560410−0.1492888402656790
40.03348882032655900.04886818864233390.05562727391693900.0583893855505615
50.00793576722592400.02245848192407570.03547166284540620.0462091445541337
6−0.0025784067122813−0.0127392020220977−0.0215126323101745−0.0279425853727641
7−0.0010190107982153−0.0036409178311325−0.0080020216899011−0.0129534995030117
80.00158041020191520.00530532982706100.0095622335982613
90.00065933034758640.00179118785539060.0034387669687710
10−0.0001003855491065−0.0008330003901883−0.0023498958688271
11−0.0000489314685106−0.0003676592334273−0.0009016444801393
120.00008816045323200.0004268915950172
130.00004416569382460.0001984938227975
14−0.0000046098383254−0.0000582936877724
15−0.0000025243583600−0.0000300806359640
160.0000052336193200
170.0000029150058427
18-0.0000002296399300
19−0.0000001358212135

Matlab function

F = coifwavf(W) returns the scaling filter associated with the Coiflet wavelet specified by the string W where W = "coifN". Possible values for N are 1, 2, 3, 4, or 5.[4]

References

  1. G. Beylkin, R. Coifman, and V. Rokhlin (1991),Fast wavelet transforms and numerical algorithms, Comm. Pure Appl. Math., 44, pp. 141–183
  2. Ingrid Daubechies, Ten Lectures on Wavelets, Society for Industrial and Applied Mathematics, 1992,
  3. Web site: COIFLET-TYPE WAVELETS: THEORY, DESIGN, AND APPLICATIONS. 2015-01-22. https://web.archive.org/web/20160305125125/https://seagrant.mit.edu/ESRDC_library/Wei_Dong_PhD_Thesis.pdf. 2016-03-05. dead.
  4. Web site: coifwavf. www.mathworks.com/. 22 January 2015.