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

[edit]

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

[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[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

[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 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

[edit]

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

[edit]

Other line codes that have 3 states:

References

[edit]
  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.