Systems and methods for compensating transitions in a data stream to
account for jitter including laser jitter. Transitions in the data stream
are delayed or advanced depending on the laser jitter and/or whether the
previous transition is a rising or falling transition. The compensation
of transitions is non-linear such that compensation applied to a rising
transition is not necessarily the same as compensation applied to a
falling transition. A history of more than one or more bits or
transitions of the data stream can be used to further adjust the
compensation of transitions in the data stream. When a transition is
detected, the bit following the detected transition is peaked either
positively or negatively such that the following transition is
accordingly delayed or advanced.