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

波变换

开发平台:

Matlab

  1. function  LS = apmf2ls(APMF)
  2. %APMF2LS Analyzis polyphase matrix factorization to lifting scheme.
  3. %   LS = APMF2LS(APMF) returns the lifting scheme LS corresponding 
  4. %   to the analyzis polyphase matrix factorization APMF. 
  5. %   APMF is a cell array of Laurent Matrices.
  6. %
  7. %   If APMFC is a cell array of factorizations, LSC = APMF2LS(APMFC)
  8. %   returns a cell array of lifting schemes. For each k, LSC{k}
  9. %   is associated to the factorization APMFC{k}.
  10. %
  11. %   See also LS2APMF.
  12. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 11-Jun-2003.
  13. %   Last Revision: 27-Jun-2003.
  14. %   Copyright 1995-2004 The MathWorks, Inc.
  15. %   $Revision: 1.1.6.3 $  $Date: 2004/04/13 00:39:32 $
  16. if isempty(APMF) , LS = [];  return; end
  17. cellMODE = ~isa(APMF{1},'laurmat');
  18. if cellMODE
  19.     nbFACT = length(APMF);
  20.     LS = cell(1,nbFACT);
  21.     for k = 1:nbFACT
  22.         LS{k} = ONE_apmf2ls(APMF{k});
  23.     end
  24. else
  25.     LS = ONE_apmf2ls(APMF);
  26. end
  27. %---+---+---+---+---+---+---+---+---+---+---+---+---%
  28. function LS = ONE_apmf2ls(APMF)
  29. nbLIFT = length(APMF);
  30. LS = cell(nbLIFT,3);
  31. for jj = nbLIFT:-1:2
  32.     k = 1+nbLIFT-jj;
  33.     M = APMF{jj};
  34.     P = M{1,2};
  35.     if P~=0
  36.         LS{k,1} = 'p';
  37.     else
  38.         P = M{2,1};
  39.         LS{k,1} = 'd';
  40.     end
  41.     [LS{k,2},LS{k,3}] = get(P,'coefs','maxDEG');
  42. end
  43. M = APMF{1}; 
  44. P = M{1,1};
  45. C = get(P,'coefs');
  46. LS(nbLIFT,1:3) = {C,1/C,[]};
  47. %---+---+---+---+---+---+---+---+---+---+---+---+---%