基于分解树的小波包分析和基于合成树的小波包分析


  称使用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