Biphase mark code

From Wikipedia, the free encyclopedia

The biphase mark code is a type of encoding for binary data streams. When a binary data stream is sent without modification via a channel, there can be long series of logical ones or zeros without any transitions which makes clock recovery and synchronization difficult. Streams encoded in NRZ are affected by the same problem. Using biphase mark code makes synchronization easier by ensuring that there is at least one transition on the channel between every data bit; in this way it behaves much like the Manchester code scheme.

When encoding, the symbol rate must be twice the bitrate of the original signal. Every bit of the original data is represented as two logical states which, together, form a bit. Every logical 1 in the input is represented as two different bits (10 or 01) in the output. The input logical 0 is represented as two equal bits (00 or 11) in the output. Every logical level at the start of a cell is inversion of the level at the end of the previous cell. In BMC output the logical 1 and 0 are represented with the same voltage amplitude but opposite polarities, as shown in the following image:

BMC coding provides a better synchronization since there is a change in the polarity at least every two bits. 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 is different from the previous value; this makes synchronization even easier. Finally, BMC 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. All these positive aspects are achieved at the expense of doubling clock frequency.

It should be noted that BMC is essentially a form of frequency modulation, where the channel frequency of a data 1 bit is double the channel frequency of a logical 0 bit.

BMC is used as the encoding method in AES3 and S/PDIF. Many magnetic stripe cards also use BMC encoding, often called F2F (frequency/double frequency) or Aiken Biphase. That standard is described in ISO 7811.

[edit] See also

[edit] References

Languages