Block coded modulation system

Abstract: A block of digital data bits is sent over a band-limited channel using a plurality of modulation signal points drawn from a two-dimensional constellation of available signals. The constellation comprises a plurality of inner signals, and a plurality of outer signals located farther from the origin than the inner signals. One bit of the block of digital data determines whether any of the plurality of signal points will be drawn from the outer signals. If an outer signal will be drawn, at least one other bit of the block of digital data determines which of the plurality of signal points will be an outer signal point.

Description: This invention relates to high-speed data transmission over band-limited channels, such as telephone lines. Modulation systems for such channels commonly use two-dimensional carrier modulation, generically called double-sideband-quadrature-carrier (DSB-QC) modulation. Such modulation systems are discussed, for example, in U.S. Patent 3,887,768 (Forney/Gallager), which also shows an implementation of such a system. Conventional DSB-QC systems are used to send an integer number (N) of bits in each modulation interval of T seconds in a nominal bandwidth of 1/T Hz. For example, some telephone line modems send 4 bits per modulation interval of 1/2400 sec. within a nominal bandwidth of 2400 Hz, thus achieving a 9600 bits per second (bps) data transmission rate. Modems for sending 6 bits per modulation interval to achieve 14,400 bps in a nominal 2400 Hz bandwidth are also available. Such DSB-QC systems use signal constellations of 2 N signals for sending N bits per modulation interval. A family of such constellations with signals arranged on a regular rectangular grid is described in Campopiano and Glazer, "A Coherent Digital Amplitude and Phase Modulation Scheme, " IRE Transactions on Communication Systems, Vol. CS-9, pp. 90-95, March 1962. Fig. 1 shows the arrangement of signals in the Campopiano and Glazer constellations and the outer boundaries of those constellations for values of N from 4 through 8. Table I shows the so-called "required signal-to-noise ratio" P (defined in Campopiano et al. and in the Forney/Gallager patent) for the constellations of Fig. 1. Each unit increase in N corresponds to an increase in required signal-to-noise ratio of about a factor of two or 3.0 decibels (dB). (Campopiano and Glazer) N S P (dB) 4 16 10 10.0 5 32 20 13.0 6 64 42 16.2 7 128 82 19.1 8 256 170 22.3 N = number of bits sent per modulation interval S = number of signals in signal constellation P = required signal-to-noise ratio (dB) = P measured in decibels For higher transmission speeds, so-called coded modulation techniques can provide improved resistance to noise and other channel impairments; that is, they can provide a reduction in required signal-to-noise ratio, or a so-called "coding gain". In such coded systems, to send N bits per modulation interval, signal constellations having more than 2 N signals are used, and coding is used to introduce dependencies between modulation intervals so that the set of available signals from which a signal point can be selected in one modulation interval depends in general on the signal points selected for other modulation intervals. In one coding technique for getting a coding gain (disclosed in Csajka et al, U.S. Patent 4077021, and Ungerboeck, "Channel Coding with Multilevel/Phase Signals," IEEE Transactions on Information Theory, Vol. IT-28, pp. 55-67, January, 1982), the N bits appearing in each modulation interval are individually mapped into signal points selected from a constellation of 2 N+1 signals. The signals in the constellation are organized into subsets such that the minimum distance between two signals belonging to one subset is greater than the minimum distance between any two signals in the constellation. The selection of the signal point for each N input bits is made to depend, in part, on the historical sequence of all previously selected signal points, as represented by the state of a finite state device in the encoder. This so-called trellis coding effectively permits only certain sequences of signal points to be transmitted, and the coded historical information carried by every signal point is exploited at the receiver by a maximum likelihood sequence estimation technique (e.g., one based on the Viterbi algorithm, as described in Forney, "The Viterbi Algorithm," Proceedings of the IEEE, Vol. 61, pp. 268-278, March, 1973. A coding gain can also be realized using a block coded modulation system in which blocks of n input bits are sent in m modulation intervals, so that N=n/m bits are sent per modulation interval. For each block, m signal points are selected from a constellation having more than 2 N signals, a process which is equivalent to mapping each block into a code word selected from an available code word set of 2 n code words arranged in 2m-dimensional space (called simply 2m-space), with the 2m coordinates of each code word, taken two at a time, defining the respective pair of coordinates in two-dimensional space of the m signal points to be selected. The code-word set from which the code word for any block may be drawn is independent of the signal points selected for any other block. At the receiver, the decisions on which signal points were sent are based on the received signal points for each block (the so-called received word), preferably using maximum likelihood decoding. One method of block coding involves using a code word set arranged on a finite portion of a densely packed infinite geometrical lattice in 2m-space; see, for example, Conway and Sloane, "Fast Quantizing and Decoding Algorithms for Lattice Quantizers and Codes," IEEE Transactions on Information Theory, Vol. IT-28, pp. 227-232, March 1982, and the references cited therein, incorporated herein by reference. A representative system of this type is disclosed in "Block Coding for Improved Modem Performance," a Canadian contribution (Corn XVII-No. 112) to Study Group XVII of the International Telegraph and Telephone Consultative Committee (C.C.I.T.T.), March 1983, incorporated herein by reference, which describes an 8-space code for sending 4 bits per modulation interval with an asymptotic coding gain of 3.4 dB over the uncoded Campopiano and Glazer 16-signal constellation (defined by the N=4 boundary in Fig. 1). The present invention is divided out of our European Patent Application 84302588.3 (published as EP-A-0122805) which discloses a family of block coded modulation systems of progressively greater complexity exhibiting progressively greater coding gain over uncoded systems. According to a first aspect of the present invention, we provide a method for sending a block of digital data bits over a band-limited channel using a plurality of modulation signal points drawn from a two-dimensional constellation of available signals, characterised in that said constellation comprises a plurality of inner signals, and a plurality of outer signals located farther from the origin than said inner signals, in that one bit of said digital data determines whether any of said plurality of signal points will be drawn from said outer signals, and in that if an outer signal will be drawn, at least one other bit of said digital data determines which of said plurality of signal points will be an outer signal point. The invention provides, according to a second and alternative aspect thereof apparatus for sending a block of digital data bits over a band-limited channel, said apparatus being characterised in that it comprises means for drawing a plurality of modulation signal points from a two-dimensional constellation of available signals which comprises a plurality of inner signals and a plurality of outer signals located further from the origin than said inner signals, and in that said apparatus comprises means responsive to one bit of said digital data for determining whether any of said plurality of signal points will be drawn from said outer signals, and in that said apparatus includes means for determining on the basis of at least one other bit of said digital data, if an outer signal will be drawn, which of said plurality of signal points will be an outer signal point. In preferred embodiments, there are 2 t signal points, the digital data comprises at least t+1 bits, there are S inner signals and 2 -t S outer signals, and t bits determine which signal point will be an outer signal point; t=1; the block has 2N+1 bits and S is 2 N , N being an integer; N-1 of the bits determine which outer signal is drawn, and N bits determine which inner signal is drawn; N is 4; t is 2; each block has 4N+1 bits and S is 2 N , N being an integer; and N-2 of the bits determine which outer signal is drawn and N bits determine which inner signal is drawn. Our 4-space, 8-space, 16-space, and 24-space modulation systems respectively exhibit asymptotic coding gains of about 1.5, 3.0, 4.5, and 6.0 dB over uncoded systems that send the same number of bits per modulation interval through the same nominal bandwidth using DSB-QC modulation. Our block coded systems are slightly inferior in performance to the best known prior art schemes (e.g., about .2 dB and .4 dB worse for 4-space and 8-space systems, respectively), but have substantial advantages in implementation. We use constellations having relatively small numbers of signals. The encoding techniques are economical, simple, and easily implemented. Encoding delay is reduced because early signal points selected for a given block can be sent before encoding of the block has been completed. Decoding delay is small because received signal points can be finally decoded as soon as all signal points for a given block have been received. Useful tentative decoding decisions can be made even sooner. Non-integral numbers of bits per interval can be sent. Quadrantal differential encoding can be used to improve immunity to phase hits. Economical, simple, and easily implemented decoding techniques are made possible. The invention is hereinafter more particularly described by way of example only with reference to the accompanying drawings. We first briefly describe the drawings. Fig. 1 is a diagram of a family of five prior art signal constellations. Fig. 2 is a diagram of a family of four signal constellations for use with preferred embodiments. Figs. 3, 6 and 8 are block diagrams of signal selection logic in accordance with alternate embodiments. Figs. 4, 5, 7 and 10 are diagrams of signal constellations in accordance with alternate embodiments. Fig. 9 is a diagram of the relationships of signal quadruplets in the constellation of Fig. 7. Fig. 11 and 12 are trellises for use with alternate embodiments. We describe below examples of signal systems of multiple (at least four) dimensions constructed in accordance with the present invention for sending a non-integral number (N) of bits per modulation interval, where N is of the form N=r+f (r an integer, f a fraction between 0 and 1). Such systems send blocks of bits (each block longer than one modulation interval), and are efficient for use in uncoded systems (as well as coded systems) because their required signal-to-noise ratio is only about fx3 dB more than for a comparable Fig. 1 signal constellation for sending r bits per modulation interval, and because the number of signals in the constellation is about (1+f)2 r . Referring to Fig. 2, signal constellations for use in sending N=r+1/2 bits per modulation interval each comprise the 2 r signals in the N=r constellation of Fig. 1 (called inner signals) plus an additional 2 r-1 signals (called outer signals) generally arranged further from the origin, on the same grid, and with the same symmetries, as the inner signals. To send blocks of 2r+1 bits in two modulation intervals, a first bit of the 2r+1 bits determines whether any outer signal is to be sent. If not, the remaining 2r bits taken r at a time determine the two inner signals for the two intervals. If so, a second bit determines whether the outer signal will be sent in the first or second modulation interval, r-1 bits determine which outer signal, and the remaining r bits determine which inner signal is sent in the other interval. The average power required to send both signal points will be 3/4 the average power required to send inner signals (which are sent on average 3/4 of the time) plus 1/4 the average power required to send outer signals (which are sent on average 1/4 of the time). For example, 4 1/2 bits per modulation interval (r=4) can be sent in 2 modulation intervals using the constellation having 24 signals (within the N=4 1/2 boundary of Fig. 2) divided into an inner group of 16 signals, arranged as shown in Fig. 1 (N=4) and an outer group of 8 signals, with the arrangement of signals exhibiting quadrantal symmetry. Referring to Fig. 3, in the signal selection logic, bit b 1 is used by outer point selector 60 to determine whether none or one of the two selected signal points will be an outer signal. If one will be, then bit b 2 is used by selector 60 to determine which interval it will be in, and bits b 3 -b 9 are used by signal point selector 62 to select the outer and inner signals as shown in Fig. 3. If neither signal point is to be an outer signal, then bits b 2 -b 5 and b 6 -b 9 are used by signal point selector 62 to select respectively the two inner signals. The average power required to send inner points is 10.0, and to send outer points 26.0. The required signal-to-noise ratio is therefore 14 (11.5 dB), which is 1.5 dB more than the requirement for sending 4 bits per interval using the 16-signal constellation of Fig. 1. Table II shows the numbers of constellation signals S and the required signal-to-noise ratios P for sending half-integer numbers N (between 4 1/2 and 7 1/2) of bits per interval using this system with the constellations of Fig. 2: N S P (dB) 4 1/2 24 14 11.5 5 1/2 48 28.5 14.5 6 1/2 96 57 17.6 7 1/2 192 116 20.6 In other embodiments, any number of bits per interval of the form N=r+2 -t (t an integer) can be sent by adding to inner signals (consisting of the 2 r signals in an uncoded signal constellation), outer signals (consisting of 2 r-t signals located as close to the oriqin as possible consistent with maintaining an overall rectangular grid exhibiting quadrantal symmetry). The input bits are taken in blocks of 2 t r+1 and determine 2 t signal points for transmission. Of the 2 t r+1 bits in each block, one bit determines whether any of the signal points should be an outer signal. If so, then t additional bits are used to determine in which of the 2 t intervals an outer signal will be sent, r-t bits determine which outer signal will be sent, and r(2 t -1) bits, taken r at a time, are used to select the inner signals to be sent in the other 2 t -1 intervals. If none of the signal points is to be an outer signal, the remaining 2 t r bits, taken r at a time, are used to select the inner signals to be sent in the 2 t intervals. The required signal-to-noise ratio for such a block coding system is about 3 x 2 -t dB greater than for an uncoded system in which a signal constellation having 2 r signals is used to send r bits per interval. For example, referring to Fig. 4, to send 4 1/4 bits per interval, in 17-bit blocks each 4 intervals long (r=4, t=2), a signal constellation having 16 inner signals and 4 outer signals is used. One input bit determines whether any of the four output signal points will be an outer signal. If so, two further bits determine in which of the four intervals the outer signal will be sent, two further bits select that outer signal, and 12 bits, taken 4 at a time, select the three inner signals. If no outer signal is to be sent, the remaining 16 bits, taken 4 at a time, are used to select the four inner signals. The required signal-to-noise ratio to send 4 1/4 bits per interval is 7/8x10+1/8x26=12 (10.79 dB) or .79 dB more than to send 4 bits per interval in an uncoded system. (In this case, the outer signals might be moved to the axes to save a little more power, if maintenance of the grid is not required.) In other embodiments, a system that sends N=r+f bits per modulation interval using a constellation having S signals can be extended to one sending N'=r+f+2 -t bits per interval using a constellation having (1+2 -t )S signals. To the S original signals are added 2 -t S additional signals (assuming 2 -t S is an integer, and a multiple of 4 if quadrantal symmetry is to be maintained). These additional signals are further segmented into subgroups in the same proportion as in the unextended system; i.e., each subgroup is 2 -t as large as in the unextended system, and can therefore be specified by t fewer bits. For example, if in the unextended system there are S=1.5x2 r signals divided into 2 r inner signals and 2 r-1 outer signals, then in the extended system the 2 -t S additional points are divided into 2 r-t additional inner signals and 2 r-t-1 additional outer signals. Input bits are grouped into blocks of 2 t r+2 t f+1 bits (assuming 2 t f is an integer) and used to determine 2 t signal points. One of these bits determines whether any of the additional 2 -t S signals is to be used; if not, the remaining 2 t (r+f) bits are used to determine the 2 t signal points using the unextended system; if so, then t bits are used to determine which interval uses an additional signal and the remaining 2 t (r+f)-t are used to determine which signals, using the unextended system, except that in the selected interval one of the additional signals is used and is selected with t fewer bits because the corresponding subgroups are all a factor of 2 -t smaller. In this iterative fashion, systems that send N=r+f bits where f is any binary fraction of the form f=2 -t 1 +2 -t 2 +...+2 -t k , t 1 ∠ t 2 ∠...∠ t k can be built up, with signal constellations of S=2 r (1+2 -t 1 )(1+2 -t 2 )...(1+2 -t k ) signals (provided that t 1 +t 2 +...+t k is less than or equal to r, or to r+2 if quadrantal symmetry is desired). In other embodiments, 4-space block coded modulation systems send an integer number (N) of bits per modulation interval using signal constellations of the type of Fig. 2. To send an integral number N bits per interval using 4-space coding, the signal constellations for sending N+1/2 bits per interval described earlier are used. In two dimensions, these constellations have 1.5x2 N signals, as shown in Fig. 2, for example. Because they are based on a rectangular grid, they may be divided into A and B groups of equal size (1.5x2 N-1 signals in each) by assigning alternate signals to the two groups. The minimum squared distance between signals in the same group is twice the minimum squared distance between signals in different groups. In coding, one input bit (the group bit) from a block of 2 N input bits determines whether A or B signals are to be used in both of two intervals. A second input bit determines whether an outer signal is to be used; if not, the remaining 2(N-1) bits (taken N-1 at a time) determine the two inner signals of the appropriate group; if so, a third bit determines which interval will contain an outer signal, N-2 bits select which outer signal of the appropriate group, and the remaining N-1 bits select the inner signal of the appropriate group in the other interval. For the same reasons as before, the minimum squared distane between code words is 2d 2 / o. The coding gain is about 1.5 dB. Any of the previously described decoding methods can be used. To send 4 bits per interval, the 24-signal Fig. 2 constellation is rotated 45° and divided into A and B groups as well as into inner and outer signals, as shown in Fig. 5. Input bits are grouped into blocks of 8 bits each and each block determines two signal points. Referring to Fig. 6, in the signal selection logic, one bit (b 1 ), the group bit in each block, is used by group selector 50 to specify the group from which both signal points are to be selected, and a second bit (b 2 ) is used by outer point selector 52 to specify whether one of the signal points should be an outer signal. (At most one of the signal points for each block may be an outer signal.) If neither signal point is to be an outer signal, the remaining 6 (i.e., 2(N-1)) bits (b 3 -b 8 ) taken three at a time are used by signal point selector 54 to determine which of the eight inner signals of the selected group is to be selected for each modulation interval. If one signal point is to be an outer signal, the third bit, b 3 , determines which of the two signal points is to be an outer signal and the bits b 4 -b 8 select the outer and inner signal as shown in Fig. 6. The average power required to transmit inner signals is P inner = 5, and to transmit outer signals is P outer = 13. On average, half of the time the two signal points will both be inner signals, and the other halt of the time one will be an inner signal and the other an outer signal. The average power required to send both signal points for a block is therefore 1/2 (2 x P inner ) + 1/2( P inner + P outer ) or 14. The required signal-to-noise ratio is then 7 (8.45 dB) per interval compared with 10 (10 dB) required for sending uncoded-signal points using the 16-point signal constellation of Fig. 1, a 1.55 dB coding gain. Theoretically, as shown by Conway and Sloane, the best known 4-space code for sending 4 bits per interval has a required signal-to-noise ratio of 6.75 (8.29 dB). The present embodiment which has a required signal-to-noise ratio of 7 (8.45 db) provides a simpler coding system at a cost of only 0.16 db compared with the best known code for the same parameters. Further, because the code word set has quadrantal symmetry, quadrantal differential coding may be used (as described above) to obtain immunity to phase rotations of multiples of 90°. Table III shows the numbers of constellation signals S and the required signal-to-noise ratios P for sending integer numbers N (from 4 to 7) of bits per interval using this system. N S P (dB) 4 24 7 8.45 5 48 14.25 11.54 6 96 28.5 14.5 7 192 58 17.6 It can be seen that a coding gain of about 1.5 dB is obtained for all values of N with a signal constellation only 1.5 times the size of that needed for an uncoded system. 4-dimensional signal structures with 2-dimensional constellations like those of Fig. 2 can also be used in 8-space block coded systems by dividing the signals into subsets A 0 , A 1 , B 0 , B 1 in the manner described above. The resulting systems send half-integer numbers of bits per modulation interval with about 3.0 dB coding gain over the uncoded 4-dimensional signal structures. Table IV shows some of these half-integer systems. N S P (dB) 3 1/2 24 3.5 5.45 4 1/2 48 7.125 8.54 5 1/2 96 14.125 11.51 In other embodiments, 16-space block coded modulation systems are used to send an integer number N of bits per modulation interval using Fig. 2-type constellations. The constellation must be further partitioned into eight equal-sized classes A 00 , A 01 , A 10 , A 11 , B 00 , B 01 , B 10 , B 11 , after first being divided into equal-sized groups A and B and dividing each group into equal-sized subsets A 0 , A 1 , and B 0 , B 1 . At each step tne division is made by taking alternate signals. Furthermore, subsets are divided into two classes with opposite subscripts; e.g., A 0 is divided into A 00 and A 11 , A 1 into A 01 and A 10 , and so forth. The result is that if the minimum squared distance between constellation signals is d 2 / o=d 2 (A,B), the minimum squared distance between signals in classes in the same group is 2d 2 / o times the Hamming distance (d H ) between their subscripts, e.g., d 2 (A 00 , A 01 )=2d 2 / o; d 2 (A 00 ,A 11 )=4d 2 / o; and the minimum squared distance between signals in the same class is 8d 2 / o. Fig. 7 shows the 48 signal constellation of Fig. 2 rotated 45° and partitioned in this way. In coding, one input bit of a block of 8N input bits determines the group (A or B) from which all 8 signal points will be selected. Eleven input bits are coded in a conventional (16, 11) Hamming code (with minimum Hamming distance equal to 4; see, e.g., Berlekamp , Algebraic Coding Theory , McGraw-Hill, 1968, incorporated herein by reference to give 16 coded bits, which are taken two at a time to determine the class subscripts for each signal point. The remaining 8N-12 input bits select which signal points are used; if N is an integer, by using the 4-dimensional system signal constellations of 1.5x2 N-1 signals and taking the bits 2N-3 at a time to determine pairs of signal points as described above; if N is a half-integer (N=r+1/2), then by using 2-dimensional signal constellations of 2 r+2 signals and taking bits N-3/2=r-1 at a time to determine signal points from the selected classes. The minimum squared distance of such 16-space block code words is 8d 2 / o. Two code words with different group bits must differ by at least d 2 / o in all 8 signal points. Two code words with the same group bit but different Hamming coded bits must differ in at least four class subscripts, so their squared distance is at least 4x2d 2 / o. Two code words with the same group bit and Hamming coded bits have all signal points in the same classes, but must have in at least one interval two different signal points in the same class, which must therefore have squared distance 8d 2 / o. The minimum squared distance between code words is therefore 8 times (or 9 dB) better than that of the uncoded constellation, but that constellation could without coding send 1 1/2 more bits per interval than it can with coding, which is equivalent to about 4.5 dB, so the net.coding gain is about 4.5 dB. An embodiment using the Fig. 7 48-signal constellation to send 4 bits per interval is as follows. Referring to Fig. 8, 32 input bits are used to select the 8 output signal points as follows. One bit is used by group selector 70 to the determine the group (A or B) from which all signal points will be selected. Eleven bits are coded by Hamming coder 72 using a conventional (16,11) extended Hamming code (with Hamming distance d H =4) into 16 coded bits. Taken in pairs, the 16 coded bits are used by class selector 74 to specify the subscripts of the classes from which the eight output signal points are respectively selected. The remaining 20 bits (taken 5 at a time) are used by signal point selector 76 to select pairs of signal points of appropriate classes, where each class comprises 6 signals, 4 inner and 2 outer, and selection between inner and outer signals is made in the same manner as previously described. The required signal-to-noise ratio is 3.5625 or 5.5dB, a 4.5dB gain over the uncoded N=4 constellation of Fig. 1. Table V shows the number of signals S in the constellation and the required signal-to-noise ratio P for sending integer and half-integer numbers N (between 2 1/2 and 6 1/2) of bits per interval in blocks of 8 intervals each, using the 16-space coding system described above and the signal constellation of Fig. 2. N S P (db) 3 24 1.75 2.5 4 48 3.56 5.5 5 96 7.13 8.5 6 192 14.5 11.6 In the signal constellations for the 16-space block coding systems, each signal is a member of a quadruplet of signals at the same radius from the origin and separated by intervals of 90° about the origin. (For example, the points marked 60 and 62 in Fig. 7 form such quadruplets). Because all such quadruplets are of one or the other forms shown in Fig. 9, quadrantal differential coding (in the manner previously described) can be used with the group bit and an appropriate one of the class subscript bits (in this case the second for A and the first for B, inverted) in place of the group and subset bits used in 8-space coding, but otherwise as previously described. In other embodiments, 24-space block coded systems can be used to send a half-integer number of bits per interval using Fig. 2-type constellations. In general, a partition of any rectangular-grid constellation into subclasses using the pattern of subscripts shown in Fig. 10 may be used. In coding, one input bit of a block of 12N bits determines the group (A or B) from which all 12 signal points will be selected. Twelve input bits are coded in the (24, 12) Golay code (which has minimum Hamming distance 8; see, e.g., Berlekamp , cited above) to give 24 coded bits, which are taken two at a time to give the (i, j) subscripts of the subclass from which each signal point is to be selected. Eleven input bits determine the k subscripts for the first 11 points, and the 12th k subscript is chosen so that the 12 k subscripts have even parity (an even number are equal to 1) for A code words and odd parity for B code words. The remaining 12N-24 bits are taken N-2 at a time to select one of the 2 N-2 signals of the selected subclass for each of the 12 intervals. With this construction, the minimum squared distance between code words is 16d 2 / o, where d 2 / o is the minimum squared distance between signals in the constellation. This is 12 dB better than the uncoded constellation having 2 N+2 signals, but that constellation without coding could send 2 bits per interval more than with this coding, which is equivalent to about 6 dB, so the net coding gain is about 6 dB. In other embodiments, block coded systems in 2m-space can be derived from the 4-space and 8-space block coded systems. The 4-space system can he extended to a 2m-space system that sends N-1/m bits per interval or mN-1 bits per block for any even m greater than or equal to 2 if N=r+1/2 is a half-integer number. The constellation of 1.5x2 r signals divided into inner and outer signals, as previously described is used. The constellation is divided into A and B groups as previously described. The encoder is arranged so that in the first m-1 intervals, either A or B signals may be sent, but in the last interval, the group must be constrained to satisfy a parity condition (e.g., that the total number of A signals be even). For example, the groups may be selected by a two-state trellis encoder operating according to the m-interval trellis of Fig. 11. Otherwise selection of signals within the groups is as previously described. Decoding may be by the Viterbi algorithm. The minimum squared distance between code words remains 2d 2 / o in this system because of the parity condition and the fact that the minimum squared distance between signals within the same group is at least twice the minimum squared distance between signals in different groups. However, the number of bits transmitted per interval is now only 1/m less than in an uncoded system using the same constellation, so that the coding gain is approximately 3(1-1/m) dB, which approaches 3 dB for m large. For example, for m=4, an 8-space coded modulation system with coding gain of about 2.25 dB is obtained. The 8-space system can be extended to a 2m-space system that sends N bits per interval for any m greater than or equal to 4 and any integer N, using a signal constellation of 2 N+1 signals divided into 4 equal-sized subsets as previously described. The encoder is arranged so that all m points are chosen from the same group, the first m-1 points being from either subset of that group, and the final point being chosen from a subset selected to satisfy a parity condition (e.g., that the total number of 1 subscripts be even). For example, the subsets may be selected by a 4-state trellis encoder that operates according to the m-interval trellis of Fig. 12. Otherwise selection of signals within subsets is as previously described. Decoding may be done using the Viterbi algorithm using the Fig. 12 trellis. The minimum squared distance between code words remains 4d 2 / o in this system because m is greater than or equal to 4, there is a parity condition on subsets combined with the between-subset distance of 2d 2 / o, and there is a within-subset distance of 4d 2 / o. The number of bits per interval is N for any value of m, so the coding gain remains about 3 dB. However, for m greater than 4 the number of near neighbors of any code word is reduced since code words of the opposite group have distance at least md 2 / o and are thus no longer near neighbors, reducing the error event probability coefficient by about a factor of 2. Other embodiments are feasible. For instance, the input bits can undergo any transformation which does not result in loss of information (such as scrambling, permutation, or binary linear transformations) before being encoded. The digital data to be sent can be in characters other than bits. The output signal points or indeed their coordinates can be arbitrarily permuted without loss of coding gain. The coordinates can be used individually in one-dimensional modulation systems (such as single side-band or vestigial-sideband modulation systems), or in groups of appropriate dimension in multidimensional modulation systems. Other signal constellations (including ones not based on rectangular grids) can be used provided that their signals can be partitioned into equal-sized groups (subsets, classes, subclasses) having at least approximately the desired distance properties described earlier. Any 2m-dimensional orthogonal linear transformation of output signal points may be made without affecting relative distance properties in 2m-space. Quadrantal differential coding can be done using any method such that 90° rotations of code words change only quadrantal phase bits, and such phase bits are encoded diferentially (mod 4) with reference to any previously transmitted quadrantal phase bits. Multidimensional signal constellations for any binary fractional numbers of bits per interval as described herein, may be used with the block coded modulation systems provided that parameters are consistent.

Claims: A method for sending a block of digital data bits over a band-limited channel using a plurality of modulation signal points drawn from a two-dimensional constellation of available signals, characterised in that said constellation comprises a plurality of inner signals, and a plurality of outer signals located farther from the origin than said inner signals, in that one bit of said digital data determines whether any of said plurality of modulation signal points will be drawn from said outer signals, and in that if an outer signal will be drawn, at least one other bit of said digital data determines which of said plurality of modulation signal points will be an outer signal point. A method according to Claim 1, further characterised in that there are 2 t said signal points, said digital data comprises at least t+1 bits, there are S said inner signals and 2 -t S said outer signals, and t said bits determine which of said plurality of signal points will be an outer signal point. A method according to Claims 1 or 2, further characterised in that said signals of said constellation are arranged on a rectangular grid. A method according to any of Claims 1 to 3, further characterised in that said constellation comprises quadruplets each having four said signals, the signals belonging to each said quadruplet being located at the same distance from the origin but separated by 90° intervals about the origin of a signal plane, and at least two of said bits are quadrantally differentially encoded. A method according to Claim 2, further characterised in that t=1. A method according to Claim 5, further characterised in that said block comprises 2N+1 said bits and S is 2 N . A method according to Claim 6, further characterised in that N of said bits determine which inner signal is drawn. A method according to Claim 2, further characterised in that t is 2. A method according to Claim 8, further characterised in that said block comprises 4N+1 bits and S -is 2 N , N being an integer. A method according to Claim 8, further characterised in that said block comprises 4N+3 bits and S is 1.5x2 N , N being an integer. A method according to Claim 9, further characterised in that N-2 of said bits determine which said outer signal is drawn and in that N of said bits determine which inner signal is drawn. A method according to any of Claims 6, 7, 9, 10 or 11, further characterised in that N is 4. Apparatus for sending a block of digital data bits over a band-limited channel, said apparatus being characterised in that it comprises means for drawing a plurality of modulation signal points from a two-dimensional constellation of available signals which comprises a plurality of inner signals and a plurality of outer signals located further from the origin than said inner signals, and in that said apparatus comprises means responsive to one bit of said digital data for determining whether any of said plurality of modulation signal points will be drawn from said outer signals, and in that said apparatus includes means for determining on the basis of at least one other bit of said digital data, if an outer signal will be drawn, which of said plurality of modulation signal points will be an outer signal point.

Inventors: FORNEY GEORGE D JR, FORNEY, GEORGE D,. JR.
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1984
Main classification: H04L27
IPC codes: H04L27, H03M13