wp2wtree.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:1k
源码类别:

波变换

开发平台:

Matlab

  1. function [Ts,Ds,n2m] = wp2wtree(Ts,Ds)
  2. %WP2WTREE Extract wavelet tree from wavelet packet tree.
  3. %   [T,D] = WP2WTREE(T,D) computes the modified tree
  4. %   structure T and data structure D (see MAKETREE),
  5. %   corresponding to the wavelet decomposition tree.
  6. %
  7. %   See also MAKETREE, WPDEC, WPDEC2.
  8. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  9. %   Last Revision: 04-May-1999.
  10. %   Copyright 1995-2002 The MathWorks, Inc.
  11. % $Revision: 1.13 $
  12. % Check arguments.
  13. if errargn(mfilename,nargin,[2],nargout,[2:3]), error('*'); end
  14. depth = wtreemgr('depth',Ts);
  15. if depth==0
  16.     n2m = [];
  17.     return
  18. end
  19. order  = wtreemgr('order',Ts);
  20. an     = wtreemgr('allnodes',Ts);
  21. tn     = wtreemgr('tnodes',Ts);
  22. ind_an = wcommon(an,tn);
  23. an     = an(ind_an==0);
  24. [d,p]  = ind2depo(order,an);
  25. n2m    = [];
  26. for k=1:order-1
  27.     n2m = [n2m ; an(p==k)];
  28. end
  29. for n = n2m(:)'
  30.     [Ts,Ds] = wpjoin(Ts,Ds,n);
  31. end