4B3T

From Wikipedia, the free encyclopedia
Jump to: navigation, search

4B3T, which stands for 4 (four) Binary 3 (three) Ternary, is a line encoding scheme used for ISDN PRI interface. 4B3T represents four binary bits using three pulses.

Description[edit]

It uses three states:

  • + (positive pulse),
  • 0 (no pulse), and
  • − (negative pulse).

This means we have 24 = 16 input combinations to represent, using 33 = 27 output combinations. 000 is not used to avoid long periods without a transition. To achieve an overall zero DC bias, 6 triplets are used which have no DC component (0+−, 0−+, +0−, −0+, +−0, −+0), and the remaining 20 are grouped into 10 pairs with differing disparity (e.g. ++− and −−+). When transmitting, the DC bias is tracked and a combination chosen that has a DC component of the opposite sign to the running total.

This mapping from 4 bits to 3 ternary states is given in a table known as Modified Monitoring State 43 (MMS43). A competing encoding technique, used for the ISDN basic rate interface where 4B3T is not used, is 2B1Q.

The sync sequence used is the 11-symbol Barker code, +++−−−+−−+− or its reverse, −+−−+−−−+++.

Encoding table[edit]

Each 4-bit input group is encoded as a 3-symbol group (transmitted left to right) from the following table. Encoding requires keeping track of the accumulated DC offset, the number of + pulses minus the number of − pulses in all preceding groups. The starting value is arbitrary; here we use the values 1 through 4, although −1.5, −0.5, +0.5 and +1.5 is another possibility.

MMS 43 coding table
Input Accumulated DC offset
1 2 3 4
0000 + 0 +   (+2) 0−0 (−1)
0001 0 − +   (+0)
0010 + − 0   (+0)
0011 0 0 +   (+1) − − 0   (−2)
0100 − + 0   (+0)
0101 0 + +   (+2) − 0 0   (−1)
0110 − + +   (+1) − − +   (−1)
0111 − 0 +   (+0)
1000 + 0 0   (+1) 0 − −   (−2)
1001 + − +   (+1) − − −   (−3)
1010 + + −   (+1) + − −   (−1)
1011 + 0 −   (+0)
1100 + + +   (+3) − + −   (−1)
1101 0 + 0   (+1) − 0 −   (−2)
1110 0 + −   (+0)
1111 + + 0   (+2) 0 0 −   (−1)

Decoding table[edit]

Decoding is simpler, as the decoder does not need to keep track of the encoder state, although doing so allows greater error detection. The 000 triplet is not a legal encoded sequence, but is typically decoded as binary 0000.

Ternary Binary Ternary Binary Ternary Binary
0 0 0 N/A − 0 0 0101 + − − 1010
+ 0 + 0000 − + + 0110 + 0 − 1011
0 − 0 0000 − − + 0110 + + + 1100
0 − + 0001 − 0 + 0111 − + − 1100
+ − 0 0010 + 0 0 1000 0 + 0 1101
0 0 + 0011 0 − − 1000 − 0 − 1101
− − 0 0011 + − + 1001 0 + − 1110
− + 0 0100 − − − 1001 + + 0 1111
0 + + 0101 + + − 1010 0 0 − 1111

See also[edit]

Other line codes that have 3 states: