I have a pressure vs time data of a noise on which I wish to perform discrete wavelet transform. I have divided my frequency range into 1/3rd Octave Bands and have calculated sound pressure level at each band.

I am very much confused on how to perform a discrete wavelet transform in 1/3rd Octave Frequency Bands or any set of bands for that matter and further how to interpret the output(coefficients) so as to plot a Time-Frequency colormesh or a contour plot of my results.

I was able to plot a continuous wavelet transform of my data using the pcolormesh module of matplotlib. The output of pywt.cwt are easy to interpret and hence I could plot a colormesh for it.

I am a beginner in DSP and have just started learning wavelet transforms, so any help will be much appreciated. Thankyou.


With wavelets, that rely on scaling, you can expect time-scale, more than time-frequency. Obtained 2D images of scalograms from continuous wavelets is relatively easy. Most of them are not exactly invertible.

Exactly invertible discretized wavelets come in different shapes. To preserVe images with equal-sized pixels, you could prefer redundant discrete wavelets over DWT.

So, maybe rwt.rdwt()

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.