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

波变换

开发平台:

Matlab

  1. function w = dbaux(N,sumw);
  2. %DBAUX Daubechies wavelet filter computation.
  3. %   W = DBAUX(N,SUMW) is the order N Daubechies scaling
  4. %   filter such that SUM(W) = SUMW.
  5. %   Possible values for N are:
  6. %      N = 1, 2, 3, ...
  7. %   Caution: Instability may occur when N is too large.
  8. %
  9. %   W = DBAUX(N) is equivalent to W = DBAUX(N,1)
  10. %   W = DBAUX(N,0) is equivalent to W = DBAUX(N,1)
  11. %
  12. %   See also DBWAVF, WFILTERS.
  13. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  14. %   Last Revision: 13-May-2003.
  15. %   Copyright 1995-2004 The MathWorks, Inc.
  16. % $Revision: 1.12.4.2 $
  17. % Check arguments.
  18. if nargin < 2 | sumw==0 , sumw = 1; end
  19. % if P is the "Lagrange a trous" filter of order N
  20. % and if w denotes the order N daub scaling filter,
  21. % one has: P = 2*conv(wrev(w),w).
  22. [P,R] = wlagrang(N);
  23. % R gives partial root location of w. 
  24. % w have N zeros located at -1.
  25. w = real(poly([R(abs(R)<1);-ones(N,1)]));
  26. w = sumw*(w/sum(w));