% Autokorrelationsfunktion und Autoleistungsspektrum fuer aequidistant abgetastete Signale mit wirklich streng periodischen Anteilen
% mit direkter Spektralschaetzung (als Referenz - langsam), mit Gewichtung
% Slotkorrelation, direkte Spektralschaetzung und FFT-Implementierung sollten identische Ergebnisse ergeben
function [tau,R,f,P]=aperdirw(x,w,dt,NT)
  % x - Datensatz
  % w - Gewichte (gleiche Laenge wie x)
  % dt - Zeitschritt
  % NT - angenommene Periodenlaenge
  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*(i-1)*dt);
    X1=X1+w(i)*x(i)*E;
    X0=X0+w(i)*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

