How can I calculate the peak frequency for Morse Wavelets?

2 views (last 30 days)
I'm using Matlab 2019a and specifically the wavelet toolbox. My goal is to transform the frequency output f from the cwt function for a morse wavelet (parametrized by gamma and beta) back to the wavelet scale, often defined as a variable s. In the paper "Higher order properties of analytic wavelets" by Jonathan M. Lilly et al. (2009) it's indicated, that the transform from frequency to scale can be done with the central or peak frequency of the wavelet f_c, i.e. s= f c/ f. The central frequency is defined as (beta/gamma)^(1/gamma) (cf. Lilly 2009). The documentation of the wavelet toolbox (Wavelet Toolbox™User's Guide R2019a, p 2-21 and 2-22) uses now the time-bandwidth product P^2 := beta*gamma instead of the beta parameter. On page 2-22 it's written, that the peak frequency f_c can be calculated by the following formula: f_c = (P^2/gamma)^(1/gamma) == (beta)^(1/gamma). This equation is in conflict with Lilly's equation. Shouldn't it be f_c = (P^2/gamma^2)^(1/gamma)?
Lilly, J. M., and S. C. Olhede. “Higher-order properties of analytic wavelets.” IEEE Transactions on Signal Processing, Vol. 57, No. 1, 2009, pp. 146-160.

Accepted Answer

MF on 20 Apr 2020
It seems that there is a mistake in the documentation only, since in the MATLAB's morsepeakfreq function, the peak frequency is defined as:
peakAF = exp(1/ga*(log(be)-log(ga)));
which is in agreeement with Lilly's equation.

More Answers (0)


Find more on Machine Learning and Deep Learning in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by