python⼩波分析cwt_pythonscipysignal.cwt⽤法及代码⽰例连续⼩波变换。
使⽤⼩波函数对数据执⾏连续的⼩波变换。 CWT使⽤⼩波函数对数据进⾏卷积,其特征在于宽度参数和长度参数。⼩波函数可以很复杂。linspace函数python
参数:
data:(N,) ndarray在其上执⾏转换的数据。
wavelet:function⼩波函数,应带有2个参数。第⼀个参数是返回向量将具有的点数(len(wavelet(length,width))== length)。第⼆个是宽度参数,定义⼩波的⼤⼩(例如⾼斯的标准偏差)。参考ricker,满⾜了这些要求。
widths:(M,) sequence⽤于转换的宽度。
dtype:data-type, 可选参数所需的输出数据类型。默认为float64如果⼩波的输出是实数,并且complex128如果很复杂。
1.4.0版的新函数。
kwargs:关键字参数传递给⼩波函数。
1.4.0版的新函数。
返回值:
cwt:(M,N)ndarray将具有(len(widths),len(data))的形状。
注意:
1.4.0版的新函数。
对于⾮对称复数值⼩波,输⼊信号与⼩波数据[1]的time-reversed complex-conjugate卷积。
length = min(10 * width[ii], len(data))
cwt[ii,:] = volve(data, np.conj(wavelet(length, width[ii],
**kwargs))[::-1], mode='same')
参考⽂献:
1
S. Mallat,“信号处理的⼩波导览(第三版)”,学术出版社,2009年。
例⼦:
>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> t = np.linspace(-1, 1, 200, endpoint=False)
>>> sig = np.cos(2 * np.pi * 7 * t) + signal.gausspulse(t - 0.4, fc=2)
>>> widths = np.arange(1, 31)
>>> cwtmatr = signal.cwt(sig, signal.ricker, widths)
>>> plt.imshow(cwtmatr, extent=[-1, 1, 1, 31], cmap='PRGn', aspect='auto',
... vmax=abs(cwtmatr).max(), vmin=-abs(cwtmatr).max())
>>> plt.show()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。