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

波变换

开发平台:

Matlab

  1. function [H,G,HT,GT] = ls2lp(LS,factMode)
  2. %LS2LP Lifting scheme to Laurent polynomials.
  3. %   [H,G,HT,GT] = LS2LP(LS,FACTMODE) returns the two  pairs of
  4. %   Laurent polynomial associated to the lifting scheme LS. 
  5. %   The pairs (H,G), (HT,GT) are the primal and the dual pair
  6. %   respectively. FACTMODE indicates the type of polyphase
  7. %   matrix factorization. The valid values for FACTMODE are:
  8. %     'd' (dual factorization) or 'p' (primal factorization).
  9. %
  10. %   LS2LP(LS) is equivalent to LS2LP(LS,'d').
  11. %
  12. %   Let: [Hp,Gp,HTp,GTp] = LS2LP(LS,'p') and 
  13. %        [Hd,Gd,HTd,GTd] = LS2LP(LS,'d') 
  14. %
  15. %   If LS is associated to an orthogonal wavelet, then:
  16. %      Hp = Hd  , Gp = Gd  , HTp = HTd , GTp = GTd
  17. %
  18. %   If LS is associated to a biorthogonal wavelet, then:
  19. %      Hp = HTd , Gp = GTd , HTp = Hd  , GTp = Gd
  20. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 22-Jan-2003.
  21. %   Last Revision: 27-Jun-2003.
  22. %   Copyright 1995-2004 The MathWorks, Inc.
  23. %   $Revision: 1.1.6.3 $  $Date: 2004/04/13 00:39:52 $
  24. if nargin<2 , factMode = 'd'; end
  25. PMF = ls2pmf(LS,factMode);
  26. PM  = prod(PMF{:});
  27. Z  = laurpoly(1,-1);    
  28. PM = newvar(PM,'z^2'); 
  29. H  = PM{1,1} + Z*PM{2,1}; 
  30. G  = PM{1,2} + Z*PM{2,2};
  31. HT = -Z*newvar(newvar(G,'1/z'),'-z');
  32. GT =  Z*newvar(newvar(H,'1/z'),'-z');
  33. %--------------------------------------
  34. % HT = -Z*modulate(reflect(G));
  35. % GT =  Z*modulate(reflect(H));
  36. %--------------------------------------