# Wavelet transform vs Windowed Fourier

I'm learning wavelets and there's a problem I can not figure out for quite a while:

One of the advantages of the wavelet transform is that it has a variable which allows us to change it's scale dynamically while in window Fourier transform we stick with single window size which limits accuracy both in time and frequency domain.

So if we take a long window, we can get better low frequency accuracy. On the other side short window will give us good time precision and poor frequency accuracy.

In that second case, as I understand we have a chance to get good quality spectrum for high frequencies only. To be more precise, we can get high frequency accuracy only for those functions, which gonna fit in our window at least once.

So my question is: what if I will take an infinite number of different size windows for Fourier transform? It would look quite similar to wavelet concept, except the fact that actual basis function will remain to be sine.

How does window Fourier transform with an infinite number of windows with different sizes differs from wavelet in terms of time/frequency precision?

UPDATE:

The closest clear explanation I've got to is following:

Since sine is non-null function on the interval $(-\infty, \infty)$, it's spectrum can only have local support only when taken on the whole interval. Thus, whatever is modeled as sum of different sines harmonics inherits that property. So fourier transform of windowed function will never have local support even thought spectrum's fluctuations might be infinitly small.

Wavelets, on the other side, are functions which originally do have a local support. So fourier transform of the wavelet will also have local support since no windowing is needed. Consequently, whatever is modeled with scaled and shifted wavelets will also have local support in frequency domain.

But I've never seen a proof of it which would be both clear and well formed in terms of math. I believe that clarity and proof precision level might also be bound by heisenberg uncertainty principle:)

• Both the discrete wavelet transform and the short-time Fourier transform are (orthogonal) filter-banks. – reuns Apr 19 '17 at 8:16
• A wavelet transform is basically a sub-band coder - splitting the function into "bands" of approximate Fourier frequencies. Although the bands are rarely perfectly "square" in the Fourier domain (except for Shannon wavelets). – mathreadler Apr 19 '17 at 8:17
• There are nice pictures on the famous max flat orthogonal Daubechies wavelets here: en.wikipedia.org/wiki/Daubechies_wavelet there you can see the sub-band decomposition for one highpass lowpass combination. – mathreadler Apr 19 '17 at 8:52
• I realize that wavelets have local support in frequency domain. The original question is why I can't replace wavelet transform with multiple windowed fourier transforms. Why can't I just take a set of windows with different support size and use them in the same manner I use wavelets. And if my explanation given in UPDATE is right, then is there any clear enough formalization of it in any books? I've found none so far. – Roman Apr 19 '17 at 9:35
• The transform is a set of convolutions. Do you know about the convolution theorem? – mathreadler Apr 19 '17 at 10:08

You are right that no function can have compact support both before and after Fourier Transformation.

To realize this, imagine we do something that chops the function to it's support.

$$f_{chop}(t)= f(t)\cdot (H(t_0+t) \cdot H(t_1-t))$$

where

$$B_{t_0,t_1}(x) = (H(t_0+t) \cdot H(t_1-t))$$ is a box function from $$t_0$$ to $$t_1$$:

Now we can derive ( usually done in any first course in Fourier Analysis or Transform Theory ) the Fourier transform of this Box:

$$\mathcal{F}\{B_{t_0,t_1}\} = \text{sinc}((t_1-t_2)w) = \frac{\sin(w(t_1-t_2))}{w(t_1-t_2)}$$

This sinc function does not have compact support, since there is no $$w$$ it becomes zero for (except exactly each period of the sine).

Now the crucial part, the convolution theorems:

$$(f*g)(t) = \mathcal{F}^{-1}(\mathcal{F}\{f\} \cdot \mathcal{F}\{g\})$$

$$f(t)\cdot g(t) = \mathcal{F}^{-1}(\mathcal{F}\{f\} * \mathcal{F}\{g\})$$

Convolution in one domains gives multiplication in the other, and vice versa.

This means if something strips a function of it's infinite support in one domain (multiplying with a box), then it automatically becomes convolution with a infinite supported sinc function in the other domain.

• That's what I was looking for... I suppose..) THANKS A LOT! – Roman Apr 19 '17 at 20:15