Pues no es tan facil y la explicación es que en un sistema muestreado, nada te dice que cuando tomes la muestra lo haga justo en el cero o en el valor positivo, la muestra caerá aleatoriamente delante o detras del cero o del máximo, en el caso del máximo ni siquiera sabriamos si estamos tomando el valor correcto o no, en el caso del cero si por ser un valor único. Por consiguiente con un sistema discreto nunca podremos saber si coincide la muestra con el punto deseado. Esto solo sería posible si el tiempo entre muestras es muy seguido y tomamos por ejemplo 512 muestras, para una frecuencia de 50 Hz tendriamos 20ms/512 = 39 uS, que seria el máximo error que cometeriamos, pero claro no hay ningun micro que muestree a esa velocidad (creo que los micros de Mcrochip no llegan aunque hay ADC externos que sí podrian muestrearlo).
Un saludo.