Tengo una señal de que pruebo a 500khz. Estoy tratando de detectar un aumento, una caída y el pico en los datos entrantes. La base del pico podría ser de 250 usec o 2.5msec, la amplitud podría ser de 6db o 15db por encima del nivel de ruido. No tengo buen snr lamentablemente. El nivel de CC de la señal no es constante, pero se mueve mucho más lento que el componente de CA.
En el punto de decisión, necesito saber la pendiente del ascenso y la caída. Este es un sistema difícil en tiempo real y realmente necesito tomar una decisión en el uso de 100 después de que la pendiente descendente alcance el nivel de CC.
Estoy buscando sugerencias de cómo puedo implementar eficientemente un algoritmo que sea decente.
Actualmente hago un promedio móvil (pasados 25 puntos de datos sumados) e intento detectar la tendencia. Una vez que detecto la tendencia hacia arriba, comienzo a buscar la tendencia hacia abajo y una vez que lo hago, recojo quizás otras 50 muestras y empiezo a calcular.
El ruido ahora atornilla fácilmente este algoritmo, de ahí la pregunta.
Actualizar
Para beneficio de otros, terminé implementando una media móvil seguida de integrador. El promedio móvil de los últimos 64 datos se suavizó lo suficiente, pero perdió el aumento en un grado, integrando los últimos 8 valores recuperados del aumento y simplemente busco el aumento y la caída, luego hice una regresión lineal para la pendiente. Funciona bien, no muy bien, pero está bien.