METHOD AND APPARATUS FOR TCM DECODING USING QPSK VITERBI DECODER

Abstract: A method and apparatus for decoding a high order trellis-coded modulated (TCM) signal avoids the need to modify a standard QPSK Viterbi decoder by including a pre-processing unit that transforms a received signal to an equivalent signal vector of soft value in the QPSK signal constellation.

Description: -1- METHOD AND APPARATUS FOR TCM DECODING USING QPSK VITERBI DECODER BACKGROUND OF THE INVENTION Trellis-coded modulation (TCM) combines channel coding and modulation 5 at a transmitter. Information bits are sent into a TCM encoder in parallel. The least- significant bits (LSBs) are convolutionally encoded. The most-significant bits (MSBs) are usually left uncoded and combined with the output of the convolutional coder to form a symbol on a signal constellation through a signal mapper. One advantage of TCM is that although no error control coding is performed on any bit 10 other than the LSB of the input information data, the decoder is able to provide error correction on all bits. Therefore, significant coding gain over uncoded modulation can be achieved. The best convolutional codes for TCM were described in the paper "Channel Coding with Multilevel/Phase Signal", G. Ungerboeck, IEEE Transactions On 15 Information Theory, pp. 55-67, January 1982. Unfortunately, for any particular code rate, the maximum coding gain requires a different convolutional code. To achieve versatility, pragmatic TCM (PTCM) was developed, as described in "A Pragmatic Approach to Trellis-Coded Modulation", A. J. Viterbi et al., LEEE Cornm. Magazine, pp. 11-19, July 1989. The fundamental concept in PTCM is that an -20 industry standard convolutional code of rate Vi, K=7 is used as the core coder inside the TCM encoder. A tradeoff relative to the Ungerboeck approach is that somewhat lower coding gain is achieved. However, even though a lower coding gain is realized, it is very close to the optimum coding gain of the Ungerboeck codes at bit- error rates of interest. A key advantage of PTCM is that with a single standardized :25 core convolutional coder/decoder, different types of TCM with various code rates -2- can be easily constructed. This benefits the decoder design especially, since the same Viterbi decoder can be employed for different modulations. Another advantage of the PTCM scheme is that the code rate can be made variable by puncturing the convolutional coder. Puncturing means that certain bits from the convolutional coder output are deleted. The resultant structure is called Punctured Pragmatic TCM (P2TCM), which was disclosed in "P 2 Codes: Pragmatic Trellis Codes Utilizing Punctured Convolutional Codes", J. K. Wolf and E. Zehavi, IEEE Comm. Magazine, pp. 94-99, February 1995. In the P2TCM approach, the core of the trellis coder is a punctured version of the industry standard, rate Vz convolutional code. This approach was shown to lead to a wide class of high-rate pragmatic punctured trellis codes of rate n/n+1 for both phase-shift keying (PSK) and quadrature amplitude modulation (QAM) modulations. In general, a trellis diagram can be used to represent the response of a convolutional coder to an input stream. Each trellis stage includes a fixed number of nodes that represent the possible states of the coder. The states are connected such that each state has inputs from disjoint states in the preceding stage and outputs to disjoint states in the succeeding stage. The connections represent possible state transitions and are more commonly referred to as branches. The decoding of TCM signals can be performed efficiently using the well- known Viterbi algorithm. The Viterbi algorithm selects the best path along the branches of thertrellis diagram to determine the originally transmitted input stream from a received sequence of symbols. The algorithm bases this selection on a measure of the accumulated squared (Euclidean) distance between the received symbols and possible points on a signal constellation. The Euclidean distance measurement is made for each branch of the trellis diagram and is referred to as a branch metric. At each trellis stage, the branch metric is added to the accumulated error for each state. This accumulated error is also called a state metric. A comparison is made between the two incoming branches and the branch with the smaller accumulated error is selected as the survivor branch for each state of the trellis stage. -3- There is a strong demand for expanding the data throughput in communication links. A common technique is to increase the order of modulation, for example, by upgrading from quarternary phase-shift keying (QPSK) to 8-ary phase-shift keying (8PSK). However, high order modulation can result in inferior performance, since the transmitter has to increase the signal power to maintain the same bit error rate as that of the low order modulation. A typical approach is to use TCM at the encoder and "soft decision" values input to a Viterbi decoder designed for the particular high order TCM. SUMMARY OF THE INVENTION In a conventional TCM decoder, the Viterbi decoder engine is typically the most complex element. In the particular case of QPSK modulation, there exists many commercially available cores and ASICs that provide a QPSK decoder as a whole package. Unfortunately, such QPSK decoders cannot be applied directly to higher order TCM. A need exists for a decoding capability which can take advantage of the symmetric properties of QPSK in decoding higher order modulations while also taking advantage of commercially available QPSK Viterbi decoder engines. The present invention provides a method and apparatus for decoding a high order trellis-coded modulated (TCM) signal using a QPSK Viterbi decoder. The invention avoids the need to modify a standard QPSK Viterbi decoder by including a pre-processing unit that transforms a received signal to an equivalent signal vector or soft value in the QPSK signal constellation. This inventive approach is referred to as the "transformed I-Q" approach where I-Q refers to the inphase (I) and quadrature (Q) components of the received signal at the decoder. In accordance with the present invention, a method of decoding includes receiving a signal having inphase (I) and quadrature (Q) signal components which correspond to a signal constellation of a first modulation type, such as a high order trellis code modulation or punctured QPSK. The received I, Q signal components are transformed to I 1 , Q 1 signal components corresponding to a QPSK signal constellation. The I', Q 1 signal components are decoded in a QPSK decoder such as a QPSK Viterbi decoder engine. According to an aspect of the invention, the transforming includes selecting four signal points and determining branch metrics corresponding to the four selected signal points. The branch metrics correspond to a distance between the received signal and the selected signal points in the first modulation signal constellation. From among the selected signal points that signal point having the largest branch metric is determined and an offset is added thereto. The branch metrics of the remaining selected signal points are matched to corresponding QPSK branch metrics in the QPSK signal constellation. The transformed I-Q approach of the present invention is applicable to various high order TCM schemes, including one and two coded bits per symbol formats. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. FIGs. 1 A and IB show block diagrams for a conventional TCM encoder and decoder, respectively. FIG. 2 shows a conventional rate Vi convolutional encoder. FIG. 3 illustrates a QPSK signal constellation according to the DVB standard. FIG. 4 shows a block diagram for a conventional QPSK decoder. FIG. 5 shows a block diagram of a decoder according to the present invention. FIG. 6 illustrates a trellis diagram. -5- FIG. 7 illustrates a signal constellation for 16 QAM. FIG. 8 illustrates an 8PSK signal constellation. FIG. 9A illustrates a rate 8/9 8 PSK signal constellation based on a rate 5/6 convolutional code and FIGs. 9B and 9C illustrate two possible bit-to-symbol 5 mappings. FIGs. 10A and 10B illustrate a unit vector on respective different signal constellations for 8PSK modulation. DETAILED DESCRIPTION OF THE INVENTION Initially, conventional TCM encoder and decoder structures are described, 10 followed thereafter by a description of the principles of the present invention and preferred embodiments. Consider a well-known TCM encoder and decoder structure as shown in FIGs. 1 A and IB, respectively. The encoder structure in FIG. 1 A includes three elements: differential precoder 100, convolutional encoder 102 of rate n/(n+l) with 15 k parallel transition(s) and bit-to-symbol mapping block 104. The input bit a is called an "encoded bit" and bits b,, b 2 , ..., b k are called "uncoded bits". The output y of the convolutional encoder 102 provides "coded bits". If the convolutional encoder 102 is the de facto rate Vz convolutional encoder 102' as shown in FIG. 2, then the coding is called pragmatic trellis code modulation (PTCM). ,20 When ah encoded bit a is input into the shift register 103, two coded bits y '1, y '2 are generated at the output of the rate Vi convolutional encoder. Either two or one (if the code is a punctured code) of the coded bits v 'I, y '2 are serialized into the stream v. The coded bits combined with the uncoded bit, if any, are used as an address to a symbol in a two dimensional signal constellation. The bit-to-symbol -25 mapping can be viewed as a lookup table that assigns an address to a signal point in the constellation. If there are two coded bits within the address of a symbol (not necessarily from the same transition), this coding is referred to as "two coded bits per symbol" (2CBPS). On the other hand, if there is only one coded bit, such coding is referred to as "one coded bit per symbol" (1CBPS). -6- FIG. IB shows the decoder structure comprising five elements: branch metric calculator 106, uncoded bit detector 108, convolutional re-encoder 110, Viterbi decoder engine 112 and differential decoder 114. Consider the relationship between the differential precoder 100 and the differential decoder 114. Note that x is the input bit stream and a along with b,, b 2 , ..., b k (if there are parallel transitions) are the output of the differential precoder 100. The only constraint for the differential precoder 100 is that it has to be invertible. If it is not, the information x will be lost. Thus, there always exists a differential decoder that is the inverse function of the differential precoder such that the output stream £ of the receiver can be derived from a and b~,, b Λ 2 , ..., b~ k . Referring again to FIG.1A, the output of the bit-to-symbol mapping block 104 is denoted as s(b, b 2 ...b k y, yj for 2CBPS and s(b, b 2 ...b k y,) for 1CBPS. For convenience, the following are defined: Soo^ {s(b 1 b 2 ...b k 00),Vb,b 2 ...b k } (1) S 01 { s(b, b 2 ...b k 01), V b, b 2 ...b k } (2) S 10 {s(b,b 2 ...b k 10),Vb 1 b 2 ...b k } (3) S„ {s(b,b 2 ...b k ll),Vb 1 b 2 ...b k } (4) for 2CBPS; and for 1CBPS: S 0 ^ {s(b,b 2 ...b k 0),Vb,b 2 ...b k } (5) S, { s(b, b 2 ...b k 1), V b, b 2 ...b k } (6) Now consider the decoding process with reference again to FIG. IB. The received signal is defined as r = [I,QJ. If the TCM is 2CBPS, then branch metric calculator 106 needs to find four signal points s 00 ,s 0 ,,s l0 ,s n and branch metrics d 0O ,d O d IO ,d π such that -7- doo ^ ||s 00 -r||≤ ||s - r||, V s e Soo (7) do, ||s 0I -r||≤||s-r||,VseS 01 (8) d 10 ||s 10 -r|| ≤ ||s-r||,VseS 10 (9) d M ^ ||s 11 -r|| J £||8-r||,VseS„ (10) Note that d 00 ,d 01 ,d l0 ,d u are Euclidean distances between the received signal and the signal constellation. The Viterbi decoder engine 112 receives d go ,d ol ,d 10 ,d π as inputs and determine an optimal path in the trellis diagram. The output a of the Viterbi decoder engine is re-encoded by the convolutional re-encoder 110 to provide output y which is used to determine uncoded bits &,, b .... b by the uncoded bit detector 108. Similarly, if TCM is 1CBPS, then the branch metric calculator 106 needs to find two signals Sg,s } and branch metrics dg, d, such that do ||so-r||≤||s-r||,VseS 0 (11) d, ||s 4 - r|| ≤ ||s - r||, V s e S, (12) However, if a QPSK constellation such as the Digital Video Broadcasting (DVB) standard is used for TCM, as shown in FIG.3, then the branch metrics d 00 ,d 0] ,d 10 ,d 11 defined in Equations (7)(8)(9)(10) can be further simplified. Without loss of generality, assume the signal points lie on a unit circle 120. Then, 1/ . + \ Q - -t * d'_ (13) H r ' ' * 2 ' '^ 2 ' 00 r-s ' .10" v4* \Q .& & d i 1 1 n0 (14) i '-'..l = I-fi 2 + ie + ; 2 A d < 01 (15) r-* n ll = | + ^l 2 + lβ + - l 2 a (16) 2 ' 2 where 5 oo-(^-' -γ' *ιo ( 2 ' 2 } ' 01 ^ 2 ' 2 ^ 1J ^ 2 ' 2 ' It is well-known that the branch metrics fed into a Viterbi decoder engine can be subtracted by the same value without changing the result of the decoder. Subtracting the Expressions in (13)(14)(15)(16) by I 2 + Q 2 + 1, yields d όO = d - (/2+β2+1 > = fi ( -ι- Q ( 17 ) d ή' = d ! - 2+β2+ = fiv-Q ) os) d ό = o , - 2+β2+ D = γ5 ( - /+β) (19) -9- d 1"1 = d 1'1 -(/ 2 +β 2 + l) = J2(J+β) (20) Since it can be seen above that d" 00 = -d" π and d" 10 = -d" 01 , an alternative way of inputting to the Viterbi decoder engine is to use values referred to as "soft values", defined: v 0 ^d"oo (21) v, Δ d " 01 (22) The symmetric properties of the QPSK signal constellation are widely used to reduce the complexity of the Viterbi decoder engine to a simpler QPSK Viterbi decoder engine 202 as shown in FIG. 4. A QPSK soft value calculator 200 calculates the soft values v 0 , v, as described above for Equations (21)(22). Having described the conventional TCM encoder and decoder structures, the principles of the present invention are now described with reference to preferred embodiments. In the conventional TCM decoder shown in FIG. IB, the Viterbi decoder engine is typically the most complex element. There are many commercially available cores and ASICs that provide a QPSK decoder as a whole package. Unfortunately, these QPSK decoders cannot be applied to higher order modulation directly because the symmetric properties of QPSK identified above do not necessarily exist for these higher order modulation schemes. The present invention provides a modification to the conventional QPSK decoder by introducing a pre-processing unit which transforms a received signal to an equivalent signal vector or soft value in the QPSK signal constellation. This allows a high order TCM signal to be decoded using a conventional QPSK Viterbi decoder engine. This inventive approach is referred to as the "transformed I-Q" -10- approach throughout the Specification where I-Q refers to the components I and Q of the received signal at the decoder. Referring now to FIG. 5, a preferred decoder embodiment is shown. The decoder shown in FIG. 5 includes the following conventional decoder elements: QPSK soft values calculator 302, QPSK Viterbi decoder engine 304, convolutional re-encoder 306, uncoded bit detector 308 and differential decoder 310. The decoder further includes an IQ transformer block 300 which provides a transform of the I,Q components such that a general TCM decoder is provided which uses the conventional QPSK Viterbi decoder engine 304 to produce a very good approximation for higher order modulation schemes. In particular and as described further hereinafter, the IQ transformer 300 transforms a received signal r = [I,Q] that has been modulated by a higher order signal constellation to an equivalent [I',Q'] signal in the QPSK signal constellation such that the components [I'.Q'J provided to the QPSK Viterbi decoder engine 304 are decoded as a close approximation to the result for f QJ input to a higher order Viterbi decoder. There are several advantages of using the transformed I-Q approach, including: (a) The conventional QPSK Viterbi decoder engine does not need to be changed dramatically in order to adopt a higher order modulation scheme. For example, whereas a generalized TCM scheme needs at least four branch metric inputs (as shown in FIG. IB), only two soft value inputs are necessary in the transformed I-Q approach. (b) The transformed signal has less dynamic range. Thus, fewer quantization bits are needed for [I ', Q '] than for [I, QJ. (c) Even though a TCM decoder allows the user to have access to the branch metrics d 00 , d ol , d I0 , d u , there can still be some difficulty in decoding such TCM schemes. For example, some 2CBPS modulation schemes use the coded bits that are generated by two different transitions. The optimal decoding method for such schemes requires a totally different Viterbi decoder engine. In contrast, the transformed I-Q approach of the present -11- invention can simplify the decoding algorithm and leave the Viterbi decoder engine unchanged. The transformed I-Q approach of the present invention can be applied to punctured QPSK. First the so-called "1-d branch metric" approach for punctured QPSK is described, followed thereafter by a description of the transformed I-Q approach for punctured QPSK. Consider the situation where one of the coded bits is punctured. Let v„ and y n+l be the output of two consecutive transitions that are combined into one QPSK signal point, where y„ is used for determining α and y n+l for β shown in FIG. 3. Although the four Euclidean distances remain the same, a different branch metric is applied to the second transition. Referring now to FIG. 6, a trellis diagram is shown. A function of a Viterbi decoder is to perform an add-compare-select operation. For example, to compare path 1 => 1 '=>1 " and path 2=>1 '=>1 ", two squared Euclidean distances d' 00 and d' 10 respectively (from Equations (13)(14)) are required since 1 => 1 '=>1 ' ' generates 00 and 2=>1 '=>1 " generate 10. Since these metrics share the same Q term, namely then only the respective I terms |/ J--J-^λ? a anndd U |/ + +&-^| 2 (23) 2 2 have to be compared. Similarly, to compare path 3=>2'=>1 " that generates 01 with path 4=>2'=>1" that generates 11, the metrics d' 01 and d' π respectively (from Equations (15)(16)) share the same Q term, namely κ*£t -12- thus, only the I terms from (23) are involved in the comparison. It is very easy to verify that the survivor at state 1 " will be the larger likelihood path of two survivors at 1 ' and 2' by adding the respective I terms from (23). In other words, the one dimensional or "1-d metrics" from (23) can be used as the branch metric foτy„ and the 1-d metrics given by Q terms lQ+ and Q -£ f (24) can be used as the corresponding branch metric foτy n+! . Note that this property is based on the fact that the Euclidean distance of I and Q can be split into two. This is equivalent to two conditions: a) the four signal points are addressed in Gray code, b) the four signal points lie in four corners of a rectangle. There are four combinations of branch metric for punctured QPSK. Table 1 shows the corresponding function table of the branch metric calculator where x denotes a puncture. Table 1 : 1-d branch metric for punctured QPSK doo doi dio d„ yl x, α v- \β,2 | +— 2 v-&r i' f x y2, v- v- ^ ι> f -13- yl x, β l β -#l 2 Ifi^f l β -#l 2 le + fi' χ y2, β | β -#l 2 lβ-fl 2 lβ + l 2 iδ÷fi 2 yi y2, V-£ I 1 + lδ- 1 |/ + j £| i + iρ-^i (α,β) 2 2 2 2 Observe that even if v„ and v n+/ are not two consecutive transitions, Table 1 still holds true. The choice of branch metric thus depends on the α - β position and the yl-y2 puncture pattern. A more popular implementation method for punctured QPSK TCM involves insertion of an erasure. This method can be interpreted as a form of the transformed I-Q approach. Consider for example the first row of Table 1 above which indicates that the coded bit y2 is punctured. Thus, d 0 o =di 0 ; d 0 ,=d„. (25) Those signal points satisfying Equation (25) lie on the X axis of the signal constellation (FIG. 3). By defining a new signal point r = 1 Q' = 0, (26) then the result from the QPSK Viterbi decoder engine is the same. Table 2 lists the transformed I-Q components for punctured QPSK. -14- Table 2: transformed I-Q for punctured QPSK yl x, α x y2, α yl x, β x y2, β yi y2, («,β) transformed I-Q r = o r = ι Q * = Q Q' = Q A description of the following schemes is now provided: high order modulation 2CBPS, punctured 2CBPS and 1 CBPS, respectively. For a 2CBPS TCM, there are four possible coded bit combinations, 00, 10, 01 and 11. Therefore, four signal points are chosen and the four squared Euclidean distances defined in Equations (7)(8)(9)(10) are the branch metrics. As noted, the transformed I-Q approach of the invention transforms a received signal point r = [ Q] of a high order signal constellation to a signal point r' = [F, QJ' in QPSK such that the transformed values can be used in a QPSK Viterbi decoder engine. However, it is possible that the four Euclidean distances chosen as the branch metrics can be highly irregular compared to the d'„ which are measured from the received signal to four corners of a square. In general, it is impossible to find a signal f = (I'.Q)' such that d s = d . In order to match as many d, as possible, a constant K which is independent of i can be added to d since such a constant does not change the maximal likelihood decision made in the Viterbi decoder engine. Even so, since there are only three variables, /, Q and K to match four arbitrary Euclidean distances, it is only possible to match at most three d, and leave one d, unmatched. A sub-optimal decision can be formed by adding an offset ε to the signal point that is farthest from the received signal, that is, the signal with largest d,. The reason for choosing the farthest signal is because the code path corresponding to such signal has the least chance to survive in the Viterbi decoder engine. For example, suppose d 00 = max(d 00 , d 0l , d l0 , d„) (27) then the Equations -15- d' +K + E = \l'- . 2 + |β / -^| 2 +K + ε d 2 2 00 ".', **-v'-£t*v' + **-* n 10 + K |7'÷i£ |β J& + K 10 . ÷ ^H ^I 2 + |β,÷ l 2 + 1: = d ι. (28) have the solutions ε = d oo + d π - d "oi - d lo ι ^29 y >"> Similarly, if -16- d 01 = max(d 00 , d 0 „ d 10 , d,j) (30) then, / = ^ ^ιo - «OO> ε = >ι + ,o - d „ - oo ( 31 > If d l0 = max(d 00 , d 0 „ d 10 , dj (32) then, /' = 4 «O. - rf oo) Q 1 - 4 . - rf oι> = 4π + d 10 d „ -' (33) and if d n = max(d 0 o, d ol , d I0 , d„) (34) then, -17- fi < < Oι - d Q 4 ^ ιo d oo)' d 00 + d 11 - d 01 - d 10 (35) Note that the offset |ε| dominates the difference between the conventional decoding method and the transformed I-Q method of the present invention. For any signal constellation that satisfies |ε|=0 for all received signal points, there is no degradation between the optimal decision and the transformed I-Q method. For example, consider the 16QAM constellation shown in FIG. 7. Note that the box 402 around the two rightmost bits of a symbol 400 indicates the two coded bits per symbol. In this case, the 16QAM constellation satisfies |ε|=0 because any four closest points chosen form four corners of a square. Thus, the transformed I-Q method for 16QAM has no degradation compared with the conventional method. Note also that the V and Q ' in Equations (29)(31)(33)(35) are based on the difference of the Euclidean distance instead of the absolute distance. Using a triangle inequality, \ 1 \ 1 s 00 - s 10 I"I < d 01 - d oo < | "| s 00 - 510 |"| \ 1 \ 1 s oo - oi 1 " < d oi - d oo < \ "\s oo - s or \ -18- - s. 11 10 ' < d. 11 10 11 ' 10 " - - s" o, ll < d n ~ d oι < ~ s ~o (36) In other words, the range of |I'| and |Q'| is finite. Since most of the Viterbi decoder is using fixed point computation, a finite dynamic range will not only be easy to determine the number of quantization bits, but also will reduce the quantization noise due to finite precision. For example, for an 8PSK constellation as shown in FIG. 8, / \/2 ■> ■> 3π Jϊ + 2J2 l 2 + l 2 - 2 sin( — ) = - ϊ- * 0.55 4 4 (37) The dynamic range of |I'| and |Q'| is about three times smaller than a typical I-Q signal which requires a dynamic range of at least 1.5. If a 2CBPS scheme is based on a punctured convolutional code, two coded bits may come from the same transition, from two consecutive transitions or from two far away transitions. Even at the transition where neither yl nor y2 is punctured, -19- the coded bits might be carried by different symbols. For example, FIG. 9A shows rate 8/9 8PSK based on a rate 5/6 convolutional code. FIGs. 9B and 9C illustrate two possible bit-to-symbol mapping patterns with transitions indicated as 420-1,. . ., 420-6 and 422-1,. . .,422-6, respectively. The conventional decoding method for punctured TCM can be very complicated. For example, in the transition diagram of FIG. 9C, coded bits y2 and y5 are carried by the one symbol. Since the four closet signals never form four corners of a rectangle, the 1-d metric method cannot be directly applied. This is because the Euclidean distance d, cannot be split into two individual / and Q terms. Thus, the optimal decoding method has to wait until the third transition and then perform the standard add-compare-select operation. This results in eight path merges in each state and totally changes the structure of the Viterbi engine. The situation becomes worse for the bit-to-symbol mapping shown in FIG. 9B, wherein the add-compare-select operation has to wait until the sixth transition because the .yz are "interleaved". This forces the Viterbi engine to compare 32 paths at the same time which is much too complex. Fortunately, the transformed I-Q method of the present invention provides a very good solution. After the components (I, Q) are transformed to an equivalent component set (V, Q') in the QPSK signal constellation, the 1-d metric method in Table 1 or the transformed I-Q method in Table 2 can be applied. Even though the bit-to-symbol mapping is as complicated as shown in FIG. 9B, a very "clean" decoding method can still be applied. The transformed I-Q method for 1 CBPS scheme is simpler than that shown for 2CBPS. Since there are only two distances d 0 and d, defined in Equations (11)(12), neither constant K nor ε needs to be added. Suppose, for example, that the puncture pattern is given as ylx, then the Equations & \n & oo ' 2 2 ° -20- ,/ β + | \βo ' >-&\ 01 I/' = v'-ψ r + + \ Q o Α '+ ψ - =d o d ^ ]I'+ + \Q / + =d l (38) have the soiutidns: 4 «*. - d o> Q' =0 (39) -21- Table 3 shows the transform I-Q for different conditions, where the index in d 0 i , d l t indicates a different received symbol. Table 3: transformed I-Q for 1 CPBS scheme yl x, α x y2, α transformed /' =0 I-Q Q 1 =0 Having described the application of the transformed I-Q approach to high order modulation TCM for 2 CBPS, punctured 2 CBPS and 1 CBPS, it can be seen that for preferred embodiments the computation of the transformed I-Q method is very simple and easy to implement in hardware. There are two kinds of signal constellation (1,11) for 8PSK as shown in FIGs. 10A and 10B. To isolate the difference from the remainder of the receiver, define z^ vX, (40) where X f is the unit vector as shown in FIGs. 10A and 10B and • is the inner product. Using the bit-to-symbol mapping as shown in FIG. 9A, it can be seen that two signal points that carry the same coded bit but a different uncoded bit will be -22- 180° different. It is very easy to verify that the sign bit of z„ 1=0,1,2,3 in 2's complement is the uncoded bit 00, 10, 01, 11, respectively and that d i =I 2 + Q 2 -2\z i \ (41) Therefore, max(do, d„ d 2 , d = min (\z 0 \, \z, \, \z 2 \, \z 3 \) (42) If d 0 is the farthest signal point, 2 - 4 t [I 2\z J] U ' - 2 ] ) - z 2 (43) Similarly, Q = - ( 1^,1 - lz 3 (44) Equations (10) (11) and (12) can also be expressed as a function of |z,|. From Equation (21) and (22), the soft values can be computed by -23- v 0 = 2(|z 2 |-|z 3 | (45) v,=2(|z 1 |-|z 3 | (46) These soft values can be used as the soft values input to the QPSK Viterbi decoder engine 304 described above with reference to FIG.5. While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims: -24- CLAIMS What is claimed is: 1. A method of decoding comprising the steps of: receiving a signal having inphase (I) and quadrature (Q) signal components corresponding to a signal constellation of a first modulation type; transforming the received I, Q signal components to Y, Q 1 signal components corresponding to a QPSK signal constellation; and decoding the I', Q' signal components in a QPSK decoder. 2. The method of Claim 1 wherein the transforming includes: selecting four signal points and determining branch metrics corresponding to the four selected signal points, each branch metric corresponding to a distance between the received signal and the selected signal points in the first modulation signal constellation; determining from among the selected signal points that signal point having the largest branch metric and adding an offset thereto; and matching the branch metrics of the remaining selected signal points to corresponding QPSK branch metrics in the QPSK signal constellation. 3. The method of Claim 2 wherein the decoding includes decoding the I', Q' signal components according to the QPSK branch metrics. 4. The method of Claim 3 wherein the first modulation type comprises a high order trellis coded modulation and the received signal corresponds to a symbol representing trellis code modulated data encoded according to an encoding format wherein each symbol includes two coded bits per symbol. -25- 5. The method of Claim 4 wherein the received signal corresponds to a symbol representing punctured trellis code modulated data encoded according to an encoding format wherein each symbol includes two coded bits per symbol. 6. The method of Claim 1 wherein the first modulation type comprises a high order trellis coded modulation and the received signal corresponds to a symbol representing trellis code modulated data encoded according to an encoding format wherein each symbol includes one coded bits per symbol. 7. The method of Claim 1 further comprising determining QPSK soft values from the I 1 , Q' signal components corresponding to a QPSK signal constellation; and decoding the I', Q' signal components in a QPSK decoder according to the QPSK soft values. 8. The method of Claim 1 wherein the first modulation type comprises punctured QPSK and wherein the transforming includes determining branch metrics corresponding to four signal points, each branch metric corresponding to a distance between the received signal and the signal points in the first modulation signal constellation and wherein each branch metric comprises one-dimensional metrics for consecutive transitions in the received signal. 9. An apparatus for decoding comprising: a receiver for receiving a signal having inphase (I) and quadrature (Q) signal components corresponding to a signal constellation of a first modulation type; a transformer for transforming the received I, Q signal components to I 1 , Q' signal components corresponding to a QPSK signal constellation; and a QPSK decoder for decoding the I', Q' signal components. -26- 10. The apparatus of Claim 9 wherein the transformer includes: means for selecting four signal points and determining branch metrics corresponding to the four selected signal points, each branch metric corresponding to a distance between the received signal and the selected signal points in the first modulation signal constellation; means for determining from among the selected signal points that signal point having the largest branch metric and adding an offset thereto; and means for matching the branch metrics of the remaining selected signal points to corresponding QPSK branch metrics in the QPSK signal constellation. 11. The apparatus of Claim 10 wherein the QPSK decoder includes means for decoding the I', Q' signal components according to the QPSK branch metrics. 12. The apparatus of Claim 11 wherein the first modulation type comprises a high order trellis coded modulation and the received signal corresponds to a symbol representing trellis code modulated data encoded according to an encoding format wherein each symbol includes two coded bits per symbol. 13. The apparatus of Claim 12 wherein the received signal corresponds to a symbol representing punctured trellis code modulated data encoded according to an encoding format wherein each symbol includes two coded bits per symbol. 14. The apparatus of Claim 9 wherein the first modulation type comprises a high order trellis coded modulation and the received signal corresponds to a symbol representing trellis code modulated data encoded according to an encoding format wherein each symbol includes one coded bits per symbol. -27- 15. The apparatus of Claim 9 further comprising a QPSK soft values calculator for determining QPSK soft values from the I', Q 1 signal components corresponding to a QPSK signal constellation; and wherein the QPSK decoder decodes the I 1 , Q' signal components responsive to the QPSK soft values. 16. The apparatus of Claim 9 wherein the first modulation type comprises punctured QPSK and wherein the transformer includes means for deteπnining branch metrics corresponding to four signal points, each branch metric corresponding to a distance between the received signal and the signal points in the first modulation signal constellation and wherein each branch metric comprises one-dimensional metrics for consecutive transitions in the received signal.

Inventors: NEE CHI-PING, NEE, CHI-PING
Applicants: TIERNAN COMMUNICATIONS INC, TIERNAN COMMUNICATIONS, INC.
Application year: 1999
Main classification: H03M13
IPC codes: H03M13, H04L27