A delay section delays a detected signal by less than one bit time in the
NRZ data. A subtraction section performs subtraction between a delayed
signal and the detected signal, and outputs a resultant signal. A clock
extraction section extracts, from crossing points of a subtracted signal,
crossing points whose time interval is more than or equal to (Tb-.alpha.)
and less than or equal to (Tb+.beta.) (wherein 0<.alpha..ltoreq.Tb/8,
0<.beta..ltoreq.Tb: Tb is one bit time in the NRZ data), and outputs a
synchronous signal synchronized with the extracted crossing point. A
clock recovery section synchronizes a clock signal with the phase of the
synchronous signal, and outputs a data clock signal. A determination
section determines the polarity of the subtracted signal outputted from
the subtraction section in accordance with the data clock signal, and
outputs the determination result as the NRZ data.