zerohold.m
上传用户:m_sun_001
上传日期:2014-07-30
资源大小:1115k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. function Y=zerohold(X,N)
  2. %ZEROHOLD Oversample the input X, by N times, using zero order hold.
  3. %   Y=zerohold(X,N)
  4. %   If X is a matrix then each row is over sampled
  5. %
  6. %   See : SUBSAMP
  7. %   Copyright (c) Eric Lawrey July 1997
  8. %Modifications:
  9. % 10/7/97 Started writing the function. This function is finished
  10. % and tested. It appears to work.
  11. % 3/8/97 Changed back to the older algorithum of doing zero hold
  12. % by copy one column at a time. This was because the other
  13. % algorithum doesn't work for multiple rows of data.
  14. if N > 0,
  15. if N > 1,
  16. N = round(N);
  17. Y = zeros(size(X,1),size(X,2)*N); %initialize Y
  18. for k = 1:size(X,2)*N
  19. Y(:,k) = X(:,ceil(k/N)); %Copy multiple X values into Y
  20. end
  21. % for k = 1:N:size(X,2)*N, %Copy multiple X values into Y
  22. % Y(:,k:k+N-1)=X(:,ceil(k/N)).*ones(size(X,1),N);
  23. % end
  24. else
  25. Y=X;
  26. end
  27. end