%

clear all


data1=dlmread('Data_retail1.txt');
data2=dlmread('Data_retail2.txt');
data3=dlmread('Data_retail3.txt');
data4=dlmread('Data_retail4.txt');
show_graph=[0 0 0 1 0 1];


time1=data1(:,1)-data1(1,1);
steering_wheel1=data1(:,5);
rpm1=data1(:,7);

time2=data2(:,1)-data2(1,1);
steering_wheel2=data2(:,5);
rpm2=data2(:,7);

time3=data3(:,1)-data3(1,1);
steering_wheel3=data3(:,5);
rpm3=data3(:,7);

time4=data4(:,1)-data4(1,1);
steering_wheel4=data4(:,5);
rpm4=data4(:,7);

%função de correlação

t=time1(1:1928);
Fs = time1(2)-time1(1);

x = steering_wheel1(1:1928);
y = steering_wheel2;

figure(1)

plot(t,x,'k-', t,y, 'r-');
title('original')
% espectro cruzado
[Pxy,Omegas] = cpsd(x,y,[],[],[],Fs,'onesided');


figure(2)
plot(Omegas,abs(Pxy))
title('espectro')

%função de correlação cruzada
correlf = real(ifft(Pxy));
figure(3)
plot(correlf);
title('correlação')

%quanto deve deviar para ficar o mais correlacionado possível
[maxval, indicesmax] = min((correlf));

indicesmax = indicesmax*2;

% sinais já alinhados
figure(4)

plot(t,x,'k-', t(indicesmax:end)-t(indicesmax),y(indicesmax:end), 'r-x');
title('alinhados')