小波变换学习-pywavelets

作者: Great_smile | 来源:发表于2019-01-18 17:43 被阅读0次

最近正在学习音频方面的项目,涉及到了小波变换的内容。pywavelets是其中一个比较常见的小波模块。复现了下其他博客如下:小波变换-python pywavelets
np.piecewise是根据条件筛选,然后执行例如lambda/函数等操作。参考链接np.piecewise

#!/usr/bin/env python
# encoding: utf-8

import numpy as np
import matplotlib.pyplot as plt
import pywt

sampling_rate = 1024#采样频率
t = np.arange(0,1.0,1.0/sampling_rate)
f1 = 100#频率
f2 = 200
f3 = 300
data = 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 = 256
fc = 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()
效果图
[Python ]小波变化库——Pywalvets 学习笔记
有些地方没弄懂,仍不断学习中。

相关文章

  • 小波变换学习-pywavelets

    最近正在学习音频方面的项目,涉及到了小波变换的内容。pywavelets是其中一个比较常见的小波模块。复现了下其他...

  • 小波基函数的选择2020-05-13

    一、小波基选择标准 小波变换不同于傅里叶变换,根据小波母函数的不同,小波变换的结果也不尽相同。现实中到底选择使用哪...

  • 小波变换

    测不准原理 信号持续时间*带宽>=1/pi 定位信号中的变化的一种解决方法是使用短时傅里叶变换,其中信号被分解为小...

  • 小波变换

    傅里叶变换的不足: 对非平稳过程,傅里叶变换有局限性它只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的...

  • 小波分解和小波包分解2020-05-12

    小波分解(wavelet transform) 小波 傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小...

  • Gabor变换/小波变换(1)

  • 小波变换简介

    1. 傅里叶变换的局限性 傅里叶变换只能得到一个信号包含哪些频率成分,但无法从频域上得知信号在不同时间的频率信息,...

  • 小波变换(一)

    小波变换(一) 由于项目可能会用到的原因,学一下,感觉已有的通俗易懂教程不够相应的学术性. 教程:《数字信号处理》...

  • 小波变换(二)

    小波变换(二)及其FPGA实现 to 51研究不顺的假期 [toc] 在上一次的博客中我们介绍了短时傅里叶变换,小...

  • MATLAB 小波变换

    小波变换的产生 1807年傅里叶提出 任何一个周期的连续信号可以表示成一些合适的正弦波的叠加。时域信号转变成一...

网友评论

    本文标题:小波变换学习-pywavelets

    本文链接:https://www.haomeiwen.com/subject/xqtodqtx.html