小波變換04小波包變換

摘要:本文用淺顯的方式解讀pywavelets官方幫助文檔。本文只涉及一維信號的處理。

構造信號

import pywt
t=np.arange(300)
x=0.1*np.sin(0.03*t)
for i in range(90,100):
    x[i]=(i-89)*0.2
for i in range(100,110):
    x[i]=abs(i-110)*0.2

查詢特定小波基函數對原信號的最大分層數,該數字也為小波包變換的默認層數:

print(pywt.dwt_max_level(x.size,'db8'))

小波包分解:

wp = pywt.WaveletPacket(x,'db8',mode='symmetric')

查看所有節點的path:

n = wp.maxlevel
re = []
for i in range(1,n+1):
    for j in [node.path for node in wp.get_level(i, 'freq')]:
        re.append(j)
print(re)

小波變換04小波包變換的圖1

獲取某節點的小波系數:

wp['dd'].data

小波變換04小波包變換的圖2獲取某節點的所在層數:

小波變換04小波包變換的圖3獲取某節點的父節點的path:

小波變換04小波包變換的圖4

獲取某節點的名字:

小波變換04小波包變換的圖5

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP