Detección fácil de cruces por cero en Python usando UliEngineering

Para realizar detección de cruces por cero en arrays de NumPy puedes usar la biblioteca UliEngineering que proporciona una función zero_crossings fácil de usar: Primero, instala UliEngineering.

Ejemplo de uso:

zero_crossings_example.py
from UliEngineering.SignalProcessing.Utils import zero_crossings
# Para generar datos de prueba
from UliEngineering.SignalProcessing.Simulation import sine_wave

# Generar datos de prueba: 10 Hz 10ksps, 1 segundo (= array NumPy 1D de 10000 valores)
data = sine_wave(frequency=10.0, samplerate=10e3)

# Imprime: [0, 500, 1000, 1500, ...]
print(zero_crossings(data))

¡Gracias a Jim Brissom en StackOverflow por la solución original!


Echa un vistazo a artículos similares por categoría: Ciencia de datos Matemáticas Python