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

波变换

开发平台:

Matlab

  1. function LS = filt2ls(LoD,HiD,LoR,HiR,outTYPE)
  2. %FILT2LS Filters to lifting scheme.
  3. %   LS = FILT2LS(LoD,HiD,LoR,HiR) returns the lifting 
  4. %   scheme LS associated to the four input filters LoD, 
  5. %   HiD, LoR and HiR which are supposed to verify the 
  6. %   perfect reconstruction condition.
  7. %     
  8. %   See also LS2FILT, LSINFO.
  9. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 09-Jul-2003.
  10. %   Last Revision: 17-Jul-2003.
  11. %   Copyright 1995-2004 The MathWorks, Inc.
  12. %   $Revision: 1.1.6.3 $  $Date: 2004/04/13 00:39:37 $
  13. if nargin < 5
  14.     flagONE = true;
  15.     outTYPE = 'd_one';
  16. else
  17.     outTYPE = lower(outTYPE);
  18.     switch outTYPE
  19.         case 'd_one' , flagONE = true;
  20.         case 'p_one' , flagONE = true;
  21.         otherwise    , flagONE = false;
  22.     end
  23. end
  24. [Ha,Ga,Hs,Gs,PRCond,AACond] = filters2lp('b',LoR,LoD);
  25. [LS_d,LS_p] = lp2ls(Hs,Gs,'t');
  26. switch outTYPE(1)
  27.     case 'd' , LS = LS_d;
  28.     case 'p' , LS = LS_p;
  29.     otherwise , LS = cat(1,LS_d,LS_p);          
  30. end
  31. if flagONE % Only one LS!
  32.     OK = isequal(LS{1},'d') || isequal(LS{1},'p');
  33.     if ~OK % test for Lazy
  34.         OK = size(LS,1)==1 &&  isequal(LS{1},1) && isequal(LS{2},1);
  35.         if ~OK , LS = LS{1}; end
  36.     end
  37. end