% Detecta o impacto total do pé no solo

function [n,t_imp,amp_imp]=detect_impact(t,pressure)

% Cálculo da média
press=sum(pressure')/size(pressure,2);

% Cálculo do número de amostras para cálculo da variação
% (0.2s definido para uma velocidade de 100 -> periodo=2 segundos)
delta_t=t(end)/length(press);
n_eval=floor(0.2/delta_t);

% Variação da pressão
press_var=zeros(size(press));
for i=n_eval+1:length(press)
    press_var(i)=press(i)-press(i-n_eval);
end

% Amostras do máximo
n=find(abs(press_var)==max(abs(press_var)));
n=n(1);
t_imp=t(n);
amp_imp=press_var(n);

subplot(2,1,1)
plot(t,press,'.');
axis([0 t(end) 0 255]);
grid on

subplot(2,1,2)
plot(t,press_var,'.');
axis([0 t(end) -40 40]);
grid on
