Paso 3: Código de Autocorrleation
for(i=0; i < len; i++) { sum = 0; for(k=0; k < len-i; k++) sum += (rawData[k]-128)*(rawData[k+i]-128)/256; }
Los datos están en la matriz [] rawData . Después restamos 128 de cada valor porque es sin signo de 8 bits y requieren valores firmados.
El valor de suma es el resultado de cada cálculo de autocorrelación, es decir, cada punto de la función. Para guardar memoria de no guardar la salida en una matriz. Vamos a trabajar en los valores individuales de suma para encontrar el primer pico y por lo tanto, calcular el tiempo.
Enviando los valores de la suma a ser trazado, obtenemos la función de autocorrelación que se muestra. Comparar la señal original (también ilustrado) está claro que no hay periodicidad en la señal original y esto ha sido claramente destacado por la función de autocorrelación.