Estoy tratando de calcular la frecuencia fundamental (tono) del método de autocorrelación. A continuación se muestra la figura de la señal que tengo.
La autocorrelación que calculé con el siguiente código en python se muestra en la siguiente imagen:
N = len(kiri) #here kiri is the input signal shown in the above pic
nlags=N/2
r = np.zeros(nlags) #
m=np.zeros(nlags)
for lag in range(nlags):
for nl in range(N - lag):
r[lag] += kiri[nl] * kiri[nl + lag]
Ahora lo que quiero saber es que, ¿se supone que la autocorrelación tiene cero cruces en todos los casos de señales de entrada? Si es así, ¿significa que el resultado de la autocorrelación de Abouve es incorrecto?
Cuando trato de usar los resultados de autocorrelación anteriores para calcular el tono utilizando el método de tono Mcleod, la función NSDF no tiene cruces por cero, por lo que no puede calcular el tono. (el enlace para referencia de este método está en los comentarios)
¿Este método de cálculo de autocorrelación es correcto? ¿O como la señal de entrada en sí no es exactamente una señal periódica, la autocorrelación no tendrá cero cruces?
Por favor ayuda.