scipy.signal.morlet#

scipy.signal.morlet(M, w=5.0, s=1.0, complete=True)[source]#

Complex Morlet wavelet.

Parameters:
Mint

Length of the wavelet.

wfloat, optional

Omega0. Default is 5

sfloat, optional

Scaling factor, windowed from -s*2*pi to +s*2*pi. Default is 1.

completebool, optional

Whether to use the complete or the standard version.

Returns:
morlet(M,) ndarray

See also

morlet2

Implementation of Morlet wavelet, compatible with cwt.

scipy.signal.gausspulse

Notes

The standard version:

pi**-0.25 * exp(1j*w*x) * exp(-0.5*(x**2))

This commonly used wavelet is often referred to simply as the Morlet wavelet. Note that this simplified version can cause admissibility problems at low values of w.

The complete version:

pi**-0.25 * (exp(1j*w*x) - exp(-0.5*(w**2))) * exp(-0.5*(x**2))

This version has a correction term to improve admissibility. For w greater than 5, the correction term is negligible.

Note that the energy of the return wavelet is not normalised according to s.

The fundamental frequency of this wavelet in Hz is given by f = 2*s*w*r / M where r is the sampling rate.

Note: This function was created before cwt and is not compatible with it.

Examples

>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> M = 100
>>> s = 4.0
>>> w = 2.0
>>> wavelet = signal.morlet(M, s, w)
>>> plt.plot(wavelet.real, label="real")
>>> plt.plot(wavelet.imag, label="imag")
>>> plt.legend()
>>> plt.show()
../../_images/scipy-signal-morlet-1.png