This invention relates to efficient encoding, mapping, demodulation and decoding of signals expressed in a multi-level block product code format.
A product code is a multi-dimensional array of (n,k) linear block code that exploits a simple and relatively efficient method to construct more powerful codes using linear block code structures.
In any digital representation of a signal value, the most important bit is the MSB (most significant bit), followed in turn by other bits (MSB-1, MSB-2, . . . , LSB) in the representation sequence. In a conventional transmission of this digital representation, all bits are treated equally in signal coding and decoding for such transmission. This approach is often inefficient, because the bits are not equally affected by noise and other perturbations in the transmission channel and are not equally important. This is especially true where a QAM configuration is used and the higher order bits (MSB, MSB-1, etc.) are more likely to be correct.
What is needed is an efficient method for encoding and mapping a digital sequence into a sequence of signal values, and decoding the received signal values into a corresponding true digital sequence before encoding at the transmitter side, using a (22p)QAM configuration (p=2, 3, 4, etc.) for the I and Q components. This method should allow different bits in a digital representation to be protected and transmitted differently, if desired, to take account of the differing likelihoods that each bit will become corrupted by noise and other perturbations in the transmission channel.
These needs are met by the invention, which provides an optimal procedure for transmission and decoding of different bits in a digital representation of a signal value. For example, where a 64QAM (I,Q) configuration is used, the I and Q coordinates are assigned eight monotonically increasing values, −v1, −v2, −v3, −v4, v4, v3, v2 and v1, and a three-step decoding algorithm is implemented to determine a triple of values, (rb2,rb1,rb0) or (B2,B1,B0), representing the decoded received signal. For other QAM configurations, other optimal value assignments are used. A transmission channel figure of merit, such as Eb/N0, is estimated to determine a (different) bit error rate associated with each of the transmitted bits.
With reference to
It is assumed that the bit B(k−1) is less important than, or no more important than, the bit Bk for k=1, 2, . . . , M. The sequence W is mapped by decomposition into two or more consecutive and mutually exclusive segments or sub-sequences of bits, SB1=(BM, . . . , Bk) and SB2=(B(k−1), . . . , B0), or into M+1 single-bit segments, and each segment is provided with a different level of protection before transmission occurs. The sequence is received and decoded by a procedure that takes account of the differing consequences of, and likelihood of, a sequence being corrupted by the transmission process.
Consider a digital word W having six bits (M=5) that is represented with 3 I bits and 3 Q bits in an (I,Q) format. In the most general approach, each I bit and each Q bit is provided with a different level of protection as part of the transmission process. If desired, a segment with two or more consecutive bits can be provided with the same protection. The appropriate QAM representation here uses 2(3+3)(=64 (I,Q) coordinates in four quadrants of the ((I,Q) plane.
In a hierarchical 64QAM modulation, illustrated in
Consider the two three-bit specifications, (B2,B1,B0)=(I2,I1,I0) and (B2,B1,B0)=(Q2,Q1,Q0), referring to the in-phase coordinate and the quadrature coordinate, respectively, with each bit independently having the usual values, 0 and 1. In a preferred embodiment, each bit B2, B1 and B0 is transmitted as part of a different 64×64 block. Table 1 sets forth the assignment of the bit value combinations for the I and Q coordinates, and
For example, the pair of triples {(I2,I1,I0), (Q2,Q1,Q0)}={(0,1,0), (1,1,0)} has the (I,Q) location coordinates (−4,7), and the pair of triples {(I2,I1,I0), (Q2,Q1,Q0)}={(1,0,0), (0,0,1)} has the (I,Q) location coordinates (2,−7), as indicated in FIG. 3. In a 64QAM configuration, a signal is assigned the (I,Q) coordinates of the location closest to the <measured or observed signal amplitude and phase values.
For example, consider a signal for which the measured or observed (I,Q) values are (rI,rQ)=(−3.4,+5.6). With reference to the I and Q coordinate values ±vk chosen in Table 1, namely
The decision process set forth above, as well as many Viterbi-type processes, for determining the triple (I2,I1,I0) and/or (Q2,Q1,Q0) is a soft input-hard output (SIHO) process that is simple to apply but may not provide an optimal solution for determining the correct digital values of the transmitted triples. In a preferred embodiment, the invention uses a soft input-soft output (SISO) decision process in that it provides an intermediate sequence of probability values (associated with a selected probability measure) that a given triple (B2,B1,B0) is the correct or optimal choice, as well as iteratively decoding these intermediate probabilities. One SISO decision process, referred to as the MAP (maximum a posteriori probability) process or the BCJR process, is discussed in detail by C. Heegard and S. B. Wicker in Turbo Coding, Kluwer Academic Publishers, Boston, 1999, pp. 70-71 and 121-140; the content of this discussion is incorporated by reference herein.
The (I,Q) coordinate values assigned according to Table 1 can be changed to decode to an integer set other than {−9, −7, 4, −2, 2, 4, 7, 9}, but it is preferred that the eight numbers used be a monotonic and distinct sequence, with a positive increment between any two consecutive values in the sequence so that a bit error rate performance curve (e.g., as shown in
With reference to the specification in terms of a triple (I2,I1,I0) or (Q2,Q1,Q0), the corresponding symbol is a combination of three blocks (or six blocks) in an ordered sequence of 57 bits +6 bits +1 bit. The 57 upper bits are message or data bits, the next 6 bits are parity check bits, and the LSB (one bit) is a modulo-2 sum of the preceding 63 bits.
Assume that an analog signal is received as indicated in FIG. 2 and processed by the demodulator 17 to provide a digital sequence (I,Q) to be decoded by the decoder 18. Let (B2,B1,B0) represent the received I channel component, or the Q channel component, of the signal after decoding in a 64QAM format. For the mapping set forth in Table 1, the set of positive index values (v1,v2,v3,v4)=(9,7,4,2) has an average value of a1=(9+7+4+2)/4=5.5. The average value of a first remainder (after subtraction of the first average value of 5.5) is a2=(7+9)12−5.5=2.5. A second remainder is a2=(9−7)/2=1. The average value and first remainder value for each of the I and Q coordinates are indicated in FIG. 3. The received index values, ±v1, ±v2, ±v3 and ±v4, will include noise associated with the transmission channel.
Using a selected metric process such as the one discussed in connection with Eqs. (1) and (2), or an SISO process, a triple (B2,B1,B0) of digital values is determined whose corresponding numerical value from Table I is “closest” to the received signal value. In an SISO process the values Bk (k=2,1,0) are decoded individually, not as a group.
The received signal value r=(j) of the jth QAM signal is divided by the first average, a1=5.5, as a first stage in the decoding process
rb2=r/a1=r/5.5, (3)
where rb2(j) is not usually an integer and represents a symbol value, corresponding to an MSB coordinate. Using the value rb2 as an input for first stage decoding, a digital value B2 is determined. In a second stage of decoding, a first remainder:
rb1={r/5.5−(2·B2−1)}·(a1/a2)={rb2−(2·B2−1)}·(5.5/2.5) (4)
is computed, and a digital value B1 is determined after decoding of the input value rb1. In a third stage of decoding, a second remainder
rb0={r/a1−(2·B2−1)}·a1−(2·B1−1)·(a2/a3)={rb1−(2·B1−1)}·2.5. (5)
is computed. The decoder thus receives the signal value r=r(j), determines a first ordered sequence of digital values {rb2(j),rb1(j),rb0(j)}, and determines a second ordered sequence (B2,B1,B0), individually or collectively, representing a decoding of the original received signal, r=r(j), for the selected 64QAM format. For example, if the received signal r(j) has a value of 6.5, the decoding sequence for this received signal becomes {rb2(j),rb1(j),rb0(j)}={1.1818,0.4,−1.5}.
If the parameter value satisfies Eb/N0=14.5 dB, which would be typical for a reasonably quiet and stationary environment not subjected to strong perturbations (e.g., home receipt of a television signal), all three bits (B2,B1,B0) can be recovered without error. In this ideal environment, an HDTV signal can be transmitted, received and displayed.
If the parameter value satisfies 7.5 dB≦Eb/N0<14.5 dB, the bits B2 and B1 can be recovered without error, but the bit value B0 will have varying errors. In this environment, for example, a standard television signal SDTV may be transmitted, received and displayed.
If the parameter value satisfies 3.5 dB≦Eb/N0<7.5 dB, corresponding to a mobile transmission environment, only the bit B2 can be recovered without error, and the bits B1 and B0 will have varying errors. In this environment, for example, a black and white television signal or a paging signal, using a single signal value (B2), can be transmitted, received and displayed. If the parameter value satisfies Eb/N0<3.5 dB, no signal bit is free from expected error.
A four-bit transmission system will use 24=16 (I,Q) values.
Within a quadrant, the horizontal or vertical nearest neighbor separation distance of any two locations is 3 units (=5−2). Between two adjacent quadrants the nearest neighbor separation distance is 4 units (=2−(−2)). The average I values or average Q values and remainder values for the assigned locations in the first quadrant are a1=(5+2)/2=3.5 and a2=(5−2)/2=1.5.
Decoding for this 16QAM configuration proceeds as follows. If the jth signal value received is r=r(j), the pair (B1,B0) is decoded in two steps:
For example, if the received signal r(j) has a value of 2.75, corresponding to (B1,B0)=(1,0), the decoding sequence for this received signal becomes {rb1(j),rb0(j)}={0.7858,−0.5}.
The relationships between bit error rates associated with each of the two bits B1 and B0 and the 16QAM format, for the I and Q coordinates choices (±2,±5), are similar to those shown in
Within a quadrant, the horizontal or vertical nearest neighbor separation distance of any two locations is 2 units (=4−2). Between two adjacent quadrants the nearest neighbor separation distance is 4 units (=2−(−2)). The average and remainder values for the assigned locations in the first quadrant are a1=(4+2)/2=3.0 and a2=(4−2)/2=1.0.
Decoding for this 16QAM configuration proceeds as follows. If the jth signal value received is r=(j), the pair (B1,B0) is decoded in two steps:
More generally, assume that a (22p)QAM configuration is to be used to encode, transmit and decode a bit sequence (B(p−1),B(p−2), . . . , B0), representing a signal value r, where p=2, 3, 4, . . . is a selected positive integer. Assume that the p values of the I coordinates and the p values of the Q coordinates in a first quadrant are selected to be a monotonically strictly decreasing sequence v1, v2, . . . , v(2p) of positive values. The signal value r=r(j) is received and processed and recovered as a p-tuple (rb,p-1,rb,p-2, . . . , rb,0), defined by
rb,p-1=r/a(1), (10)
rb,p-k-1={rb,p-k−(2·B(p-k)−1)·(a(k))}/(a(k+1)) (k=1, . . . , p−2), (11)
rb,0=a(p−1){rb,1−(2·B1−1)}/a(p) (12)
a(k)={v1+ . . . +v(2p-k)}/2p-k−a(k−1), (13)
a(0)=0, (14)
a(p)=(v1−v2)/2, (15)
where the coordinate B(p-k) is determined or decoded using an SIHO or SISO process or a selected metric process from the values rb,p-k, as a modified version of the received signal r=r(j), in a p-step decoding procedure. In particular, this prescription extends the invention to use of a 256QAM configuration, with p=4, and to use of 1024QAM configuration, with p=5.
Number | Name | Date | Kind |
---|---|---|---|
5233479 | Nakatsu et al. | Aug 1993 | A |
5909454 | Schmidt | Jun 1999 | A |
6115435 | Harada et al. | Sep 2000 | A |
6591395 | Tsai | Jul 2003 | B1 |
6745365 | Kokuryo et al. | Jun 2004 | B2 |
20020122510 | Yakhnich et al. | Sep 2002 | A1 |
20030026346 | Matsumoto et al. | Feb 2003 | A1 |
20030053435 | Sindhushayana et al. | Mar 2003 | A1 |
20030072395 | Jia et al. | Apr 2003 | A1 |