DATA TRANSMISSION SYSTEM

Abstract: The system uses a 3B2T line code, i.e. one in which sets of three or triplets of binary digits are converted into pairs or duplets of ternary elements. All nine of the possible ternary duplets are used, in such a way that the same ternary duplet does not occur twice consecutively. This is done in one ver­ sion by using the ninth duplet 00 as a repeat indicator, and in the other version by a conversion process in which each con­ version operation takes into account the result of the preced­ ing operation.

Description: Background of the Invention This invention relates to a data transmission method in which the data to be transmitted is expressed in a binary code which is converted into a ternary line code before transmission. An example of such a ternary code is described in US-A-3611141 (D.B. Waters), where the code is of the 4B3T type, which means that successive groups each of six binary elements (or bits) are converted for transmission into groups of three ternary elements. Another example of such a code is the equally well-known 3B2T line code. GB-A-2014401 (Hitachi) describes a data transmission system in which a line code for transmitting intelligence in binary form is described, and which uses three different line levels. Thus it is a pseudo-ternary line code. Two of the levels are used to convey the two binary conditions, 1 and 0, while the third level, referred to as level Ø, is used as a "repeat indicator". Thus if a succession of 1 digits have to be sent, they are sent as 1, Ø, 1, Ø ...; similarly if a succession of 0 digits have to be sent, they are sent as 0, Ø, 0, Ø, ... What this means is that a succession of digits of the same binary signification is conveyed as an alternacy of the line level for that binary signification and the third (Ø), or "repeat indicating" level. It will be noted that in this method the number of three level, or pseudo-ternary, elements which are sent is the same as the number of binary elements in the original message. In DE-A-2747018 which relates to a 3B2T line code there is disclosed a method for converting data expressed in a binary format into a ternary format. The conversion involves the subdivision of the binary data into groups of 3 binary elements, each of which groups is converted into a group of 2 ternary elements so that the number of ternary elements which is transmitted is less than the number of binary elements in the original data. Nine ternary groups are thus available for the encoding of eight binary groups. Only eight of the ternary groups are required so that the ninth, otherwise redundant, ternary group can be used for another purpose, in particular as a modifier in those cases where two identical consecutive ternary groups would otherwise occur. US-A-4482927 also refers to such use of a ninth ternary group as a modifier. Summary of the Invention An object of the invention is to produce a method which uses an improved version of such a line code. According to the invention, there is provided a method for data transmission, wherein data is initially expressed in a binary format but is converted into a ternary format before transmission via the transmission medium, wherein the ternary line code is of the type referred to as 3B2T i.e. a code in which successive sets of three binary elements are coded respectively into successive sets of two ternary elements so that the number of ternary elements per set transmitted is less than the number of binary elements per set in the original data, wherein the ternary line code includes all of the following nine pairs of ternary elements: - - 0 + + 0 - 0 0 - + + - + + - 0 0 the eight possible different sets of three binary elements each being converted into a respective one of eight of said pairs of ternary elements, the ninth pair of ternary elements being used to indicate a repetition, so that a succession of occurrences of the same ternary pair are sent in the form of that ternary pair alternating with said ninth pair, characterised in that the respective sets of three binary elements are converted into pairs of ternary elements in accordance with the following table: BINARY INPUT TERNARY OUTPUT Weight Elements 0 000 - - 1 001 - 0 2 010 - + 3 011 0 + 4 100 0 - 5 101 + - 6 110 + 0 7 111 + + and wherein the ninth ternary pair used as a repeat indication is 00. Brief Description of the Drawings Fig. 1 is an explanatory waveform which will be referred to in the course of the description, while Fig. 2 is a simplified block schematic of a circuit using the invention. The line code described in the present specification is suitable for use in a variety of applications, and particularly for transmission over twisted wire cables at data rates in the region of 144bt/s. The line code used in this case is an improvement over the 3B2T code specified in US-A-4539675 (D.A. Fisher). The code used in the present case offers improved performance when used in place of the previously specified code. The modifications defined reduce the density of mark elements, and reduce the DC and half-baud rate power relative to the quarter-baud rate power. No two adjacent ternary duplets (i.e. pairs of elements) can be the same, i.e. a given ternary duplet is never repeated in consecutive positions. Hence unique framing words can be generated by repeating once or more any ternary duplet, which violates the normal coding rule. Another advantage of the line code described herein is that it enables a small reduction in the number of taps needed in echo cancellers and in digital feedback equalisers used in the system. In common with the previous version of 3B2T, the property that inversion of the ternary data stream corresponds to inversion of the binary data stream is retained. In order to facilitate understanding of the present invention there will first be described a line code referred to as OFFSET DIFFERENTIAL 3B2T (OD3B2T) which does not form part of the invention as claimed. In this particular code, the new code word is given by the following expression : T(i) : = (T(i-1)⊕ B(i)⊕ K) T(i) is the weight of the new two symbol ternary word or duplet to be transmitted. T(i-1) is the weight of the previous two symbol ternary word transmitted. K is the weight offset. B(i) is the weight of the 3-bit binary word being encoded. ⊕ indicates that modulo 9 summation is used. Weights of ternary and binary words are defined as follows: Weight BINARY WORD TERNARY WORD 0 000 -- 1 001 -0 2 010 -+ 3 011 0- 4 100 00 5 101 0+ 6 110 +- 7 111 +0 8 NOT APPLICABLE ++ Decoding of offset differential ternary involves subtracting the weights of the two adjacent ternary words and the offset (K) to give the weight of the binary word transmitted. This subtraction is also done in modulo 9 arithmetic. Hence the decoding operation may be expressed as : B(i) = T(i)⊖ T(i-1)⊖ K where ⊖ indicates modulo 9 subtraction. When K=1, the offset differential 3B2T code (OD3B2T) has the property that no pair of adjacent ternary words can be identical. This results in the power vs frequency spectrum peaking at the quarter baud frequency and having a value at zero frequency and the half baud rate frequency 2.2dB below the quarter baud rate value. The longest string of marks of the same sign is four, and the largest long term mean DC value is 3/4 of the mean DC magnitude of positive or negative mark. The peak to peak excursions of an AC coupled transmitted signal will therefore in general be reduced by approximately 1dB compared to completely random ternary data with the same pulse shaping. Assuming random input binary data, all ternary duplets have equal probability of occurrence resulting in a mean density of marks of 2/3. The auto-correlation function for the code is zero for all odd symbol spaced time differences and for even symbol spaced time differences of i has value: A(i) = (-0.125) |i/2| (i even only) where |i/2| is the modulus of i/2. The code power spectrum resulting from this auto-correlation function is shown in the accompanying Fig. 1. Because no two adjacent ternary duplets can be the same, duplet or word synchronisation can be found in the receiver by counting the occurrence of adjacent duplets that correspond between even word boundaries and odd word boundaries. The correct duplet boundary in error free data results in no two adjacent duplets being the same. In the example below, the ternary data sequence in the centre has duplet word synchronisation valid between odd boundaries. Between even boundaries adjacent duplets violate the coding rule twice with +-+- and 0000, e.g. The effect of a single ternary error in a received code word is to introduce an error into the weights deduced from the difference between ternary words of both forward and backward differences. This results in a doubling of the binary error rate compared to an ideal ternary coder. The code is insensitive to ternary data inversion. Frame synchronisation words may use violations of the coding rule by repeating ternary duplets. Therefore up to nine different framing words of length four are possible. Frame synchronisation words consisting of two or more repeated ternary duplets (e.g. "000000") are unique provided word synchronisation is known. A binary termination to a five or six zero synchronisation word also provides unambiguous word synchronisation, (e.g. the synch. word "000000B" where B is a binary bit is unique). The binary bit may be used to convey information at the frequency of the synch. word (such as a cyclic redundancy check on the data). It may also be used to give super-frames by being set to 0 every n'th frame. A coder can be implemented to give the same power spectrum and signal properties as OD3B2T but using a fixed look-up table translating the eight binary words to eight of the nine ternary duplets with the ninth ternary duplet substituted where a ternary duplet would otherwise be duplicated. Such a coder is called SUBSTITUTIONAL 3B2T (SU3B2T) and is the subject of the present invention. Any one-to-one mapping of binary triplets to ternary duplets may be used for the conversion, however the particular table given below has low error multiplication (incorrectly received single ternary bits result in a low number of binary errors) and the property that ternary sign inversion leads to binary sign inversion, and is thus particularly advantageous. BINARY INPUT TERNARY OUTPUT Weight Elements 0 000 -- 1 001 -0 2 010 -+ 3 011 0+ 4 100 0- 5 101 +- 6 110 +0 7 111 ++ If the code translation output duplets are T(0), T(1), T(2) ....T(n) then the ternary duplet "00" is substituted such that : (where the symbol ": =" represents assignment of the value to the duplet defined). Note that in the case of a long series of repeated binary triplets, for example "011 011 011 011", the substitution is made on every second occurrence since after the first assignment of the ternary word "00" to the second ternary word, the third ternary word is compared to "00" which does not occur in the simple binary to ternary conversion. The ternary sequence in this case would therefore be "0+ 00 0+ 00". This SU3B2T code has essentially the same spectral properties and ternary duplet statistics and auto-correlation as OD3B2T when the binary data sequence is random, with the following exceptions: (a) The code is sign sensitive and where the signalling voltages + and - become inverted, the polarity needs to be determined by a separate test. (b) An error in a ternary duplet only affects the binary triplet to which it is translated when the duplet is followed by "00". Therefore, the error multiplication is only increased marginally compared to the case where the translation table is used without substitution of repeated duplets. This gives lower error multiplication for single errors than OD3B2T. The implementation of a SU3B2T coder requires binary to ternary conversion logic, which can follow well-established principles. Three binary inputs B(1), B(2) and B(3) are latched and the ternary conversion performed, see Fig. 2. The four sign and magnitude outputs from the conversion table in the translation block are compared in the comparator with the four previous encoder outputs for equivalence. The comparison operation is also performed in well-known manner. The four binary sign and magnitude values forming the last output were stored in 'D-type' logic storage elements D1, D2, D3 and D4, whose corresponding outputs Q1, Q2, Q3, Q4 provide the logic outputs H, G, F, E. These outputs are also fed back to the H, G, F, E inputs of the comparator. In the case of the binary to ternary translator output corresponding to the previous ternary duplet, the comparator sends a signal over the connection shown to reset the D-type elements to their low states corresponding to the ternary duplet "00". The comparator logic may for example use four two-input EXCLUSIVE NOR gates, each output forming the input to a four input NAND gate the output of which is the comparator output. If [(S(i)=S(i-2) & M(i)=M(i+1) & S(i+1)=S(i-1) & M(i+1)=M(i-1)] then the comparator output will be low and causes the four latches Q1, Q2, Q3, Q4 to be reset to 0. In the case of the comparator output being high, the latches D1 to D4 load the ternary words output directly from the code translator. It will be apparent that decoding translates all ternary duplets to the corresponding binary triplet except where the ternary duplet is "00". In this case the most recent triplet is repeated. As with OD3B2T, frame synchronisation can be achieved with SU3B2T by using violations of the coding rule, i.e. by repeating ternary duplets.

Claims: A method for data transmission wherein data is initially expressed in a binary format but is converted into a ternary line code before transmission via the transmission medium, wherein the ternary line code is of the type referred to as 3B2T i.e. a code in which successive sets of three binary elements are coded respectively into successive sets of two ternary elements so that the number of ternary elements per set transmitted is less than the number of binary elements per set in the original data, wherein the ternary line code includes all of the following nine pairs of ternary elements: - - 0 + + 0 - 0 0 - + + - + + - 0 0 the eight possible different sets of three binary elements each being converted into a respective one of eight of said pairs of ternary elements, the ninth pair of ternary elements being used to indicate a repetition, so that a succession of occurrences of the same ternary pair are sent in the form of that ternary pair alternating with said ninth pair, characterised in that the respective sets of three binary elements are converted into pairs of ternary elements in accordance with the following table: BINARY INPUT TERNARY OUTPUT Weight Elements 0 000 - - 1 001 - 0 2 010 - + 3 011 0 + 4 100 0 - 5 101 + - 6 110 + 0 7 111 + + and wherein the ninth ternary pair used as a repeat indication is 00. A method as claimed in claim 1 characterised in that frame synchronisation is effected by violating the coding rule by repeating ternary pairs of elements. A method as claimed in claim 2, characterised in that a binary bit is appended to a five or six bit zero synchronisation word to provide unambiguous word synchronisation, i.e. the synchronisation word is TTTTTB or TTTTTTB, T being a zero ternary element and B being a binary bit. A method as claimed in claim 3, characterised in that the binary bits in the synchronisation words are used to convey information at the frequency of the synchronisation words, or to define super frames by being set to 0 every n 'th frame.

Inventors: FISHER, DAVID ANTHONY
Applicants: NORTHERN TELECOM LIMITED
Application year: 1986
Main classification: H03M5
IPC codes: H03M7, H04L25, H03M5