GB2311441A - 16B6O encoded data transmission - Google Patents
16B6O encoded data transmission Download PDFInfo
- Publication number
- GB2311441A GB2311441A GB9605086A GB9605086A GB2311441A GB 2311441 A GB2311441 A GB 2311441A GB 9605086 A GB9605086 A GB 9605086A GB 9605086 A GB9605086 A GB 9605086A GB 2311441 A GB2311441 A GB 2311441A
- Authority
- GB
- United Kingdom
- Prior art keywords
- control
- bit
- code
- words
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000005540 biological transmission Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000009466 transformation Effects 0.000 claims description 10
- 239000004020 conductor Substances 0.000 description 24
- 238000001514 detection method Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- WDZRUXKVLXELHY-UHFFFAOYSA-N SSSSSSSSSSSSSSSSSS Chemical compound SSSSSSSSSSSSSSSSSS WDZRUXKVLXELHY-UHFFFAOYSA-N 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- AHLBNYSZXLDEJQ-FWEHEUNISA-N orlistat Chemical compound CCCCCCCCCCC[C@H](OC(=O)[C@H](CC(C)C)NC=O)C[C@@H]1OC(=O)[C@H]1CCCCCC AHLBNYSZXLDEJQ-FWEHEUNISA-N 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
- H04L25/4919—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using balanced multilevel codes
Landscapes
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
Data is transmitted in blocks over a channel together with control signals for coordinating access to the channel. The control signals are represented by control codewords which are grouped into two subsets, and codewords for successive control signals are selected from each subset alternately. The received codewords are checked to ensure that the alternation has been preserved. This helps to reduce the risk of a valid control signal being corrupted in such a way as to produce another valid but incorrect control signal. The use of two subsets of codewords can also enable energy in the transmitted signal to be spread more uniformly against frequency. A particular 16B6O binary-octary code which has advantageous properties is disclosed, with a method for deriving it.
Description
Apparatus and method for communicating data (3960381 Technical Field
This invention relates to apparatus and methods for communicating data, and particularly, though not exclusively, to apparatus and methods for communicating data over a plurality of channels, such as a cable having a plurality of conductors (for example, four twisted pairs of wires), and for encoding and/or decoding data, for example in connection with such communications.
Background Art
The spread of personal computers and workstations has led to the development of networks for interconnecting such equipment and common resources such as printers and data storage devices. More powerful and sophisticated computing equipment and programs have progressively become available, allowing the processing of data in larger and larger quantities, for example in the form of database information and graphic images. These developments have in turn placed increasing demands on the speed and capacity of networks. Various new networking technologies have been proposed to cater for these demands. One recent proposal has been established as IEEE Standard 802.12, and is also known as lOOVG-AnyLAN. This technology, which transfers data at 100 megabits/s (Mb/s), involves splitting a data frame to be transmitted into consecutive blocks of five bits each, encoding the blocks using a SB6B code, and distributing the encoded blocks among four twisted-pair conductors on a cyclic basis.
Although networks based on this technology are being deployed and meet current requirements, it is envisaged that future computing developments will eventually require even higher-speed and thus higher-capacity networks. However, to minimize the costs involved it is desirable to continue to use the same kind of cabling infrastructure as is being used for current networks. However, the use of such infrastructures requires conformance with strict regulatory limits on the level of radiated electromagnetic emissions having frequencies above 30 MHz. Simply increasing the bit rate of existing networking systems, for example, would result in unacceptable levels of such emissions.
It is an object of this invention to provide apparatus and methods for communicating data at data rates in excess of 100 Mb/s, using similar conductors to those now in use and conforming to regulatory requirements.
Disclosure of Invention
According to one aspect of this invention there is provided apparatus for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof.
According to another aspect of this invention there is provided apparatus for communicating data over a channel together with control signals, wherein control signals are represented by control code words selected from a group of control code words, said group of control code words comprising at least two subsets, and control code words being selected from each subset in turn.
According to a further aspect of this invention there is provided apparatus for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof, wherein control signals are represented by control code words selected from a group of control code words, said group of control code words comprising at least two subsets, and control code words being selected from each subset in turn.
According to another aspect of this invention there is provided a method for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof.
According to yet another aspect of this invention there is provided a method for communicating data over a channel together with control signals, wherein control signals are represented by control code words selected from a group of control code words, said group of control code words comprising at least two subsets, and control code words being selected from each subset in turn.
According to a further aspect of this invention there is provided a method for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof, wherein control signals are represented by control code words selected from a group of control code words, said group of control code words comprising at least two subsets, and control code words being selected from each subset in turn.
Brief Description of Drawings
Apparatus and methods in accordance with this invention for communicating data using unshielded twisted-pair cable will now be described, by way of example, with reference to the accompanying drawings, in which:
Figure 1 is a block schematic diagram of a form of the apparatus;
Figure 2 is a block diagram of a side-stream scrambler included in the apparatus of Figure 1;
Figure 3 is a waveform diagram showing waveforms at various points in the apparatus of Figure 1; and
Figure 4 is a block schematic diagram of a control formatting block.
Best Mode for Carrying Out the Invention. & Industrial Applicability
Figure 1 shows an apparatus for communicating data at rates in excess of 100Mb/s over Category 5 unshielded twisted-pair (UTP) cable, as defined by ISO/IEC 11801:1995.
This apparatus enables data communication at these rates to be achieved whilst still conforming to regulatory requirements on levels of radiated electromagnetic emissions.
The apparatus is particularly well suited to use in implementing a demand priority protocol for shared use of a communications medium, of the kind disclosed in US patent specification No. 5 438 571. The system disclosed therein operates at a data rate of 100Mb/s over four-conductor UTP cable; the present apparatus enables even higher data rates to be achieved over Category S cabling. In this connection, the apparatus provides for the communication both of data and of control signals which are used in the demand priority protocol to coordinate access to the communications medium and operation of the circuitry contained in the apparatus.
Referring to Figure 1, the apparatus comprises a transmitter section 12 and a receiver section 14, linked by a communications channel comprising a single Category 5
UTP conductor 16. Data are shown as comprising sixteen-bit words, and for clarity each block is represented as receiving multiple bits in parallel. In practice some functions may be implemented in a bitwise serial manner (as described below, for example, in relation to the scrambling of data words). In addition, the processing of a particular data word need not occur in a strictly chronological sequence of separate steps corresponding to the sequence of blocks shown in the drawing. Thus delimiter detection in the receiver section 14 and consequent selection of error detection mechanism (also described below) may affect contemporaneously received blocks; for this purpose buffer memory may be provided in some blocks as necessary.
The transmitter section 12 contains a multiplexer 20 with two inputs for receiving sixteen-bit data words and control words respectively, and for selecting signals on one of these two inputs in accordance with a CONTROL/DATA selection signal. The control words have only five active bits. The value of the eleven remaining most significant bits of the control words has no effect on the subsequent correct operation of the transmitter.
The selected input word to the multiplexer is passed to a side-stream scrambler 22.
Typical data traffic on a communications network includes patterns that are simply repetitive ones or zeros. Likewise, control words may remain unchanged for extended periods of time, leading to repetition of the same words. If these repetitions were transmitted over the conductor 16, a large proportion of the transmitted energy would be concentrated at relatively few frequencies, resulting in problems with radiated emissions.
The scrambler 22 provides a reversible randomization of the transmitted bit pattern, by combining the data and control word stream with a pseudo-random bit sequence. As shown in Figure 2, this pseudo-random bit sequence is generated in a shift register 24 which is loaded with a predefined starting pattern. As each bit of the data and control word stream is received, the contents of the shift register are shifted by one position. The value in the output stage of the shift register is fed back to selected earlier stages, in each of which it is combined with the value from the preceding stage in an exclusive-OR gate (not shown) to produce the desired pseudo-random sequence. The output value is also supplied to an exclusive-OR gate 26 for combination with the current bit of the data and control word stream to produce the scrambled bit stream.
Referring again to Figure 1, the five bits of the scrambled bit stream which correspond to the five active bits of the control words are supplied to a control formatting block 101 and all sixteen bits of the scrambled bit stream are supplied to a second multiplexer 28 having a second sixteen-bit input receiving a value from the control formatting block 101. When the CONTROL/DATA selection signal indicates that data are being transmitted, the output of the scrambler is selected, whereas the output of the control formatting block is used in the case when control words are being transmitted.
The control formatting block, shown in Figure 4, performs two functions. The first function is to generate a one bit signal 103 with a value that alternates between logical 1 and logical 0 each time five input bits are received. The second function is to form a sixteen bit word 107 which is supplied to the multiplexer 28. For the purpose of this description, the individual bits of this sixteen bit word are labelled bl5. . .b0 where bl5 is the most significant bit and bO is the least significant bit, and the active bits of the sixteen bit control word are the five least significant bits. The sixteen bit word 107 is constructed such that bits b14...b10 take the value of the five bits 104, bits b9...b5 take the value of the five bits 104, and bits b4...b0 take the value of the five bits 104. Bit bl5 takes the value of the one bit signal 103.
The output of the multiplexer 28 is fed to a sixteen-bit/six-octary-symbol (16B60) encoder 30. This encoder translates each scrambled or control formatted sixteen-bit word into a corresponding code word of six symbols in an 16B60 block code, where each symbol can have any one of eight possible values. These eight possible symbol values will be represented on the twisted pair conductor 16 by eight different voltage levels (measured between the two wires of the twisted conductor pair), four being positive and four negative.
For convenience these symbols and the corresponding voltage levels will be represented here by the arbitrary numerical values -7, -5, -3, -1, +1, +3, +5 and +7; the actual voltages may be numerically different from these values, and may be chosen to satisfy practical requirements involving, for example, power dissipation and noise margins.
The actual output of the encoder 30 is a sequence of three-bit words, each having one of eight possible values ( 000, 001, 010, 011, 100, 101, 110, and 111) representing one of the eight possible octary symbols, and successive sextets of three bit words defining the six symbols comprising the code word for the corresponding sixteen-bit word supplied to the encoder 30.
The sequence of three-bit words produced by the encoder 30 is fed to an insertion module 32 which inserts additional three bit words (i.e. symbols) representing delimiters before and after control word symbol sextets, and error detection symbols in association with sequences of data word symbols. To this end the insertion module 32 receives a
CONTROL/DATA input signal in the same manner as the multiplexers 20 and 28.
The 16B60 code and the operation of the encoder 30 and the insertion module 32 will be described in more detail below.
The three bit word sequence output by the insertion module 32 is supplied to a digital-to-analogue converter (DAC) 34, which produces a respective voltage level for each different symbol value and applies this voltage level to the twisted-pair conductor 16.
The receiver 14 receives these voltages levels in an equalizer 42. The equalizer compensates for the effects of different conductor lengths on distortion affecting the received signals. The compensated signal produced by the equalizer 42 is supplied to a decision circuit 44 (for example, an Analogue to Digital Converter) which generates one of the eight possible three bit word values 000 to 111 corresponding to the voltage level closest to that present at the output of the equalizer for each successive symbol period. In this respect the receiver 14 incorporates a clock recovery circuit (not shown), such as a phase-locked loop, to enable the symbol periods to be identified in the received signal.
The sequence of three bit words generated by the decision circuit 44 is passed to an error detection module 46, which, as described below, removes and checks the error detection symbols inserted by the insertion module 32 in association with data word symbols, and checks the delimiters and associated control word symbols. Errors detected by this module are used to correct errors if possible, or request retransmission of the affected data and control signals, or indicate the occurrence of an error to another function within a larger system.
The remaining three bit words are supplied to an 16B60 decoder 48 which checks that the received encoded symbols are valid, and reverses the encoding performed by the encoder 30. This decoder also recognizes the three bit words used to form delimiters and accordingly generates a CONTROL/DATA selection signal for the receiver 14, supplied to the error detection module 46.
The decoded sixteen-bit words are fed to a descrambler 50 which operates in the same manner as the scrambler 22 to produce the same pseudo-random bit sequence; this sequence is combined with the decoded words to reverse the scrambling effected in the transmitter 12, and recover the original data and control words. The recovered words are separated into respective control and data word streams by a demultiplexer 52 under the control of the CONTROL/DATA selection signal from the decoder 48. In the case of the control words the eleven bits of the output from the demultiplexer 52 which correspond to the inactive bits at the input to the transmit multiplexer 20 are ignored.
The 16B60 code implemented in the encoder 30 may be derived in various ways, such as by a procedural technique or by using look-up tables. A procedural technique will be described first.
For the purpose of this description, the sixteen bits input to the encoder will be labelled bl5. . .b0, where b15 is the most significant bit and bO is the least significant bit. The six octary symbols output from the encoder will be denoted Ci,Di, where i =1,2 or 3. The octary symbols have nominal values -7,-S, -3, -1, 1, 3, 5, 7. Six additional parameters are also defined: Ai,Bi where i=1,2, or 3, which take the value of an octary symbol. The encoder operation will be described in two stages.
In the first stage, input bits b4.. .b0 are used to choose (Al ,B1) from a set of 32 possible pairs of octary symbols, according to Table 1.
Table 1
decimal value b4. .b0 of b4...b0 Ai Bi 00000 0 -5 5 00001 1 -3 3 00010 2 -1 1 00011 3 1 -1 00100 4 3 -3 00101 5 5 -5 00110 6 -5 7 00111 7 -3 5 01000 8 -1 3 01001 9 3 -1 01010 10 5 -3 01011 11 7 -5 01100 12 1 1 01101 13 -3 7 01110 14 -1 5 01111 15 5 -1 10000 16 7 -3 10001 17 1 3 10010 18 3 1 10011 19 -1 7 10100 20 1 5 10101 21 3 3 10110 22 5 1 10111 23 7 -1 11000 24 1 7 11001 25 3 5 11010 26 5 3 11011 27 7 1 11100 28 3 7 11101 29 5 5 11110 30 7 3 11111 31 5 7
Similarly, input bits b9...b5 and b14. ..blO are used to chose (A2,B2) and (A3,B3) respectively, according to Table 1.
The second stage of coding operates as follows. Having chosen (Ai,Bi), one of several procedures described below is used to derive the output symbols Ci,Di. The choice of procedure is made according to the value of the most significant bit of the sixteen input bits, bl5, and according to the number of pairs (Ai,Bi) for which Ai+Bi=O, as shown in
Table 2.
Table 2: no. (Ai,Bi) Bit b15 satisfying 0 1
Ai+Bi=O
O ib 3b
1 ib 4b
2 2 5
3 2 6
Each entry in Table 2 shows which procedure is used to form the output octary symbols
Ci, Di from the parameters Ai, Bi. Six procedures are defined below.
Procedure ib Let (x,y,z) be the permutation of the set (1,2,3) satisfying:
Ax+Bx > = Ay+By > = Az+Bz
(Ax+Bx = Ay+By) implies x > y
(Ax+Bx > Ay+By) and (Ay+By = Az+Bz) implies y > z
(Ax+Bx = Ay+By = Az+Bz) implies x=2, y=l, z=3 Then (Ci,Di) = (-Ai,-Bi) for i =
= (Ai,Bi) otherwise.
Procedure 2
(Ci,Di) = (Ai,Bi) for all i.
Procedure 3b
Let (x,y,z) be the permutation of the set (1,2,3) satisfying:
Ax+Bx > = Ay+By > = Az+Bz
(Ax+Bx = Ay+By) implies x > y
(Ax+Bx > Ay+By) and (Ay+By = Az+Bz) implies y > z
(Ax+Bx = Ay+By = Az+Bz) implies x=2, y=l, z=3 If 2ax+2bx < = A1+B1+A2+B2+A3+B3 then (Ci,Di) = (-Ai,-Bi) for i =
= (Ai,Bi) otherwise.
If 2ax+2bx > A1+B1+A2+B2+A3+B3 then (Ci,Di) = (Ai,Bi) for i =
= (-Ai,-Bi) otherwise.
Procedure 4b
If there is some i for which (Ai,Bi) = (5,7), then let j be the least such value, and (Ci,Di) = (-7,7) ifi = j
= (Ai,Bi) otherwise.
If a(j1)+b(j1)= a(j2)+b(j2)# (j2)+b(j2) < 12 for some jl < j2 in (1,2,3), then (Ci,Di) = (-Ai,-Bi) if i = j2
= (Ai,Bi) otherwise.
If (A1+B1,A2+B2,A3+B3) (0,4,10) then (Ci,Di) = (Ai,Bi-2) if Ai+Bi = 0
= (Ai,Bi) otherwise.
If (Al+Bl,A2+B2,A3+B3) (0,6,8) or (0,6,10) then (Ci,Di) = (Ai-2,Bi-2) if Ai+Bi = 0
= (Ai,Bi) otherwise.
If {A1 +B1,A2+B2,A3+B3} = (0,8,10) then (Ci,Di) = (Ai,Bi+2) if Ai+Bi = 0
= (Ai-2,Bi-2) otherwise.
Otherwise (ie. if (Ci,Di) is not defined by the rules above),
(Ci,Di) = (Ai,Bi) for all i.
Procedure 5
If A1+B1 > 0, then (Cl,Dl) = (7,5) if Al+Bl+A2+A3 < 0 (7,-7) if O < = Al+Bl+A2+A3 < = 12
(-7,-5) if 12 < Al+Bl+A2+A3 (C2,D2) = (Al,Bl)
(C3,D3) = (A2,A3).
If A2+B2 > 0, then
(C2,D2) = (7,5) if A2+B2+A3+A1 < 0
(7,-7) if O < = A2+B2+A3+A1 < = 12
(-7,-5) if 12 < A2+B2+A3+A1
(C3,D3) = (A2,B2) (Cl,Dl) = (A3,A1).
If A3+B3 > 0, then
(C3,D3) = (7,5) if A3+B3+A1+A2 < 0
(7,-7) if O < = A3+B3+A1+A2 < = 12
(-7,-5) if 12 < A3+B3+A1+A2 (Cl,Dl) = (A3,B3)
(C2,D2) = (A1,A2)
Procedure 6
(Ci,Di) = (Ai+2, -Ai) for i=l.
(Ci,Di) = (Ai, 2-Ai) for i=2 and i=3.
The code may alternatively be derived by a series of look-up tables which are used to determine the six octary symbols corresponding to each sixteen bit input word. The code is described in this way below. For the purpose of this description, the sixteen bits input to the encoder will be labelled b15...b0, where blS is the most significant bit and bO is the least significant bit. The six octary symbols output from the encoder will be denoted
Ci,Di, where i =1,2 or 3. The octary symbols have nominal values -7, -5, -3, -1, 1, 3, 5, 7.
Step 1
The sixteen bits of the input words are assigned to four variables as follows: I1=b4, b3, b2,bl,bO] I2= [b9, b8, b7, b6, bS] 13= rI)14, b13, b12, bll, blO] 14= [b15)
(Provided that a one to one mapping, of five bits to each of I1, 12, 13 and one bit to 14, is
used, the particular choice of input bits for each variable is immaterial.)
Step 2
For each of Ii, i= 1,2 and 3, a corresponding parameter Wi is determined from Table 3.
Table 3 li Wi Ii Wi
0 0 16 2
1 0 17 2
2 0 18 2
3 0 19 3
4 0 20 3
S 0 21 3
6 1 22 3
7 1 23 3
8 1 24 4
9 1 25 4
10 1 26 4
11 1 27 4
12 1 28 5
13 2 29 5
14 2 30 5
15 2 31 6
Step 3
Look-up tables are then used to determine six octary symbols corresponding to I1, 12 and 13. The particular look-up table in Table S used for each oft1, 12, and 13 is determined by the values of 14, W1, W2 and W3 according to Table 4 below. The entries in Table 4 take the form pqr where: p is the look-up table in Table 5 to be used for mapping I1 to output symbols q is the look-up table in Table S to be used for mapping 12 to output symbols r is the look-up table in Table S to be used for mapping 13 to output symbols
If p,q and r = s (i.e. the entry 'sss' occurs), this represents a special case which will be described in more detail below.
Table 4 14 W3 W2 W1 O 1 2 3 4 5 6 0 0 0 111 111 111 111 111 111 111
1 111 211 121 121 121 121 121
2 111 211 211 121 121 121 121
3 111 211 211 211 121 121 121
4 111 211 211 211 211 121 121
5 111 211 211 211 211 211 121
6 111 211 211 211 211 211 211 0 1 0 111 211 112 112 112 112 112
1 121 211 112 112 112 112 112
2 112 112 211 121 121 121 121
3 112 112 211 211 121 121 121
4 112 112 211 211 211 121 121
5 112 112 211 211 211 211 121
6 112 112 211 211 211 211 211 0 2 0 111 211 211 112 112 112 112
1 121 121 211 112 112 112 112
2 121 121 211 112 112 112 112
3 112 112 112 211 121 121 121
4 112 112 112 211 211 121 121
5 112 112 112 211 211 211 121
6 112 112 112 211 211 211 211 0 3 0 111 211 211 211 112 112 112
1 121 121 211 211 112 112 112
2 121 121 121 211 112 112 112
3 121 121 121 211 112 112 112
4 112 112 112 112 211 121 121
5 112 112 112 112 211 211 121
6 112 112 112 112 211 211 211 0 4 0 111 211 211 211 211 112 112
1 121 121 211 211 211 112 112
2 121 121 121 211 211 112 112
3 121 121 121 121 211 112 112
4 121 121 121 121 211 112 112
5 112 112 112 112 112 211 121
6 112 112 112 112 112 211 211 0 5 0 111 211 211 211 211 211 112
1 121 121 211 211 211 211 112
2 121 121 121 211 211 211 112
3 121 121 121 121 211 211 112
4 121 121 121 121 121 211 112
5 121 121 121 121 121 211 112
6 112 112 112 112 112 112 211 0 6 0 111 211 211 211 211 211 211
1 121 121 211 211 211 211 211
2 121 121 121 211 211 211 211
3 121 121 121 121 211 211 211
4 121 121 121 121 121 211 211
5 121 121 121 121 121 121 211
6 121 121 121 121 121 121 211 10 0 366 sss sss sss sss sss sss
1 sss 121 111 111 111 111 711
2 sss 111 121 111 111 114 711
3 sss 111 111 121 115 115 711
4 sss 111 111 115 121 556 711
5 sss 111 114 115 556 121 711
6 sss 171 171 171 171 171 711 110 sss 112 111 111 111 111 711
1 112 121 211 122 122 122 122
2 111 121 121 211 122 122 122
3 111 212 121 121 211 122 122
4 111 212 212 121 121 211 122
5 111 212 212 212 121 121 211
6 171 212 212 212 212 121 121 12 0 sss 111 112 111 111 141 711
1 111 112 112 211 122 122 122
2 112 112 121 211 211 122 122
3 111 121 121 121 211 211 122
4 111 212 121 121 121 211 211
5 411 212 212 121 121 121 211
6 171 212 212 212 121 121 121 13 0 sss 111 111 112 151 151 711
1 111 221 112 112 211 122 122
2 111 112 112 112 211 211 122
3 112 112 112 121 211 211 211
4 511 121 121 121 121 211 211
5 511 212 121 121 121 121 211
6 171 212 212 121 121 121 121 14 0 sss 111 111 151 112 565 711
1 111 221 221 112 112 211 122
2 111 221 112 112 112 211 211
3 511 112 112 112 112 211 211
4 112 112 112 112 121 211 211
5 655 121 121 121 121 121 211
6 171 212 121 121 121 121 121 15 0 sss 111 141 151 565 112 711
1 111 221 221 221 112 112 211
2 411 221 221 112 112 112 211
3 511 221 112 112 112 112 211
4 655 112 112 112 112 112 211
5 112 112 112 112 112 121 211
6 171 121 121 121 121 121 121 16 0 sss 117 117 117 117 117 711
1 117 221 221 221 221 112 112
2 117 221 221 221 112 112 112
3 117 221 221 112 112 112 112
4 117 221 112 112 112 112 112
5 117 112 112 112 112 112 112
6 171 112 112 112 112 112 121
Step 4
Provided that p,q,r does not equal 'sss', each of Ii, i= 1,2, 3, is used to choose two output symbols, Ci and Di from the appropriate look-up table. The look-up tables are defined in
Table S below. Look-up table p is used with I1, look-up table q is used with 12 and look-up table r is used with 13. The output symbols may take the values (-7,-5,-3,-1,1,3,5,7). The occurrence of a U in any table indicates that this entry is unused, for any input combination.
Table S
Look-up table
1 2 3 4 5 6 7
Ci Di Ci Di Ci Di Ci Di Ci Di Ci Di Ci Di
Ii 0 -5 5 5 -5 -3 5 -5 3 -7 3 -5 7 -7 7 1 -3 3 3 -3 -1 3 -3 1 -5 1 -3 5 -7 7 2 -1 1 1 -1 1 1 -1 -1 -3 -1 -1 3 -7 7 3 1 -1 -1 1 3 -1 1 -3 -1 -3 1 1 -7 7 4 3 -3 -3 3 5 -3 3 -5 1 -5 3 -1 -7 7 5 5 -5 -5 5 7 -5 5 -7 3 -7 5 -3 -7 7 6 -5 7 5 -7 U U U U -7 5 U U -7 7 7 -3 5 3 -5 U U U U -5 3 U U -7 7 8 -1 3 1 -3 U U U U -3 1 U U -7 7 9 3 -1 -3 1 U U U U 1 -3 U U -7 7 10 5 -3 -5 3 U U U U 3 -5 U U -7 7 11 7 -5 -7 5 U U U U 5 -7 U U -7 7 12 1 1 -1 -1 U U U U -1 -1 U U -7 7 13 -3 7 3 -7 U U U U -5 5 U U -7 7 14 -1 5 1 -5 U U U U -3 3 U U -7 7 15 5 -1 -5 1 U U U U 3 -3 U U -7 7 16 7 -3 -7 3 U U U U 5 -5 U U -7 7 17 1 3 -1 -3 U U U U -1 1 U U -7 7 18 3 1 -3 -1 U U U U 1 -1 U U -7 7 19 -1 7 1 -7 U U U U -3 5 U U -7 7 20 1 5 -1 -5 U U U U -1 3 U U -7 7 21 3 3 -3 -3 U U U U 1 1 U U -7 7 22 5 1 -5 -1 U U U U 3 -1 U U -7 7 23 7 -1 -7 1 U U U U 5 -3 U U -7 7 24 1 7 -1 -7 U U U U -1 5 U U -7 7 25 3 5 -3 -5 U U U U 1 3 U U -7 7 26 5 3 -5 -3 U U U U 3 1 U U -7 7 27 7 1 -7 -1 U U U U 5 -1 U U -7 7 28 3 7 -3 -7 U U U U 1 5 U U -7 7 29 5 5 -5 -5 U U U U 3 3 U U -7 7 30 7 3 -7 -3 U U U U 5 1 U U -7 7 31 5 7 -5 -7 U U U U 3 5 U U -7 7 Steps If p,q,r does equal 'sss', then each of Ii, i=1,2,3, is used to choose two output symbols,
Ci and Di from look-up table 1, defined in Table 5 above. A new set of output symbols
C'i, D'i, where i=1,2,3 is then generated according to the following rules:
If W1 > 0
C'3=C2, D'3=C3, C'2=Cl, D'2=Dl
if C'3+D'3+C'2+D'2 < 0 C'l=7 , D'l=5 if O < = C'3+D'3+C'2+D'2 < =12 C'l=7 , D'l=-7
if 12 < C'3+D'3+C'2+D'2
C'l=-7, D'1=-5
If W2 > 0
C'l=C3, D'l=Cl, C'3=C2, D'3=D2
if C'3+D'3+C'l+D'l < 0
C'2=7, D'2=5 if O < = C'3+D'3+C'1+D'1 < =12 C'2=7, D'2=-7 if 12 < C'3+D'3+C'1+D'l C'2=-7, D'2=-S If W3 > 0 C'2=Cl, D'2=C2, C'l=C3, D'l=D3
if C'1+D'1+C'2+D'2 < 0
C'3=7, D'3=5 if O < = C'l+D'l+C'2+D'2 < =12
C'3=7, D'3=-7 if 12 < C'1+D'1+C'2+D'2
C'3=-7, D'3=-S Once the values of C'i, D'i have been assigned, Ci and Di are reassigned the values
Ci=C'i and Di=D'i for i=1,2,3.
Step6
The output symbols are transmitted in an order consistent for all codewords, for example in the following order:
Cl Dl C2 D2 C3 D3
Some examples of the code words generated by the 16B60 code are shown in Table 6 below. These examples represent portions of the 16B60 codetable.
Table 6 16 bit input to dec sextet code C1 D1 C2 D2 C3 D3 weight 0000000000000000 0 -5 5 -5 5 -5 5 0 0000000000000001 1 -3 3 -5 5 -5 5 0 0000000000000010 2 -1 1 -5 5 -5 5 0 0000000000000011 3 1 -1 -5 5 -5 5 0 0000000000000100 4 3 -3 -5 5 -5 5 0 0000000000000101 5 5 -5 -5 5 -5 5 0 0000000000000110 6 -5 7 -5 5 -5 5 2 0000000000000111 7 -3 5 -5 5 -5 5 2 0000000000001000 8 -1 3 -5 5 -5 5 2 0000000000001001 9 3 -1 -5 5 -5 5 2 0000000000001010 10 5 -3 -5 5 -5 5 2 0000000000001011 11 7 -5 -5 5 -5 5 2 0000000000001100 12 1 1 -5 5 -5 5 2 0000000000001101 13 -3 7 -5 5 -5 5 4 0000000000001110 14 -1 5 -5 5 -5 5 4 0000000000001111 15 5 -1 -5 5 -5 5 4 0000000000010000 16 7 -3 0000000000010011 19 -1 7 -5 5 -5 5 6 0000000000010100 20 1 5 -5 5 -5 5 6 0000000000010101 21 3 3 -5 5 -5 5 6 0000000000010110 22 5 1 -5 5 -5 5 6 0000000000010111 23 7 -1 -5 5 -5 5 6 0000000000011000 24 1 7 -5 5 -5 5 8 0000000000011001 25 3 5 -5 5 -5 5 8 0000000000011010 26 5 3 -5 5 -5 5 8 0000000000011011 27 7 1 -5 5 -5 5 8 0000000000011100 28 3 7 -5 5 -5 5 10 0000000000011101 29 5 5 -5 5 -5 5 10 0000000000011110 30 7 3 -5 5 -5 5 10 0000000000011111 31 5 7 -5 5 -5 5 12 0000000000100000 32 -5 5 -3 3 -5 5 0 0000000000100001 33 -3 3 -3 3 -5 5 0 0000000000100010 34 -1 1 -3 3 -5 5 0 0000000000100011 35 1 -1 -3 3 -5 5 0 0000000000100100 36 3 -3 -3 3 -5 5 0 0000000000100101 37 5 -5 -3 3 -5 5 0 0000000000100110 38 -5 7 -3 3 -5 5 2 0000000000100111 39 -3 5 -3 3 -5 5 2 0000000000101000 40 -1 3 -3 3 -5 5 2 0000000000101001 41 3 -1 -3 3 -5 5 2 0000000000101010 42 5 -3 -3 3 -5 5 2 0000000000101011 43 7 -5 -3 3 -5 5 2 0000000000101100 44 1 1 -3 3 -5 5 2 0000000000101101 45 -3 7 -3 3 -5 5 4 0000000000101110 46 -1 5 -3 3 -5 5 4 0000000000101111 47 5 -1 -3 3 -5 5 4 0000000000110000 48 7 -3 -3 3 -5 5 4 0000000000110001 49 1 3 -3 3 -5 5 4 0000000000110010 50 3 1 -3 3 -5 5 4 0000000000110011 51 -1 7 -3 3 -5 5 6 0000000000110100 52 1 5 -3 3 -5 5 6 0000000000110101 53 3 3 -3 3 -5 5 6 0000000000110110 54 5 1 -3 3 -5 5 6 0000000000110111 55 7 -1 -3 3 -5 5 6 0000000000111000 56 1 7 -3 3 -5 5 8 0000000000111001 57 3 5 -3 3 -5 5 8 0000000000111010 58 5 3 -3 3 -5 5 8 0000000000111011 59 7 1 -3 3 -5 5 8 0000000000111100 60 3 7 -3 3 -5 5 10 0000000000111101 61 5 5 -3 3 -5 5 10 0000000000111110 62 7 3 -3 3 -5 5 10 0000000000111111 63 5 7 -3 3 -5 5 12 0000000001000000 64 -5 5 -1 1 -5 5 0 0000000001000001 65 -3 3 -1 1 -5 5 0 0000000001000010 66 -1 1 -1 1 -5 5 0 0000000001000011 67 1 -1 -1 1 -5 5 0 0000000001000100 68 3 -3 -1 1 -5 5 0 0000000001000101 69 5 -5 -1 1 -5 5 0 0000000001000110 70 -5 7 -1 1 -5 5 2 0000000001000111 71 -3 5 -1 1 -5 5 2 0000000001001000 72 -1 3 -1 1 -5 5 2 0000000001001001 73 3 -1 -1 1 -5 5 2 0000000001001010 74 5 -3 -1 1 -5 5 2 0000000001001011 75 7 -5 -1 1 -5 5 2 0000000001001100 76 1 1 -1 1 -5 5 2 0000000001001101 77 -3 7 -1 1 -5 5 4 0000000001001110 78 -1 5 -1 1 -5 5 4 0000000001001111 79 5 -1 -1 1 -5 5 4 0000000001010000 80 7 -3 -1 1 -5 5 4 0000000001010001 81 1 3 -1 1 -5 5 4 0000000001010010 82 3 1 -1 1 -5 5 4 0000000001010011 83 -1 7 -1 1 -5 5 6 0000000001010100 84 1 5 -1 1 -5 5 6 0000000001010101 85 3 3 -1 1 -5 5 6 0000000001010110 86 5 1 -1 1 -5 5 6 0000000001010111 87 7 -1 -1 1 -5 5 6 0000000001011000 88 1 7 -1 1 -5 5 8 0000000001011001 89 3 5 -1 1 -5 5 8 0000000001011010 90 5 3 -1 1 -5 5 8 0000000001011011 91 7 1 -1 1 -5 5 8 0000000001011100 92 3 7 -1 1 -5 5 10 0000000001011101 93 5 5 -1 1 -5 5 10 0000000001011110 94 7 3 -1 1 -5 5 10 0000000001011111 95 5 7 -1 1 -5 5 12 0000000001100000 96 -5 5 1 -1 -5 5 0 0000000001100001 97 -3 3 1 -1 -5 5 0 0000000001100010 98 -1 1 1 -1 -5 5 0 0000000001100011 99 1 -1 1 -1 -5 5 0 0000000001100100 100 3 -3 1 -1 -5 5 0 0000000001100101 101 5 -5 1 -1 -5 5 0 0000000001100110 102 -5 7 1 -1 -5 5 2 0000000001100111 103 -3 5 1 -1 -5 5 2 0000000001101000 104 -1 3 1 -1 -5 5 2 0000000001101001 105 3 -1 1 -1 -5 5 2 0000000001101010 106 5 -3 1 -1 -5 5 2 0000000001101011 107 7 -5 1 -1 -5 5 2 0000000001101100 108 1 1 1 -1 -5 5 2 0000000001101101 109 -3 7 1 -1 -5 5 4 0000000001101110 110 -1 5 1 -1 -5 5 4 0000000001101111 111 5 -1 1 -1 -5 5 4 0000000001110000 112 7 -3 1 -1 -5 5 4 0000000001110001 113 1 3 1 -1 -5 5 4 0000000001110010 114 3 1 1 -1 -5 5 4 0000000001110011 115 -1 7 1 -1 -5 5 6 0000000001110100 116 1 5 1 -1 -5 5 6 0000000001110101 117 3 3 1 -1 -5 5 6 0000000001110110 118 5 1 1 -1 -5 5 6 0000000001110111 119 7 -1 1 -1 -5 5 6 0000000001111000 120 1 7 1 -1 -5 5 8 0000000001111001 121 3 5 1 -1 -5 5 8 0000000001111010 122 5 3 1 -1 -5 5 8 0000000001111011 123 7 1 1 -1 -5 5 8 0000000001111100 124 3 7 1 -1 -5 5 10 0000000001111101 125 5 5 1 -1 -5 5 10 0000000001111110 126 7 3 1 -1 -5 5 10 0000000001111111 127 5 7 1 -1 -5 5 12 0100100100000000 18688 -5 5 1 -3 3 1 2 0100100100000001 18689 -3 3 1 -3 3 1 2 0100100100000010 18690 -1 1 1 -3 3 1 2 0100100100000011 18691 1 -1 1 -3 3 1 2 0100100100000100 18692 3 -3 1 -3 3 1 2 0100100100000101 18693 5 -5 1 -3 3 1 2 0100100100000110 18694 -5 7 1 -3 3 1 4 0100100100000111 18695 -3 5 1 -3 3 1 4 0100100100001000 18696 -1 3 1 -3 3 1 4 0100100100001001 18697 3 -1 1 -3 3 1 4 0100100100001010 18698 5 -3 1 -3 3 1 4 0100100100001011 18699 7 -5 1 -3 3 1 4 0100100100001100 18700 1 1 1 -3 3 1 4 0100100100001101 18701 3 -7 -1 3 3 1 2 0100100100001110 18702 1 -5 -1 3 3 1 2 0100100100001111 18703 -5 1 -1 3 3 1 2 0100100100010000 18704 -7 3 -1 3 3 1 2 0100100100010001 18705 -1 -3 -1 3 3 1 2 0100100100010010 18706 -3 -1 -1 3 3 1 2 0100100100010011 18707 -1 7 -1 3 -3 -1 4 0100100100010100 18708 1 5 -1 3 -3 -1 4 0100100100010101 18709 3 3 -1 3 -3 -1 4 0100100100010110 18710 5 1 -1 3 -3 -1 4 0100100100010111 18711 7 -1 -1 3 -3 -1 4 0100100100011000 18712 1 7 -1 3 -3 -1 6 0100100100011001 18713 3 5 -1 3 -3 -1 6 0100100100011010 18714 5 3 -1 3 -3 -1 6 0100100100011011 18715 7 1 -1 3 -3 -1 6 0100100100011100 18716 3 7 -1 3 -3 -1 8 0100100100011101 18717 5 5 -1 3 -3 -1 8 0100100100011110 18718 7 3 -1 3 -3 -1 8 0100100100011111 18719 5 7 -1 3 -3 -1 10 0100100100100000 18720 -5 5 -3 1 3 1 2 0100100100100001 18721 -3 3 -3 1 3 1 2 0100100100100010 18722 -1 1 -3 1 3 1 2 0100100100100011 18723 1 -1 -3 1 3 1 2 0100100100100100 18724 3 -3 -3 1 3 1 2 0100100100100101 18725 5 -5 -3 1 3 1 2 0100100100100110 18726 -5 7 -3 1 3 1 4 0100100100100111 18727 -3 5 -3 1 3 1 4 0100100100101000 18728 -1 3 -3 1 3 1 4 0100100100101001 18729 3 -1 -3 1 3 1 4 0100100100101010 18730 5 -3 -3 1 3 1 4 0100100100101011 18731 7 -5 -3 1 3 1 4 0100100100101100 18732 1 1 -3 1 3 1 4 0100100100101101 18733 3 -7 3 -1 3 1 2 0100100100101110 18734 1 -5 3 -1 3 1 2 0100100100101111 18735 -5 1 3 -1 3 1 2 0100100100110000 18736 -7 3 3 -1 3 1 2 0100100100110001 18737 -1 -3 3 -1 3 1 2 0100100100110010 18738 -3 -1 3 -1 3 1 2 0100100100110011 18739 -1 7 3 -1 -3 -1 4 0100100100110100 18740 1 5 3 -1 -3 -1 4 0100100100110101 18741 3 3 3 -1 -3 -1 4 0100100100110110 18742 5 1 3 -1 -3 -1 4 0100100100110111 18743 7 -1 3 -1 -3 -1 4 0100100100111000 18744 1 7 3 -1 -3 -1 6 0100100100111001 18745 3 5 3 -1 -3 -1 6 0100100100111010 18746 5 3 3 -1 -3 -1 6 0100100100111011 18747 7 1 3 -1 -3 -1 6 0100100100111100 18748 3 7 3 -1 -3 -1 8 0100100100111101 18749 5 5 3 -1 -3 -1 8 0100100100111110 18750 7 3 3 -1 -3 -1 8 0100100100111111 18751 5 7 3 -1 -3 -1 10 0100100101000000 18752 -5 5 -5 3 3 1 2 0100100101000001 18753 -3 3 -5 3 3 1 2 0100100101000010 18754 -1 1 -5 3 3 1 2 0100100101000011 18755 1 -1 -5 3 3 1 2 0100100101000100 18756 3 -3 -5 3 3 1 2 0100100101000101 18757 5 -5 -5 3 3 1 2 0100100101000110 18758 -5 7 -5 3 3 1 4 0100100101000111 18759 -3 5 -5 3 3 1 4 0100100101001000 18760 -1 3 -5 3 3 1 4 0100100101001001 18761 3 -1 -5 3 3 1 4 0100100101001010 18762 5 -3 -5 3 3 1 4 0100100101001011 18763 7 -5 -5 3 3 1 4 0100100101001100 18764 1 1 -5 3 3 1 4 0100100101001101 18765 3 -7 5 -3 3 1 2 0100100101001110 18766 1 -5 5 -3 3 1 2 0100100101001111 18767 -5 1 5 -3 3 1 2 0100100101010000 18768 -7 3 5 -3 3 1 2 0100100101010001 18769 -1 -3 5 -3 3 1 2 0100100101010010 18770 -3 -1 5 -3 3 1 2 0100100101010011 18771 -1 7 5 -3 -3 -1 4 0100100101010100 18772 1 5 5 -3 -3 -1 4 0100100101010101 18773 3 3 5 -3 -3 -1 4 0100100101010110 18774 5 1 5 -3 -3 -1 4 0100100101010111 18775 7 -1 5 -3 -3 -1 4 0100100101011000 18776 1 7 5 -3 -3 -1 6 0100100101011001 18777 3 5 5 -3 -3 -1 6 0100100101011010 18778 5 3 5 -3 -3 -1 6 0100100101011011 18779 7 1 5 -3 -3 -1 6 0100100101011100 18780 3 7 5 -3 -3 -1 8 0100100101011101 18781 5 5 5 -3 -3 -1 8 0100100101011110 18782 7 3 5 -3 -3 -1 8 0100100101011111 18783 5 7 5 -3 -3 -1 10 1000001110000000 33664 -5 -5 7 -7 3 7 0 1000001110000001 33665 -5 -3 7 -7 3 7 2 1000001110000010 33666 -5 -1 7 -7 3 7 4 1000001110000011 33667 -5 1 7 -7 3 7 6 1000001110000100 33668 -5 3 7 -7 3 7 8 1000001110000101 33669 -5 5 7 -7 3 7 10 1000001110000110 33670 -5 7 3 7 -5 5 12 1000001110000111 33671 -3 5 3 7 -5 5 12 1000001110001000 33672 -1 3 3 7 -5 5 12 1000001110001001 33673 3 -1 3 7 -5 5 12 1000001110001010 33674 5 -3 3 7 -5 5 12 1000001110001011 33675 7 -5 3 7 -5 5 12 1000001110001100 33676 1 1 3 7 -5 5 12 1000001110001101 33677 -3 7 3 7 -5 3 12 1000001110001110 33678 -1 5 3 7 -5 3 12 1000001110001111 33679 5 -1 3 7 -5 3 12 1000001110010000 33680 7 -3 3 7 -5 3 12 1000001110010001 33681 1 3 3 7 -5 3 12 1000001110010010 33682 3 1 3 7 -5 3 12 1000001110010011 33683 -1 7 3 7 -7 3 12 1000001110010100 33684 1 5 3 7 -7 3 12 1000001110010101 33685 3 3 3 7 -7 3 12 1000001110010110 33686 5 1 3 7 -7 3 12 1000001110010111 33687 7 -1 3 7 -7 3 12 1000001110011000 33688 -1 5 1 5 -5 7 12 1000001110011001 33689 1 3 1 5 -5 7 12 1000001110011010 33690 3 1 1 5 -5 7 12 1000001110011011 33691 5 -1 1 5 -5 7 12 1000001110011100 33692 3 7 -3 -7 -5 5 0 1000001110011101 33693 5 5 -3 -7 -5 5 0 1000001110011110 33694 7 3 -3 -7 -5 5 0 1000001110011111 33695 -7 7 3 7 -5 5 10 1000001110100000 33696 -5 -5 7 -7 5 5 0 1000001110100001 33697 -5 -3 7 -7 5 5 2 1000001110100010 33698 -5 -1 7 -7 5 5 4 1000001110100011 33699 -5 1 7 -7 5 5 6 1000001110100100 33700 -5 3 7 -7 5 5 8 1000001110100101 33701 -5 5 7 -7 5 5 10 1000001110100110 33702 -5 7 5 5 -5 5 12 1000001110100111 33703 -3 5 5 5 -5 5 12 1000001110101000 33704 -1 3 5 5 -5 5 12 1000001110101001 33705 3 -1 5 5 -5 5 12 1000001110101010 33706 5 -3 5 5 -5 5 12 1000001110101011 33707 7 -5 5 5 -5 5 12 1000001110101100 33708 1 1 5 5 -5 5 12 1000001110101101 33709 -3 7 5 5 -5 3 12 1000001110101110 33710 -1 5 5 5 -5 3 12 1000001110101111 33711 5 -1 5 5 -5 3 12 1000001110110000 33712 7 -3 5 5 -5 3 12 1000001110110001 33713 1 3 5 5 -5 3 12 1000001110110010 33714 3 1 5 5 -5 3 12 1000001110110011 33715 -1 7 5 5 -7 3 12 1000001110110100 33716 1 5 5 5 -7 3 12 1000001110110101 33717 3 3 5 5 -7 3 12 1000001110110110 33718 5 1 5 5 -7 3 12 1000001110110111 33719 7 -1 5 5 -7 3 12 1000001110111000 33720 -1 5 3 3 -5 7 12 1000001110111001 33721 1 3 3 3 -5 7 12 1000001110111010 33722 3 1 3 3 -5 7 12 1000001110111011 33723 5 -1 3 3 -5 7 12 1000001110111100 33724 3 7 -5 -5 -5 5 0 1000001110111101 33725 5 5 -5 -5 -5 5 0 1000001110111110 33726 7 3 -5 -5 -5 5 0 1000001110111111 33727 -7 7 5 5 -5 5 10 1000001111000000 33728 -5 -5 7 -7 7 3 0 1000001111000001 33729 -5 -3 7 -7 7 3 2 1000001111000010 33730 -5 -1 7 -7 7 3 4 1000001111000011 33731 -5 1 7 -7 7 3 6 1000001111000100 33732 -5 3 7 -7 7 3 8 1000001111000101 33733 -5 5 7 -7 7 3 10 1000001111000110 33734 -5 7 7 3 -5 5 12 1000001111000111 33735 -3 5 7 3 -5 5 12 1000001111001000 33736 -1 3 7 3 -5 5 12 1000001111001001 33737 3 -1 7 3 -5 5 12 1000001111001010 33738 5 -3 7 3 -5 5 12 1000001111001011 33739 7 -5 7 3 -5 5 12 1000001111001100 33740 1 1 7 3 -5 5 12 1000001111001101 33741 -3 7 7 3 -5 3 12 1000001111001110 33742 -1 5 7 3 -5 3 12 1000001111001111 33743 5 -1 7 3 -5 3 12 1000001111010000 33744 7 -3 7 3 -5 3 12 1000001111010001 33745 1 3 7 3 -5 3 12 1000001111010010 33746 3 1 7 3 -5 3 12 1000001111010011 33747 -1 7 7 3 -7 3 12 1000001111010100 33748 1 5 7 3 -7 3 12 1000001111010101 33749 3 3 7 3 -7 3 12 1000001111010110 33750 5 1 7 3 -7 3 12 1000001111010111 33751 7 -1 7 3 -7 3 12 1000001111011000 33752 -1 5 5 1 -5 7 12 1000001111011001 33753 1 3 5 1 -5 7 12 1000001111011010 33754 3 1 5 1 -5 7 12 1000001111011011 33755 5 -1 5 1 -5 7 12 1000001111011100 33756 3 7 -7 -3 -5 5 0 1000001111011101 33757 5 5 -7 -3 -5 5 0 1000001111011110 33758 7 3 -7 -3 -5 5 0 1000001111011111 33759 -7 7 7 3 -5 5 10 1000001111100000 33760 -5 -5 7 -7 5 7 2 1000001111100001 33761 -5 -3 7 -7 5 7 4 1000001111100010 33762 -5 -1 7 -7 5 7 6 1000001111100011 33763 -5 1 7 -7 5 7 8 1000001111100100 33764 -5 3 7 -7 5 7 10 1000001111100101 33765 -5 5 7 -7 5 7 12 1000001111100110 33766 -5 7 -7 7 -5 5 2 1000001111100111 33767 -3 5 -7 7 -5 5 2 1000001111101000 33768 -1 3 -7 7 -5 5 2 1000001111101001 33769 3 -1 -7 7 -5 5 2 1000001111101010 33770 5 -3 -7 7 -5 5 2 1000001111101011 33771 7 -5 -7 7 -5 5 2 1000001111101100 33772 1 1 -7 7 -5 5 2 1000001111101101 33773 -3 7 -7 7 -5 5 4 1000001111101110 33774 -1 5 -7 7 -5 5 4 1000001111101111 33775 5 -1 -7 7 -5 5 4 1000001111110000 33776 7 -3 -7 7 -5 5 4 1000001111110001 33777 1 3 -7 7 -5 5 4 1000001111110010 33778 3 1 -7 7 -5 5 4 1000001111110011 33779 -1 7 -7 7 -5 5 6 1000001111110100 33780 1 5 -7 7 -5 5 6 1000001111110101 33781 3 3 -7 7 -5 5 6 1000001111110110 33782 5 1 -7 7 -5 5 6 1000001111110111 33783 7 -1 -7 7 -5 5 6 1000001111111000 33784 1 7 -7 7 -5 5 8 1000001111111001 33785 3 5 -7 7 -5 5 8 1000001111111010 33786 5 3 -7 7 -5 5 8 1000001111111011 33787 7 1 -7 7 -5 5 8 1000001111111100 33788 3 7 -7 7 -5 5 10 1000001111111101 33789 5 5 -7 7 -5 5 10 1000001111111110 33790 7 3 -7 7 -5 5 10 1000001111111111 33791 -7 7 5 7 -5 5 12 1110100010000000 59520 5 3 -5 3 7 -7 6 1110100010000001 59521 5 3 -3 3 7 -7 8 1110100010000010 59522 5 3 -1 3 7 -7 10 1110100010000011 59523 5 3 1 3 7 -7 12 1110100010000100 59524 5 3 3 3 -7 -5 2 1110100010000101 59525 5 3 5 3 -7 -5 4 1110100010000110 59526 -5 7 3 -3 5 3 10 1110100010000111 59527 -3 5 3 -3 5 3 10 1110100010001000 59528 -1 3 3 -3 5 3 10 1110100010001001 59529 3 -1 3 -3 5 3 10 1110100010001010 59530 5 -3 3 -3 5 3 10 1110100010001011 59531 7 -5 3 -3 5 3 10 1110100010001100 59532 1 1 3 -3 5 3 10 1110100010001101 59533 -3 7 3 -3 5 3 12 1110100010001110 59534 -1 5 3 -3 5 3 12 1110100010001111 59535 5 -1 3 -3 5 3 12 1110100010010000 59536 7 -3 3 -3 5 3 12 1110100010010001 59537 1 3 3 -3 5 3 12 1110100010010010 59538 3 1 3 -3 5 3 12 1110100010010011 59539 -1 7 1 -5 5 3 10 1110100010010100 59540 1 5 1 -5 5 3 10 1110100010010101 59541 3 3 1 -5 5 3 10 1110100010010110 59542 5 1 1 -5 5 3 10 1110100010010111 59543 7 -1 1 -5 5 3 10 1110100010011000 59544 1 7 3 -3 -5 -3 0 1110100010011001 59545 3 5 3 -3 -5 -3 0 1110100010011010 59546 5 3 3 -3 -5 -3 0 1110100010011011 59547 7 1 3 -3 -5 -3 0 1110100010011100 59548 1 5 3 -1 3 1 12 1110100010011101 59549 3 3 3 -1 3 1 12 1110100010011110 59550 5 1 3 -1 3 1 12 1110100010011111 59551 -7 7 3 -3 5 3 8 1110100010100000 59552 5 3 -5 5 7 -7 8 1110100010100001 59553 5 3 -3 5 7 -7 10 1110100010100010 59554 5 3 -1 5 7 -7 12 1110100010100011 59555 5 3 1 5 -7 -5 2 1110100010100100 59556 5 3 3 5 -7 -5 4 1110100010100101 59557 5 3 5 5 -7 -5 6 1110100010100110 59558 -5 7 5 -5 5 3 10 1110100010100111 59559 -3 5 5 -5 5 3 10 1110100010101000 59560 -1 3 5 -5 5 3 10 1110100010101001 59561 3 -1 5 -5 5 3 10 1110100010101010 59562 5 -3 5 -5 5 3 10 1110100010101011 59563 7 -5 5 -5 5 3 10 1110100010101100 59564 1 1 5 -5 5 3 10 1110100010101101 59565 -3 7 5 -5 5 3 12 1110100010101110 59566 -1 5 5 -5 5 3 12 1110100010101111 59567 5 -1 5 -5 5 3 12 1110100010110000 59568 7 -3 5 -5 5 3 12 1110100010110001 59569 1 3 5 -5 5 3 12 1110100010110010 59570 3 1 5 -5 5 3 12 1110100010110011 59571 -1 7 3 -7 5 3 10 1110100010110100 59572 1 5 3 -7 5 3 10 1110100010110101 59573 3 3 3 -7 5 3 10 1110100010110110 59574 5 1 3 -7 5 3 10 1110100010110111 59575 7 -1 3 -7 5 3 10 1110100010111000 59576 1 7 5 -5 -5 -3 0 1110100010111001 59577 3 5 5 -5 -5 -3 0 1110100010111010 59578 5 3 5 -5 -5 -3 0 1110100010111011 59579 7 1 5 -5 -5 -3 0 1110100010111100 59580 1 5 5 -3 3 1 12 1110100010111101 59581 3 3 5 -3 3 1 12 1110100010111110 59582 5 1 5 -3 3 1 12 1110100010111111 59583 -7 7 5 -5 5 3 8 1111111111000000 65472 -5 5 7 3 -7 7 10 1111111111000001 65473 -3 3 7 3 -7 7 10 1111111111000010 65474 -1 1 7 3 -7 7 10 1111111111000011 65475 1 -1 7 3 -7 7 10 1111111111000100 65476 3 -3 7 3 -7 7 10 1111111111000101 65477 5 -5 7 3 -7 7 10 1111111111000110 65478 -5 7 7 3 -5 -7 0 1111111111000111 65479 -3 5 7 3 -5 -7 0 1111111111001000 65480 -1 3 7 3 -5 -7 0 1111111111001001 65481 3 -1 7 3 -5 -7 0 1111111111001010 65482 5 -3 7 3 -5 -7 0 1111111111001011 65483 7 -5 7 3 -5 -7 0 1111111111001100 65484 1 1 7 3 -5 -7 0 1111111111001101 65485 -3 7 7 3 -5 -7 2 1111111111001110 65486 -1 5 7 3 -5 -7 2 1111111111001111 65487 5 -1 7 3 -5 -7 2 1111111111010000 65488 7 -3 7 3 -5 -7 2 1111111111010001 65489 1 3 7 3 -5 -7 2 1111111111010010 65490 3 1 7 3 -5 -7 2 1111111111010011 65491 -1 7 7 3 -5 -7 4 1111111111010100 65492 1 5 7 3 -5 -7 4 1111111111010101 65493 3 3 7 3 -5 -7 4 1111111111010110 65494 5 1 7 3 -5 -7 4 1111111111010111 65495 7 -1 7 3 -5 -7 4 1111111111011000 65496 1 7 7 3 -5 -7 6 1111111111011001 65497 3 5 7 3 -5 -7 6 1111111111011010 65498 5 3 7 3 -5 -7 6 1111111111011011 65499 7 1 7 3 -5 -7 6 1111111111011100 65500 3 7 7 3 -5 -7 8 1111111111011101 65501 5 5 7 3 -5 -7 8 1111111111011110 65502 7 3 7 3 -5 -7 8 1111111111011111 65503 5 7 7 3 -5 -7 10 1111111111100000 65504 -5 5 -7 7 5 7 12 1111111111100001 65505 -3 3 -7 7 5 7 12 1111111111100010 65506 -1 1 -7 7 5 7 12 1111111111100011 65507 1 -1 -7 7 5 7 12 1111111111100100 65508 3 -3 -7 7 5 7 12 1111111111100101 65509 5 -5 -7 7 5 7 12 1111111111100110 65510 -5 7 5 7 -5 -7 2 1111111111100111 65511 -3 5 5 7 -5 -7 2 1111111111101000 65512 -1 3 5 7 -5 -7 2 1111111111101001 65513 3 -1 5 7 -5 -7 2 1111111111101010 65514 5 -3 5 7 -5 -7 2 1111111111101011 65515 7 -5 5 7 -5 -7 2 1111111111101100 65516 1 1 5 7 -5 -7 2 1111111111101101 65517 -3 7 5 7 -5 -7 4 1111111111101110 65518 -1 5 5 7 -5 -7 4 1111111111101111 65519 5 -1 5 7 -5 -7 4 1111111111110000 65520 7 -3 5 7 -5 -7 4 1111111111110001 65521 1 3 5 .7 -5 -7 4 1111111111110010 65522 3 1 5 7 -5 -7 4 1111111111110011 65523 -1 7 5 7 -5 -7 6 1111111111110100 65524 1 5 5 7 -5 -7 6 1111111111110101 65525 3 3 5 7 -5 -7 6 1111111111110110 65526 5 1 5 7 -5 -7 6 1111111111110111 65527 7 -1 5 7 -5 -7 6 1111111111111000 65528 1 7 5 7 -5 -7 8 1111111111111001 65529 3 5 5 7 -5 -7 8 1111111111111010 65530 5 3 5 7 -5 -7 8 1111111111111011 65531 7 1 5 7 -5 -7 8 1111111111111100 65532 3 7 5 7 -5 -7 10 1111111111111101 65533 5 5 5 7 -5 -7 10 1111111111111110 65534 7 3 5 7 -5 -7 10 1111111111111111 65535 5 7 -5 -7 5 7 12
Each entry in Table 6 comprises four parts: the sixteen bit word; the value of the sixteen-bit word in decimal; the values of the six octary symbols which together form the code word for that sixteen-bit word; and the weight of that encoded value. This weight is derived for each encoded value by summing the individual octary symbols making up that encoded value. Thus the octary code word for the sixteen-bit value decimal 53 (binary 0000000000110101) is the sextet of symbols (3, 3, -3,3,-S, 5), and the associated weight is 3+3-3+3-5+5=6.
Taiing a different example, the sixteen bit word with decimal value 252 would be encoded as follows. The values of Ii are: I1 = 11100 (decimal 28), 12=00111 (decimal 7), 13=00000 (decimal 0), 14=0. From Table 3, the values of Wi are Wl =S, W2=1, W3=0. Table 4 gives the look-up tables that should be used with Il, 12, 13. These are look-up tables 1, 2 and 1 of Table 5 respectively. From these look-up tables the values of Ci and Di are:
C1=3, Do=7, C2=3, D2=-5, C3=-5, D3=5. The sextet of octary symbols is therefore (3, 7, 3, -5, -5,5) which has weight 8.
The weight is significant in relation to the desirability of maintaining d.c. balance on the twisted-pair conductor 16, to avoid sustained presence of voltage offsets on the conductor. The presence of such offsets for extended periods causes difficulties in systems using transformer coupling (e.g. for electrical safety reasons) and must therefore be avoided. The weight for each encoded value is used to keep such offsets within predetermined limits. The encoder 30 contains a counter which maintains a cumulative sum (sometimes known as a running digital sum or r.d.s.) of the weights of all code words transmitted over the conductor 16. As each successive sixteen-bit value is encoded, its associated weight (or whether the weight is greater than zero or not) is compared with this cumulative sum. If the cumulative sum is positive and the weight of the code word is nonzero, the code word (and thus its weight) is inverted. For example, the code word for the sixteen-bit value decimal 252 would in this case become the sextet (-3, -7, -7, -3, 5, 5, -5), with a weight of -8.
It will be apparent from Figure 4 and the description of the control formatting block above that the sixteen-bit values which are used as control words are a subset of the sixteen-bit data word values. In the particular case when the active bits of the sixteen bit control words are the five least significant bits, the subset consists of those code words in which bits b4...b0, b9...b5 and bl4...blO have equal value. The sextets of octary symbols corresponding to each sixteen bit control word are shown in Table 7 below. (In Table 7,
'X' is used to denote a 'Don't Care' condition.)
Table 7
16 bit control 16 bit word dec octary symbols word o/put from input to 16b60 C1 D1 C2 D2 C3 D3 wt
scrambler 22 encoder 30
sixteenth bit 103 =0 XXXXXXXXXXXO O 0 0 0 0000000000000000 0 -5 5 -5 5 -5 5 0 XXXXXXXXXXX00001 0000010000100001 1 -3 3 -3 3 -3 3 0
XXXXXXXXXXX00010 0000100001000010 2 -1 1 -1 1 -1 1 0 XXXXXXXXXXXO 0 011 0000110001100011 3 1 -1 1 -1 1 -1 0 XXXXXXXXXXX00100 0001000010000100 4 3 -3 3 -3 3 -3 0 XXXXXXXXXXX00101 0001010010100101 5 5 -5 5 -5 5 -5 0 XXXXXXXXXXXO 0110 0001100011000110 6 5 -7 -5 7 -5 7 2 XXXXXXXXXXX00111 0001110011100111 7 3 -5 -3 5 -3 5 2
XXXXXXXXXXX01000 0010000100001000 8 1 -3 -1 3 -1 3 2 XXXXXXXXXXXO1001 0010010100101001 9 -3 1 3 -1 3 -1 2
XXXXXXXXXXXO 1010 0010100101001010 10 -5 3 5 -3 5 -3 2 XXXXXXXXXXXO1011 1011 0010110101101011 11 -7 5 7 -5 7 -5 2 XXXXXXXXXXXO1001 0011000110001100 12 -1 -1 1 1 1 1 2
XXXXXXXXXXXO1101 0011010110101101 13 3 -7 -3 7 -3 7 4
XXXXXXXXXXXOlllO 0011100111001110 14 1 -5 -1 5 -1 5 4
XXXXXXXXXXXO1111 0011110111101111 15 -5 1 5 -1 5 -1 4 XXXXXXXXXXX10000 0100001000010000 16 -7 3 7 -3 7 -3 4
XXXXXXXXXXX10001 0100011000110001 17 -1 -3 1 3 1 3 4
XXXXXXXXXXX10010 0100101001010010 18 -3 -1 3 1 3 1 4
XXXXXXXXXXX10011 0100111001110011 19 1 -7 -1 7 -1 7 6
XXXXXXXXXXX10100 0101001010010100 20 -1 -5 1 5 1 5 6
XXXXXXXXXXX10101 0101011010110101 21 -3 -3 3 3 3 3 6
XXXXXXXXXXX10110 0101101011010110 22 -5 -1 5 1 5 1 6
XXXXXXXXXXX10111 0101111011110111 23 -7 1 7 -1 7 -1 6 XXXXXXXXXXXllOOO 0110001100011000 24 -1 -7 1 7 1 7 8
XXXXXXXXXXX11001 0110011100111001 25 -3 -5 3 5 3 5 8
XXXXXXXXXXX11010 0110101101011010 26 -5 -3 5 3 5 3 8 XXXXXXXXXXXllOll 0110111101111011 27 -7 -1 7 1 7 1 8
XXXXXXXXXXX11100 0111001110011100 28 -3 -7 3 7 3 7 10 XXXXXXXXXXXlllOl 0111011110111101 29 -5 -5 5 5 5 5 10
XXXXXXXXXXX11110 0111101111011110 30 -7 -3 7 3 7 3 10
XXXXXXXXXXX11111 0111111111111111 31 -5 -7 5 7 5 7 12 sixteenth bit 103 = 1
XXXXXXXXXXX00000 1000000000000000 0 -3 5 -5 7 -5 7 8
XXXXXXXXXXX00001 1000010000100001 1 -1 3 -3 5 -3 5 8
XXXXXXXXXXX00010 1000100001000010 2 1 1 -1 3 -1 3 8
XXXXXXXXXXX00011 1000110001100011 3 3 -1 1 1 1 1 8
XXXXXXXXXXX00100 1001000010000100 4 5 -3 3 -1 3 -1 8
XXXXXXXXXXX00101 1001010010100101 5 7 -5 5 -3 5 -3 8
XXXXXXXXXXX O 0 11 0 1001100011000110 6 -5 7 5 -7 -5 7 2
XXXXXXXXXXX00111 1001110011100111 7 -3 5 3 -5 -3 5 2 XXXXXXXXXXXO1000 1010000100001000 8 -1 3 1 -3 -1 3 2
XXXXXXXXXXX01001 1010010100101001 9 3 -1 -3 1 3 -1 2 XXXXXXXXXXXO1010 1010100101001010 10 5 -3 -5 3 5 -3 2
XXXXXXXXXXX01011 1010110101101011 11 7 -5 -7 5 7 -5 2
XXXXXXXXXXX01100 1011000110001100 12 1 1 -1 -1 1 1 2
XXXXXXXXXXXO1101 1011010110101101 13 -3 7 3 -7 -3 7 4 XXXXXXXXXXXOlllO 1011100111001110 14 -1 5 1 -5 -1 5 4 XXXXXXXXXXXOllll 1011110111101111 15 5 -1 -5 1 5 -1 4 XXXXXXXXXXX10000 1100001000010000 16 7 -3 -7 3 7 -3 4 XXXXXXXXxXX10001 1100011000110001 17 1 3 -1 -3 1 3 4 XXXXXXXXXXX10010 1100101001010010 18 3 1 -3 -1 3 1 4 XXXXXXXXXXX10011 1100111001110011 19 -1 7 1 -7 -1 7 6
XXXXXXXXXXXX10100 1101001010010100 20 1 5 -1 -S 1 5 6 XXXXXXXMMX10101 1101011010110101 21 3 3 -3 -3 3 3 6 XXXXXXXXXXX10110 1101101011010110 22 5 1 -5 -1 5 1 6 XXXXXXXXXXX10111 1101111011110111 23 7 -1 -7 1 7 -1 6 XXXXXXXXXXX11000 1110001100011000 24 1 7 -1 -7 1 7 8
XXXXXXXXXXX11001 1110011100111001 25 3 5 -3 -5 3 5 8
XXXXXXXXXXX11010 1110101101011010 26 5 3 -5 -3 5 3 8 XXXXXXXXXXX11011 1110111101111011 27 7 1 -7 -1 7 1 8 XXXXXXXXXXX11100 1111001110011100 28 3 7 -3 -7 3 7 10 XXXXXXXXXXX11101 1111011110111101 29 5 5 -5 -5 5 5 10
XXXMULXMIlLX11110 1111101111011110 30 7 3 -7 -3 7 3 10 XXXXXXXXXXX11111 1111111111111111 31 5 7 -5 -7 5 7 12
Each entry in Table 7 comprises five parts: the sixteen bit word at the output of the scrambler 22; the sixteen bit word at the input to the encoder; the value of the five least significant bits of the sixteen-bit word in decimal (dec); the values of the six octary symbols which together form the code word for that sixteen-bit word; and the weight (wt) of that encoded value.
To illustrate the operation of the control formatting block and encoder, consider the case when the ouput of the scrambler 22 is the sixteen bit word whose five least significant bits have decimal value 13. Assume that the current value of the signal 103 is 0. The value of the five bit word 104 is therefore 01101, and the value of the sixteen bit word 107 is 0011010110101101. Il, I2 and I3 each have the decimal value 13, and Wi =W2=W3 =2 from Table 3. Table 4 defines which look-up tables should be used for I1, I2, I3 as 2, 1 and 1 respectively, resulting in the code word (3, -7, -3, 7, -3, 7).
Assume now that the output of the scrambler next changes to a sixteen bit word whose five least significant bits have decimal value 2. The signal 103 now has value 1, and the value of the sixteen bit word 107 is therefore 1000100001000010. Il, I2 and I3 each have the decimal value 2, and Wl =W2=W3 =0 from Table 3. Table 4 defines the look-up tables to be used for Il, I2, I3 as 3, 6 and 6 respectively, resulting in the code word (1, 1, -1, 3, -1,3).
Referring to figure 4 and Table 7, it can be seen that the alternation of the signal 103 in the control formatting block 101 causes consecutive code words generated during control signaling to be selected alternately from two sets of 32 codewords. It can be seen from
Table 7 and by inspection of procedures lb and 2 above that when the signal 103 has value 0, all of the 32 possible code words consist of three pairs of output symbols Ci, Di such that the magnitude of Ci is constant for all i =1,2,3 and the magnitude of Di is constant for all values of i=1,2,3. Up to two corruptions of any magnitude (i.e. affecting up to two separate octary symbols) can never produce another code word obeying these conditions.
Similarly, it can be seen from Table 7 and by inspection of procedures 3b and 6 above that when the signal 103 has value 1, up to two corruptions of any magnitude (i.e. affecting up to two separate octary symbols) occurring during any of the 32 possible code words can never produce another code word in the same set of 32. The use of these two sets of codewords to represent control words helps to reduce the risk of a valid control word being corrupted in such a way as to produce another valid but incorrect control word. This risk may be further reduced by requiring that a control word must occur twice (or more) in succession before it is accepted as being valid. Although it is possible for one or two corruptions of a code word selected from one set of 32 code words to result in a code word belonging to the other set of 32 code words, such corruptions would be detected in the receiver 14, since two successive codewords selected from the same set of 32 would then be received, which is prohibited by the alternation of the signal 103 in the control formatting block 101.
The use of only one of t output of the descrambler 50 in the receiver 14.
With the encoding described above and ilustrated in Table 6, the delimiters may be for example the sextets of symbols (7, 7, 7, -7, -7, - and (-7, -7, -7, 7, 7, 7). A corruption of any magnitude affecting up to two of the symbols in these sextets cannot change the sextet into a valid code word representing a data word or a control word.
Figure 3 shows waveforms which would appear at the input and output of the encoder 30 and on the twisted-pair conductor 16 for a succession of data and control words.
The uppermost line indicates the status of the CONEOLJDATA selection signal (a value of l indicating that control signals are being transmitted); the next sixteen lines show the input signals to the encoder 30, and the following three lines show the three input signals to the DAC 34; the lowermost line shows the eight-level signal appearing on the conductor 16. The text below this line indicates either the decimal value of the current data or control word, or the occurrence of a delimiter (DELIM). It is assumed that the octary values -7 to +7 are represented at the output of the encoder 30 by the three bit words 000 to 111 respectively; thus the octary value 1, for example, is represented by the nibble 100. It should be noted that other choices may be made for the correspondence between the octary symbol values and the three bit word values.
Referring to Figure 3, the first three words transmitted are data words, with (scrambled) values in decimal of 18754, 59582 and 121 respectively. The corresponding code word for the value 18754 is, from Table 6, (-1, 1,-S, 3, 3, 1), so the input to the
DAC 34 is the sequence of three bit words 0all, 100, 001, 101, 101, 100 providing the required voltage levels on the conductor 16. The weight of this code word is 2 so, assuming the r.d.s. up to this start of this code word is 0, it becomes 2 at the end. The code word for the value 59582 is (5, 1, 5, -3,3, 1) and the appropriate three bit words are output by the encoder 30 to control the DAC 34 to produce these voltages. The weight of this code word is 12, therefore the code word is inverted and the r.d.s therefore becomes -10. The code word for the value 121 is (3, 5, 1, -1, -5, S) and the associated weight is 8; therefore the r.d.s. is reduced back to -2.
These three data words are followed by a repeated control word, and the CONROLJDATA selection signal therefore changes state. This causes the multiplexer 20 to select the control word input and the multiplexer 28 to select the control formatting block input. In addition the insertion module 32 inserts a delimiter into the stream of three bit words supplied to the DAC 34. In this case the chosen delimiter is the symbol triplet (7, 7, 7, -7, -7, -7), leaving the r.d.s. unchanged at -2.
The delimiter is followed by the first occurrence of the control word. In this case the five least significant bits of the scrambled value of the control word have decimal value
14 and the signal 103 in the control formatting block 101 has value 0. The corresponding code word (1, -5, -1, 5, -1, 5) is therefore transmitted on the conductor 16, and r.d.s.
changes to 2. The second occurrence of the control word in this case has a scrambled value for which the five least significant bits have decimal value of 0. The signal 103 in the control formatting block 101 now has value 1, and since the r.d.s. is positive, the code word is inverted to give (3, -5,5, -7,5, -7); the r.d.s changes to -4. This is followed by the delimiter (-7, -7, -7, 7, 7, 7) indicating the end of the control word sequence and the resumption of the data words.
The first subsequent data word has a scrambled value of decimal 33784. As the r.d.s. is not positive, the relevant code word (1, 7, -7, 7,-S, 5) is transmitted unchanged.
During reception of these signals by the receiver 14, the decoder 48 maintains a count of the r.d.s. in the same manner as the encoder 30. The decoder 48 can thus confirm whether each encoded value as received is appropriate to change the r.d.s. towards zero when necessary. If a code word is received which has not been inverted when it should have been, or if a code word not derived according to the procedural technique described above is encountered, the decoder 48 can determine that corruption of the signals on the conductor 16 has occurred.
Similarly, the error detection module 46 can confirm that each received delimiter has an appropriate value, e.g. (7, 7, 7, -7, -7, -7) or (-7, -7, -7,7,7,7), and that the code words received between pairs of delimiters (i.e. for control words) consist of three pairs of symbols Ci,Di where the magnitde of Ci is constant for alli= 1,2,3 and the magnitude of Di is constant for all i=1,2,3. Any discrepancy indicates corruption of the signals traversing the conductor 16.
When the CONTROL/DATA selection signal in the transmitter 12 indicates that data words are being processed, the insertion module 32 generates a check code for the sequence of encoded data words produced by the 16B60 encoder 30. This may be accomplished, for example, by applying a known cyclic redundancy check (CRC) code procedure to each of the encoder's output bit streams nO to n2 (Figure 3) independently.
Thus a separate CRC value can be produced for each of these bit streams, and incorporated periodically into the signals transmitted over the conductor 16, for example at the end of each packet of data.
During processing of data words, the error detection module 46 likewise generates a CRC value for each bit stream nO to n2 supplied by the decision circuit 44, and compares its calculated CRC values with those received via the conductor 16. Any discrepancy indicates that corruption of the transmitted signals has occurred. These CRC checks on the output bit streams from the encoder 30 would typically be in addition to any CRC checks applied to data as received by the multiplexer 20.
It is typically not feasible to apply CRC checks to the control words, because they are not gathered into any particular kind of grouping (analagous to a frame or packet of data) to which a CRC code can be applied. The use for control signalling of a selected subset of data words thus provides error detection which would otherwise be lacking.
Treating the control words in the same general manner as data words as described above (i.e. scrambling and encoding them) has the advantage of avoiding problems associated with d.c. balance and repetition of bit patterns (such a excessive radiated emissions) which could occur if control words were applied directly to the conductor 16. This in turn permits greater freedom in selection of the encoding of the control words, to enhance error detection in respect of thern.
The encoder 30, insertion module 32, control formatting block 101, error detection module 46 and decoder 48 may be implemented, for example, using look-up tables held in read-only memory or using digital logic circuits. Alternatively they may be implemented using stored program instructions to control the operation of a processor to derive the required values from logical formulae defining the required properties of the encoding and error detection techniques.
The code defined by the procedural technique described above is designed to have several advantageous properties. These relate in part to the provision of robust escape patterns, that is patterns of code symbols which can never occur within a sequence of symbols representing any possible data words. Escape patterns are useful for communicating information and commands relating to the communication apparatus itself over the same channel as data. The control word delimiters (7, 7, 7, -7, -7, -7) and (-7, -7, -7, 7, 7, 7) described above are examples of escape patterns.
In implementing escape patterns in a block code (i.e. a code in which every code word has the same length), it is desirable to have escape patterns which remain distinguishable from symbol sequences for data words even if block synchronization between the two ends of the communications channel is lost (i.e. if at least one end of the channel misidentifies the boundary between successive code words). Thus each escape pattern must be different from any code word corresponding to possible data words, and must not occur within any concatenation of such code words.
As noted above, it is also desirable that corruption of signals should not readily change an escape pattern into a valid code word for a data word, or vice versa. The degree of resilience of a code to such corruption may be measured in terms of its
Hamming distance, which in this context is defined as the minimum number of symbols which must be altered for a symbol sequence representing data to become identical to an escape pattern, or vice versa.
A block code providing escape patterns with a Hamming distance H from any code word for data may be designed as follows:
The block code will have an output consisting of code words each containing Y characters, each character being taken from the set of n possible symbols S = (sl, s2,. . . sn).
The set C of all possible sequences of length Y of these symbols has nY elements. The code words representing data constitute a subset D of this set C. In the case of the block code defined by the procedural technique above, for example, Y=6, n=8, S comprises the set of octary symbols (-7, -5, -3, -1, 1, 3, 5, 7) and the set C contains 262144 combinations of symbols, of which 65536 are used as code words in the subset D.
One subset of symbols in the set of symbols S, labelled S2, is chosen and the escape pattern is defined as a code word comprised solely of symbols taken from the subset S2.
The set D of data code words is then constructed such that no code word in D has more than (Y - H) occurrences of any symbol from the set S2; all code words in the set D will then have a Hamming distance of at least H from the escape pattern. Thus, in the case of the encoding defined by the procedural technique above it can be seen that no code word contains more than three occurrences of the octary symbols 7 and -7; with delimiter escape patterns consisting of any permutation of six symbols chosen from the set S2 = (7, -7), the
Hamming distance between code words and escape patterns is therefore 3.
Inspection of the look-up tables defined in Table 5 and consideration of step 5 above shows that the pairs of symbols Ci,Di=(7,7) or Ci,Di=(-7,-7) are never used in any code word representing data or control signals. As a consequence, the patterns (7,7,7) and (-7,-7,-7) will never occur at any point within a stream of code words generated by sixteen bit data or control words. Therefore, those escape pattern having at least three consecutive occurences of the symbol 7 or at least three consecutive occurences of the symbol -7 will remain unique from any pattern of code words generated by data or control inputs even if block synchronisation is lost. This property further improves the resilience of the code to erroneous detection of escape patterns.
A further advantage of the 16B60 described herein is that all code words have a weight between 0 and 12, whereas an arbitrary choice of code words could result in those code words having weight between 0 and 42. The constrained range of code word weights assists greatly in maintaining a small r.d.s. and therefore reducing signal distortion when the code word symbols are transmitted over channels with no d.c. path.
Various modifications may be made to the 16B60 code derivation described above which result in alternative 16B60 codes with some of the advantageous properties. The first of these modifications relates to Table 2, in which the procedures to be used for selecting octary symbols are specified. An alternative to Table 2 is allowed, which is given in Tables 8.
Table 8 no. (Ai,Bi) having Bit b15
zero weight 0 1 0 la 3a
1 la 4a
2 2 5
3 2 6
Table 8 references several procedures not used in the procedural technique above, and these are defined below.
Procedure la
Let (x,y,y) be the permutation of the set (1,2,3) satisfying:
Ax+Bx > = Ay+By > = Az+Bz
(Ax+Bx = Ay+By) implies x < y
(Ax+Bx > Ay+By) and (Ay+By = Az+Bz) implies y < z
(Ax+Bx = Ay+By = Az+Bz) implies x=l, y=2, z=3 Then (Ci,Di) = (-Ai,-Bi) for i =
= (Ai,Bi) otherwise.
Procedure 3a
Let (x,y,z) be the permutation of the set (1,2,3) satisfying:
Ax+Bx > = Ay+By > = Az+Bz
(Ax+Bx = Ay+By) implies x < y
(Ax+Bx > Ay+By) and (Ay+By = Az+Bz) implies y < z
(Ax+Bx = Ay+By = Az+Bz) implies x=l, y=2, z=3 If 2ax+2bx < = Al+BlfA2+B2+A3+B3 then (Ci,Di) = (-Ai,-Bi) for i =
= (Ai,Bi) otherwise.
If 2ax+2bx > Al+B1+A2+B2+A3+B3 then (Ci,Di) = (Ai,Bi) for i =
= (-Ai,-Bi) otherwise.
Procedure 4a
If there is some i for which (Ai,Bi) = (5,7), then letj be the least such value in (1,2,3),
(Ci,Di) = (-7,7) if i = j
= (Ai,Bi) otherwise.
If a(j1)+b(jl) = a(j2)+b(j2) < 12 for somejl < j2 in (1,2,3),
then (Ci,Di) = (-Ai,-Bi) if i = jl
= (Ai,Bi) otherwise.
If (A1+B1,A2+B2,A3 +B3) = (0,4,10) then (Ci,Di) = (Ai,Bi-2) if Ai+Bi = 0
= (Ai,Bi) otherwise.
If {A1+Bl,A2+B2,A3+B3) (0,6,8) or (0,6,10) then (Ci,Di) = (Ai-2,Bi-2) if Ai+Bi = 0
= (Ai,Bi) otherwise.
If (A1+B1,A2+B2,A3+B3) = (0,8,10) then (Ci,Di) = (Ai,Bi+2) if Ai+Bi = 0
= (Ai-2,Bi-2) otherwise.
Otherwise (ie. if (Ci,Di) is not defined by the rules above),
(Ci,Di) = (Ai,Bi) for all i.
A further allowed modification to the 16B60 encoder is for the entries in any row of Table 2 (or Table 8 if that alternative is selected) to be reversed such that the entry for b15=0 becomes that for blS=l and the entry for blS=1 becomes that for bl5=0. This modification is allowed independently on each row of Table 2 or Table 8.
A further allowed modification to the 16B60 encoder is for the procedure defined above as Procedure 5 to be replaced by an alternative procedure, namely Procedure Sa.
Procedure Sa If Al +Bl > 0, then put (Cl,Dl) = (7,5) if Al+Bl+A2+A3 < 0 (7,-7)if0 < = A1+B1+A2+A3 < = 12
(-7,-7) if 12 < A1+B1+A2+A3 (C2,D2) = (Al,Bl)
(C3,D3) = (A2,A3).
If A2+B2 > 0, then put (C2,D2) = (7,5) if A2+B2+A3+Al < 0
(7,-7) ifO < = A2+B2+A3+Al < = 12
(-7,-7) if 12 < A2+B2+A3+A1
(C3,D3) = (A2,B2)
(Cl,Dl) = (A3,Al).
If A3+B3 > 0, then put (C3,D3) = (7,5) if A3+B3+Al+A2 < 0
(7,-7) if0 < = A3+B3+Al+A2 < = 12
(-7,-7) if 12 < A3+B3+A1+A2 (Cl,Dl) = (A3,B3)
(C2,D2) = (A1,A2)
A further allowed modification to the 16B60 encoder is for the procedure defined above as Procedure 6 to be replaced by an alternative procedure, namely Procedure 6a.
Procedure 6a (Ci,Di) = (Ai, 2-Ai) for all i.
A further allowed modification to the encoder is for the six octary symbols forming each codeword to be transmitted in any order, provided that order remains consistent for all codewords. One alternative example would be for the symbols to be transmitted in the order D3 C3 D2 C2Dl Cl.
Various modifications to the apparatus described above are allowed which result in an apparatus having similar functionality. One such modification relates to the use of three bit words to represent of octary symbols at the output of the coder 30 and the input to the
Digital to Analogue Converter 34. The use of any other signals to represent octary symbols is permitted provided that a one to one mapping exists between those signals and the octary symbols. For example, octary symbols may be represented by binary words consisting of more than four bits are allowed, or by signals with varying voltage.
Similarly, a further allowed modification is for octary symbols to be represented by signals other than four bit nibbles at the output of the Decision Circuit 44, and the input to the decoder 48, in the receiver 14.
It will be obvious to a person skilled in the art, given the encodings defined by the procedural and look-up table in Table S techniques above, that additional encodings having the same properties may be derived therefrom by simple invariance transformations. As an example of such a transformation, the encoding may be transformed to an equivalent form by replacing the mapping between five bit binary words and pairs octary symbols shown in Table l with any one to one mapping.
Although the above description refers for simplicity to transmission of data over a single twisted-pair conductor, the invention may also be used for example for transmitting data over multiple twisted-pair conductors simultaneously, or for transmitting data over any other medium, for example coaxial cables or optical fibre waveguides.
Claims (10)
- [3960381 1. Apparatus for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof.
- 2. Apparatus for communicating data over a channel together with control signals, wherein control signals are represented by control codewords selected from a group of control codewords, said group of control codewords comprising at least two subsets, and control codewords being selected from each subset in turn.
- 3. Apparatus according to claim 2 wherein the two subsets are chosen so that the Hamming distance between control codewords in each subset is at least 2.
- 4. Apparatus according to claims 2 or 3 wherein the two subsets are substantially as shown in Table 7, the first subset being that part of Table 7 for which the sixteenth bit is 0, the second subset being that part of Table 7 for which the sixteenth bit is 1.
- 5. Apparatus for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof, wherein control signals are represented by control codewords selected from a group of control codewords, said group of control codewords comprising at least two subsets, and control codewords being selected from each subset in turn.
- 6. A method for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof.
- 7. A method for communicating data over a channel together with control signals, wherein control signals are represented by control codewords selected from a group of control codewords, said group of control codewords comprising at least two subsets, and control codewords being selected from each subset in turn.
- 8. A method according to claim 7 wherein the two subsets are chosen so that the Hamming distance between control codewords in each subset is at least 2.
- 9. A method according to claims 7 or 8 wherein the two subsets are substantially as shown in Table 7, the first subset being that part of Table 7 for which the sixteenth bit is 0, the second subset being that part of Table 7 for which the sixteenth bit is 1.
- 10. A method for communicating data over a channel, wherein said data are encoded using the 16B60 code described herein, or a modified form thereof as described herein, or any invariance transformation thereof, wherein control signals are represented by control codewords selected from a group of control codewords, said group of control codewords comprising at least two subsets, and control codewords being selected from each subset in turn.
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9605086A GB2311441A (en) | 1996-03-11 | 1996-03-11 | 16B6O encoded data transmission |
| US08/930,105 US6052390A (en) | 1996-03-11 | 1997-03-11 | Data code block transmission using preselected control signals and delimiters |
| EP97906303A EP0824817B1 (en) | 1996-03-11 | 1997-03-11 | Apparatus and method for communicating data word blocks together with control words |
| JP53236497A JP3722840B2 (en) | 1996-03-11 | 1997-03-11 | Data communication apparatus and method |
| DE69733864T DE69733864T2 (en) | 1996-03-11 | 1997-03-11 | DEVICE AND METHOD FOR DATA TRANSMISSION OF DATA WORD BLOCKS TOGETHER WITH CONTROL WORDS |
| PCT/GB1997/000666 WO1997034397A1 (en) | 1996-03-11 | 1997-03-11 | Apparatus and method for multi-level transmission of data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9605086A GB2311441A (en) | 1996-03-11 | 1996-03-11 | 16B6O encoded data transmission |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| GB9605086D0 GB9605086D0 (en) | 1996-05-08 |
| GB2311441A true GB2311441A (en) | 1997-09-24 |
Family
ID=10790181
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB9605086A Withdrawn GB2311441A (en) | 1996-03-11 | 1996-03-11 | 16B6O encoded data transmission |
Country Status (1)
| Country | Link |
|---|---|
| GB (1) | GB2311441A (en) |
-
1996
- 1996-03-11 GB GB9605086A patent/GB2311441A/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| GB9605086D0 (en) | 1996-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0824817B1 (en) | Apparatus and method for communicating data word blocks together with control words | |
| EP1421690B1 (en) | Method and apparatus for encoding and decoding digital communications data | |
| US8065584B2 (en) | Transmitting data words | |
| US7804855B2 (en) | Method and system for exploiting spare link bandwidth in a multilane communication channel | |
| EP0977411B1 (en) | Block code with limited disparity | |
| EP0744108B1 (en) | Signalling method and structure suitable for out-of-band information transfer in communication network | |
| EP0731586B1 (en) | Balanced ternary code | |
| US20040088633A1 (en) | Error correcting 8B/10B transmission system | |
| EP1410592A1 (en) | Method and system for encoding data for transmission over a serial link | |
| EP0596736B1 (en) | Split channel data transmission | |
| US7023899B2 (en) | Method for reliable signaling information transmission in a wireless communication system | |
| US6088369A (en) | Line coding technique for efficient transmission and delineation of encapsulated frames over high speed data links | |
| US5612694A (en) | Encoding data | |
| US5396503A (en) | Method and system for communicating data | |
| GB2311441A (en) | 16B6O encoded data transmission | |
| CN111966627B (en) | 8B/9B encoding and decoding method for serial bus | |
| KR100393769B1 (en) | Noise canceling apparatus for home-pna modem | |
| Crouch et al. | Coding in 100VG-AnyLAN | |
| HK40086239A (en) | Code block processing method, node, and medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |