In telecommunication, bipolar encoding is a type of return-to-zero (RZ) line code, where two nonzero values are used, so that the three values are +, −, and zero. Such a signal is called a duobinary signal. Standard bipolar encodings are designed to be DC-balanced, spending equal amounts of time in the + and − states. The reason why bipolar encoding is classified as a return to zero (RZ) is that when a bipolar encoded channel is idle the line is held at a constant "zero" level, and when it is transmitting bits the line is either in a +V or -V state corresponding to the binary bit being transmitted. Thus, the line always returns to the "zero" level to denote optionally a separation of bits or to denote idleness of the line. Alternate mark inversion One kind of bipolar encoding is a paired disparity code, of which the simplest example is alternate mark inversion. In this code, a binary 0 is encoded as zero volts, as in unipolar encoding, whereas a binary 1 is encoded alternately as a positive voltage or a negative voltage. The name arose because, in the context of a T-carrier, a binary '1' is referred to as a "mark", while a binary '0' is called a "space". Voltage build-up The use of a bipolar code prevents a significant build-up of DC, as the positive and negative pulses average to zero volts. Little or no DC-component is considered an advantage because the cable may then be used for longer distances and to carry power for intermediate equipment such as line repeaters. The DC-component can be easily and cheaply removed before the signal reaches the decoding circuitry. Synchronization and zeroes Bipolar encoding is preferable to non-return-to-zero whenever signal transitions are required to maintain synchronization between the transmitter and receiver. Other systems must synchronize using some form of out-of-band communication, or add frame synchronization sequences that don't carry data to the signal. These alternative approaches require either an additional transmission medium for the clock signal or a loss of performance due to overhead, respectively. A bipolar encoding is an often good compromise: runs of ones will not cause a lack of transitions. However, long sequences of zeroes remain an issue. Long sequences of zero bits result in no transitions and a loss of synchronization. Where frequent transitions are a requirement, a self-clocking encoding such as return-to-zero or some other