小波变换的小小应用案例

#coding=utf-8
import pywt
import matplotlib.pyplot as plt
import numpy as np

ts = [2, 56, 3, 22, 3, 4, 56, 7, 8, 9, 44, 23, 1, 4, 6, 2]
(ca, cd) = pywt.dwt(ts,'haar')
print(ca)
origin_ts=pywt.idwt(ca, cd, 'haar')
print(origin_ts)

dd=pywt.upcoef('a', ca, 'haar') + pywt.upcoef('d', cd, 'haar')
print(len(dd))
print(dd)

dd=pywt.upcoef('a', ca, 'haar')
print(len(dd))

print(dd)
dd=pywt.upcoef('a', ca, 'haar',take=len(dd))
print(len(dd))
print(dd)

data = [1,2,3,4,5,6]
(cA, cD) = pywt.dwt(data, 'db2', 'smooth')
print(pywt.upcoef('a', cA, 'db2') + pywt.upcoef('d', cD, 'db2'))
n = len(data)
print(pywt.upcoef('a', cA, 'db2', take=n) + pywt.upcoef('d', cD, 'db2', take=n))

输出结果:

[41.01219331 17.67766953  4.94974747 44.54772721 12.02081528 47.37615434
  3.53553391  5.65685425]
[ 2. 56.  3. 22.  3.  4. 56.  7.  8.  9. 44. 23.  1.  4.  6.  2.]
16
[ 2. 56.  3. 22.  3.  4. 56.  7.  8.  9. 44. 23.  1.  4.  6.  2.]
16
[29.  29.  12.5 12.5  3.5  3.5 31.5 31.5  8.5  8.5 33.5 33.5  2.5  2.5
  4.   4. ]
16
[29.  29.  12.5 12.5  3.5  3.5 31.5 31.5  8.5  8.5 33.5 33.5  2.5  2.5
  4.   4. ]
[-0.25       -0.4330127   1.          2.          3.          4.
  5.          6.          1.78589838 -1.03108891]
[1. 2. 3. 4. 5. 6.]

结论:包括拆解与还原函数;还原函数对不同的基函数有不同的效果;

问题:这无法实现降维,只能降噪;


 

猜你喜欢

转载自blog.csdn.net/ningyanggege/article/details/81085114