next up previous contents index
Next: Bibliography Up: Reference Previous: ridgthres   Contents   Index


$ \bigcirc$Name

stkwave1 One-dimensional wavelet transform using Starck's algorithm (band-limited scaling function)

$ \bigcirc$Command Synopsis

stkwave1 np in out

np : resolution np

in : input in Fourier domain (the size of signal must be a power of 2)

out : result in Fourier domain, from left to right : details and approximation

$ \bigcirc$Function Summary

void stkwave1 (np , in , out )

Fsignal in , out ;

int np ;

$ \bigcirc$Description

The module stkwave1 computes the wavelet transform of a one-dimensional signal according to the work of Starck et al. [SBLP94] who use an overcomplete frequency-domain approach (band-limited wavelet).

As seen in owave1, multi-resolution analysis corresponds to considering a scale function $ \phi$ and a wavelet $ \psi$ used to compute details and approximations of a signal.

wj+1(k) = < f (x), 2-(j+1)$\displaystyle \psi$(2-(j+1)x - k) >

cj+1(k) = < f (x), 2-(j+1)$\displaystyle \phi$(2-(j+1)x - k) >

In the frequency domain, these equations become:

$\displaystyle \hat{{c}}_{{j+1}}^{}$($\displaystyle \nu$) = $\displaystyle \hat{{c}}_{{j}}^{}$($\displaystyle \nu$)$\displaystyle \hat{{h}}$(2j$\displaystyle \nu$)

$\displaystyle \hat{{w}}_{{j+1}}^{}$($\displaystyle \nu$) = $\displaystyle \hat{{c_j}}$($\displaystyle \nu$)$\displaystyle \hat{{g}}$(2j$\displaystyle \nu$)

with $ \hat{{h}}$($ \nu$) = $ {\frac{{\hat{\phi}(2\nu)}}{{\hat{\phi}(\nu)}}}$
and $ \hat{{g}}$($ \nu$) = $ {\frac{{\hat{\psi}(2\nu)}}{{\hat{\phi}(\nu)}}}$
The frequency band is reduced by a factor of 2 while the resolution scales up. We go from a resolution to the following resolution multiplying the filter H and the frequential signal.
The details are obtained filtering the same signal by G.
J.L. Starck uses a B3 spline for $ \phi$ in the Fourier domain:

$\displaystyle \hat{{\phi}}$($\displaystyle \nu$) = $\displaystyle {\frac{{3}}{{2}}}$B3(4$\displaystyle \nu$)

that is to say $ \phi$(x) = $ {\frac{{3}}{{8}}}$($ {\frac{{sin(\frac{\pi x}{4})}}{{\frac{\pi x}{4}}}}$)4 The first difference with the Mallat's algorithm [Mal89] stands in the relation between $ \phi$ and $ \psi$: here, $ \psi$ corresponds to the difference between two resolutions:

$\displaystyle \hat{{\psi}}$(2$\displaystyle \nu$) = $\displaystyle \hat{{\phi}}$($\displaystyle \nu$) - $\displaystyle \hat{{\phi}}$(2$\displaystyle \nu$)

The second difference with the Mallat's algorithm is the non-decimation of the details. Which implies, for a size N of the signal, that the obtained coefficients are ordonned in a 2N-signal.
The wavelet transformation algorithm for a resolution np is the following:
  1. Compute $ \hat{{f}}$ by FFT, set $ \hat{{c}}_{0}^{}$(f )= $ \hat{{f}}$ and initialize j to 1.
  2. Multiply $ \hat{{c}}_{{j-1}}^{}$(f ) to H gives the approximation for a resolution j : $ \hat{{c}}_{j}^{}$(f )
  3. Multiply $ \hat{{c}}_{{j-1}}^{}$(f ) to G gives the details for a resolution j : $ \hat{{w}}_{j}^{}$(f )
  4. If j < np, the frequency band of $ \hat{{c}}_{j}^{}$(f ) is reduced by a factor 2 which corresponds to keep one coefficient out of two in the time space, j is then incremented and we go back to point 2.
The obtained details are ordonned in function of their arrival in a fsignal which is ended by the approximation $ \hat{{c}}_{{np}}^{}$.

In this module, the input signal is assumed to be already in the Fourier domain that is, $ \tt in$ = $ \hat{{f}}$.

$ \bigcirc$See Also



$ \bigcirc$Version 1.0

Last Modification date : Thu Apr 15 08:03:52 2004

$ \bigcirc$Author

Claire Jonchery, Amandine Robin

next up previous contents index
Next: Bibliography Up: Reference Previous: ridgthres   Contents   Index
mw 2004-05-05