DSPRelated.com
Forums

wavelet filterbank - filter construction? highpass/lowpass

Started by moosedude June 5, 2006
Hello,

I was wondering if somebody could help me and explain some details for me
a little bit, help would be greatfully appreciated;

I'm studying this paper titled "Fast algorithms for Discrete and
Continuous Wavelet Transform" by Olivier Rioul and Pierre Duhamel.  I'm
trying to implement a fast DWT/CWT algorithm based on this paper, it
basically details a way of performing a fast DWT algorithm via an
implementation based on a filterbank, it splits the input signal into odd
and even parts and you perform a FFT on these parts, and multiply this
with the resultant FFT with a low and high pass filter, then you
reconstruct the output via an IFFT.

I'm looking to implement a CWT from this basic DWT algorithm but I am
having some trouble understanding how these high and low filters are
constructed from my choosen Mother Wavelet, I think the gist of it is
basically to approximate the Mother Wavelet via an interpolation function
(such as a B-Spline) and from that a lowpass filter is created (and
presumable from some basic DSP theroy I can construct a high pass filter
from this???) but it doesn't explain it very well at all, could somebody
point me in the right direction, expand a little further, or point me at a
document which may help? Maybe somebody here has covered something
simular?

I'm looking to implement this with a Gabor Wavelet function, I've done
some research which has initially pointed me at something called a Log
Gabor function, which can be constructed in the frequency domain, which
does sound like the kind of thing I would be looking for, but producing a
high/low pass filter split per DWT cell seems a bit of a mystery to me..?

I ought to point out I have no interest in reconstructing the original
input signal from the CWT afterward, I understand that this may simplify
the construction of the filters somewhat? (something to do with
convergences?)

I'm basically looking to implement a naive version first, that just works
in C++, and I think I'm almost there with the exception of the
construction of these filters - maybe I'm missing out on some basic DSP
theory.

Thankyou for your time!