4B3T

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

It uses three output levels:

  • + (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. 4B3T uses a paired disparity code to achieve an overall zero DC bias: six 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 three 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

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[1]
Input Accumulated DC offset
Hex Binary 1 2 3 4
0 0000 + 0 +   (+2) 0−0 (−1)
1 0001 0 − +   (+0)
2 0010 + − 0   (+0)
3 0011 0 0 +   (+1) − − 0   (−2)
4 0100 − + 0   (+0)
5 0101 0 + +   (+2) − 0 0   (−1)
6 0110 − + +   (+1) − − +   (−1)
7 0111 − 0 +   (+0)
8 1000 + 0 0   (+1) 0 − −   (−2)
9 1001 + − +   (+1) − − −   (−3)
A 1010 + + −   (+1) + − −   (−1)
B 1011 + 0 −   (+0)
C 1100 + + +   (+3) − + −   (−1)
D 1101 0 + 0   (+1) − 0 −   (−2)
E 1110 0 + −   (+0)
F 1111 + + 0   (+2) 0 0 −   (−1)

This code forces a transition after at most five consecutive identical non-zero symbols, or four consecutive zero symbols.

Decoding table

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 Hex Ternary Binary Hex Ternary Binary Hex
0 0 0 − 0 0 0101 5 + − − 1010 A
+ 0 + 0000 0 − + + 0110 6 + 0 − 1011 B
0 − 0 0000 0 − − + 0110 6 + + + 1100 C
0 − + 0001 1 − 0 + 0111 7 − + − 1100 C
+ − 0 0010 2 + 0 0 1000 8 0 + 0 1101 D
0 0 + 0011 3 0 − − 1000 8 − 0 − 1101 D
− − 0 0011 3 + − + 1001 9 0 + − 1110 E
− + 0 0100 4 − − − 1001 9 + + 0 1111 F
0 + + 0101 5 + + − 1010 A 0 0 − 1111 F

8B/6T

A similar paired-disparity code was used in the short-lived 100BASE-T4 Fast Ethernet standard. This achieved the same ratio of 4/3 bits per baud while needing to keep track of only two levels of accumulated DC offset by using a larger 256-entry coding table. 6 ternary symbols allow 140 balanced codes (30 permutations of +0000−, 90 permutations of ++00−−, and 20 permutations of +++−−−), and 126 codes with disparity +1 (6 permutations of +00000, 60 permutations of ++000−, and 60 permutations of +++0−−). The codes with disparity +1 are inverted whenever the running disparity is high. From the total of 266 code words, 256 are used as follows:

8B/6T coding table[2]
8B 6T 8B 6T 8B 6T 8B 6T 8B 6T 8B 6T 8B 6T 8B 6T
00 +−00+− 20 00−++− 40 +0+00− 60 0−0++0 80 +−+00− A0 0−0++− C0 +−+0+− E0 +−0++−
01 0+−+−0 21 −−+00+ 41 ++00−0 61 00−+0+ 81 ++−0−0 A1 00−+−+ C1 ++−+−0 E1 0+−+−+
02 +−0+−0 22 ++−0+− 42 +0+0−0 62 0−0+0+ 82 +−+0−0 A2 0−0+−+ C2 +−++−0 E2 +−0+−+
03 −0++−0 23 ++−0−+ 43 0++0−0 63 −00+0+ 83 −++0−0 A3 −00+−+ C3 −+++−0 E3 −0++−+
04 −0+0+− 24 00+0−+ 44 0++00− 64 −00++0 84 −++00− A4 −00++− C4 −++0+− E4 −0+++−
05 0+−−0+ 25 00+0+− 45 ++0−00 65 00−0++ 85 ++−−00 A5 00−−++ C5 ++−−0+ E5 0+−−++
06 +−0−0+ 26 00−00+ 46 +0+−00 66 0−00++ 86 +−+−00 A6 0−0−++ C6 +−+−0+ E6 +−0−++
07 −0+−0+ 27 −−+++− 47 0++−00 67 −000++ 87 −++−00 A7 −00−++ C7 −++−0+ E7 −0+−++
08 −+00+− 28 −0−++0 48 000+00 68 −+−++0 88 0+000− A8 −+−++− C8 0+00+− E8 −+0++−
09 0−++−0 29 −−0+0+ 49 000−++ 69 −−++0+ 89 00+0−0 A9 −−++−+ C9 00++−0 E9 0−++−+
0A −+0+−0 2A −0−+0+ 4A 000+−+ 6A −+−+0+ 8A 0+00−0 AA −+−+−+ CA 0+0+−0 EA −+0+−+
0B +0−+−0 2B 0−−+0+ 4B 000++− 6B +−−+0+ 8B +000−0 AB +−−+−+ CB +00+−0 EB +0−+−+
0C +0−0+− 2C 0−−++0 4C 000−+0 6C +−−++0 8C +0000− AC +−−++− CC +000+− EC +0−++−
0D 0−+−0+ 2D −−00++ 4D 000−0+ 6D −−+0++ 8D 00+−00 AD −−+−++ CD 00+−0+ ED 0−+−++
0E −+0−0+ 2E −0−0++ 4E 000+−0 6E −+−0++ 8E 0+0−00 AE −+−−++ CE 0+0−0+ EE −+0−++
0F +0−−0+ 2F 0−−0++ 4F 000+0− 6F +−−0++ 8F +00−00 AF +−−−++ CF +00−0+ EF +0−−++
10 +0+−−0 30 +−00−+ 50 +0+−−+ 70 −++000 90 +−+−−+ B0 0−000+ D0 +−+0−+ F0 +−000+
11 ++0−0− 31 0+−−+0 51 ++0−+− 71 +−+000 91 ++−−+− B1 00−0+0 D1 ++−−+0 F1 0+−0+0
12 +0+−0− 32 +−0−+0 52 +0+−+− 72 ++−000 92 +−+−+− B2 0−00+0 D2 +−+−+0 F2 +−00+0
13 0++−0− 33 −0+−+0 53 0++−+− 73 00+000 93 −++−+− B3 −000+0 D3 −++−+0 F3 −0+0+0
14 0++−−0 34 −0+0−+ 54 0++−−+ 74 −0+000 94 −++−−+ B4 −0000+ D4 −++0−+ F4 −0+00+
15 ++00−− 35 0+−+0− 55 ++0+−− 75 0−+000 95 ++−+−− B5 00−+00 D5 ++−+0− F5 0+−+00
16 +0+0−− 36 +−0+0− 56 +0++−− 76 +0−000 96 +−++−− B6 0−0+00 D6 +−++0− F6 +−0+00
17 0++0−− 37 −0++0− 57 0+++−− 77 0+−000 97 −+++−− B7 −00+00 D7 −+++0− F7 −0++00
18 0+−0+− 38 −+00−+ 58 +++0−− 78 0−−+++ 98 0+0−−+ B8 −+−00+ D8 0+00−+ F8 −+000+
19 0+−0−+ 39 0−+−+0 59 +++−0− 79 −0−+++ 99 00+−+− B9 −−+0+0 D9 00+−+0 F9 0−+0+0
1A 0+−++− 3A −+0−+0 5A +++−−0 7A −−0+++ 9A 0+0−+− BA −+−0+0 DA 0+0−+0 FA −+00+0
1B 0+−00+ 3B +0−−+0 5B ++0−−0 7B −−0++0 9B +00−+− BB +−−0+0 DB +00−+0 FB +0−0+0
1C 0−+00+ 3C +0−0−+ 5C ++0−−+ 7C ++−00− 9C +00−−+ BC +−−00+ DC +000−+ FC +0−00+
1D 0−+++− 3D 0−++0− 5D ++000− 7D 00+00− 9D 00++−− BD −−++00 DD 00++0− FD 0−++00
1E 0−+0−+ 3E −+0+0− 5E −−+++0 7E ++−−−+ 9E 0+0+−− BE −+−+00 DE 0+0+0− FE −+0+00
1F 0−+0+− 3F +0−+0− 5F 00−++0 7F 00+−−+ 9F +00+−− BF +−−+00 DF +00+0− FF +0−+00
Unused +++−−− +−0000 −+0000 +00000 0+0000
−−−+++ 0000−+ 0000+− 00000+ 0000+0

See also

Other line codes that have 3 states:

References

  1. ^ "Wired Communications T-SMINTO 4B3T Second Gen. Modular ISDN NT (Ordinary)" (PDF) (Data sheet). Version 1.1. Infineon. November 2001. PEF 80902.
  2. ^ Feit, Sidnie (June 19, 2000). "Appendix B.2: 8B/6T Tables". Local Area High Speed Networks. New Riders Publishing. ISBN 1-57870-113-9.