<< Chapter < Page Chapter >> Page >

Introduction

We saw in a previous section an example of a scaling function ϕ , and we outlined how to construct ψ (also called the mother wavelet) starting from ϕ (the father wavelet). Suppose now we have at our disposal { ϕ j , k } and { ψ j , k } . In fact, it is sufficient for our purpose to know the value of these functions at dyadic points 2 - j k , j Z Z , k Z Z . We would like to compute in an efficient way the wavelet representation described in Homogeneous and inhomogeneous representation of f , that is, we would like to have a fast algorithm to compute the wavelet coefficients.

Filter algorithm-fast wavelet transform

We will still use the relationship between the functions spaces V j and W j to find a fast wavelet transform (FWT). We start by recalling that, since both the scaling function ϕ V 0 and the wavelet ψ W 0 are in V 1 , and since V 1 is generated by ϕ 1 , k = 2 ϕ ( 2 x - k ) , k Z Z , there exist two sequences { h k } and { g k } l 2 such that

ϕ ( x ) = 2 k h k ϕ ( 2 x - k )
ψ ( x ) = 2 k g k ϕ ( 2 x - k )

for all x I R . On the other hand, we know that V 1 = V 0 W 0 and as we consider the orthogonal case, it follows immediately that :

2 ϕ ( 2 x ) = k [ h - 2 k ϕ ( x - k ) + g - 2 k ψ ( x - k ) ]
2 ϕ ( 2 x - 1 ) = k [ h 1 - 2 k ϕ ( x - k ) + g 1 - 2 k ψ ( x - k ) ] .

These two equations [link] and [link] can be combined into a single formula:

2 ϕ ( 2 x - l ) = k [ h l - 2 k ϕ ( x - k ) + g l - 2 k ψ ( x - k ) ] , l Z Z ,

which is called the “decomposition relation” of ϕ and ψ .

Note that, in the bi-orthogonal case there are four sequences in l 2 instead of two (denoted here by { h k } and { g k } ): we have two sequences for the 2-scales relations [link] , [link] , and two others for the decomposition relations [link] , [link] . In the following algorithm, we drop the normalisation constant. Suppose that we want to decompose f as a sum of wavelets and that we have computed, or are given, the inner products of f with ϕ J , k , where J is the finest scale we can work on. We denote these inner products by c J . Now, our task is to compute c k j and d k j , j < J , where

P j f = k c k j ϕ ( 2 j x - k ) ; c k j = < f j , ϕ j , k >
Q j f = k d k j ψ ( 2 j x - k ) ; d k j = < f j , ψ j , k >

Decomposition algorithm

By combining [link] , [link] and [link] , we get (see [link] ):

c k j - 1 = l h l - 2 k c l j d k j - 1 = l g l - 2 k c l j .

Observe that both c j - 1 and d j - 1 are obtained from c j by “moving average” schemes, using the decomposition sequence as “weights”, with the exception that these moving averages are sampled only at the even integers. This is called downsampling.

Reconstruction algorithm

In the orthogonal case, the reconstruction algorithm follows easily from the relationships:

c n j + 1 = < f j + 1 , ϕ j + 1 , n > f j + 1 = P j + 1 f = P j f + Q j f = k c k j ϕ j , k + k d k j ψ j , k ,

which gives:

c n j + 1 = k c k j < ϕ j , k , ϕ j + 1 , n > + k d k j < ψ j , k , ϕ j + 1 , n > = k [ c k j h n - 2 k + d k j g n - 2 k ] .

Hence c j + 1 is obtained from c j and d j by two moving average.

Mallat's algorithm

In the previous section, we assumed that we knew the coefficients

c k J = < f , ϕ J , k > , k Z Z .

The question to ask is: how to compute these coefficients ? In Mallat's algorithm (see [link] ), we consider that the finestscale is constituted by the observations { Y k } k = 1 n themselves. To use the MRA presented above, these observations must be taken at equispaced points, i.e. we can write that

{ Y k } k = 1 n = { f ( k n ) } k = 1 n .

Moreover, we assume that n (the number of observations) is a power of 2 : n = 2 J , with J denoting the finest level.

Mallat's algorithm is based on the fact that, as j tends to infinity, the support of ϕ j , k tends to become smaller and smaller. We have:

lim j ϕ j , k ( x ) δ ( x - k n ) = 1 if x = k / n = 0 otherwise.

Hence Mallat considered that we can compute c k J as:

c k J f ( x ) δ ( x - k / n ) = f ( k / n ) = Y k .

The starting point of this algorithm is thus extremely simple: we just take as value for c k J the whole set of observations. Thereafter, having constructed the filters { h k } and { g k } (or, equivalently, having constructed ϕ and ψ ), we can compute a fast wavelet transform using the algorithm presented in the previous section.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Multiresolution analysis, filterbank implementation, and function approximation using wavelets. OpenStax CNX. Sep 14, 2009 Download for free at http://cnx.org/content/col10568/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Multiresolution analysis, filterbank implementation, and function approximation using wavelets' conversation and receive update notifications?

Ask