load 'patkaMarehtii.txt';

% katsotaan spektri
time = patkaMarehtii(:,1);
X = patkaMarehtii(:,2);
Y = patkaMarehtii(:,3);
Z = patkaMarehtii(:,4);

% delta Acceleration X
for i=1:length(X)-1;
    dAX(i) = X(i+1) - X(i);
end

% delta Acceleration Y
for i=1:length(Y)-1;
    dAY(i) = Y(i+1) - Y(i);
end

% delta Acceleration Z
for i=1:length(Z)-1;
    dAZ(i) = Z(i+1) - Z(i);
end

figure,
subplot(3,1,1);
plot(dAX);
subplot(3,1,2);
plot(dAY);
subplot(3,1,3);
plot(dAZ);

%% FFT
n=2048;
Fs=1/dT(1);

% Nämä ovat cepstrum varten
ms1=Fs/5;                 % maksimi Fx 5 Hz:llä
ms2=Fs/0.1;               % minimi  Fx 0.1 Hz:llä

temp = dAX;
X=fft(temp,n);
X=abs(X);

hz_labels=[];
hz=Fs/n;
for i=1:(n/2)
    hz_labels(i)=hz*i;
end
hz_labels = hz_labels';

% piirretään aikasarja
subplot(3,1,1);
plot(time(1:length(time)-1),temp);
xlabel('Time (s)');
ylabel('Amplitude');
title('Waveform');

% piiretään spektri 
subplot(3,1,2),
plot(hz_labels,20*log10(X(1:n/2)))
%set(gca,'XTick',[1:1000:Fs/2]); 		
xlabel('Hz'); 
ylabel('dB/Hz');
title('FFT') 

% cepstrum is DFT of log spectrum
C=ifft(log(abs(X))); % inverse FFT
% piirretään väliltä 0.1 Hz and 5 Hz
q=(ms1:ms2)/Fs;
subplot(3,1,3);
plot(q,abs(C(ms1:ms2)));
title('Cepstrum');
xlabel('Quefrency (s)');
ylabel('Amplitude');