离散小波变换

离散小波变换

clear all;
load('650837_20161013152521.mat');
ls=length(WS);
data=WS(1,:)
[C,L]=wavedec(data,4,'db5');
A4=wrcoef('a',C,L,'db5',4);
D4=wrcoef('D',C,L,'db5',1);
subplot(3,1,1);plot(abs(data),'k');
subplot(3,1,2);plot(abs(A4),'k');
subplot(3,1,3);plot(abs(D4),'k');

在这里插入图片描述

import numpy as np
import pywt
import pandas as pd
import matplotlib.pyplot as plt
import os
import wrcoef
path=os.getcwd()+'\\'+'650837_20161013152521_11.xls'
WS=pd.read_excel(path)
data=np.array(WS)[:,0]
[C,L1]=wrcoef.wavedec(data,wavelet='db5',level=4)

c = wrcoef.wavedec2(data, 'db5', level=4)
#构造第5层高频细节系数
a, details = c[0], c[1:]
L = [d.size for d in details[1:]] + [data.size, ]
for n in range(4):
    a = pywt.upcoef('a', a, 'db5', level=1, take=L[n])
#构造第1-5层高频系数
A4 = wrcoef.wrcoef(C, L1, wavelet='db5', level=4)

D4 = wrcoef.wrcoef(C, L1, wavelet='db5', level=1)

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

plt.subplot(3,1,1)
plt.plot(np.abs(data),'k')
plt.subplot(3,1,2)
plt.plot(np.abs(A4),'k')
plt.subplot(3,1,3)
plt.plot(np.abs(D4),'k')
plt.show()

在这里插入图片描述

发布了41 篇原创文章 · 获赞 0 · 访问量 766

猜你喜欢

转载自blog.csdn.net/qestion_yz_10086/article/details/105041930