Esto es fácil. Esto es exactamente lo que hace un filtro de paso bajo. Usted tiene que decidir en qué escala de tiempo desea encontrar la media. Por poco tiempo, desea obtener el promedio. A lo largo de los tiempos largos, desea que este "promedio" varíe. Sólo tú puedes decir dónde debería estar esta transición. Una vez que sepa el período de transición, lo utilizará para ajustar la constante de tiempo del filtro de paso bajo.
Hay muchos tipos de filtros de paso bajo, pero el R-C simple debería funcionar bien. La conexión en cascada de varios filtros R-C permitirá una transición más abrupta entre los regímenes rápidos de "encontrar el promedio" y los lentos de "seguir el promedio".
Si proporciona más detalles, puedo proporcionar una respuesta más específica.
Añadido:
Ahora que ha agregado significativamente más detalles, está claro que un simple filtro analógico de paso bajo no será suficiente. En particular, no cumplirá con el requisito de encontrar el promedio de cada ciclo y después de un solo ciclo.
Hay técnicas analógicas como un integrador cerrado, pero esto será mucho más simple en un microcontrolador. Usted dice que su micro no tiene entrada A / D adicional, pero eso no es un argumento. Primero, ciertamente puede obtener uno que tenga más entradas A / D. En segundo lugar, como estaba dispuesto a agregar componentes electrónicos analógicos, también puede agregar un micro dedicado exclusivamente a esta tarea. Luego puede informar el promedio a través de una interfaz digital simple, como un UART, a la micro principal. En tercer lugar, originalmente solicitó una solución analógica, entonces, ¿cómo esperaba obtener esta información en el micro principal sin un convertidor A / D? Si una señal analógica proporcional al promedio tiene que ir a otra parte, entonces esa señal puede ser fácilmente producida por el micro adicional que hace el promedio. En el peor de los casos, obtienes un circuito que toma la señal de pulso analógica y produce el promedio analógico tal como lo pediste originalmente. Simplemente sucede que el promedio se realizará digitalmente en un microcontrolador dentro de la caja negra.
Afortunadamente, su rango de frecuencia es bastante bajo, por lo que es fácil de manejar incluso por un micro pequeño. La señal puede tener componentes significativos de hasta 1 kHz, pero como desea obtener el promedio, puede aplicar un filtro de paso bajo analógico y, por lo tanto, disminuir la tasa de muestreo aún más. En este caso, perder algunas de las altas frecuencias no hará daño ya que de todos modos no contribuyen al promedio. Con las altas frecuencias atenuadas, también será más fácil identificar los ciclos individuales buscando picos o cruces por cero. Tenga en cuenta que su forma de onda original como muestra tiene múltiples máximos locales y cero cruces. Estos son estrictamente debido a los armónicos de la señal. Con los armónicos reducidos, debería poder obtener un único mínimo / máximo local y cero en cada dirección por ciclo. El firmware calcula el promedio de un cruce por cero positivo al siguiente, por ejemplo.
Probablemente muestrear a 1 kHz. Coloque dos polos de filtrado de paso bajo analógico a aproximadamente 200 Hz antes del A / D. Probablemente necesitará amortiguar el resultado para obtener una impedancia suficientemente baja para la entrada A / D del micro. Una vez dentro del micro, agregaría otro par de polos de filtrado de paso bajo con una frecuencia de reducción menor, como en el rango de 50-100 Hz. Esto es para garantizar un solo cruce por cero positivo por ciclo. Esto puede atenuar la señal de entrada, pero al usar bits de fracción extra en el micro no se perderá información.
Entonces es simplemente encontrar el promedio de cada ciclo. En cada cruce por cero positivo, limpie un acumulador y un contador. Cada muestra, agregue el valor de muestra en el acumulador e incremente el contador en 1. El siguiente cruce por cero divide el valor acumulado por el conteo para obtener el promedio en el ciclo anterior, luego vuelva a hacerlo todo. Si este promedio debe ser reportado como una señal analógica, entonces utilícelo para controlar una salida PWM, que es un filtro de paso bajo externo.