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

波变换

开发平台:

Matlab

  1. function varargout = wave2ls(wname,factMode,varargin)
  2. %WAVE2LS Lifting schemes associated to a wavelet.
  3. %   LS = WAVE2LS(W,FACTMODE) returns the lifting scheme or 
  4. %   the cell array of lifting schemes LS associated to the  
  5. %   wavelet which name is W. FACTMODE indicates the type 
  6. %   of factorization from which LS is issued. The valid
  7. %   values for FACTMODE are: 
  8. %     'd' (dual factorization) or 'p' (primal factorization).
  9. %
  10. %   LS = WAVE2LS(W) is equivalent to LS = WAVE2LS(W,'d').
  11. %
  12. %   [LS_d,LS_p] = WAVE2LS(W,'t') or LS_All = WAVE2LS(W,'t')
  13. %   returns the lifting schemes obtained from both factorization.
  14. %
  15. %   In addition, ... = WAVE2LS(...,PropName,Value,...) let's 
  16. %   specify:
  17. %      - the maximum power of the low-pass synthezis Laurent
  18. %        polynomial (POWMAX)
  19. %      - the difference between low-pass and high-pass synthezis
  20. %        Laurent polynomials (DIFPOW)
  21. %      - the tolerance value used to perform the control about 
  22. %        lifting scheme(s) reconstruction (TOLERANCE)
  23. %   The corresponding "PropName" are: 
  24. %        'powmax' , 'difpow' , 'tolerance'
  25. %
  26. %   The default values used for POWMAX, DIFPOW and TOLERANCE are
  27. %   0, 0 and 1.E-8 respectively.
  28. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 24-Jun-2003.
  29. %   Last Revision: 08-Jul-2003.
  30. %   Copyright 1995-2004 The MathWorks, Inc.
  31. %   $Revision: 1.1.6.2 $ $Date: 2004/03/15 22:42:15 $ 
  32. % Check input arguments and defaults.
  33. if nargin<2 , factMode = 'd'; end
  34. powMAX = 0;
  35. difPOW = 0;
  36. tolerance = 1.E-8;
  37. nbIn = length(varargin);
  38. for k = 1:2:nbIn
  39.     argNAM = lower(varargin{k});
  40.     argVAL = varargin{k+1};
  41.     switch argNAM
  42.         case 'powmax'    , powMAX = argVAL;
  43.         case 'difpow'    , difPOW = argVAL;
  44.         case 'tolerance' , tolerance = argVAL;
  45.     end
  46. end
  47. factMode = lower(factMode(1));
  48. % Compute the laurent polynomials associated to the wavelet.
  49. [Hs,Gs,Ha,Ga,PRCond,AACond] = wave2lp(wname,powMAX,difPOW);
  50. % Compute lifting schemes.
  51. if nargout>0
  52.     [varargout{1:nargout}] = lp2ls(Hs,Gs,factMode,tolerance);
  53. end