Étape 3: Autocorrleation Code
for(i=0; i < len; i++) { sum = 0; for(k=0; k < len-i; k++) sum += (rawData[k]-128)*(rawData[k+i]-128)/256; }
Les données sont dans le tableau rawData [] . Nous soustrayons 128 de chaque valeur car il est 8 bits non signé et nous demandons valeurs signées.
La valeur de la somme est le résultat de chaque calcul d’autocorrélation, c'est-à-dire chaque point de la fonction. Afin d’économiser de la mémoire, nous ne sauvegardons la sortie dans un tableau. Nous allons travailler sur les valeurs de chaque somme de trouver le premier pic et donc calculer la période.
Envoie les valeurs de la somme à tracer, nous obtenons la fonction d’autocorrélation illustrée. En comparant au signal original (qui est repris), il est clair qu’il n’y a périodicité dans le signal original et cela a été clairement mis en évidence par la fonction d’autocorrélation.