Yo tuve que resolver un problema parecido, tenia una salida de un tacogenerador que entregaba una salida de tensión senoidal de amplitud proporcional a la velocidad.
Desde ya que tienes que rectificar la onda antes de trabajarla, con un rectificador de precisión, nada de un cuadro de diodos convencional porque pierdes exactitud. Puede ser un rectificador de media onda u onda completa, dependerá de la rapidez con la que debas detectar los cambios o si la señal esta desplazada de su cero (es decir que la amplitud pico negativa es distinta de la positiva).
Ahora bien, si vas a utilizar el ADC del pic no hay necesidad de filtrar la onda para hacerla continua porque si necesitas realizar un analisis rápido el filtrado te va a limitar mucho esa velocidad. Lo que te conviene hacer es solamente colocar en el circuito analógico los filtros necesarios para eliminar ruidos de alta frecuencia (con una capacidad total máxima de 100 o 200 nF para 50 Hz es más que suficiente) y luego ingresar con la onda rectificada pero todavia pulsante al ADC (obviamente acondicionada para que no supere el rango de los 5V). El resto es todo responsabilidad del firmware, hay que crear un algoritmo que muestre continuamente la onda y la analice. Seguramente alguien podrá decir que esto consume mucha memoria y tiempo, pero lo cierto es que si requeris velocidad de procesamiento de la señal no te queda otra y además con interrupciones el proceso se simplifica mucho, el micro casi no nota el trabajo adicional.
Todo sería mucho más simple si utilizarás los comparadores analógicos del PIC, el problema es que dado que tu deseas detectar cambios de 20 mV, estas jugando muy al borde de las especificaciones que da Microchip. Si no recuerdo mal, los comparadores analógicos de los PIC tienen un offset de entrada de +-10 mV y una precision en la tensión de referencia de 15 mV en el mejor de los casos, revisa el datasheet del micro para asegurarte, puede que mi memoria me falle.
Nos leemos.