Real-time implementation of a carrier recovery scheme for a digital coherent optical receiver