WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Coded QAM system    
United States Patent5448592   
Link to this pagehttp://www.wikipatents.com/5448592.html
Inventor(s)Williams; Richard G. C. (Suffolk, GB2); Brownlie; John D. (Suffolk, GB2)
AbstractA block of output symbols is generated, using quadrature amplitude modulation, from a block of input bits. The input bits are processed, using one or more redundant codes having a Hamming distance greater than one, to produce digital words which control the in-phase components and digital words which control the quadrature components of the output symbols. A group of bits generated by a single coding step supplies bits for both types of digital word, thereby enabling that coding step to process simultaneously a larger number of bits than would be the case if separate coding were used for producing the two types of word.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5448592
Coded QAM system - US Patent 5448592 Drawing
Coded QAM system
Inventor     Williams; Richard G. C. (Suffolk, GB2); Brownlie; John D. (Suffolk, GB2)
Owner/Assignee     British Telecommunications public limited company (London, GB2)
Patent assignment
All assignments
Publication Date     September 5, 1995
Application Number     08/030,232
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 22, 1993
US Classification     375/261 375/295 375/340 375/354 714/753 714/758 714/778 714/789
Int'l Classification     H04L 005/12 H04L 023/02
Examiner     Chin; Stephen
Assistant Examiner     Le; Amanda T.
Attorney/Law Firm     Nixon & Vanderhye
Address
Parent Case    
Priority Data     Jul 26, 1990[GB]9016420
USPTO Field of Search     375/39 375/25 375/59 375/106 375/112 371/37.1 371/37.5 371/37.7 371/43 371/47.1 371/37.2
Patent Tags     coded qam
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4899367
Sampei
375/264
Feb,1990

[0 after 0 votes]
4683578
Betts
375/345
Jul,1987

[0 after 0 votes]
4597090
Forney, Jr.
375/261
Jun,1986

[0 after 0 votes]
4586182
Gallager
714/746
Apr,1986

[0 after 0 votes]
3955141
Lyon
375/261
May,1976

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. An apparatus for modulating digital signals onto a carrier, comprising:

means for receiving a block of bits to be transmitted;

coding and partition means responsive to the means for receiving for partitioning each block into groups of bits, at least one group having been coded by a single redundant code having a Hamming distance greater than one, the partitioning and coding being such that each group has the same number of bits;

means for assembling a plurality of digital words from the bits output by said coding and partition means;

means responsive to the means for assembling for quadrature amplitude modulation of said carrier to form a plurality of successive output symbols each having two quadrature components, the two quadrature components of each symbol being determined by a respective pair of the digital words;

wherein in said means for assembling each of said digital words contains one bit from each of said groups, so that at least one said group coded by said single redundant code produces bits which are applied by said quadrature amplitude modulation means to determine a first quadrature component of each symbol and produces bits which are applied by said quadrature amplitude modulation means to determine a second quadrature component of each symbol.

2. An apparatus according to claim 1, wherein, in the coding and partitioning means, at least one group either is uncoded or is coded using a code having a smaller Hamming distance than the redundant code, and the modulation means is so arranged that each bit supplied thereto as part of a pair of digital words which bit is derived from the redundant code produces a minimum Euclidean distance which is greater than that produced by any bit derived from the one group.

3. An apparatus according to claim 1 wherein at least one coded group is coded employing a code which has a Hamming distance greater than that obtainable by dividing the group into two subgroups and coding each subgroup independently into the same total number of bits.

4. An apparatus according to claim 3 including means to examine bits determining a predetermined symbol of a block and those of a predetermined symbol of a preceding block to determine an angular difference between quadrants occupied by those symbols; and means responsive to said angular difference for rotating the phase of the transmitted symbols of the block in question by the angular difference, said quadrature amplitude modulation means being responsive to said angular difference for modulating the carrier with information representing the angular difference.

5. An apparatus according to claim 1 including means to examine bits determining a predetermined symbol of a block and those of a predetermined symbol of a preceding block to determine an angular difference between quadrants occupied by those symbols; and means responsive to said angular difference for rotating the phase of the transmitted symbols of the block in question by the said angular difference, said quadrature amplitude modulation means being responsive to said angular difference for modulating the carrier with information representing the angular difference.

6. An apparatus according to claim 5 in which that one of the pairs of digital words which determines the predetermined symbol contains two bits which are derived from a group which is not coded and which alone define the phase quadrant in which the symbol lies, and the means for modulating the carrier with information representing the angular difference is operable to transmit two bits representing the angular difference in lieu of the two quadrant-defining bits of the predetermined symbol.

7. An apparatus according to claims 2, 3, 5, 6 or 4 including block timing means operable to produce a block synchronization signal during a predetermined symbol period of the block, the quadrature amplitude modulation means being responsive to receipt of the synchronization signal to produce a modulated carrier of greater amplitude than it can produce in the absence of such receipt.

8. An apparatus according to claims 1, 2, 3, 5 or 6, in which the number of bits in each group is odd, and including means for storing, upon processing a first block of a pair of blocks, one of the digital words, and for supplying, during processing of the second block of a pair, the stored word to the quadrature amplitude modulation means, such second blocks containing a number of symbols one greater than such first blocks.

9. An apparatus according to claim 8 including block timing means operable to produce a block synchronization signal during a predetermined symbol period of the block, the quadrature amplitude modulation means being responsive to receipt of the synchronization signal to produce a modulated carrier of greater amplitude than it can produce in the absence of such receipt.

10. An apparatus according to claim 1 including block timing means operable to produce a block synchronization signal during a predetermined symbol period of the block, the quadrature amplitude modulation means being responsive to receipt of the synchronization signal to produce a modulated carrier of greater amplitude than it can produce in the absence of such receipt.

11. An apparatus according to claim 10 including gating means responsive to the means for producing the block synchronization signal for controlling receipt or non-receipt of the block synchronization signal by the quadrature amplitude modulator means, so that additional information may be transmitted for each of said blocks.

12. An apparatus according to claim 11, operable at two or more different data rates, comprising control means operable in response to a signal representing a request for a change of rate:

(a) firstly, for generating during transmission of said additional information, signals identifying a data rate to which it is about to change and the time at which it is to occur; and

(b) at the identified time, changing to transmission at the identified rate.

13. An apparatus according to claim 10 including time division multiplex means, synchronized to the block timing means, for combining data input to the apparatus and additional information to produce the block of bits to be transmitted.

14. An apparatus according to claim 13, operable at two or more different data rates, comprising control means operable in response to a signal representing a request for a change of rate:

(a) firstly, for generating during transmission of said additional information, signals identifying a data rate to which it is about to change and the time at which it is to occur; and

(b) at the identified time, changing to transmission at the identified rate.

15. An apparatus for demodulating digital signals modulated on a carrier using the apparatus of claim 1, comprising:

a demodulator for receiving a block of symbols and producing coordinate values representing the two quadrature components thereof,

means for assembling, for each block, groups of bits, each group containing one bit from each said coordinate value;

and decoding means arranged to decode the groups, said decoding means including at least one decoder for decoding a group in accordance with said single redundant code having a Hamming distance greater than one.
 Description Submit all comments and votes
 


RELATED APPLICATIONS

This application is related to commonly assigned U.S. patent application Ser. No. 08/122,525 filed Dec. 1, 1993 entitled FRAME SYNCHRONISATION FOR QAM and naming John D. Brownlie and Richard G. Willians as inventors.

FIELD OF THE INVENTION

The present invention relates to phase amplitude modulation particularly, though not exclusively, using block coding.

BACKGROUND OF THE INVENTION

In digital phase amplitude modulation, the modulated signal consists of a sequence of symbols in each of which a carrier has a selected phase and amplitude. Only certain phase/amplitude combinations are permitted; these combinations may be plotted on a diagram with in-phase and quadrature axes to form a pattern; the set of allowable points in this pattern is commonly referred to as a constellation. If for example, one has a 16 point constellation, it is a simple matter to modulate the signal with a 4-bit word to be transmitted by regarding each point as associated with a respective one of the 16 possible combinations of four bits.

It has been shown however that by using a larger constellation (e.g. 32 points) and a suitable coding of the 4 bits, the resultant inherent redundancy in the modulated symbol sequence can be exploited by a soft decision decoder to improve the reliability of decoding in the presence of noise to an extent which exceeds the degradation caused by the larger numbers of points and results in a net coding gain. Coding gain is defined as the difference (in dB) between the signal-to-noise ratio that a coded scheme needs to operate at a particular error rate and that needed by the equivalent uncoded system.

One method of achieving coding gain is by the use of convolutional coding; here however we are concerned primarily with block coding, though the synchronization arrangements to be described are not limited to such cases.

It is inherent in block coding that output symbols are generated on a block by block basis. Thus if a 16-point constellation is to be used for modulation at a rate of 3 bits/symbol, then the coding process needs to produce 4n bits (for selecting points in the constellation) for every 3n data bits received (where n is the length of a block of symbols).

Consider now the concept of set partitioning: the signal constellation is progressively partitioned into subsets having increasing minimum Euclidean distance between the points of each subset; .DELTA..sub.0 <.DELTA..sub.1 <.DELTA..sub.2 . . . as illustrated in FIG. 1 for 16 point quadrature amplitude modulation. The Euclidean distance is simply the linear distance on the phase diagram between adjacent points of a subset; thus, assuming the sixteen points are on a unit grid, ##EQU1##

This distance is significant in that it is a measure of the capability of a hard decision decoder to discriminate between points in the subset in the presence of noise. By labelling each partition with a binary digit as shown we form a partition tree. In FIG. 1 the label for each point is constructed from the bits labelling the partitions needed to reach it; it is convenient to write the bit corresponding to the first partition level as the rightmost bit of the point label and so on. We then see that points whose labels first differ (when read from right to left) in the ith position (where the rightmost bit is the first position) are a Euclidean distance of at least .DELTA..sub.i-1 apart.

The concept of set partitioning in this manner is discussed in G. Ungerboeck's paper "Channel coding with multilevel/phase signals", IEEE Trans IT-28, pp 55-67, January 1982.

The other primary consideration in the coding process is the Hamming distance of the code or codes employed. FIG. 2 illustrates the coding process, in the form of an array. Of a total of .SIGMA.k.sub.i input bits, k.sub.1 bits are coded by means of an (N, k.sub.1, d.sub.1) code to form a first row of bits a.sub.11 . . . a.sub.1N, k.sub.2 bits are coded by means of an (N, k.sub.2, d.sub.2) code to form the second row of bits a.sub.21 . . . a.sub.2N, and so on. The array has N columns, the bits of each column forming a point label L.sub.1 . . . L.sub.N.

An (n, k, d) code is one in which k input bits are coded into n bits, with a minimum Hamming distance of d.

For the 16 point constellation of FIG. 1 one might choose codes as set out below, with a block size of 8 symbols.

______________________________________ i code Euclidean Distance d.sub.i .DELTA..sup.2.sub.i-1.sup.2 ______________________________________ 1 (8, 1, 8) 1 8 2 (8, 4, 4) 2 8 3 (8, 7, 2) 4 8 4 (8, 8, 1) 8 8 ______________________________________

Total number of input bits=.SIGMA.k.sub.i =20.

The square Euclidean distance .DELTA..sup.2.sub.i-1 increases down the column, with the Hamming distance d decreasing down the column. The minimum value of the product d.sub.i .DELTA..sup.2.sub.i-1 is preferably large for good performance. Note that although the fourth row is actually uncoded--i.e. the 8 bits are simply 8 of the input bits unaltered, it is convenient to view this as an (n, n, 1) "code".

The codeword array concept is described in Imai & Hirakawa's paper "A new multilevel coding method using error-correcting codes", IEEE Trans IT-23, pp 371-377, May 1977, and in relation to Reed-Muller codes by E. Cusack, "Error control codes for QAM signalling", Elec. Letts., 20, pp 62-63, Jan. 19th 1984.

It is worth noting at this point that the labelling of bits in FIG. 1 is entirely systematic. Although in most cases this is the most convenient way of proceeding, it is not essential in all cases. In particular, if two rows of the array are coded with codes having the same Hamming distance (or are uncoded) then the lower of these two rows can be allowed a larger Euclidean distance without reducing the coding gain, and therefore the meaning of the two bits from these rows for any one or more symbols can be transposed with no effect, for example, if the bottom two rows are uncoded, then the allocation of the corresponding label bits to the signal points of the constellation can be entirely arbitrary (although this allocation may be subject to other constraints; e.g. for the purpose of achieving 90.degree. phase jump immunity, as will be discussed below). A departure from structured partitioning which results in a reduction of the minimum d.sub.i .DELTA..sup.2.sub.i-1 product will produce a degradation of performance but may still provide a performance better than that of the uncoded case. Indeed, random labelling does not necessarily preclude some coding gain, but for good results then, if we define the Euclidean significance of a label bit as being the smallest change of Euclidean distance that changing that bit can produce, it is preferable that the label bits do not all have the same Euclidean significance. In the following description, the term "significance" is used to mean Euclidean significance as defined above, and labels are written with the significances of the bits increasing from right to left (analogously to the conventional representation of binary numbers). This convention can give rise to ambiguity in that two bits of a given label can have the same significance, but no confusion arises since in this situation it generally does not matter which bit is which.

A modification to this method has been proposed by RGC Williams and PG Farrell in "Combined Coding and Modulation with decreased decoding Complexity", IEEE ISIT '88, Kobe, Japan, June 1988. They regarded the modulated signal as being the sum of two amplitude modulated signals in phase-quadrature and coded separately in the two dimensions. Thus the two-dimensional constellation was regarded as two one-dimensional constellations transmitted in quadrature. It follows that the set partitioning process discussed with reference to FIG. 1 is carried out in the two dimensions separately. This is shown in FIG. 2A for the x dimension. Note that the labels actually correspond to the x coordinate as measured from the leftmost point; if different senses are chosen for the 0/1 division at any partition this simply results in one or more bits of the label being inverted relative to the coordinate bit.

Coding is illustrated in FIG. 3 for the general case. Here the as and bs are elements of codes as before. Now each dimension has its own codeword array, producing labels L.sub.x1, . . . L.sub.xN ; L.sub.y1 . . . L.sub.yN. In principle different codes could be used in each dimension's array if quadrant phase immunity is not required.

FIG. 4 shows a specific example of such a scheme assuming we wish to send 3 bits/symbol over a 16-point QAM signal constellation, with a block size of N=8. We require two bits per symbol in each dimension (=four bits/symbol); for a block we generate 4N=32 bits from m=24 input bits (i.e. the rate of the code is 24/32=3/4). The 24 input bits are divided into two groups of 12 (note that these schemes take no cognizance of the meaning of the input bits and it is immaterial whether the 24 bits are eight 3-bit words or three 8-bit words; thus the division into two groups is arbitrary). Of each group of 12 bits, four are coded into the 8 bits of the first row of the relevant array using the (8, 4, 4) Reed-Muller code, and the remaining 8 pass unmodified into the second row. Assuming the FIG. 2A partioning, each column forms the x or y coordinate of a symbol to be transmitted.

Again, the top row forms the least significant bit.

A 16-point constellation is shown in FIG. 5 with labels derived from the FIG. 2A partioning. The method employed for decoding this array involves decoding separately in the two dimensions. Imagine that a demodulator has received the eight points (relative to the lower left point of the constellation) of a block and the x-coordinates of the received points are

(1.02, 2.94, 0.23, 2.53, 3.23, 0.45, 2.03, 1.24)

The first step is to regenerate the first row of the coding matrix; these bits indicate whether the coordinate is odd or even; thus the received vector is converted into a vector with values between 0 and 1 indicating the distance of the received x-coordinate from the nearest even number, viz

(0.98, 0.94, 0.23, 0.53, 1.0, 0.45, 0.03, 0.76)

Note that 3.23 is given the value 1.0 since the largest even coordinate in the constellation is 2.

Application of a soft-decision decoding algorithm gives information digits 1010, implying a transmitted top row codeword of 11001100. This type of soft-decision decoding is well known; however for a more detailed description in relation to decoding in the separate dimensions see R. G. C. Williams, "Low Complexity Block Coded Modulation", Ph.D. Thesis, Victoria University of Manchester, U.K., August 1988.

Knowing the least significant bit of each symbol (i.e. whether the symbol is even (0) or odd (1)) an inspection of the received coordinates shows that the transmitted vector is (1, 3, 0, 2, 3, 1, 2, 2) and the remaining eight information bits are (0, 1, 0, 1, 1, 0, 1, 1). Clearly if more than two rows were involved, then the algorithm could be applied progressively; in a more sophisticated system the results of later decisions could be fed back to modify earlier decisions (again discussed by Williams).

Note that if the same codes are chosen for each dimension's array then there are fewer different decoders required for the decoding since each array has only half the number of rows of the equivalent 2 dimensional array. Another feature of this scheme is that the decoders work with 1-dimensional distances and are therefore not as complex as the decoders used in the original scheme which worked with 2-dimensional distances due to the nature of the signal constellations.

SUMMARY OF THE INVENTION

According to one aspect of the present invention there is provided an apparatus for modulating digital signals onto a carrier, comprising:

means for receiving a block of bits to be transmitted;

coding and partition means for partitioning each block into groups of bits, at least one group having been coded by a redundant code having a Hamming distance greater than one, the partitioning and coding being such that each group has the same number of bits;

means for assembling a plurality of digital words from the bits of the said groups;

means for quadrature amplitude modulation of a carrier to form a plurality of successive output symbols, the two quadrature components of each symbol being determined by a respective pair of the digital words;

characterized in that each word contains a bit from each group, whereby the or a single redundant code produces bits which control both quadrature components of each symbol.

Preferably in the coding and partitioning means at least one other group is either uncoded or is coded using a code having a smaller Hamming distance than the said one group, and the modulation means is so arranged that each bit supplied thereto as part of the pair of digital words which is derived from the said other group produces a minimum Euclidean distance which is greater than that produced by any bit derived from the said one group. In particular it is preferred that at least one coded group is coded employing a code which has a Hamming distance greater than that obtainable by dividing the group into two subgroups and coding each subgroup independently into the same total number of bits.

If desired, for improving resistance to 90.degree. phase jumps, the apparatus may include means to examine bits determining a predetermined symbol of a block and those of a predetermined symbol of the preceding block to determine the angular difference between the quadrants occupied by those symbols; means for rotating the phase of the transmitted symbols of the block in question by the said angular difference, and means for modulating the carrier with information representing .the angular difference.

In another aspect the invention provides a modulation apparatus comprising quadrature amplitude modulation means operable in a first mode to produce one of a plurality of discrete output symbols each having a predetermined phase and amplitude and operable in a second mode to produce one of a second such plurality of discrete output symbols each of which has at least one quadrature component with an amplitude greater than that of the corresponding component of any of the first plurality of symbols, means for supplying to the quadrature amplitude modulation means digital words for selecting of output symbols, and block timing means operable to produce a block synchronization signal during a predetermined symbol period of a block of symbols, the quadrature amplitude modulation means being responsive to receipt of the synchronization signal to operate in the said second mode for production of a symbol during that period.

BRIEF DESCRIPTION OF THE DRAWINGS

Other preferred features of the invention are set out in the subclaims.

Some embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:

FIG. 1 is a phase diagram showing a known way of partitioning a 16 point QAM constellation;

FIG. 2 illustrates by means of an array one known method of block coding;

FIG. 2A is a diagram illustrating partitioning in one dimension;

FIG. 3 illustrates in similar fashion a second known method of block coding;

FIG. 4 is an array illustrating a specific example of the array of FIG. 3;

FIG. 5 is a phase diagram showing the labelling of the points of a 16 point QAM constellation as used in a first embodiment of the present invention;

FIG. 6 is an array illustrating the operation of the first embodiment of the invention;

FIG. 7 is the known array of FIG. 4, redrawn for comparison purposes;

FIG. 8 is an array illustrating a second embodiment of the invention;

FIG. 9 is an array illustrating a third embodiment of the present invention;

FIG. 10 is a block diagram of a coder operating in accordance with the array of FIG. 9;

FIG. 11 is a block diagram of a corresponding decoder;

FIG. 12 is a block diagram of a modified form of coder and decoder;

FIG. 13 and 14 are phase diagrams showing enlarged constellations employed in a further modification of the invention;

FIG. 15 is a block diagram of part of the coder of FIG. 10, modified to provided synchronization;

FIG. 16 is a block diagram of a modified form the of the decoder of FIG. 11, with synchronization circuitry added; and

FIGS. 17 and 18 are block diagrams of, respectively a coder and decoder in accordance with a further embodiment of the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

The proposed modulation scheme uses only one array of 1-dimensional components, the output information being shared between the two QAM signal coordinates.

FIG. 6 shows an arrangement which is essentially FIG. 4 cut in half. Although the number of columns in the array is still 8, the block size is now 4 since two columns are required for the x and y coordinates of one symbol. Thus the number of bits transmitted per symbol, and the coding gain, are unchanged, but the block size is halved.

It is important to appreciate the fundamental difference between this scheme and the earlier one-dimensional scheme, and that this appreciation is not obscured by any particular way of drawing the diagrams used to represent the schemes. Referring to FIGS. 7 and 8, FIG. 7 shows a scheme similar to that shown in FIG. 4, (with eight symbols per block) but with a rate of 1/2, thus accommodating only 16 input bits per block. FIG. 8 shows a conjectural scheme as envisaged by the present invention, also with a block size of 8.

Again we have to generate a total of 32 bits (16 in each row). If we conjecture that, of 16 input bits, we code 2 bits into the first row with a (16, 2, 8) code and fourteen in the second row using a (16, 14, 2) code then we have achieved no advantage. However, a (16, 5, 8) code and a (16, 15, 2) code both exist (Reed-Muller codes) and if (as shown in FIG. 8) we employ these then although the block size and coding gain are unchanged, the scheme has an enhanced transmission capacity of 20 rather than 16 bits.

It may be noted that this example has the same performance as the conventional 20-bit scheme discussed in the introduction; however it has the advantage of reduced complexity of coding.

It is a known property of redundant codes that the maximum Hamming distance d obtainable, for a code of a given rate, increases with the length of the code. The invention thus exploits this fact by, for at least one array row, coding the bits controlling the x and y coordinates of the constellation symbols together using a single code.

The advantage of this is that one or more of the following (for a given signal constellation) can be enhanced compared with using entirely separate coding of the two dimensions

(a) the block size

(b) the coding rate (i.e. no. of bits/symbol)

(c) the coding gain.

Improvement (a) is exemplified by the comparison between FIGS. 4 and 6, whilst that of (b) can be seen from FIGS. 7 and 8.

To illustrate meaningfully an improvement in coding gain by such a direct comparison is more difficult since for a given coding scheme in accordance with the invention this involves visualising an equivalent decoupled-coding scheme having the same rate and block size. An improvement in coding gain necessarily involves an improvement in the Hamming distance d.sub.i for all rows having a minimum d.sub.i .DELTA..sub.i.sup.2.sub.-1 product, so that for any scheme having such a row with d.sub.i =1 a directly equivalent decoupled scheme does not exist since this would need a Hamming distance of 1/2.

A more practical scheme, using a larger block size, will now be described, together with particulars of its implementation. The scheme is set out in FIG. 9, in the same manner as before.

This codes 4 bits/symbol onto a 64 point constellation, using a block size of 16; the coding rate is 2/3. The first array row uses the (32, 6, 16) Reed-Muller code, the (32, 26, 4) extended Hamming code and an uncoded (32, 32, 1) row.

A suitable constellation is shown as the centre portion of FIG. 13, where point labels (which are the same as the x, y coordinates) are indicated in octal notation. The outer (underlined) 64 points will be discussed later. A block diagram of a coder for implementing this scheme is shown in FIG. 10. An input 1 is assumed to receive serial data at 9.6 k bit/s which is clocked into a 64-bit serial in parallel-out shift register 2 under control of a 9.6 kHz clock signal ..phi..sub.1 from a master clock generator 3 synchronized (by means not shown) to the input bit stream. Every 64 bits, the parallel output is loaded by means of a second clock signal (at 9600/64=150 Hz) into a register 4. Of the 64 bits in this register, 6 bits are fed to a coder 5 which implements the (32, 6, 16) Reed-Muller code and produces 32 bits a.sub.1,j whilst 26 bits are supplied to a coder 6 which implements the (32, 26, 4) extended Hamming code and produces 32 bits a.sub.2,j. The remaining 32 bits are uncoded and form the 32 bits a.sub.3,j shown in FIG. 9. As mentioned previously the allocation of which bits go to which coder is arbitrary.

The 96 bits a.sub.1j, a.sub.2j, a.sub.3j are now supplied to six 16-stage shift registers 7-12. The registers 7, 8 and 9 are to contain the x coordinates of the output symbols and the registers 11, 12 and 13 the y coordinates. Sixteen of the heavily coded bits a.sub.1j from the coder 5 are loaded in parallel into the shift register 7 and the other 16 into the register 10. Similarly the less heavily coded bits a.sub.2j from the coder 6 are loaded into the registers 8 and 11, sixteen into each, and the uncoded bits a.sub.3j are equally divided between the registers 9 and 12. The loading occurs under control of a 150 Hz clock signal .phi..sub.2 ' delayed with respect to the signal .phi..sub.2 to allow for delays in the coders 5, 6.

The six registers 7-12 now contain the x and y coordinates of sixteen symbols to be transmitted; once loaded their contents are clocked out under control of a 2.4 kHz clock .phi..sub.3 (i.e. at a baud rate of 2400). Thus, every symbol period, a three-bit word representing the x coordinate of the symbol to be transmitted is available at the output of the registers 7, 8, 9 where register 9 supplies the most significant bit and register 7 the least. Similarly the y coordinate is available at the output of the registers 10, 11 and 12.

These outputs are used to control modulation of a carrier; this process is illustrated in the diagram by a pair of amplitude modulators 13, 14 supplied respectively with carrier C.sub.l and carrier C.sub.Q in phase quadrature to it, whose outputs are added in an adder 15 to provide a modulated output at an output 16. Although not shown, any of the usual techniques conventionally employed for avoiding phase or slope discontinuities in the modulated signal may be employed. Note that although coordinates here are expressed relative to the bottom left point of the constellation, a symmetrical representation is more usual. This simply represents a translation of (-3.5, -3.5) which is assumed to occur in the modulators 13, 14.

Another scheme similar to that shown in FIG. 9 uses the following codes.

(32, 16, 8) Reed-Muller for a.sub.1j

(32, 31, 2) Parity Check for a.sub.2j

(32, 32, 1) Uncoded for a.sub.3j

This has an inferior noise immunity to that of FIG. 8 but has a higher coding rate of 79/96, i.e. it carries an extra 15/16 bit/symbol. If a fourth, uncoded, row is added and a 256 point signal constellation (e.g. as shown in the inner portion of FIG. 14) is used, then it can carry 111 bits/block, i.e. 615/16 bits/symbol. If provision is made (as described below) for carrying one extra bit per block, a bit rate of 19.2 kbit/s at 2743 baud can be achieved.

Note that the scheme described apparently requires an even length for the codeword array, so that the columns of the matrix can be divided equally between the two coordinate axes. However, if an odd length q is desired this can be accommodated. One method of coping with this would be to carry over one coordinate of alternate blocks to the next block, so that alternate transmitted blocks contain (q-1)/2 and (q+1)/2 symbols respectively.

Decoding of these signals is carried out in a manner analogous to that described in the introduction for entirely separate decoding on the two dimensions, the essential difference being of course that the x and y coordinates obtained from the demodulator are assembled into a single vector (in the same sequence, naturally as at the transmitter) and processed together.

A block diagram of a decoder for the code of FIG. 9 is shown in FIG. 11. A demodulator 20 receives the incoming signal and includes carrier synchronization recovery and symbol synchronization; it demodulates the signal to obtain x and y coordinates in digital form. Assuming, as is conventional, that these coordinates are relative to the point of symmetry of the constellation, adders 21, 22 add 3.5 to each coordinate to produce the x, y coordinates relative to the lower left hand corner of the constellation. As shown, the outputs of the adders are to 8-bit accuracy (3 bits before the binary point, since the maximum coordinate is 7). The demodulator also produces symbol clock signals .phi..sub.s.

The output coordinates are clocked into 16 state (16 being the block size) shift registers 24, 25 under control of the symbol clock .phi..sub.s and, each block period, loaded in parallel under control of a block synchronization signal .phi..sub.B into a 32.times.8 bit buffer 26. The least significant seven bits of each word pass via a unit 27 which derives the distance of each coordinate from the nearest even number in the range 0 to 6 and supplies these to a soft decision decoder 28 for the (32, 6, 16) Reed-Muller Code. The output of this decoder is 6 data bits and the valid 32-bit word which the decoder has judged the transmitter to have used in the first row of the array.

The former are supplied to an output register 30, the latter to a unit 31 which adjusts the values of (the least significant seven bits of) the next 32 coordinates from the register 26 (i.e. constrains them to be the nearest odd or even number according to the output of the decoder 28), prior to passage to a soft decision decoder 32 for the (32, 26, 4) extended Hamming code. This decoder supplies a further 26 data bits to the output register 30. The decoder 32 also has an output for the 32 bits which it has judged the transmitter to have sent; these are supplied, along with the corresponding bits from the decoder 28, to a unit 33 which makes any necessary adjustment to the remaining 32 (most significant) bits from the register 26. As these bits are uncoded they then pass directly to the output register 30. The total of 64 bits from the register 30 are forwarded to the receiver's output 34. The 32-bit outputs from the decoders 28, 32 are also conducted to an auxiliary output 35 along with the adjusted uncoded bits from the unit 33.

When using signal constellations that contain rotational symmetries there is a danger that they may suffer an undetected phase shift. If, during transmission, there is something on the channel that rotates the constellation points through one of its angles of symmetry then the receiver's carrier tracking circuits will be fooled. The receiver will think that it is receiving perfectly good points and will produce data but this data will be based on the labels of the wrong points. For example, if a QAM signal constellation is rotated through 90.degree. during transmission then the receiver will produce data based on the labels of points in the quadrant adjacent to those that the transmitted data had selected. If we are not careful the data that we output will be wrong. It is clearly necessary to take action to prevent catastrophic error propagation. The problem has traditionally been overcome in the convolutionally encoded case by using the process of differentially encoding the data first.

In the case of block codes, it has been proposed by Brownlie and Williams to apply a differential coding between blocks. A quadrant rotation is determined by comparing the quadrant bits (i.e. the most significant x bit and the most significant y bit) of the first symbol of the block and the quadrant bits of the first symbol of the previous block. The first symbol is chosen for convenience but any other consistent choice would be satisfactory. This quadrant rotation is then applied to all symbols of the block being transmitted.

This means that the quadrant bits of the first symbol becomes zero; these are not transmitted: instead we substitute the difference.

After the decoder at the receiver the difference bits in the first symbol are differentially decoded. The difference bits are also used to apply the reverse rotation to all the symbols of the block and the differential decoder's output replaces the block's quadrant bits. A systematic quadrant phase error in the transmission path is thus cancelled since this affects equally both the phase of the received difference and the phase of the received symbols.

Note that this procedure requires that the most significant bits of the first symbol also indicate the quadrant: this is true for the partioning of FIG. 1, but care needs to be taken if less systematic bit allocations--or constellations other than those having 2.sup.n points in a square array--are used.

A coder and decoder implementing this procedure for the code of FIG. 9 are shown in FIG. 12. Items 2 to 6 of FIG. 10 are shown as an encoder 50. The most significant bits a.sub.3, 1 and a.sub.3, 17 of the first encoded symbol of the block are separated and supplied to a differential phase unit which takes the difference between its output one block previously (via a delay 52) and its input. Note that this unit does not take the differences between the bits, but provides an output indicating the phase difference (for example by means of a look-up table). All the bits are supplied to a rotator 53 which applies a phase shift of 0.degree., 90.degree., 180.degree. or 270.degree. as indicated by the output of the differential unit 51. This involves complementing the bits and/or transposing x and y values, thus:

______________________________________ Phase (clockwise) ______________________________________ 0.degree. x out = x in y out = y in 90.degree. x out = y in y out = .sup.----x in 180.degree. x out = .sup.----x in y out = .sup.----y in 270.degree. x out = .sup.----y in y out = x in ______________________________________

The differentially encoded quadrant bits of the first symbol are substituted for the quadrant bits of the output from the rotator. These are then fed to a modulator 54 which contains items 7 to 16 of FIG. 10.

After transmission over a link 55, the inputs are demodulated in a demodulator 56 containing units 20 to 26 of FIG. 11, and then pass to a decoder 57. This contains units 27 to 32 of FIG. 11; however the output that is required from the decoders 30, 32 is not the data bits but the bits deemed by the decoder to have been received by the transmitter--i.e. the auxiliary output 35 of FIG. 11.

The differentially encoded quadrant bits from the first symbols are supplied to a differential decoder comprising a one-block delay 58 and phase difference unit 59 (e.g. a look-up table similar to that used for the unit 51) to produce received bits (a'.sub.3, 1, a'.sub.3, 17); it also controls a rotator 60 which receives the remaining bits from the decoder 57 and applies (assuming no phase shift on the link 55) the opposite phase rotation to that applied in the transmitter rotator 53. In the event of a clockwise phase shift of n.times.90.degree. on the link, the amount of rotation (anti clockwise) in the rotator 60 is, increased by n, thereby compensating for the n.times.90.degree. clockwise rotation of the received symbols (other than the quadrant bits of the first symbol which are compensated by the differential coding).

The bits output from the units 59 and rotator 60 are now correct, and a relatively simple data extractor unit 61 derives the data bits from the Reed-Muller and Extended Hamming--coded bits and passes these, along with the uncoded bits, to an output 62.

This method of achieving 90.degree. phase jump immunity has a number of implications for the codes used. Since the phase rotations introduced at the transmitter cannot be removed until after the soft-decision decoder 57, it is essential that the changes which these rotations make to the bits of the transmitted array are such that each coded row of the array remains a valid codeword--for example the changes made to the bits a.sub.1, j must not generate a codeword which the Reed-Muller code cannot produce.

The same phase rotation is applied to all bits except for the quadrant bits of the first symbol. Therefore it is necessary that (as here) these bits are derived from an uncoded row.

In the coded rows, in the case of the codes described in the Williams thesis referred to, the transposition of x and y places no constraint on the codes since the two coordinates are coded separately, whilst the fact that x or y may be complemented means that the code used must be such that if it contains a codeword A it also must contain its complement A.

In the case of the present embodiment, two things may occur, viz, complementing x and y; or transposition of x and y and the complementing of one of them. The first situation is met by the constraint just mentioned. The second means that (given, as shown in FIG. 9 that the x coordinates are taken from the first half of the codeword and the y from the second), if BC is a valid codeword, where B and C are its two halves, then CB and CB are also valid codewords. Both the Reed-Muller and extended Hamming codes possess this property.

The foregoing description of the coder and decoder has assumed that a coordinate (relative to the lower left point) and a point label are synonymous, though--as has already been pointed out in the discussion of FIG. 2A--this is not essential; but the only change that can occur to the coded bits is that one or more label bits are complemented relative to the coordinate bits. In the coder of FIG. 10, this