效果图

t = np.arange(0,time,1.0/sampling_rate)
wavename = 'morl' # "cmorB-C" where B is the bandwidth and C is the center frequency.
totalscal = 64 # scale
fc = pywt.central_frequency(wavename) # central frequency
cparam = 2 * fc * totalscal
scales = cparam/np.arange(1,totalscal+1)
[cwtmatr_l, frequencies_l] = pywt.cwt(data,scales,wavename,1.0/sampling_rate) # continuous wavelet transform
plt.figure(figsize=(8, 4))
plt.contourf(t, frequencies_l, abs(cwtmatr_l),cmap='jet', levels=np.linspace(0,50,100),extend='both')
plt.ylabel(u"freq(Hz)")
plt.xlabel(u"time(s)")
plt.colorbar()
其中,data是一个通道的信号数据,sample_rate是采样率,需要导入pywt包。
本文介绍了一种使用numpy和pywt库进行信号分析的方法,通过计算一通道信号的连续小波变换(cwt),展示了时间-频率域的可视化。重点在于如何使用cwt来提取信号特征并解读频谱信息。





