scipy.signal.morlet2¶
- scipy.signal.morlet2(M, s, w=5)[源代码]¶
复数Morlet小波,设计用于
cwt
。返回Morlet小波的完整版本,根据 s ::
exp(1j*w*x/s) * exp(-0.5*(x/s)**2) * pi**(-0.25) * sqrt(1/s)
- 参数
- M集成
小波的长度。
- s浮动
小波的宽度参数。
- w浮动,可选
欧米茄0。默认值为5
- 退货
- morlet(M,)ndarray
注意事项
1.4.0 新版功能.
此函数旨在与
cwt
。因为morlet2
返回复数数组,则 dtype 论证cwt
应设置为 complex128 为了获得最好的结果。注意实施中的不同之处
morlet
。此小波的基频(以Hz为单位)由以下公式给出:f = w*fs / (2*s*np.pi)
哪里
fs
是采样率,并且 s 是小波宽度参数。类似地,我们可以在以下位置获得小波宽度参数f
::s = w*fs / (2*f*np.pi)
示例
>>> from scipy import signal >>> import matplotlib.pyplot as plt
>>> M = 100 >>> s = 4.0 >>> w = 2.0 >>> wavelet = signal.morlet2(M, s, w) >>> plt.plot(abs(wavelet)) >>> plt.show()
此示例显示了的基本用法
morlet2
使用cwt
在时频分析中:>>> from scipy import signal >>> import matplotlib.pyplot as plt >>> t, dt = np.linspace(0, 1, 200, retstep=True) >>> fs = 1/dt >>> w = 6. >>> sig = np.cos(2*np.pi*(50 + 10*t)*t) + np.sin(40*np.pi*t) >>> freq = np.linspace(1, fs/2, 100) >>> widths = w*fs / (2*freq*np.pi) >>> cwtm = signal.cwt(sig, signal.morlet2, widths, w=w) >>> plt.pcolormesh(t, freq, np.abs(cwtm), cmap='viridis', shading='gouraud') >>> plt.show()