python小波变换_小波变换-python pywavelets

#-*- coding: utf-8 -*-

importmatplotlib.pyplot as pltimportnumpy as npimportpywtfrom matplotlib.font_manager importFontProperties

sampling_rate= 1024t= np.arange(0, 1.0, 1.0 /sampling_rate)

f1= 100f2= 200f3= 300data= np.piecewise(t, [t < 1, t < 0.8, t < 0.3],

[lambda t: np.sin(2 * np.pi * f1 * t), lambda t: np.sin(2 * np.pi * f2 *t),lambda t: np.sin(2 * np.pi * f3 *t)])

wavename= 'cgau8'totalscal= 256fc=pywt.central_frequency(wavename)

cparam= 2 * fc *totalscal

scales= cparam / np.arange(totalscal, 1, -1)

[cwtmatr, frequencies]= pywt.cwt(data, scales, wavename, 1.0 /sampling_rate)

plt.figure(figsize=(8, 4))

plt.subplot(211)

plt.plot(t, data)

plt.xlabel(u"time(s)")

plt.title(u"300Hz 200Hz 100Hz Time spectrum")

plt.subplot(212)

plt.contourf(t, frequencies, abs(cwtmatr))

plt.ylabel(u"freq(Hz)")

plt.xlabel(u"time(s)")

plt.subplots_adjust(hspace=0.4)

plt.show()print("exit")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值