



fwt.m
Fast wavelet transform.
Usage: w = fwt(x, h0, h1, J, sym);
x - nx1 input vector
h0 - lowpass decomposition filter
h1 - highpass decomposition filter
h0 and h1 should be zero padded appropriately so that they have the
same length, and this length is even.
J - number of levels in the filter bank.
Right now, it must be chose so that n*2^(-J) >= length(h0)
sym - How to extend the input.
sym=0: periodization
sym=1: type-I symmetric extension ( [... x(2) x(1) x(2) x(3) ...])
The wavelet filters must have type-I even symmetry
(e.g. daub79)
sym=2: type-II symmetric extension ( [... x(2) x(1) x(1) x(2) x(3) ...])
The lowpass filter must have type-II even symmetry,
The highpass filter must have type-II odd symmetry.
(e.g. daub1018)
A friendly way to understand/implement symmetric wavelets and adjoints
is to treat symmetric extension and filtering as two separate operations.
Written by: Justin Romberg
Created: April 2007

0001 % fwt.m 0002 % 0003 % Fast wavelet transform. 0004 % 0005 % Usage: w = fwt(x, h0, h1, J, sym); 0006 % x - nx1 input vector 0007 % h0 - lowpass decomposition filter 0008 % h1 - highpass decomposition filter 0009 % h0 and h1 should be zero padded appropriately so that they have the 0010 % same length, and this length is even. 0011 % J - number of levels in the filter bank. 0012 % Right now, it must be chose so that n*2^(-J) >= length(h0) 0013 % sym - How to extend the input. 0014 % sym=0: periodization 0015 % sym=1: type-I symmetric extension ( [... x(2) x(1) x(2) x(3) ...]) 0016 % The wavelet filters must have type-I even symmetry 0017 % (e.g. daub79) 0018 % sym=2: type-II symmetric extension ( [... x(2) x(1) x(1) x(2) x(3) ...]) 0019 % The lowpass filter must have type-II even symmetry, 0020 % The highpass filter must have type-II odd symmetry. 0021 % (e.g. daub1018) 0022 % 0023 % A friendly way to understand/implement symmetric wavelets and adjoints 0024 % is to treat symmetric extension and filtering as two separate operations. 0025 % 0026 % Written by: Justin Romberg 0027 % Created: April 2007 0028