Skip to content
Rafat Hussain edited this page Sep 28, 2015 · 13 revisions

C Implementation of Discrete Wavelet Transform

An ANSI C implementation of decimated and undecimated 1D Fast Discrete Wavelet Transforms.

Git Repository

git clone https://github.com/rafat/wavelib

Or Download Zip File From Here

https://sourceforge.net/projects/wavelib/files/

Methods Implemented

DWT/IDWT A decimated Discrete Wavelet Transform implementation using implicit signal extension and up/downsampling so it is a fast implementation. A FFT based implementation is optional but will not be usually needed. Both periodic and symmetric options are available.

SWT/ISWT Stationary Wavelet Transform. It works only for signal lengths that are multiples of 2^J where J is the number of decomposition levels. For signals of other lengths see MODWT implementation.

MODWT/IMODWT Maximal Overlap Discrete Wavelet Transform is another undecimated transform. It is implemented for signals of any length but only orthogonal wavelets (Daubechies, Symlets and Coiflets) can be deployed. This implementation is based on the method laid out in "Wavelet Methods For Wavelet Analysis" by Donald Percival and Andrew Walden.

Online Demo of Wavelib Using Emscripten

Usage How to integrate wavelib in your code
wave object Wavelet Object, Parameters and Functions
wt object Wavelet Transform Object, Parameters and Functions
DWT Example Code 1D DWT/IDWT Demo Code
SWT Example Code 1D SWT/ISWT Demo Code
MODWT Example Code 1D MODWT/IMODWT Demo Code
Clone this wiki locally