METHOD OF TRANSMITTING INFORMATION, ENCODING DEVIDE FOR USE IN THE METHOD, AND DECODING DEVICE FOR USE IN THE METHOD

Abstract: A method is described for converting m-bit information words into n-bit code words and vice versa. The code words have a limited disparity in order to obtain a d.c. free code. A reduction of the lowfrequency content of the spectrum can be obtained by selecting the code words in such a way that the sum over all the previously generated bits x j of the preceding code words remains restricted.

Description: The invention relates to a method of transmitting information, in which prior to transmission m-bit information words are converted into n-bit code words and after transmission said n-bits code words are re-converted into m-bit information words, where m < n and m and n are positive integers, and in which in order to obtain a d.c. free transmission the possible code words have been selected in such a way that the running sum over the bits of the generated code words, where x j = ± 1 is the value of the j th bit remains restricted regardless of the sequence of information words. The invention also relates to an encoding device for use in the method. Moreover, the invention relates to a decoding device for use in the method. Such methods and devices are employed in order to optimise the signal spectrum for transmission. For example, in the case of transmission via a magnetic tape, but also in the case of transmission via other media such as cables, space or optical record carriers, it is desirable to have a d.c. free signal and a spectrum with a minimal low-frequency content in order to obtain room for various control signals such as tracking signals in recording. It is known, inter alia from GB-PS 1,540,617, that a d.c. free code is obtained if the running sum over the consecutively generated bits remains restricted (a value opposite to the value of a logic "1" being assigned to a logic "0"), which means that there will not be a series of input words which gives rise to a series of code words whose running sum increases towards infinity. The simplest method of guaranteeing this is to use for the code words only those words which have a disparity (which is the sum over the bit value of the code word, i.e. the variation of the running sum caused by this code word) equal to zero, i.e. to use only code words comprising as many ones as zeros. An example of this is the "biphase" code in accordance with the table in Fig. 2. Another simple method, whith results in a larger number of possible code words and which is therefore more efficient, is described in said Britisch Patent Specification. In addition to code words of zero disparity, code words of a specific non-zero disparity are permissible, both a code word of positive disparity and a code word of a disparity opposite thereto being assigned to the relevant input words (for example +2 and -2), from which two code words a choice is made which depends on the digital sum value (running sum) over the preceding code words, in such a way that absolute value of this digital sum value remains restricted. The simplest solution is to select one set and to generate the associated words of the other set by inverting the words of said one set. The invention aims at providing a method of the kind defined in the opening paragraph, and an encoding device and a decoding device for use in this method, in which the spectrum of the code words generated in the case of a random supply of information words has a low-frequency signal content which is smaller than in the case of the known method and devices. The method in accordance with the invention is therefore characterized in that in addition the possible code words are selected in such a way that the running sum over all the preceding sum values over the bits of the generated code words also remains restricted. The invention is based on the recognition of the fact that by limiting the sum the second derivative S'' (ω) of the energy spectrum S(ω) is zero for ω = 0. which means a reduction of the low-frequency content of the spectrum. The method in accordance with the invention may be characterized further in that to a first group of information words code words are assigned which comply with for every n-bit code word, to a first group of information words first and second code words are assigned for which the sum has a value +a and -b, respectively, and when an information word of said first group appears, a choice is from the two possible code words as a function of the running sum over all the preceding code words, in such a way that said running sum is minimized, The encoding device in accordance with the invention may be characterized in that the parameters a and b are equal. The decoding device in accordance with the invention may be characterized by a conversion circuit for converting the m-bit information words into n-bit code words in such a way that the running sum over all the preceding sum values over the bits of the generated code words remains restricted. The invention will now be described in more detail, by way of example, with reference to the accompanying drawings, in which: Fig. 1 shows a known device using a method of transmitting information, Fig. 2 shows a conversion table used in a known encoding/decoding method, Fig. 3 shows a table for an encoding/decoding method in accordance with the invention, Fig. 4 shows a table to illustrate the efficiency R of a group of encoding/decoding methods in accordance with the invention, Fig. 5 is a table illustrating the effiency of another group of encoding/decoding methods in accordance with the invention, Fig. 6 is a table relating to a preferred version of an encoding/decoding method in accordance with the invention, Fig. 7 is a table to explain the use of the code in accordance with the table of Fig. 6, Fig. 8 shows a device using the preferred version of the method in accordance with the invention, and Fig. 9 is a graph illustrating the effect of the invention and showing the energy spectrum obtained when the codes of the tables of Figs, 2 and 6 are used. Fig. 1 shows a device employing a system of encoding and decoding digital data. The device comprises an input 1 for receiving serial input data and (unless the data is presented in parallel form) applying said data to a series-to-parallel converter 2 for arranging the input data in 2-bit parallel words in the present example. These 2-bit words are applied to an encoding circuit 3, for example in the form of a look-up table or a gate circuit, which encoding circuit, in the present example, generates a 4-bit output word for every input word in conformity with the rules laid down by means of this encoding circuit. By means of a parallel-to-series converter 4 these 4-bit words are converted into a serial data sequence, which is, for example, recorded on a magnetic tape by means of a conventional analog magnetic-tape recorder 6. It is then possible to record, for example, a plurality of parallel tracks. Synchronisation is effected by means of clock signals which are derived from the input signal by a clock-signal generator circuit 5, for example by means of a phase-locked loop. In principle, decoding may be effected by means of a similar circuit arrangement through which the signals are fed in reverse sequence. The signal from the tape recorder 6 is arranged in groups of 4-bit words by a series-to-parallel converter 7 (unless the data is available as 4-bit words). These 4-bit words are converted into 2-bit words with a decoder circuit 8 in conformity with rules which are complementary to those used for encoding, and are subsequently converted into a serial data stream on output 10 by means of a parallel-to-series converter 9. Again, this process is synchronised with clock signals which are derived, by means of the clock-signal generator circuit 13, from the signal which is obtained from the recorder 6 and which appears on input 12 of the series-to-parallel converter 7. Conversion in the encoding circuit 3 is effected inter alia in order to obtain a signal spectrum which is suitable for transmission. For example, in the case of transmission via a magnetic tape, but also in the case of transmission via other media such as cables, space or optical record carriers, it is desirable to have a d.c. free signal and a spectrum with a minimal low-frequency content to enable various control signals, such as tracking signals in the case of recording, to be accommodated. For example from GB-PS 1,540,617 it is known that a d.c. free code is obtained when the running sum over the consecutively generated bits is limited (a value opposite to the value of a logic "1" being assigned to a logic "0"), which means that there is no series of input words which gives rise to a series of code words whose running sum grows towards infinity. The simplest method of guaranteeing this is to use for the code words only those words whose disparity (which is the sum over the bit value of the code word, i.e. the variation of the running sum caused by this code word) is zero, so only code words comprising as many ones as zeros. An example of this is the "Biphase" code given in the form of a table in Fig. 2. Another simple method which allows more possible code words and is therefore more efficient, is described in said Britisch Patent Specification. Apart from code words with zero disparity, code words with a specific non-zero disparity are also permissible, both a code word of positive disparity and a code word of opposite disparity being assigned to a code word (for example +2 and -2) and a choice being made from these two words depending on the digital sum value (running sum) over the preceding code words, in such a way that the absolute value of this digital sum value remains restricted. The simplest way is to select one set and to generate the associated words of the other set by inverting the words of the first-mentioned set. In the device shown in Fig. 1 this can be achieved by determining the digital sum value over all the preceding words with an up/down counter 14 which counts down upon receipt of every logic zero and which counts up upon receipt of every logic one and by generating as a function thereof a logic signal S o /S₁ which indicates whether this digital sum value has a high (S₁) or a low (S o ) value of two possible values. If the value of S o is low, the next input word is converted into a word of zero or +2 disparity in conformity with the obtaining rules, so that the digital sum value remains S o or becomes S₁ (S₁ = S o + 2) and, if the value of S₁ is high, this input word is converted into a word of zero or -2 disparity, so that the digital sum value remains S₁ or becomes S o (S o = S₁-2) . During decoding the digital sum value of all the preceding words is determined by means of the up/down counter 15 in order to determine as a function thereof whether during encoding a word of 0 or +2 disparity or a word of 0 or -2 disparity has been selected as the next code word. The decoding circuit 8 is controlled as a function of this. Both the encoding and the decoding circuit therefore comprise a set of code words S o , obtained by means of rules or tables, which is valid if the digital sum value of all the preceding code words is S o and a set S₁ which is valid if the digital sum value of all the preceding words is S₁. In accordance with the afore-mentioned Patent Specification one set S₁ can be derived simply from the other set S o when the words of zero disparity in both sets are selected to be identical and the words of -2 disparity are selected to be complementary to the words of +2 disparity. The Applicant's Patent Application 8402444 (PHN 11.127) describes an improvement to this method. Mathematically, the above may be defined as follows: remains limited as i increases, where S(ω) is the energy spectrum, Z₀(i) is the sum over all i preceding bits x j , with x j =ε{+1, -1} , j the sequence number of the bits x j , and ω the angular frequency. In the said simplest case this requirement is therefore met if: for each code word, i.e. for each (n-bit) code word the disparity is zero. Further, in accordance with the invention: remains limited as i increases, which means that the second derivative S'' (ω) of the energy spectrum S (ω) (the odd derivatives of S(ω) are always zero for ω = 0) are zero for ω = 0 when the sum z₁ (i) over all i preceding sums of k bits is restricted. In practice, the second derivative S'' (ω) being zero means that the low-frequency content of the spectrum is even smaller than in the case in which only S(ω = 0) is zero, which may improve the usefulness of the code. A further reduction of the low-frequency content can be obtained if: remains restricted as i increases. Similarly, this requirement may be imposed on z₃(i), z₄(i), z₅(i)....z p (i)....., i.e. a summation every time. In general, it may be stated that remains restricted, where S 2p (ω) is the 2p th derivative of the energy spectrum S(ω), z p (i) is the p th order sum, and z p-1 is the (p-1) th order sum. In practice, these further requirements and the requirement for z₂ generally do not lead to efficient codes, so that only requirement (3) will be of practical significance. Requirement (3), like requirement (1), can be met by imposing this requirement on every code word; this means that only those code words should be selected which for every n-bit code word comply with: This requirement is met if each code word complies with: This requirement means that for each code word the sum over the product of the bit value and the sequence number of this bit for every word is zero. An example of a group of (2) code words which complies with requirement (6) is given in the table of Fig. 3, which gives the two possible 4-bit code words which meet requirement (6) and the associated 1-bit input words. The efficiency of such a conversion is 0.25 because the ratio between the input bit rate and the output bit rate is 0.25. Similarly, the simplest way of meeting requirement (5) is to impose this requirement on every word. In general, this is met if every code word complies with: where p is the order of the summation z p (i). Another method of simply meeting requirement (3) is to select for each input word two code words for which the parameters z₁(n) have non-zero values, as the case may be together with code words whose parameters z₁(n) are zero, and to select one of the two code words as a function of the logic sum z₁(i) over all i/n preceding n-bit words, in such a way that this running sum z₁(i) remains restricted. In addition, to meet requirement (1) that the running sum z o (i) (= digital sum value) remains restricted, any appropriate method may be adopted. A suitable choice is the choice for code words of non-zero disparity (z o (n) = 0). If in addition those code words are selected whose sum z₁(n) is also zero, the table in Fig. 4 gives the number M of possible code words which can be formed with n-bit words and the attainable efficiency R = ²log (M)/n. It is evident that for a more or less acceptable efficiency (for example, R ≧ 0.5) comparatively long code words of 16 or more bits have to be selected (all the code words should have a length equal to a multiple of 4 bits to meet the requirement that both z o (n) and z₁(n) should be zero). More efficient codes appear to be possible by maintaining the requirement z o (n) = 0 and admitting more values of z₁(n). The table of Fig. 5 shows the code efficiency R, in which the first column gives the number of bits n of the code words and above each column the number of possible values r is given which the parameter z₁(i) may assume at the end of each code word. The table in Fig. 6 gives an example of a code where n = 4 and r = 4 (Fig. 5), which code is equivalent to the said biphase code (Fig. 2) as regards the efficiency R and the length of the code words. The first column of the table shows the 2-bit input word, the second column gives the associated 4-bit output word when the parameter z₁(i) over all the preceding words is smaller than zero, the third column gives the value of z₁(n) of this word, the fourth column gives the output word when the parameter z₁(i) over all the preceding words is greater than zero, and the fifth column gives the value of z₁(n) over this word. At the end of every word z₁(i) then always has the four possible values +3, +1, -1 and -3. Fig. 7 shows the table of Fig. 6 in more detailed form in order to translate the encoding rules into an encoding gate circuit. In this example the parameter z₁(n) may have values of +4 and -4, respectively, +2 and -2, respectively, and zero. The first column gives the 2-bit input word. The second column gives the value of the running sum z₁(i) over all the preceding words in 2-bit notation and decimal notation, the third column gives the output code word to be selected, the fourth column the value of the sum z₁(n) of this code word, and the fifth column gives the new value of the running sum z₁(i + n) in two-bit notation and decimal notation. As is shown in the table, the input words 00 and 01 are converted into the words 1001 and 0110, respectively, regardless of the running sum z₁(i), which words each exhibit a sum z₁(n) equal to zero, so that z₁(i + n) remains equal to z₁(i). The input word 10 is converted into an output word 0101 with z₁(n) = -2 when the sum z₁(i) was equal to 00 or 01 (+3 and +1, respectively) and into an output word 1010 with z₁(n) = +2 when the sum z₁(i) was 10 or 11 (-1 and -3, respectively). Similarly, the input word 11 is converted into an output word 0011 with z₁(n) = -4 when the sum z₁(i) was 00 or 01 and into an output word 1100 with z₁(n) = +4 when this sum z₁(i) was 10 or 11. The code of Fig. 7 can be decoded without determining the parameter z₁(i), because all the code words can be re-converted unambiguously into the original data words. This is even possible with only 3 of the 4 bits. This is because the code words have been selected with the requirement that z o (n) = 0, i.e. code words comprising as many ones as zeros. Therefore, the information is defined by 3 of the 4 bits; the fourth bit merely ensures that z o (n) = 0. Fig. 8 shows an example of encoding and decoding in conformity with the table of Fig. 7. The device corresponds to that of Fig. 1 except for the sections 14 and 15 which are not necessary because there are only code words with z o (n) = 0. In the encoding device 3 the input bits a₂ and a₃ and the parameter z₁(i) representing bits a₀ and a₁ are converted into output bits b₂, b₃, b₄ and b₅ and the parameter z i (i + 4) representing the bits b o and b₁ in conformity with the indication in the second row of the table in Fig. 7. The bits a₃, a₂, a₁ and a₀ are applied to inverting and non-inverting inputs of AND-gates A₀ to A₁₀ in which they are combined in such a way that on the outputs of these AND-gates A o to A₁₀ the bits c o to c₁₀ appear in conformity with the following logic equations: c o = a o .a₂ c₁ = a o . a ₃ c₂ = a₁. a ₃ c₃ = a o . a ₁. a ₂.a₃ c₄ = a o . a ₁. a ₂.a₃ c₅ = a o .a₁. a ₂.a₃ c₆ = a o .a₁. a ₂.a₃ c₇ = a ₁.a₂.a₃ c₈ = a ₂. a ₃ c₉ = a₂. a₃ c₁₀= a₁.a₂.a₃ These bits c o to c₁₀ are subsequently combined to give bits b o to b₅ by OR-gates 0 o to 0₅ in accordance with the following logic equations: b o = c o + c₁ + c₃ + c₅ b₁ = c₂ + c₄ + c₆ + c₇ b₂ = c₃ + c₄ + c₇ + c₈ b₃ = c₅ + c₆ + c₇ + c₉ b₄ = c₃ + c₄ + c₉ + c₁₀ b₅ = c₅ + c₆ + c₈ + c₁₀ The bits b o and b₁ represent the new value of the parameter z₁ = z₁ (i + 4) and are applied to the flip-flops FF₁ and FF₂ where they are latched until the next input word a₂, a₃ is converted. In the decoding circuit 8 the bits b₃, b₄ and b₅ are combined to form bits d₁ to d₄ in AND-gates A₁₁ to A₁₅ in accordance with the following logic equations: d o = b ₅. b ₄ d₁ = b₅.b₄ d₂ = b ₅. b₃ d₃ = b₅.b₃ d₄ = b₅ .b₃ By means of OR-gates 0₆ and 0₇ these bits d o to d₄ are combined to form the output bits a₃ and a₂ in conformity with the logic equations a₃ = d o + d₁ + d₂ + d₃ a₂ = d₁ + d₄ To illustrate the effect of the encoding method in accordance with the invention Fig. 9 shows the energy spectrum S(ω) in dB as a function of the relative angular frequency ω/ω o (ω o is the channel bit frequency, which spectrum is symmetrical about ω/ω o = 0.5) on a logarithmic scale. Curve I represents the spectrum when the biphase code of Fig. 2 is used an curve II gives the spectrum when the code of Fig. 7 is used. It can be seen that for low frequencies the code in accordance with the invention produces a smaller signal, as was required.

Claims: A method of transmitting information, in which prior to transmission m-bit information words are converted into n-bit code words and after transmission said n-bits code words are re-converted into m-bit information words, where m < n and m and n are positive integers, and in which in order to obtain a d.c. free transmission the possible code words have been selected in such a way that the running sum over the bits of the generated code words, where x j = ± 1 is the value of the j th bit and i is a positive integer, remans restricted regardless of the sequence of information words, characterized in that in addition the possible code words are selected in such a way that the running sum over all the preceding sum values (K is a positive integer) over the bits of the generated code words also remains restricted. A method as claimed in Claim 1, characterized in that to a first group of information words code words are assigned which comply with for every n-bit code word. A method as claimed in Claim 1, characterized in that to a first group of information words first and second code words are assigned for which the sum has a value +a and -b, respectively, and when an information word of said first group appears, a choice is made from the two possible code words as a function of the running sum over all the preceding code words, in such a way that said running sum is minimized. A method as claimed in Claim 2, characterized in that to a second group of information words first and second code words are assigned for which the sum has a value +a and -b respectivejy, and when an information word of said second group appears a choice is made from the two possible code words as a function of the running sum over all the preceeding code words, in such a way that said running sum is minimized. A method as claimed in Claim 3 or 4, characterized in that the parameters a and b are equal. An encoding device for use in the method as claimed in any one or any of the preceding Claims, characterized by a conversion circuit for converting the m-bit information words into n-bit code words in such a way that the running sum over all the preceding sum values over the bits of the generated code words remains restricted. An decoding device for use in the method as claimed in any one or any of the following Claims, characterized by a conversion circuit for converting n-bit code words into m-bit information words, which conversion circuit is adapted to receive a sequence of code words whose running sum over all the preceeding sum values over the bits of the code words received remains restricted.

Inventors: SCHOUHAMER IMMINK, KORNELIS ANTONIE
Applicants: N.V. PHILIPS' GLOEILAMPENFABRIEKEN
Application year: 1985
Main classification: H03M5
IPC codes: H04L25, H03M5, H03M7, G11B20