Design of convolutional encoders for ultra high speed and optical communications