Unipolar encoding
Unipolar encoding is a line code. A positive voltage represents a binary 1, and zero volts indicates a binary 0. It is the simplest line code, directly encoding the bitstream, and is analogous to on-off keying in modulation. Its drawbacks are that it is not self-clocking and it has a significant DC component, which can be halved by using return-to-zero, where the signal returns to zero in the middle of the bit period. With a 50% duty cycle each rectangular pulse is only at a positive voltage for half of the bit period. This  is ideal if one symbol is sent much more often than the other and power considerations are necessary, and also makes the signal self-clocking. NRZ (Non-Return-to-Zero) - Traditionally, a unipolar scheme was designed as a non-return-to-zero (NRZ) scheme, in which the positive voltage defines bit 1 and the zero voltage defines bit 0. It is called NRZ because the signal does not return to zero at the middle of the bit, as instead happens in other line coding schemes, such as Manchester code. Compared with its polar counterpart, polar NRZ, this scheme applies a  DC bias to the line and unnecessarily wastes power – The normalized power (power required to send 1 bit per unit line resistance) is double that for polar NRZ. For this reason, unipolar encoding is not normally used in data communications today. An Optical Orthogonal Code (OOC) is a family of (0,l) sequences with good auto- and cross-correlation properties for unipolar environments. They are used in optical communications to enable CDMA in optical fiber trasmission.