US RE33041 E Abstract A stream of binary bits is converted into blocks of eight parallel bits. A first group of five of the eight bits addresses a memory device which has thirty-two code words each having four numbers representing the coordinates of signal points in four-dimensional space. The remaining three of the eight bits are expanded to four bits by a convolutional encoder having three bits of memory. These four bits are then used to multiply the four numbers of a code word read out from the memory device. This method permits a block of eight binary bits to be coded into any one of five hundred and twelve four-dimensional code words.
Claims(23) 1. A method for coding information comprising the steps of
separating said information into first and second groups of signals, addressing any one of a plurality of multidimensional code words by said first group of signals, and determining the sign of each .[.componet.]. .Iadd.component .Iaddend.of said multidimensional code words by said second group of signals. 2. The method of claim 1 for coding information wherein said multi-dimensional code words are four-dimensional code words.
3. The method of claim 2 for coding information wherein said information comprises a block of eight binary bits, said first group comprises five of said eight binary bits, and said second group comprises the other three of said eight binary bits.
4. The method of claim 3 for coding information wherein said four-dimensional code words consist of a set of thirty-two four-dimensional code words stored in a memory device and each of said four-dimensional code words consist of a subset of four numbers which represent the coordinates of a signal point in four-dimensional space.
5. The method of claim 4 for coding information further comprising the step of converting binary 1's to -1's and binary 0's to 1's for said first group of signals prior to addressing said four-dimensional code words.
6. The method of claim 5 for coding information further comprising the steps of
expanding the number of bits in said second group of signals from three to four in a convolutional encoder comprising three bits of memory, and converting the binary 1's to -1's and binary 0's to 1's. 7. The method of claim 6 further comprising the step of multiplying each of said components of said four-dimensional code word by said expanded and converted second group of signals, thereby deriving any one of five hundred and twelve encoded four-dimensional symbols for each input block of eight binary signals.
8. The method of claim 2 for coding information wherein said information comprises a block of twelve binary bits, said first group comprises nine of said binary bits and said second group comprises the other three of said twelve binary bits.
9. The method of claim 8 for coding information wherein said four-dimensional code words consist of a set of five hundred and twelve four-dimensional code words stored in a memory device and each of said four-dimensional code words consist of a subset of four numbers which represent the coordinates of a signal point in four-dimensional space.
10. The method of claim 9 for coding information further comprising the step of converting binary 1's to -1's and binary 0's to 1's for said first group of signals prior to addressing said four-dimensional code words.
11. The method of claim 10 for coding information further comprising the steps of
expanding the number of bits in said second group of signals from three to four in a convolutional encoder comprising three bits of memory, and converting the binary 1's to -1's and binary 0's to 1's. 12. The method of claim 11 for coding information further comprising the step of multiplying each of said components of said four-dimensional code word by said expanded and converted second group of signals, thereby deriving any one of eight thousand, one hundred and ninety-two encoded four-dimensional symbols for each input block of twelve binary signals.
13. Apparatus for coding information comprising
means for converting a predetermined plurality of serial binary bits into parallel bits, said parallel bits being separated into first and second groups of signals, means for converting the binary 1's to -1's and binary 0's to 1's for said first group of signals which are then used for addressing any one of a plurality of multi-dimensional code words said code words being stored in a memory device, and said second group of signals being used for determining the sign of each component of said multi-dimensional code words after said code words are read out from said memory device. 14. The apparatus of claim 13 wherein said multidimensional code words are four-dimensional code words, each code word comprising four numbers representing the coordinates of a signal.
15. The apparatus of claim 14 comprising
a convolutional encoder which comprises means for storing a plurality of bits for expanding the number of bits in said second group of signals, by one, and means for converting the expanded bits from binary 1's to -1's and binary 0's to 1's. 16. The apparatus of claim 15 wherein said memory device is a read only memory.
17. The apparatus of claim 16 for coding information comprising means for multipling each component of the code words from said read only memory by said expanded and converted second group of signals to derive an encoded four-dimensional symbol for each block of information.
18. The apparatus of claim 17 wherein
said predetermined plurality of serial binary comprises a block of eight binary bits, said first group comprises five bits of said eight bits, said means for storing a plurality of bits in said convolutional encoder having a capacity for storing three bits, said second group comprises the other three of said eight binary bits, said three bits being the input to said convolutional encoder, the output from said convolutional encoder being four bits, said read only memory comprises a set of thirty-two four-dimensional code words, and said encoded symbols being any one of a signal constellation comprising five hundred and twelve four-dimensional code words. 19. The apparatus of claim 17 wherein
said predetermined plurality of serial binary bits comprises a block of twelve binary bits, said first group of signals comprises nine bits of said twelve binary bits, said means for storing a plurality of bits in said convolutional encoder having a capacity for storing three bits, said second group comprises the other three bits of said twelve binary bits as the input to said convolutional encoder, the output from the convolutional encoder being four bits, said read only memory comprises a set of five hundred twelve four-dimensional code words, and said encoded symbols being any one of a signal constellation comprising eight thousand, one hundred and ninety-two four-dimensional code words. 20. Apparatus for coding an input of eight binary bits to any one of five hundred and twelve code words each code word having four numbers representing the coordinates of signal points in four-dimensional space said apparatus comprising
a read only memory comprising thirty-two of said four dimensional code words, a serial-to-parallel converter for converting a serial stream of blocks of eight binary bits into sequences of eight parallel bits, five of said eight parallel bits being used to address any one of said thirty-two code words in said read only memory after passing through a means for converting binary 1's to -1's and binary 0's to 1's, the remaining three bits of said eight parallel bits being the input to a convolutional encoder having three bits of memory, said convolutional encoder being used to expand said three bits of input to four bits of output, means for converting said four bits of output from said convolutional encoder from binary 1's to -1's and from binary 0's to 1's, and means for multiplying each component said four numbers from said read only memory by said four output bits from said convolutional encoder to derive any one of said five hundred and twelve four dimensional code words. .Iadd. 21. A method for coding information comprising the steps of
separating said information into first and second groups of signals, encoding the signals in said second group to provide an expanded group of signals, addressing any one of a plurality of multidimensional code words by said first group of signals, and determining the sign of each component of said multi-dimensional code words by said expanded group of signals. .Iaddend. .Iadd.22. A method for coding information to generate an output code word, said method comprising the steps of separating said information into first and second groups of signals, encoding the signals in said second group to provide an expanded group of signals, identifying one of a plurality of multi-dimensional code words in response to said first group of signals, and generating said output code word by changing the sign of at least one of the components of said identified code word as a function of said expanded group of signals. .Iaddend. .Iadd.23. A method for generating output code words in response to successive blocks of input signals, each of said blocks comprising first and second groups of said input signals, said method comprising the steps of identifying for each one of said blocks, and in response to said first group of signals of that block, one of a predetermined plurality of multidimensional code words generating an individual one of said output code words by changing the sign of at least a selected one of the components of said one of said code words in response to a plurality of trellis coded signals, said trellis coded signals being a function of (a) the signals of the second group of signals of said one of said blocks and (b) at least one bit of the second group of signals of a previous one of said blocks. .Iaddend. .Iadd.24. A method for generating a sequence of output signals in response to a sequence of multidigit input words, each of said output signals representing a respective signal point (x _{1}, x_{2}, x_{3}, x_{4}) of a predetermined alphabet of four-dimensional signal points, said method comprising the steps ofidentifying, in response to the values of a selected number of digits of each input word in said input word sequence and the value of at least one digit of a previous input word in said input word sequence, one of a plurality of sets of said signal points, the number of said sets being greater than 2 raised to said selected number, and, in each said set, x _{1}, x_{2}, x_{3} and x_{4} being, for all the points in that set, congruent, modulo a predetermined number, to w_{1}, w_{2}, w_{3} and w_{4}, respectively, w_{1}, w_{2}, w_{3} and w_{4} being predetermined integers each having a value associated with said each set,identifying, in response at least to the digits of said each input word other than said selected number of digits, a particular one of the signal points of said one set, and generating as an individual one of said sequence of output signals a signal representing the identified signal point. .Iaddend. .Iadd.25. The invention of claim 24 wherein w
_{1}, w_{2}, w_{3} and w_{4} can each take on one of the two values +1 and -1, wherein x_{1}, x_{2}, x_{3} and x_{4} are all odd integers and wherein said predetermined number is 4. .Iaddend. .Iadd.26. A method for generating a sequence of output signals in response to a sequence of binary input words, each of said output signals representing a respective signal point of a predetermined alphabet of multi-dimensional signal points, said signal points being at least of dimension four, said method comprising the steps ofidentifying, in response to the values of a selected number of bits of each input word in said input word sequence and the value of at least one bit of a previous input word in said input word sequence, one of a plurality of sets of said signal points, the number of said sets being greater than 2 raised to said selected number, said plurality of sets comprising a first set of said signal points and a plurality of further sets of said signal points, each of the points in each said further set being given by a predetermined pattern of sign changes associated with said further set applied to the coordinates of the signal points of said first set, identifying, in response at least to the bits of said each input word other than said selected number of bits, a particular one of the signal points of said one set, and generating as an individual one of said sequence of output signals a signal representing the identified signal point. .Iaddend. .Iadd.27. Apparatus for generating output code words in response to successive blocks of input bits, each of said blocks comprising first and second groups of said input bits, said apparatus comprising
means for identifying for each one of said blocks and in response to said first group of bits of that block, one of a predetermined plurality of multidimensional code words, means for generating an individual one of said output code words by changing the respective signs of selected ones of the components of said one of said code words in response to a plurality of trellis coded bits, said trellis coded bits being a function of (a) the bits of the second group of bits of said one of said blocks and (b) at least one bit of the second group of bits of a previous one of said blocks. .Iaddend. .Iadd.28. A data transmitter adapted to generate a sequence of output signals in response to a sequence of binary input words, each of said output signals representing a respective signal point (x _{1}, x_{2}, x_{3}, x_{4}) of a predetermined alphabet of four-dimensional signal points, said transmitter comprisingmeans responsive to the values of a selected number of bits of each input word in said input word sequence and the value of at least one bit of a previous input word in said input word sequence for identifying one of a plurality of sets of said signal points, the number of said sets being greater than 2 raised to said selected number, and, in each said set, x _{1}, x_{2}, x_{3} and x_{4} being, for all the points in that set, congruent, modulo a predetermined number, to w_{1}, w_{2}, w_{3} and w_{4}, respectively, w_{1}, w_{2}, w_{3} and w_{4} being predetermined integers each having a value associated with said each set,means responsive at least to the bits of said each input word other than said selected number of bits for identifying a particular one of said signal points of said one set, and means for generating as an individual one of said sequence of output signals a signal representing the identified signal point. .Iaddend. .Iadd.29. The invention of claim 28 wherein w _{1}, w_{2}, w_{3} and w_{4} can each take on one of the two values +1 and -1, wherein x_{1}, x_{2}, x_{3} and x_{4} are all odd integers and wherein said predetermined number is 4. .Iaddend. .Iadd.30. A data transmitter adapted to generate a sequence of output signals in response to a sequence of multidigit input words, each of said output signals representing a respective signal point of a predetermined alphabet of multi-dimensional signal points, said signal points being at least of dimension four, said transmitter comprisingmeans responsive to the values of a selected number of digits of each input word in said input word sequence and the value of at least one digit of a previous input word in said input word sequence for identifying one of a plurality of sets of said signal points, the number of said sets being greater than 2 raised to said selected number, said plurality of sets comprising a first set of said signal points and a plurality of further sets of said signal points, each of the points in each said further set being given by a predetermined pattern of sign changes associated with said further set applied to the coordinates of the signal points of said first set, means responsive at least to the digits of said each input word other than said selected number of digits for identifying a particular one of the signal points of said one set, and means for generating as an individual one of said sequence of output signals a signal representing the identified signal point. .Iaddend. Description This invention relates to coding information so as to reduce errors caused by transmission from being included in the received signal and, in particular, to multidimensional coding. When information is sent from a transmitter over a channel to a receiver, the information signals are often distorted by noise and other causes. Sometimes the information signals are distorted to such an extent that the received signals do not duplicate the information sent. In order to reduce errors in the received signals, the information is coded at the transmitter. There are two basic coding schemes: block coding and convolution coding. These coding schemes are explained in detail in a book entitled "Error Control Coding: Fundamentals and Applications" by S. Lin et al. Simply stated, block coding introduces n-k redundant bits to a block of k bits of information to derive a coded block of n bits which is transmitted to a receiver. For binary signals, there are 2 U.S. Pat. No. 4,077,021 teaches a technique called set partitioning that assigns signal points to successive blocks of input data. More particularly, a code rate of 4 bits/2-dimensional symbol is shown. Also, a coding gain of 4 db over standard uncoded transmission is obtained. That is, noise immunity is obtained without increasing the power required for transmission. As will be described fully in the detailed description of the present invention, it is desirable to obtain a more efficient coding scheme. In accordance with the illustrative embodiment of the present invention there is disclosed a multidimensional coder which (1) reduces the power consumed, (2) achieves a high code rate, and (3) provides an efficient scheme by low power use and low error in the received signal. More particularly, according to one embodiment of the present invention, an information block comprising eight bits of input to the coder is converted into any one of five hundred and twelve four-dimensional code words. The eight bits are change into .[.an output having.]. nine bits by .[.retaining.]. .Iadd.a convolutional coder which retains .Iaddend.two input bits from the immediately preceding block and one input bit from .[.two preceding blocks.]. .Iadd.the block before that one.Iaddend.. The .[.output is.]. .Iadd.nine bits are .Iaddend.divided into two signal groups: a first group comprises five bits and a second comprises four bits. The first group having five uncoded bits addresses any one of thirty-two (2 The second group of four bits make up a vector which determines the sign of the four-dimensional code word read from the read only memory. This scheme is equivalent to having the code word read from any page of a code book having sixteen (2 Thus, there is disclosed a trellis code with rate of eight bits per four-dimensional symbol with a gain of 4.7 decibels over standard uncoded transmission. This 0.7 decibel increase over the aforesaid prior art code systems corresponds to improving the block error rate by a factor of 10. The signal constellation comprises five hundred twelve four-dimensional signal points, that is, each symbol has a set of four numbers which defines a signal point in four-dimensional space. By way of comparison, first, transmission of two consecutive two-dimensional signals using one of the prior art codes with rate four bits per two-dimensional symbol would require the equivalent of 1, 024 (because 32 In another embodiment of the present invention, a trellis code with rate twelve bits per four-dimensional symbol provides a gain of 4.9 db over standard uncoded transmission. This method is suggested for data transmission rates of 14.4 kbits/sec. In the limit, when the number, k, of bits in a block approaches infinity, the coding gain is asymptotic to 4.9715 decibels. That is, the difference between the limiting gain and that provided with k=12 is very small. FIG. 1 is a prior art system for transmission of encoded signals; FIG. 2 illustrates the concept of convolutional encoders; FIG. 3 shows possible transitions of states between two instants in time; FIG. 4 illustrates error events and the term Euclidean distance; FIG. 5 shows a convolutional encoder of memory order three; FIG. 6 shows a signal constellation for uncoded transmission at the rate four bits per two dimensional symbol; FIG. 7 shows a convolutional encoder embodying the present invention; FIG. 8 shows a rectangular constellation for uncoded transmission at six bits per two dimensional symbol; and FIG. 9 shows a signal constellation for trellis codes at the rate four bits per two dimensional symbol. Referring to FIG. 1, there is shown a prior art system comprising a digital source 10 supplying a signal to encoder 12. The coded signal from encoder 12 is modulated by device 14 for transmission to a distance location where the signal is demodulated at device 18. The demodulated signal is thereafter decoded at device 20 and sent on to a digital sink 22. The use of encoder 12 reduces the errors caused by noise in the transmission facility 16. The present invention relates to an improvement in the aforesaid encoder 12. It is necessary to disclose the theoretical basis for the present invention in order to fully appreciate it. Assume that an input block of k bits from a serial bit stream is first converted by a series-to-parallel converter such as device 70 in FIG. 7, such converters being well known, to an input of k parallel bits {a
x The v-tuple (a Referring to FIG. 3, there is shown a state transition diagram from time i to time (i=1) for a trellis code with k=3, v The state transition diagram can be understood by examining, for example, the transition from the state `010` at time i to a state at time i+1. Remembering that at time i the 1 in state `010` is a Returning to the theoretical basis, noise in the transmission channes distorts the sequence of signals from the output of the coder:
x Then, the signal received say at decoder 20 of FIG. 1, is:
r where r The Viterbi algorithm, disclosed at 61 Proceedings of the IEEE 268-278 (No. 3, March, 1973), is used to find the most likely path through the trellis given the observed sequence ∥r An error event E of the length l lasts from j to (j+1), the sequence x Referring to FIG. 4, there is shown an error event for which the squared Euclidean distance is ##EQU3## The average transmitted power is given by ##EQU4## For small noise variance σ Basic to the trellis codes of the present invention disclosed hereinbelow is a rate 3/4 binary convolutional code with a total memory 3 and free distance 4. A portion of the encoder is shown in FIG. 5 which has been disclosed in the aforesaid Lin book at page 292. The three parallel input sequences a
v
v
v
v The bits a
v
v
v
v The binary notation 0,1 is then changed to 1, -1, respectively. An edge joining two states is then labelled with a pair of vectors (w Thus far, a trellis code at the low rate 3 bits/4-dimensional symbol was disclosed. Transmission at higher rates, say 8 bits/4-dimensional symbol or 12 bits/4-dimensional symbol requires more channel symbols.Indeed, as is readily apparent from the disclosure thus far, in order to achieve any coding gain, more symbols are needed than for uncoded transmission at the same rate. Referring to FIG. 6, there is shown a rectangular constellation comprising sixteen (2 For coded transmission, however, 512 signal points are used, namely, twice the signal constellation for uncoded transmission of 4-dimensional symbols. This is so because a block of eight input bits is converted to nine bits using three bits from prior blocks and 2 The first set of leads 73 carries five uncoded bits which are converted from binary form by changing a 0 to a 1 and a 1 to a -1 in known device 72 and then sent on via leads 75 to address any one of thirty-two (2
TABLE 1______________________________________Representative Signal Point Energy Level or Average Power ##STR1##______________________________________(1111) 4 1(3111) 12 4(3311) 20 6(5111) 28 4(3331) 28 4(5311) 36 12(3333) 36 1Total number of code 32words______________________________________ The first column of Table 1 shows the code words representative of signal points in four dimensional space. The number of permutations for each representative code word is shown in column three, giving a total of thirty-two code words stored in ROM 74. The list of thirty-two code words is obtained by permuting the coordinates of the code words in column one. The second set of leads 51 from serial to parallel converter 70 carries three of the binary input bits to a device 50 which stores three bits from prior blocks as disclosed in detail earlier herein with reference to FIG. 5, and delivers four bits on leads 53 to a device 80, At device 80 the binary bit 0 is converted to 1 and a binary 1 is converted to a -1. The vector W of four bits w Because there are four bits w
TABLE 2______________________________________Input to ROM 74 Code Output From ROM 74a The set of coordinates (x The distance d(A, B) between two sets of vectors A and B is given by the expression: ##EQU9## The partition into sets S(w) satisfies the following metric properties: (M1): if x, yεS(w), then ∥x-y∥ (M2): is v≠w, then d To verify (M1), let x=(x Earlier hereinabove, a trellis code with rate 3 bits/4-dimensional symbol having a minimum squared distance d The properties (M1) and (M2) guarantee that the squared distance of any error event of length l is at least 16. Consider any error event in the eight state trellis of length greater than 1. If the squared distance for the low-rate code is ##EQU10## then the squared distance for the high rate code is at least ##EQU11## The property (M2) implies that the minimum squared distance of the high-rate code is at least 16. The average signal power P of the 512 point signal constellation is given by the expression: ##EQU12## Thus, ##EQU13## and the coding gain in db is: ##EQU14## Referring to FIG. 8, there is shown a signal constellation comprising sixty-four signal points which is used for standard uncoded transmission at the rate of 6 bits/2-dimensional symbol. To transmit a 4-dimensional symbol at a rate of 12 bits/symbol, a constellation comprising two such copies are needed. The number of possible signals will be 4, 096 (64×64=4096). The average signal power P is ##EQU15## Thus, ##EQU16## For coded transmission using three bits from prior blocks, 8, 192 (2
TABLE 3______________________________________ Representative Energy ##STR2##______________________________________(1111) 4 1(3111) 12 4(3311) 20 6(5111). (3331) 28 4 + 4 = 8(5311). (3333) 36 12 + 1 = 13(5331) 44 12(7111). (5333). (5511) 52 4 + 4 + 6 = 14(7311). (5531) 60 12 + 12 = 24(7331). (5533) 68 12 + 6 = 18(7333). (5551). (7511) 76 4 + 4 + 4 + 12 = 20(9111). (7531). (5553) 84 4 + 24 + 4 = 32(9311). (7533) 92 12 + 12 = 24(9331). (7711). (7551). 100 12 + 6 + 12 + 1 = 31(5555)(7553). (9333). (9511). 108 12 + 4 + 12 + 12 = 40(7731)(9531). (7733) 116 24 + 6 = 30(9533). (11111). (7751). 124 12 + 4 + 12 + 4 = 32(7555)(11311). (9711). (9551). 132 12 + 12 + 12 + 12 = 48(7753)(11331). (9731). (9553) 140 12 + 24 + 12 = 48(11333). (11511). (9733). 148 4 + 12 + 12 + 6 + 4 = 38(7755). (7771)(11531). (9555). (9751) 156 24 + 4 + 24 + 4 = 56(7773)(11533). (9911). (9753) 164 only 13______________________________________ In order to obtain a transmission rate of 12 bits/4-dimensional symbol it is necessary to add nine uncoded bits to the four derived bits from FIG. 5, to obtain a total of 13. There are now 1024 parallel transitions between states a Summarizing the aforesaid disclosure, in order to achieve coded transmission at a rate of k bits per four dimensional signal, (k-3) uncoded bits are added to the low rate trellis code, that is, 3 bits per four dimensional symbol, as disclosed hereinabove, with reference to FIG. 3. There are 2.sup.(k-2) parallel transitions between states a Coded transmission requires 2.sup.(k+1) signal points. The points of the lattice (2Z+1) It can be shown that as k increases, that is, in the limiting case, the limiting coding gain is 10log Patent Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |