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

波变换

开发平台:

Matlab

  1. function [t,d] = convv1v2(t,d)
  2. %CONVV1V2 Convert Wavelet Toolbox Data Structures.
  3. %
  4. %   T = CONVV1V2(T,D) converts V1 Data Structures
  5. %   to V2 Data Structures. The output T is a wptree object.
  6. %
  7. %   [T,D] = CONVV1V2(T) converts V2 Data Structures
  8. %   to V1 Data Structures. The input T is a wptree object.
  9. %
  10. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 15-Jul-99.
  11. %   Last Revision: 19-May-2003.
  12. %   Copyright 1995-2004 The MathWorks, Inc.
  13. %   $Revision: 1.5.4.2 $  $Date: 2004/03/15 22:39:58 $
  14. % Check arguments.
  15. %-----------------
  16. nbIn  = nargin;
  17. nbOut = nargout;
  18. nbarg = nargin + nargout;
  19. switch nbIn
  20.     case 0 , 
  21.     case {1,2}
  22.         if nbarg~=3
  23.             error('Invalid number of inputs or outputs!');
  24.         end
  25.     otherwise , error('Too many input arguments.');
  26. end
  27. % Read tree parameters.
  28. %----------------------
  29. order  = treeord(t);
  30. depth  = treedpth(t);
  31. an_old = allnodes(t);
  32. tn_old = leaves(t);
  33. switch nbIn
  34.   case 1
  35.     % Read new data structures.
  36.     %--------------------------
  37.     x = wpcoef(t,0);
  38.     [wavName,entName,entPar] = get(t,'wavName','entName','entPar');
  39.     ento = read(t,'ento',an_old);
  40.     % Create old data structures.
  41.     %----------------------------
  42.     switch order
  43.       case 2 , funcName = 'wpdec';
  44.       case 4 , funcName = 'wpdec2';
  45.     end
  46.     [t,d] = feval(funcName,x,depth,wavName,entName,entPar);
  47.     tn_new = leaves(t);
  48.     n2m = setdiff(tn_old,tn_new);
  49.     for j = 1:length(n2m)
  50.         [t,d] = wpjoin(t,d,n2m(j));
  51.     end
  52.     d = wdatamgr('write_ento',d,ento,an_old);
  53.   case 2
  54.     % Read old data structures.
  55.     %--------------------------
  56.     x = wpcoef(t,d,0);
  57.     wavName = wdatamgr('read_wave',d);
  58.     [entName,entPar] = wdatamgr('read_tp_ent',d);
  59.     ento = wdatamgr('read_ento',d,an_old);
  60.     % Create new data structures.
  61.     %----------------------------
  62.     t = wptree(order,depth,x,wavName,entName,entPar);
  63.     tn_new = leaves(t);
  64.     n2m = setdiff(tn_old,tn_new);
  65.     for j = 1:length(n2m)
  66.         t = wpjoin(t,n2m(j));
  67.     end
  68.     write(t,'ento',ento,an_old);
  69. end