正在学习python小波阈值降噪,记录一下

本人是python小白,刚刚开始学习,记录一下自己的学习成果,以免将来忘记

小波阈值降噪分为这么几步:

1.小波分解:

        ①小波基的选择

②分解尺度的选择

2.阈值处理:

①阈值获取

②阈值函数选择

3.小波重构

具体的小波阈值降噪原理不再赘述,网上有很多大佬讲解的很清楚,这里直接上代码,算是记录一下自己的学习成果。

#需要导入matplotlib.pyplot ,pywt, numpy 和pandas模块。
import matplotlib.pyplot as plt
import pywt
import numpy as np
import pandas as pd
xy=pd.read_csv('D:/SYYD.CSV') #读取CSV文件
s=[]
for each in xy['C1 in V']:
    s.append(each)           
#将需要的数据保存在列表s中
w=pywt.wavedec(s, 'sym7',level=6)#小波分解,pywt.wavedec(数据, 小波基,分解尺度)
###  分解得到的w是一个列表,w[0]是最大尺度的近似系数,w[1]是最大尺度的细节系数,w[2]是次大尺度的细节系数,以此类推
N=len(s)
thr=round(np.sqrt(2*np.log(N)),4)#阈值获取,方式为sqtwolog
for i in range(1,len(w)):
    w[i]=pywt.threshold(w[i], thr,mode='soft')
    #阈值处理函数
rec_s=pywt.waverec(w, 'sym7')#小波重构
plt.subplot(211)
plt.plot(s,linewidth=0.5)
plt.subplot(212)
plt.plot(rec_s,linewidth=0.5)
plt.show()

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值