% Autokorrelationsfunktion und Autoleistungsspektrum fuer ungleichmaessig abgetastete Signale mit wirklich streng periodischen Anteilen
% mit direkter Spektralschaetzung (als Referenz - langsam), hier ohne Gewichtung, Gewichtung in sperdirw.m
% Slotkorrelation, direkte Spektralschaetzung und Zeitquantisierung ergeben leicht unterschiedliche Ergebnisse
function [tau,R,f,P]=sperdir(x,t,dt,NT)
  % x - Datensatz
  % t - Messzeitpunkte (gleiche Laenge wie x)
  % dt - Zeitschritt (fuer Korrelationsfunktion und Spektrum)
  % NT - angenommene Periodenlaenge (Vielfache des Zeitschritts)
  N=length(x);
  df=1/(NT*dt);
  f=(mod((0:NT-1)+fix(NT/2),NT)-fix(NT/2))*df;
  X1=zeros(1,NT)+0j;
  X0=zeros(1,NT)+0j;
  for i=1:N
    E=exp(-2j*pi*f*t(i));
    X1=X1+x(i)*E;
    X0=X0+E;
  P1=abs(X1).^2/(NT^2);
  P0=abs(X0).^2/(NT^2);
  R1=NT*real(ifft(P1));
  R0=NT*real(ifft(P0));
  P=real(fft(R1./R0))/NT;
  tau=(0:NT-1)*dt;
  R=NT*real(ifft(P));
end

