LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
trace_acf.m
1function rho=trace_acf(S,lags)
2% [rho]=trace_acf(S,L)
3%
4% DESCRIPTION
5% Compute the autocorrelation function for trace S at the lags specified in vector L
6
7if nargin==1
8 lags=1;
9end
10
11rho=[];
12
13if max(lags)>length(S)-2
14 warning('Lags are higher than the trace length, truncating the lags vector.');
15 lags = min(lags,length(S)-2);
16 lags(lags == length(S)-2) = [];
17end
18
19if exist('xcorr')
20 rho=xcorr(S-mean(S),max(lags),'coeff');
21 rho=rho((max(lags)+2):end);
22 rho=rho(lags);
23else
24 %warning('trace_acf: signal processing toolbox not found, autocorrelation estimation may be slower than usual.');
25 S=S(:);
26 acv = autocov(S-mean(S));
27 rho=acv(1+lags)'/acv(1);
28% E1=mean(S);
29% E2=mean(S.^2);
30% rho = zeros(1,length(lags));
31% for ki=1:length(lags)
32% rho(ki)=(trace_joint(S,[0,lags(ki)],[1,1])-E1^2)/(E2-E1^2);
33% end
34end
35
36rho=rho(:);
37
38end