function y = acf2(x, range, windowsize) % y=acf2(x,range,windowsize) - running autocorrelation function % range and windowsize are in samples % fixed window is at end of input array, moving window slides back N = size(x,2); if (range+windowsize>= N) error('range+windowsize larger than input array'); end; y = zeros(size(x,1) ,range); z = x(:, N-windowsize+1:N); % fixed window for i = 0:range-1 zz = x(:, N-windowsize+1-i: N-i); % sliding window zzz = sum(z' .* zz'); y(:,i+1) = zzz'; end