differential manchester encoding is a line code in which data and clock signals are combined to form a single 2-level self-synchronizing data stream. it is a differential encoding, using the presence or absence of transitions to indicate logical value. it is not necessary to know the polarity of the sent signal since the information is not kept in the actual values of the voltage but in their change: in other words it does not matter whether a logical 1 or 0 is received, but only whether the polarity is the same or different from the previous value; this makes synchronization easier. differential manchester encoding is not to be confused with biphase mark code (bmc) or fm1, biphase space coding, and biphase level coding since these four lines codes are each unique.http://ckp.made-it.com/encodingschemes.html differential manchester encoding has the following advantages over some other line codes: * a transition is guaranteed at least once every bit, allowing the receiving device to perform clock recovery. * detecting transitions is often less error-prone than comparing against a threshold in a noisy environment. * unlike with manchester encoding, only the presence of a transition is important, not the polarity. differential coding schemes will work exactly the same if the signal is inverted (wires swapped). (other line codes with this property include nrzi, bipolar encoding, coded mark inversion, and mlt-3 encoding). * if the high and low signal levels have the same voltage with opposite polarity, coded signals have zero average dc voltage, thus reducing the necessary transmitting power and minimizing the amount of electromagnetic noise produced by the transmission line. these positive features are achieved at the expense of doubling clock frequency - the symbol rate is twice the bitrate of the original signal. each bit period is divided into two half-periods: clock and data. the clock half-period always begins with a transition from low to high or from high to low. the data half-period makes a transition for one value and no transition for the other value. one version of the code makes a transition for 0 and no transition for 1 in the data half-period; the other makes a transition for 1 and no transition for 0. thus, if a "1" is represented by one transition, then a "0" is represented by two transitions and vice versa, making differential manchester a form of frequency shift keying. either code can be interpreted with the clock half-period either before or after the data half-period. thumb|center|600px|an example of differential manchester encoding: data before clock (negative edge clock), and 0 means transition. biphase mark coding transitions on every positive edge of the clock signal (when the clock goes from 0 to 1) and also translates on the negative edge of the clock si
Line_codes