17.01.2013 Views

musicdsp.org source code archive - WSInf

musicdsp.org source code archive - WSInf

musicdsp.org source code archive - WSInf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Coefficients for Daubechies wavelets 1-38 (click this to go back to the index)<br />

Type : wavelet transform<br />

References : Computed by Kazuo Hatano, Compiled and verified by Olli Niemitalo<br />

Linked file : daub.h (this linked file is included below)<br />

Linked files<br />

/* Coefficients for Daubechies wavelets 1-38<br />

* -----------------------------------------<br />

* 2000.08.10 - Some more info added.<br />

*<br />

* Computed by Kazuo Hatano, Aichi Institute of Technology.<br />

* ftp://phase.etl.go.jp/pub/phase/wavelet/index.html<br />

*<br />

* Compiled and verified by Olli Niemitalo.<br />

*<br />

* Discrete Wavelet Transformation (DWT) breaks a signal down into<br />

* subbands distributed logarithimically in frequency, each sampled<br />

* at a rate that has a natural proportion to the frequencies in that<br />

* band. The traditional fourier transformation has no time domain<br />

* resolution at all, or when done using many short windows on a<br />

* longer data, equal resolution at all frequencies. The distribution<br />

* of samples in the time and frequency domain by DWT is of form:<br />

*<br />

* log f<br />

* |XXXXXXXXXXXXXXXX X = a sample<br />

* |X X X X X X X X f = frequency<br />

* |X X X X t = time<br />

* |X X<br />

* |X<br />

* ----------------t<br />

*<br />

* Single<br />

* subband decomposition and reconstruction:<br />

*<br />

* -> high -> decimate -------------> dilute -> high<br />

* | pass by 2 high subband by 2 pass \<br />

* in | + out<br />

* | / =in<br />

* -> low -> decimate -------------> dilute -> low<br />

* pass by 2 low subband by 2 pass<br />

*<br />

* This creates two subbands from the input signal, both sampled at half<br />

* the original frequency. The filters approximate halfband FIR filters<br />

* and are determined by the choice of wavelet. Using Daubechies wavelets<br />

* (and most others), the data can be reconstructed to the exact original<br />

* even when the halfband filters are not perfect. Note that the amount<br />

* of information (samples) stays the same throughout the operation.<br />

*<br />

* Decimation by 2: ABCDEFGHIJKLMNOPQR -> ACEGIKMOQ<br />

* Dilution by 2: ACEGIKMOQ -> A0C0E0G0I0K0M0O0Q0<br />

*<br />

* To get the logarithmic resolution in frequency, the low subband is<br />

* re-transformed, and again, the low subband from this transformation<br />

* gets the same treatment etc.<br />

*<br />

* Decomposition:<br />

*<br />

* -> high -> decimate --------------------------------> subband0<br />

* | pass by 2<br />

* in | -> high -> decimate ---------------> subband1<br />

* | | pass by 2<br />

* -> low -> decim | -> high -> decim -> subband2<br />

* pass by 2 | | pass by 2<br />

* -> low -> decim |<br />

* pass by 2 | . down to what suffices<br />

* -> . or if periodic data,<br />

* . until short of data<br />

* Reconstruction:<br />

*<br />

* subband0 -----------------------------------> dilute -> high<br />

* by 2 pass \<br />

* subband1 ------------------> dilute -> high + out<br />

* by 2 pass \ / =in<br />

* subband2 -> dilute -> high + dilute -> low<br />

* by 2 pass \ / by 2 pass<br />

* + dilute -> low<br />

* Start . / by 2 pass<br />

* here! . -> dilute -> low

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!