Background

Why Wavelets?

The Fourier transform is not a useful tool in our algorithm.Fourier transforms fail when attempting to approximate choppy signals due to the sine and cosine nature of the bases.The wavelet transform proved to be more appropriate because they are local functions that respond well to the discontinuities that our signal might contain.

    The wavelet transform is a technique for encoding a signal using sums and differences.The result of a transform is one sequence that describes the trend of the signal and a second sequence that describes the changes.The transform may be performed repeatedly to reduce the coefficients, and the resulting sequences can be combined to return the original signal.

    As an example, we chose an arbitrary signal

a=[1,1,1,4,3,2,9,8]

The first level transform is found by

b=[(a[1]+a[2]),(a[1]-a[2]),(a[3]+a[4]),(a[3]-a[4]),(a[5]+a[6]),(a[5]-a[6]),

(a[7]+a[8]),(a[7]-a[8])]

  b=[2,0,5,-3,5,1,17,1]

      As another example, which includes encoding, we chose an arbitrary signal:

a=[4,2,6,4]

A transform of that sequence would be:

b=[(a[0]+a[1]),(a[0]-a[1]),(a[2]+a[3]),(a[2]-a[3])]

  b=[6,2,10,2]

    We can continue to encode in this manner, using downsampling until we have a sequence of coefficients at the level of our choosing.The resulting sequence can be used to reproduce the original signal.We can reproduce the signal, a, by manipulating b:

a[0]=(b[0]+b[1])/2

  a[1]=(b[0]-b[1])/2

  a[2]=(b[2]+b[3])/2

  a[3]=(b[2]-b[3])/2

    This encoding and reducing is completely linear.Often, the wavelet filters are not so simplistic, but they are always linear and therefore invertable.All wavelets are orthonormal, which provides many advantages: perfect reconstruction, invertibility, and ease of computation.Cost of computation is another important consideration.The cost of a Fourier transform is O(N log N) while the cost of a wavelet transform is only O(N).

   When we use a wavelet transform we can control the scale at which we process the transform.We can also chose the type of wavelet to use based on the application.The following are pictorial representations of several families of wavelets.

Figure 1 – Four families of wavelets

 

Comparison of Haar Wavelets and Daubechies Wavelets

     The Haar wavelet is the simplest wavelet in the wavelet family.It was the first wavelet introduced and is rarely used in practice because it is discontinuous and lacks energy compaction.

   The Daubechies wavelet is a more advanced wavelet that proved to be more appropriate for our algorithm.While the Haar wavelet does not allow for sharp transitions and fast attentuation, the Daubechies wavelet has continuous derivatives that respond well to discontinuities.

    Daubechies wavelets have better frequency properties than Haar wavelets.When Haar is used to decompose an image, the wavelets can’t efficiently separate the image signals into low frequency and high frequency bands.The Daubechies wavelet allows the user to decide how much fluctuation is acceptable in the high frequency bands.

    In most applications, the Daubechies wavelet is superior to the Haar wavelet.This proved to be true in our algorithm.