scipy.signal.
morlet#
- scipy.signal.morlet(M, w=5.0, s=1.0, complete=True)[源代码][源代码]#
复杂Morlet小波。
自 1.12.0 版本弃用: 在 SciPy 1.12 中,scipy.signal.morlet 已被弃用,并将在 SciPy 1.15 中移除。我们建议使用 PyWavelets 替代。
- 参数:
- M整数
小波的长度。
- wfloat, 可选
Omega0。默认值为 5
- sfloat, 可选
缩放因子,从
-s*2*pi
到+s*2*pi
窗口化。默认值为 1。- 完成bool, 可选
是否使用完整版或标准版。
- 返回:
- morlet(M,) ndarray
参见
morlet2
Morlet 小波的实现,与
cwt
兼容。scipy.signal.gausspulse
注释
标准版本:
pi**-0.25 * exp(1j*w*x) * exp(-0.5*(x**2))
这个常用的波形通常简称为 Morlet 波形。请注意,这种简化版本在 w 值较低时可能会导致可接受性问题。
完整版本:
pi**-0.25 * (exp(1j*w*x) - exp(-0.5*(w**2))) * exp(-0.5*(x**2))
此版本有一个修正项以提高可接受性。对于 w 大于 5 的情况,修正项可以忽略不计。
注意,返回波的能量并未根据 s 进行归一化。
这个小波的基本频率(以赫兹为单位)由
f = 2*s*w*r / M
给出,其中 r 是采样率。注意:此函数是在
cwt
之前创建的,与其不兼容。示例
>>> 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()