Coded mark inversion

From Wikipedia, the free encyclopedia
Jump to: navigation, search
CMI line coding

In telecommunication, coded mark inversion (CMI) is a non-return-to-zero (NRZ) line code. It encodes zero bits as a half bit time of zero followed by a half bit time of one, and while one bits are encoded as a full bit time of a constant level. The level used for one bits alternates each time one is coded.

This is vaguely reminiscent of, but quite different from, Miller encoding, which also uses half-bit and full-bit pulses, but additionally uses the half-one/half-zero combination and arranges them so that the signal always spends at least a full bit time at a particular level before transitioning again.

CMI doubles the bitstream frequency, when compared to its simple NRZ equivalent, but allows easy and reliable clock recovery.


  • ITU-T G.703 (11/2001), Annex A, A.3 Definition of CMI.
  • US 4325053, Pierre Le Brozec; Francois Ferret & Pierre Doussoux, "Method and a circuit for decoding a C.M.I. encoded binary signal", issued 1982-04-13  (google patents link)

See also[edit]