连续小波变换的尺度选择

2024-06-18 21:02:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自加速计的信号,它已经在0.5-15Hz的频带内被过滤了。我想特别了解频率是如何随时间在两个波段(0.5-3,3-6)中分布的,所以我考虑使用CWT和morlet作为母小波。我正在使用pwyt图书馆的cwt。这是我的密码:

wavelet="morl"
threshold_scale=5
threshold_freq=3

plt.figure()
#scales=(pywt.central_frequency(wavelet, precision=8)/(0.5*(np.arange(0,16,1)+1)))*200.0
coeffs, freqs = pywt.cwt(a_x, scales, wavelet = wavelet, sampling_period=1/200.0)
coeffs_ax=np.abs(coeffs)
plt.imshow(coeffs_ax, cmap = 'coolwarm', aspect = 'auto', origin='lower', interpolation="spline36")
plt.axhline(y=threshold_scale, color='r')
plt.title("Scalogram of a_x")
plt.ylabel('Scale')
plt.xlabel('Time')
plt.plot(target, color='y')


我得到了这个结果: https://imgur.com/HwYXdlW

我不确定我是否正确理解了天平的工作原理。我使用一个公式进行计算,我发现环顾与我感兴趣的频率相对应的刻度,步长为0.5Hz(例如:0.5-1-1.5-2.0 ecc,最大为15),我只使用了它们,即使在线查看,许多人建议将其用作标度np。范围(n)为n=64128 ecc时,我计算的刻度实际上超过了在线建议的这些值。我是不是搞错了? Moverover,我能从图表上说,5以下(红线)对应于频率0.5-3Hz,而高于5的对应于频率3-6Hz吗?y轴实际上对应于矢量标度中的指数,而不是标度本身


Tags: thresholdnppltaxcolor频率scaleecc