Puede hacer esto con el PIC, pero sería de gran ayuda comenzar con el hardware correcto delante del A / D. Rectificar las señales es una mala idea. Eso hace que sea más difícil encontrar la amplitud y la fase. AC acopla las señales y agrega una polarización de DC de la mitad del rango A / D. Escálelo de modo que la amplitud máxima no alcance los límites mínimo y máximo del rango A / D.
Puedes usar los dos flujos de muestra de 50 kHz para encontrar tanto las amplitudes como la fase entre las señales.
Si sabes que ambas señales son realmente senos, entonces la amplitud puede derivarse de la diferencia promedio del promedio a largo plazo. Paso muy bajo filtre cada señal para obtener el componente de CC. Reste cada lectura de este componente de CC, luego tome el valor absoluto y promedie eso. El resultado será proporcional a la amplitud. Nuevamente, esto solo funciona si sabes que las señales son senos (contenido de armónicos bajos).
Para encontrar el cambio de fase, detecta los cruces por cero. Busque la primera lectura positiva después de haber visto un número mínimo de lecturas negativas seguidas, por ejemplo. Cada ciclo de una de las señales, calcula cuántos ciclos retrocedieron la última vez que el otro tuvo un cruce por cero. Probablemente habrá un poco de ruido en esta señal, uno de los cuales es el ruido de cuantificación. A una frecuencia de muestreo de 50 kHz, solo tiene 25 muestras por ciclo. El paso bajo filtra este número 0-24 con algunos bits adicionales por debajo del punto binario. Ayudará si la frecuencia de muestreo no es un múltiplo exacto de la frecuencia de interés.
Si lo anterior sigue produciendo demasiado ruido de cuantización, interpolar entre las dos muestras donde ocurrió el cruce por cero para determinarlo con mayor precisión. Esto llevará más ciclos de computación.
En general, haría esto con uno de los PIC de 16 bits o dsPIC con un A / D de 12 bits. El 18F26K22 parece una opción extraña para esto. Una parte de 16 bits permitiría el filtrado de paso bajo de los flujos entrantes antes de hacer cualquier otra cosa con ellos, y el A / D de 12 bits le brinda una mejor resolución de muestreo para comenzar. Eso debería permitir una verdadera medición RMS (aunque eso no sea necesario) y permitir que más ciclos hagan un mejor trabajo para encontrar los cruces por cero, permitiendo mejores mediciones de fase.