# how does wavelet transform detect pulses from a signal

I am learning wavelet transform, below image is an example I have that uses haar wavelet for decomposing the simple haar wavelet like signal.

i know that the coefficients at each level are results of the convolution of the signal and the wavelet, the magnitude represents the similarities between them.

I am not certain how wavelet transform detects pulses. at level 1, detail coefficients are zero while there are two positive pulses at level 2. i don't understand why we have constant zero at level 1 since the signal is similar to the haar function. at each level, the length of each signal has cut by half. why do we need this practice?

At level 1, the discrete Haar wavelet transform reduces to a 2-tap discrete derivative, downsampled by a factor of two. This downsampling is the main reason for the wavelet shift-variance, and for missed "pulses" or discontinuities. For instance, if your signal is:

$$[0,\,0,\,1,\,1,\,0,\,0,\,0,\,0]$$

the two-tap derivative will yield:

$$[0,\,1,\,0,\,-1,\,0,\,0,\,0]$$

so apparently, the discontinuities are detected. Yet, after a downsampling by 2, one obtains:

$$[0,\,.,\,0,\,.,\,0,\,.,\,0]$$

The pulses are not apparent (here) anymore. If the same signal were shifted by one:

$$[0,\,1,\,1,\,0,\,0,\,0,\,0,\,0]$$ you would have obtained: $$[1,\,.,\,-1,\,.,\,0,\,.,\,0]$$ instead.

Note that with longer wavelet filters, and further decomposition levels, the pulses will somehow reappear with higher amplitudes.

From this observation, you can guess that discrete wavelets don't detect pulses directly, but that some processing and statistical selection is required over several detail levels. Pulse detection is often easier with continuous wavelet transforms.