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

波变换

开发平台:

Matlab

  1. function t = wpthcoef(t,keepapp,sorh,thr)
  2. %WPTHCOEF Wavelet packet coefficients thresholding.
  3. %   NEWT = WPTHCOEF(T,KEEPAPP,SORH,THR) 
  4. %   returns the new wavelet packet tree NEWT 
  5. %   obtained from the wavelet packet tree T 
  6. %   by coefficients thresholding.
  7. %
  8. %   If KEEPAPP = 1, approximation coefficients are not
  9. %   thresholded, otherwise it is possible.
  10. %   If SORH = 's', soft thresholding is applied,
  11. %   if SORH = 'h', hard thresholding is applied (see WTHRESH).
  12. %   
  13. %   THR is the threshold value.
  14. %
  15. %   See also WPDEC, WPDEC2, WPDENCMP, WTHRESH.
  16. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  17. %   Last Revision: 14-May-2003.
  18. %   Copyright 1995-2004 The MathWorks, Inc.
  19. %   $Revision: 1.4.4.2 $  $Date: 2004/03/15 22:39:26 $
  20. tnods = leaves(t);  % Keep terminal nodes.
  21.                     % Sort terminal nodes
  22.                     % from left to right.
  23.                     % Approximation index is 1.
  24. if keepapp==1
  25.     % Save approximation.
  26.     app_coefs = read(t,'data',tnods(1));
  27. end
  28. coefs = read(t,'data');
  29. coefs = wthresh(coefs,sorh,thr);
  30. t     = write(t,'data',coefs);
  31. if keepapp==1
  32.     % Restore approximation.
  33.     t  = write(t,'data',tnods(1),app_coefs);
  34. end