基於分解樹的小波包分析和基於合成樹的小波包分析


  稱使用Tpwp的小波包系數的方法,為基於分解(decomposition)樹的小波包分析;稱使用Matlab工具箱的小波包系數的方法,為基於合成(重組recomposition)樹的小波包分析。理想情況下,這二者是相同的,但是在實用中,有數字誤差,明確區分兩種系統的分析處理是有益的。

        這里分辨的關鍵,是數值,而非管理方式。未必像Matlab工具箱那樣使用對象等編程和定義了“樹”。

        可以認為:Tpwp的分解系數矩陣的元素,與重建的濾波過程無關;而Matlab工具箱中所謂的小波包系數,除去正變換運算中的最終端的尺度上的數據外,都可視為其子子孫孫節點上數據的合成、重建結果

        據Matlab的幫助文檔,易知函數wprcoef和wprec,正如其名字中的字母r所指,明顯與合成(用部分節點的重建computes  reconstructed  coefficients和完整地重建returns  the  reconstructed  vector )有關。而且wprec被稱為分解函數wpdec的逆函數(the  inverse  function of  wpdec)。然而,可能誤以為函數wpcoef輸出(returns  the  coefficients  associated  with  the  node)的是,等於Tpwp中分解數據陣列中的系數值,那么,以為它與合成濾波器無關, 下文的Y1就可精確地等於被分解信號X。

        在R2011a中,用T= wpdec(X,……)對信號X做小波包分解后,緊接着運行

Y1=wpcoef(T);  Y2=wprcoef(T);  Y3=wprec(T);

所得的Y1和Y2以及Y3,是完全相同的。它們都與X間,有依賴於濾波器組和數據延拓模式的誤差,類似於在普通離散小波變換中的完美重建誤差。

        Matlab工具箱的普通離散小波分解函數wavedec的輸出,是不涉及重建濾波器組的“純分解”的結果。所以博文《普通離散小波變換是小波包變換樹中的一部分》(2013-11-03),從Tpwp的小波包樹上,反而比從Matlab自己的工具箱的小波包樹上,能獲得與wavedec輸出系數的誤差更小的變換結果。

        利用Matlab小波工具箱,不顯現字眼 “重建”或“合成”以及相應的編程語句,就能可視化與濾波器組和數據延拓模式有關的系統誤差。以圖片1.的程序為例。計算結果如圖片2.所示,由wpcoef獲得的根節點(node  0)上的系數,與被分解信號的誤差,繪於上半部;由wp2wtree從小波包樹上摘取的普通離散小波系數,與wavedec的輸出序列的誤差,繪於下半部。用高斯白噪聲為測試信號,其均值在區間[-8,8]內均勻分布,標准差在[1,68]內均勻分布。

        又一次看到,理想per模式最佳。選用其它某些模式,需更謹慎。

              新浪賽特居士SciteJushi-2014-11-19。

圖片1. 測驗Matlab小波包系數與被處理信號和普通小波變換數據的誤差的m程序

基於分解樹的小波包分析和基於合成樹的小波包分析
圖片2. 由圖片1的程序生成的結果

基於分解樹的小波包分析和基於合成樹的小波包分析


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM