前言

采用小波分解方式对数据进行分解,然后重构,演示整体代码

代码

import pywt
import matplotlib.pyplot as plt
import pandas as pdsampleData = [ 6. ,  7.2,  5.4,  6. ,  4.8,  4.6,  6.7,  7.1,  6.8,  0. ,  5.2,6.4,  4.8,  5. ,  7.8,  6.4,  3.1,  3.6,  4.7,  5.5,  7.1,  6. ,8.2,  7.2,  6.5,  9.3,  6.8,  8.4,  7.4,  6.7,  8.6,  5.4,  4.1,3.8,  5.6,  4.1,  7.3,  6.7,  6.5,  7.6,  8.6,  4.3,  6.2,  7.7,7.2,  6.9,  5.1,  4.6,  6.3,  5.2,  6. ,  6.1,  6.2,  7.7,  8.1,6.9,  6.4,  6.4,  6.5,  6.8,  5.6,  5.2,  8.9,  5.4,  3.8,  5.9,5.8,  4.9,  4.3,  8.5,  6.2,  3.1,  3.9,  2.4,  7.3,  5.8,  7.5,7.3,  6. ,  7.1,  7. ,  7.3,  7.5,  4.6,  5.7,  4. ,  7.6,  5.5,3.8,  7. ,  4.2,  4.3,  5.7,  6.2,  6.9,  6.1,  5.5,  9.5,  8.9,6.1,  7. ,  8.8,  4.8,  7.6,  9.5,  7.6,  7. ,  4.6,  8.4,  5.4,7.9,  9.2,  5.8, 10.2,  8.9,  5.8,  7.2,  8.9,  6.8,  8.8,  7.7,6.4,  8. , 10.6,  7.9,  9.4,  5.8,  7.2,  7.1,  9.2,  7.3, 10.3,3.1,  9.8,  6.8, 11.4,  8.1,  7.7,  7.5,  7.0] w = pywt.Wavelet('db8')  # 选用Daubechies8小波
maxlev = pywt.dwt_max_level(len(sampleData), w.dec_len)
print("maxlev: ", maxlev)
threshold = 0.05  # Threshold for filtering# 将信号进行小波分解for i in range(1, len(coeffs)):# 将噪声滤波sampleData_rec = pywt.waverec(coeffs, 'db8')  # 将信号进行小波重构
# 保存
dataframe = pd.DataFrame(sampleData_rec)
dataframe.to_csv(r"imf-1_rec.csv",index=False,sep=',')
plt.plot(sampleData,"b",label='true_data')
plt.plot(sampleData_rec,"r",label='rec_data')
print(len(sampleData_rec))

结果展示

maxlev:  3
(30,)
77
[array([14.89060208, 17.48774106, 14.62732431, 14.16111973, 17.39674364,15.23687513, 13.66198872, 16.98478131, 16.04582462, 13.46882215,16.5251981 , 16.84176687, 13.05983399, 18.43398009, 18.69129045,18.13412361, 17.22175699, 18.33764118, 18.91146961, 13.79601851,18.22412343, 16.31726674, 16.19902123, 20.36499062, 20.34979924,22.27118849, 22.1946934 , 22.49473075, 22.026928  , 21.37043685]), array([ 0.02597377,  0.04627224,  0.83377698, -0.4094727 , -0.66537233,0.9654267 ,  2.37728835,  1.73186496, -0.13460124,  4.2582881 ,-1.6431639 ,  3.08247987,  0.06009821,  1.84186106,  1.99219538,-0.86047581, -0.26259531, -2.15543405,  0.12983753, -2.04923737,0.45461431,  0.26755979, -1.97147193, -1.14392232,  2.75158527,0.496431  , -0.76652795,  0.97028847,  1.45129   ,  0.42297384]), array([-1.53165283,  3.90167297,  1.0713417 , -0.88960218, -0.93377672,-4.37583791, -0.28086216, -2.60909404, -0.02110962,  0.34448458,-0.49989578, -1.12639543, -0.15444765, -0.4400528 ,  0.82299644,1.48393952, -0.32030378, -0.76129654, -1.01577166, -1.11048871,0.96183349, -0.99455448, -1.64585353,  2.25273347, -1.06781376,-0.76168693,  1.67411943,  0.47655085,  0.43817838,  1.63985866,1.33641088, -0.74595449,  0.96958856, -2.15826138,  0.03824809,2.0088925 , -2.82540503, -1.50755191,  1.44302522, -0.7894779 ,-0.10165996,  2.97673399,  0.17404927, -2.01625666,  1.99990472,0.66159429]), array([ 0.34482481, -1.29156053, -0.47973075,  0.52203713,  0.51414751,3.92438116, -1.26310503,  0.85073165,  0.07343796, -0.97518959,0.9308112 ,  1.19327555,  0.06607814, -2.22254163, -0.62430618,0.99976817,  1.20568031, -0.24606229,  2.19671547,  0.0838348 ,-0.21327042,  2.68511782, -1.43872316,  0.19455079,  0.09690823,1.17238324, -0.38030448, -0.36054123,  0.6819401 , -0.47211671,-0.15042381,  1.07032598,  1.58819977, -2.1150514 ,  0.9529688 ,-2.83481343,  2.23710703,  1.26627991,  1.99366416, -0.81516264,-0.65308376,  0.41792825,  1.53076635,  1.39865169,  0.74781752,-3.02966721,  0.85346178,  0.10372268,  0.09628719, -2.0333159 ,2.13431488, -2.70836621, -0.55006196,  1.67096465,  1.23637851,2.42158039, -2.04923712, -2.270118  ,  2.33425608, -2.02102422,-0.78420639,  0.89368156, -1.85879552, -1.61098924, -1.07499289,-1.01434951, -3.61867498, -4.44962534, -1.56543207, -0.0356764 ,0.12405043, -0.15293619,  1.03965714,  3.61517855,  4.13996129,2.10191932,  0.57358088])]
140

备注:

需要源代码和数据集,或者想要沟通交流,请私聊,谢谢.

python小波分解wavelet去噪重构相关推荐

  1. 一维信号小波去噪算法C语言,[转载]一维小波分解与去噪重构

    对随机一维信号实现多尺度小波分解,长度M=256,层数N=3. 解:一维随机信号是用nelec函数作为信号源,产生0~256范围内的信号. 实现小波按层分解的函数是: [C,L]=wavedec(s, ...

  2. python小波分解与重构_小波分解和重构

    小波变换能够很好地表征一大类以低频信息为主要成分的信号, 小波包变换可以对高频部分提供更精细的分解 详见(http://www.cnblogs.com/welen/articles/5667217.h ...

  3. python小波分解与重构_python - 使用pyWavelets进行多级局部小波重构 - 堆栈内存溢出...

    我设法编写了自己的wrcoef函数版本,该版本似乎可以正常工作: import pywt import numpy as np def wrcoef(X, coef_type, coeffs, wav ...

  4. mallat算法 c语言,基于STM32F4的小波分解(Mallat算法)程序说明

    一.主要思路 原始信号:OrgSig 信号长度:DWT_SIG_LEN 小波分解层数:N 与MATLAB类似,小波分解后产生2个数组DWT_L和DWT_C,但定义与MATLAB不同.定义如下: DWT ...

  5. python小波去噪_python小波变换去噪

    一,小波去噪原理: 信号产生的小波系数含有信号的重要信息,将信号经小波分解后小波系数较大,噪声的小波系数较小,并且噪声的小波系数要小于信号的小波系数,通过选取一个合适的阀值,大于阀值的小波系数被认为是 ...

  6. matlab dwt 多层分解,多尺度小波分解Matlab/Python实现与原理分析

    小波分解的理解 Matlab中实现小波分解方式 在matlab中实现小波分解的方式比较简单,通过[C,L] = wavedec(X,N,'wname')得到C和L,如下图,C表示分解得到的各个层的小波 ...

  7. 【小波变换】离散小波分解Discrete Wavelet Transform

    此篇博客记录自学离散小波分解的相关内容,以后若有更多理解在此篇更新. 一. 为什么需要离散小波分解    除离散变换外,还有连续小波分解,通过改变分析窗口大小,在时域上移动窗口和基信号相乘,最后在全时 ...

  8. MATLAB小波分解/重构wavedec/waverec函数中L和C的意义

    这两天在做用小波阈值法进行信号去噪的问题,需要将信号进行五层小波分解,每进行一层分解时都将该层得到的细节系数CDi进行一次阈值化处理.这可以通过多次调用matlab中的dwt函数来实现.但是,在信号进 ...

  9. 小波变换、小波分解[python实现]//未完待续

    更新于2022/10/27 小波变换与小波分解的不同 (235条消息) 小波与小波包.小波包分解与信号重构.小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)_c ...

最新文章

  1. centos7编译安装mysql5.7_在Centos7源码包编译安装MySQL5.7
  2. bpython bs4用哪个解释器好_针对python爬虫bs4(BeautifulSoup)库的基础问题
  3. 各种软路由 - 自制路由器
  4. WebForm页面使用Ajax
  5. 苹果平板可以用html么,9.7寸ipad pro能用pencil吗?ipad pro全面支持Apple Pencil
  6. 怎么判断冠词用a还是an_英文写作常见错误学习笔记 | 冠词
  7. hdu 5631 Rikka with Graph(图)
  8. java vector_Java Vector lastElement()方法与示例
  9. 关于车辆和车牌的检测相关文章
  10. java 重写equals的要点_浅谈java 重写equals方法的种种坑
  11. Race Condition是什么
  12. 多核服务器装SQL2005,提示SQL server服务无法启动
  13. 信用评分卡模型分析(基于Python)--python实现
  14. CAD梦想画图操作界面
  15. 《穿越计算机的迷雾》读书笔记八
  16. VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
  17. 使用Spring Boot开发财务系统视频
  18. 计算机学win7画图,详解使用画图工具的win7中的操作步骤
  19. 咪咕盒子链接服务器失败_咪咕打卡正式开启,你的疑问都可以在这里找答案!...
  20. YY客网络广播 内测进行中!

热门文章

  1. ios下input输入框如何打开能输入小数点的数字键盘?
  2. java仿射变换解密,仿射变换与加密
  3. 悄悄告诉你如何获取别人小程序的源代码(包含wxml,wxss) 绝对有效
  4. GWAS全基因组关联分析:TASSEL 5.0 Windows版软件使用教程
  5. 导入excel错误:外部表不是预期的格式 解决方案
  6. 医院病房改造工程应急疏散指示系统的研究与应用
  7. 【满分】【华为OD机试真题2023 JAVAJS】字符串解密
  8. 7-1 检查宿舍卫生(20分)
  9. 如何避免SCI写作中的中式思维以及无处不在的Chinglish
  10. selectKey 标签