Wavelet Analysis

Wavelets are actually a topic of pure mathematics. But over the last couple of decades, they have shown great promise and are now being adapted for a vast number of applications. They are used in image compression, molecular dynamics, seismology, physics, DNA analysis etc. One of the main advantages of wavelet analysis is the amount of information we can extract from a signal. Wavelet transforms are extensively used to analyze many different kinds of signals. So what exactly are these wavelets? Why is this method of analysis so powerful?  

Why wavelet transform?

Wavelet transforms are used to look at the frequency content of a signal. Basically, transformations are applied to a signal to obtain a further information about that signal which is not readily available in its present form. There are a number of transformations that can be applied to a signal, among which the Fourier transforms are by far the most popular. I have discussed more about Fourier analysis here. The figure to the left represents a simple sine wave. It has only one frequency component. I have a nice shape with constant amplitude and wavelength as shown in the figure. Frequency refers to the speed at which a signal changes. I have discussed about why we need frequency content of a signal in the blog post about Fourier analysis.

Fourier transform also gives the frequency content. Why should I care about wavelet transform?

 

 

 

 

 

 

Most of the signals in real life are time-domain signals. In other words, when we plot the signal, one of the axes is time (independent variable), and the other is usually the amplitude (dependent variable). In many cases, the most distinguished information is hidden in the frequency content of the signal. The frequency spectrum of a signal shows what frequencies exist in the signal. We all know that the frequency has something to do with the change in rate of something. Something which changes rapidly is said to have higher frequency and something which changes slowly is said to have lower frequency. In the figure above, the wave represents a signal with increasing frequency. The portion to left changes slowly, so it has smaller frequency. Then it starts increasing as we move to the right.

 

 

 

 

 

 

Now the problem with Fourier analysis is that it doesn’t differentiate between multiple signals having the same frequency content. Let’s say we are analyzing the country USA. Fourier transform will tell us that it contains Los Angeles, New York and Dallas. But it doesn’t tell us where they are. What if we want to know where exactly they are? This is where Wavelet transform comes in handy. It not only tells us what frequencies are present in a signal, but also where exactly in time they are. The figure above is a mirror image of the signal shown in the previous paragraph. If you apply Fourier transform to this signal, it will give you the exact same result as it would for the previous signal. But this is not correct! These are two different signals with the same frequency content, but Fourier transform failed to differentiate them.

What are wavelets?

Wavelets are mathematical functions that satisfy certain requirements. The name wavelet comes from the requirement that they should integrate to zero, “waving” above and below the X-axis. Another requirement is that the function has to be well localized. In other words, a wavelet is just a wave-like oscillation with an amplitude that starts out at zero, increases, and then decreases back to zero.

As we discussed earlier, Fourier transform doesn’t give us the location of frequencies. It means that the Fourier basis functions are localized in frequency but not in time. Small frequency changes in the Fourier transform will produce changes everywhere in the time domain. Wavelets are local in both frequency/scale (via dilations) and in time (via translations). This means that we can extract information which is localized, without affecting the rest of the signal. This localization is an advantage in many cases. Many classes of functions can be represented by wavelets in a more compact way. For example, functions with discontinuities and functions with sharp spikes usually take substantially fewer wavelet basis functions than sine-cosine basis functions to achieve a comparable approximation. That was a lot of signal processing lingo, but the point I was trying to make is that wavelets are localized. It means that you can analyze a particular time region or a frequency region without affecting the rest of the signal.

There are many different wavelets that can be used for different purposes. Haar wavelets are the most popular. I don’t want to go into the mathematical details about the formulation of wavelets and wavelet transforms. It is a deep field and there are excellent tutorials and articles available online if you want to understand the mathematical formulation. Wavelet transforms are quickly replacing the conventional Fourier transforms in many domains because of their powerful analyzing capabilities. The only problem is that they are not as fast as Fourier transforms. Fourier transform has been around for a very long time now and it has been optimized to the highest possible extent, on both hardware and software sides. Once optimized hardware implementations are available for wavelet transforms, it will pretty much become the default standard for frequency content analysis!

 

 

 

 

 

————————————————————————————————-

3 thoughts on “Wavelet Analysis

  1. I do like wavelets, to the extent that I understand them. I’ve regretted that my mathematical training kept me from being able to do more than have introductory examples mentioned in courses on functional analysis or the like. (Now I in principle have the time to follow anything I like, yet the hours to do so don’t quite materialize.)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s