+ All Categories
Home > Documents > Efficient optimal soft-decision decoding for multilevel block modulation codes

Efficient optimal soft-decision decoding for multilevel block modulation codes

Date post: 20-Sep-2016
Category:
Upload: ag
View: 212 times
Download: 0 times
Share this document with a friend
6
Efficient optimal soft-decision decoding for multilevel block modulation codes X.-H.Peng a n d A.G.Burr Abstract: The multistagc trellis decoding method is examined when applied to multilevel block modukation codes. It is shown how low decoding complexity can be achieved using this method, while perfonning maximum-likelihood decoding. As the decoding complexity involved is shown to be channel-quality dependent, the actual decoding computational burden becomes very low when the system signal-to-noise ratio is high. A way of constructing the generator matrix for multilevel block modulation codes is demonstrated. in order lo build a proper trcllis for decoding. 1 Introduction Coded modulation techniques are used to provide signifi- cant coding gain over an uncodcd modulation system with no or little bandwidth expansion. They are therefore widely used for achieving reliabk cominunication on band-limited channels. Based on the code structure used, there are two types of coded modulation scheme: trellis-coded modnla- tion (TCM) and block-coded mOdubdtiOn (BCM). In this paper, our focus is on BCM: which has applications in voice-band modems. microwave links, mobile radio and satellite-mobile communications [I, 21. The concept of BCM was introduced by lmai and Hirakawa 131, who dcscribed a multilevel coding method for combing component binary block codes of various strengths to enhance the error performance of the modula- tion scheme. This multilcvel method has been uscd and extended by other researchers for constructing block niodu- lation codcs. Notably, they applied existing block codes to design coded modulation schemes based on hit-to-signal mapping through signal set partitioning proposed by Ungerbocck [4]. In different multilevel coding schemes, the component codes can he any known binary block codes [5], such as Reed-Muller codes 16, 71, coset codes 18, 91, and a combination of block and convolutional codes [IO]. They can also be used in a crossover construction [I I] for reduc- ing path multiplicity. Conventional multilevel block modulation employs ni component block codes of the same length to establish an m-level partition chain for an M-point (M = 29 signal constellation. The construction of a multilevel block modu- lation code can be set out in the form of an array, in which rows or columns arc binary codcwords (of component codes), corresponding to different levels in thc partition. Based on this code structure, the traditional optimal (maxi- mum-likelihood) decoding methods treat the whole array 0 IEE. 2031 IEE l'rwwdng.~ onlinc no. 20010660 DO? Ill.IM9iiplom:ZW10660 Papa fit rmivcd IOth May and in xvlsed fomi 801 August 2WI X.-H. Pmg is mith Roke Manor Rearch Lrd.. Romsey, Manphire SO51 OZN. UK A.G. Bun is with the Depanmcnt of Electronics. Universlv of York, York YO1 5DD,UK as a single code and decode it in one stage, using any of the optimal soft-decision decoding algorithms. This will result in a decoder with high decoding complexity which is expen- sive for implementation, especially when the achieved coding gains exceed 5dB for very low error probabi ities [IO, 121. To reduce the decoding complexity, a multistage decoding sequence on component codes is adopted [5, IO, 131. Basically, the decoder decodes each component code in separate stages. The decoded information from the previ- ous stages is passed on to the next stage, treated as'the correct decoding result. The result is an increase in the effective multiplicity (or number of nearest neighbours) of the full modulation code at a given Euclidean distance 1141. This usually. however. produces sub-optimal decoding performance. Our decoding scheme for BCM codes presented in this paper aims to achieve an optimum decoding performance, but with low decoding complexity, using the trellis decod- ing algorithm that is specially designed for two-diniensional array codes. We first define a class of multilevel block mod- ulation codes as two-dimensional array codes. and work out the generator matrix and trellis representation for this class of codes. We then propose a multistage decoding scheme, in which the component codes are initially decoded with an optimal decoder [IS], producing the so-called local- optimal results. These results are used in the next stage of decoding to simplify the trellis constructed for the full code. Based on the simplified trellis, Viterbi (optimal) decoding is carried OUt. 2 codes A trellis with special structure is required for optimal multi- stage decoding on multilevel block modulation codes (MBMCs). We present below thc stmcture and permuta- tion of the gencrator matrix of the code. from which such a trellis can be constructed. Consider a two-dimensional array code C, which is formed by * first encoding k, rows, each with (i = 1, ._., kc) mesa e symbols, for k, linear components codes Cy, ..., Ct; where all the component codes are of the same length. but may have different dimcnsions and minimum distances, i.e. Cl;' = (nr, k,,, d,3 (i = 1. ..., k,). Generator matrix of multilevel block modulation 333
Transcript

Efficient optimal soft-decision decoding for multilevel block modulation codes

X.-H.Peng and A.G.Burr

Abstract: The multistagc trellis decoding method is examined when applied to multilevel block modukation codes. It is shown how low decoding complexity can be achieved using this method, while perfonning maximum-likelihood decoding. As the decoding complexity involved is shown to be channel-quality dependent, the actual decoding computational burden becomes very low when the system signal-to-noise ratio is high. A way of constructing the generator matrix for multilevel block modulation codes is demonstrated. in order lo build a proper trcllis for decoding.

1 Introduction

Coded modulation techniques are used to provide signifi- cant coding gain over an uncodcd modulation system with no or little bandwidth expansion. They are therefore widely used for achieving reliabk cominunication on band-limited channels. Based on the code structure used, there are two types of coded modulation scheme: trellis-coded modnla- tion (TCM) and block-coded mOdubdtiOn (BCM). In this paper, our focus is on BCM: which has applications in voice-band modems. microwave links, mobile radio and satellite-mobile communications [ I , 21.

The concept of BCM was introduced by lmai and Hirakawa 131, who dcscribed a multilevel coding method for combing component binary block codes of various strengths to enhance the error performance of the modula- tion scheme. This multilcvel method has been uscd and extended by other researchers for constructing block niodu- lation codcs. Notably, they applied existing block codes to design coded modulation schemes based on hit-to-signal mapping through signal set partitioning proposed by Ungerbocck [4]. In different multilevel coding schemes, the component codes can he any known binary block codes [5], such as Reed-Muller codes 16, 71, coset codes 18, 91, and a combination of block and convolutional codes [IO]. They can also be used in a crossover construction [I I ] for reduc- ing path multiplicity.

Conventional multilevel block modulation employs ni component block codes of the same length to establish an m-level partition chain for an M-point ( M = 2 9 signal constellation. The construction of a multilevel block modu- lation code can be set out in the form of an array, in which rows or columns arc binary codcwords (of component codes), corresponding to different levels in thc partition. Based on this code structure, the traditional optimal (maxi- mum-likelihood) decoding methods treat the whole array

0 IEE. 2031 IEE l'rwwdng.~ onlinc no. 20010660 DO? Ill.IM9iiplom:ZW10660 Papa f i t rmivcd I O t h May and in xvlsed fomi 801 August 2WI X.-H. Pmg is mith Roke Manor R e a r c h Lrd.. Romsey, Manphire SO51 OZN. UK A.G. B u n i s with the Depanmcnt of Electronics. Universlv of York, York YO1 5DD,UK

as a single code and decode it in one stage, using any of the optimal soft-decision decoding algorithms. This will result in a decoder with high decoding complexity which is expen- sive for implementation, especially when the achieved coding gains exceed 5dB for very low error probabi ities [IO, 121. To reduce the decoding complexity, a multistage decoding sequence on component codes is adopted [ 5 , IO, 131. Basically, the decoder decodes each component code in separate stages. The decoded information from the previ- ous stages is passed on to the next stage, treated as'the correct decoding result. The result is an increase in the effective multiplicity (or number of nearest neighbours) of the full modulation code at a given Euclidean distance 1141. This usually. however. produces sub-optimal decoding performance.

Our decoding scheme for BCM codes presented in this paper aims to achieve an optimum decoding performance, but with low decoding complexity, using the trellis decod- ing algorithm that is specially designed for two-diniensional array codes. We first define a class of multilevel block mod- ulation codes as two-dimensional array codes. and work out the generator matrix and trellis representation for this class of codes. We then propose a multistage decoding scheme, in which the component codes are initially decoded with an optimal decoder [IS], producing the so-called local- optimal results. These results are used in the next stage of decoding to simplify the trellis constructed for the full code. Based on the simplified trellis, Viterbi (optimal) decoding is carried OUt.

2 codes

A trellis with special structure is required for optimal multi- stage decoding on multilevel block modulation codes (MBMCs). We present below thc stmcture and permuta- tion of the gencrator matrix of the code. from which such a trellis can be constructed.

Consider a two-dimensional array code C, which is formed by * first encoding k, rows, each with ( i = 1, ._., kc) mesa e symbols, for k, linear components codes Cy, ..., C t ; where all the component codes are of the same length. but may have different dimcnsions and minimum distances, i.e. Cl;' = (nr, k,,, d,3 ( i = 1 . ..., k,).

Generator matrix of multilevel block modulation

333

- encoding the n, resulting columns with another linear component code C('1 = ( n , k,, d,). The code C = (n, k, d) is then regarded as a generalised product code, with n = 1 5 x n,, k = Z$, kr , i and d = min{d,,; x r/,. 1 i = 1, .... k,}. The code structure of C is shown in Fig. I . The minimum distance of C given above can be easily verified by the fact that any codeword of C must have at least min{d,,; j i = I, ...; kc } non-zero elements in each non-zero row, and at least dc non-zero elements in each non-zero column, and therefore has at least min{dr,; x d, 1 i = 1: ...I k,) non-zero elements, if it has any at all.

... 1 1 I I

Fig. 1 C Y1 = (n,. k,.,, d,.J CY (n, b,. 4,d Cl = (ti,, k.. d,)

Cvde B I U C I L ~ of n gnwnlkedpriK&o cork

The definition of generalised product codes is similar to that of generalised array codes [16]. However, the generator matrix and its permutation for constructing special trellises, (presented here for the former codes) ire not available for the latter.

We next define a product operation between a matrix and a set of other matrices, which forms the basis of theo- rem 1. Given an n x m matrix A = (urd) (i = I , _.., n; j = I, ..., m) and a set of n matrices B = {Bl, ..., B,,), where Bi ( I = I, 2. .._, n) is a bi x p matrix, the operation

A&B = (a;, j . 0 5 ) ( 2 = 1,. . . ,711 j = 1;. . . ,711,)

(1) is defined as the scalar multiplication between each element of matrix A, a, and one of matrices B, , ..., B,,; i.e. the ele- ment in the ith row (whatever the c o l y " multiplies the ith matrix of the set B,. The operation 0 can be viewed as a variation of the Kronecker product [17], called the gener- alised Kronecker product. The operation defined in eqn. I yields a large matrix of order (b, + b, +...+ b,) x rnp. Theorem 1: Given the generator matrices of component code C(", Cy' (i = 1, ...I kJ, and component code @, Gc') = (g$)) ( i = I, ..., k,;; = 1, ..., nJ , the generator matrix C of a generalised product code C can be represented by

G = G(')&Gj')

= (gtc) . G:") ( i = 1;. . . k, ; j = 1 2.3

( 2 ) ProoJ Based on the construction of the generalised product code described in theorem 1 and as shown in Fig. 1, the generator matrix C of C can be built up in two steps. In the first step, a sub-matrix GI of G is formed for encoding all row component codes, which involves all the k = Z2,k,,; information symbols and parity checks for row component codes. In the second step, another sub-matrix G, of C is

334

formed for generating all the parity checks for the column code. The G matrix can then be written as C = (G, C,). As each of the row component codes Cy' is encoded inde- pendently, GI is of the form of

GI = (Gy' '.. J Gk<

of order k x k,.n, (k = Xk,k,:i). For the column component code @I. as it treats all the elements of the row component codes encoded in the first step as its 'information' symbols, its generator matrix f3' is given as

of order k, x n,, where C y ) is a k, x (n, - k,) matrix. When encoding the column component code, (n, ~ k,)

parity checks arc generated for each of n, columns. This involves Cy) and the generator matrices for different row component codes. In other words, the sub-matrix C, in Cis formed on the basis of Cf', by replacing the non-zero ele- ments in the ith row of Cy' by C?, and the zero elements in the ith row of CY' by a kr,i x n, zero array. Combining the structures of GI, cc" and C, leads to eqn. 2.

A 2"'-ary (vi is an integer) MBMC C can be formed in an array, such as

C1, l c1,2 . . . CI , I

Gn,l cm:2 . - . cm,l

Each row of the array represents a linear block code_ called the component code of C, i.e. C = [C,, ..., C,,,], where C, = (q?,,, ..., q,,J (h = I , .._, m). Each column of the array can be treated as an uncoded vector, which contains n7 bits and corresponds to a signal point in a 2"'-ary modukation signal set. Therefore. we can interpret C as a generalised product code, as generated using eqn. I, by letting the row compo- nent code C, be Cy) and the column code, in this case; an uncoded vector, i.e. = k, = in, d, = I and

Note that the element space left blank in this matrix and elsewhere represents a zero entry.

The generator mati-ix of the MBMC Cis therefore given by

G = (yi? . GIT1)

/GI \

where C , (h = 1, ..., m) is the generator matrix of the com- ponent code C , of C.

$ I ) (h = I ~ ..., ti?;

i = I . ..., /cl,; j = 1, _.., 0, where g $I is an element in the ith row and j t h column of C,. In order to construct a proper trellis for decoding code C, we transform C into its func- tion-equivalent version C', by applying column permuta- tion on G, such that

Assume that C , is expressed by C, =

G' = ( G i ) ( 5 )

GL where G), = &-$'I) and

111,

In the trellis, the labelling of branches are m-tuples corre- sponding to the signal points in a modulation sipdl con- stellation. An example showing how to construct the generator matrix and its function-equivalent version of a MBMC using the method described above is given in the Appendix (example 1 in Section 8.1).

3 Decoding method

We conduct soft-decision decoding on the MBMCs gener- ated in the previous Section. In general, the decoding com- plexity of soft-decision decoding is fairly high. especially when optimal performance is required, and in the case of block codes. Trellis decoding has been shown as a very effective soft-decision decoding method, not only for con- volutional codes, but also for block codes. Any linear block code has its well defined trellis [18-20], and the Viterbi algorithm can be employed [21] to achieve an optimal decoding performance. For reducing decoding complexity and implementation costs, the trellis containing parallel identical sub-trellises is an ideal structure 119, 221 for this purpose. Our decoding method is based on the traditional trellis decoding for block codes and applies the multistage decoding algorithm specially designed for the MBMCs concerned.

For the given array of a modulation code C, as shown in eqn. 3, its generator matrix C' can be obtained from eqns. 5 and 6, described in Section 2 . We are now able to construct a trellis for code C using the concept of coset par- tition [SI, and further to carry out efticient optimal decod- ing on it. The constructed trellis consists of several structurally identical sub-trellises in parallel, and the label- ling of each branch of the trellis is an m-tuple. All the sub- trellises can be decoded in parallel, using the same type of decoders. Soft-decision decoding is carried out by assigning a metric to each branch, and then finding a path across the trellis that has a maximum total metric as the decoding result. Here the metric for each branch is calculated on the basis of the relationship between the signal point corre- sponding to the branch and the received sibmal (vector) from the channel.

The structure and complexity of the sub-trellises relate to the choice of a sub-matrix Cb in C', given in eqns. 5 and 6. Based on the choice of Gk and the resulting sub-trellis structure, instead of doing the softdecision decoding on the full trellis, the proposed decoding scheme uses local optimal results obtained from the initial decoding of the column

ICE P,oc.-C~,,~,airaiiri., Vol. 148. rvo. 6. Decnnbn- 200111

component codes. These local optimal results are used to simplify the original trellis. This leads to a much simpler trellis decoder, and it can achieve optimal decoding per- formance. (We verify these statements in Section 4.) The multistage decoding strategy of the MBMCs is stated as follows. Stage 1. Decode column component codes using any soft- decision decoding method to obtain mahum-likelihood results for each of them. As the columns are uncoded, the result of initial decoding on this occasion is simply the demodulator's output, i.e. a signal point that is the nzarest to the received vector according to the Euclidean distance between them. Stage 2. Use the local-optimal results from stage I to decide which branches or paths in all the sub-trellises are selected for decoding in the next stage. Stage 3. Apply the Viterbi algorithm on the simplified sub- trellises produced in stage 2 to obtain the final decoding result in terms of an optimal path in the trellis. The following are rules used in stage 2 for simplifying the sub-trellises. * If the local-optimal results can form a continuous path across the sub-trellis, then the path is the optimal maxi- mum-likelihood decoding result of the sub-trellis, and no further decoding steps are needed.

Otherwise, all the branches in the first and the last sec- tions of the sub-trellis remain. * In other sections (i) all the output branches remain for the states that have a local-optimal pre-path, a sub-path from the starting state to the current sate of the trellis; (ii) only the local-optimal branch remains as the output for the states that have a local-optimal post-path, a suh-path from the current state to the ending state of the trellis. To better illustrate the decoding method, we present an example in the Appendix (example 2 in Section 8.2).

4 Decoding performance and complexity

For a given trellis of I sections representing an (n. k ) binary linear block code, it contains 2k possible paths, each con- sisting of / branches across the trellis. The optimal decoding is to find an optimal path, the path with a maximum sum of soft-decision nietrics of I branches [22]. Therefore, the decoding result largely depends on the metric of the indi- vidual branches that form a path. In our trellis stmcture, each section corresponds to a column of the modulation code array. For a given received array, the initial decoding described in stage 1 of the decoding method is used to determine a branch with the maximum soft-decision metric (the so called local-optimal branch) for every section of the trellis. If those local-optimal branches from different sec- tions can form a path across the trellis, the path holds the maximum sum of the metncs, and thus the optimal decod- ing result. In other words, the path with all the branches that are local-optimal is surely the optimal path. An exam- ple of this type of path is demonstrated in Fig. 7h (see the Appendix). If no such path is available from the trellis, the optimal path has to be a combination of local-optimal and non-local-optimal branches.

The selection criteria applied in stage 2 of the decoding method are designed to reduce the decoding complexity by eliminating branches and, at the same time, to ensure that the elimination of these branches does not affect achieving the optimal decoding perfomlance. Specifically, these branches include

.-

335

- one of any pair of parallel transition branches. which has a greater distance between itself and the received vector than the other. * those which are not local-optimal, and all the paths they involve have a smaller or equal metric in evety section of the trellis, compared to any other paths. The simplified sub-trellis given in Fig. 70 resulting from Fig. 5o in example 2 (Section 8.2) demonstrates this proc- ess.

In soft-decision trellis decoding, it is widely accepted [23, 241 that the real addition and real comparison are the main computational burden. Other types of operations, such as checking of logical conditions and modulo 2 addi- tions, are usually excluded from complexity evaluations. Our decoding complexity count is therefore regarded as the total number of real additions (or additions) and real com- parisons (or comparisons) throughout the decoding proce- dure, including branch metric count iV,,,~,,,, initial decoding count N,",,,,, and Viterbi trellis decoding count N,,?,. We notice that all the operations involved in stage 2 of the decoding algorithm are checking whether the branch or path is local-optimal. They are logical (binary) operations, and are thus omitted from the dccoding complexity counts.

When using Viterbi decoders on a parallel-structure trel- lis, the decoding complexity mainly depends on the count of decoding a single sub-trellis in this structure; this is defined as effective computational complexity [22]. Our decoding complexity analysis works on this count.

For a given MBMC, in the form of an m x / array, the trellis of the code constructed using the code generator matrix given in eqn. 5 consists of a number of sub-trellises. Each sub-trellis has I sections, and each branch of the sub- trellis represents m bits. If we choose the stmcture of the sub-trellis as that corresponding to the (ti, a - I, 2) SPC code, the decoding complexity counts for traditional maxi- mum-likelihood trellis dccoding and our decoding method N,z<,,, can then be worked out based on the follow- ing sub-trellis models. (U) For traditional maximum-likelihood trellis decoding: The sub-trellis structurc and decoding complexity counts for this case are demonstrated in Fig. 2a. Numbers under- neath the sub-trellis are the numbers of additions and coni- parisons at the section boundary. xx .._ x is the stream of ni bits represented by each branch:

!\'MI.TD = !\r,,,etm + lvznilid + i ~ ' t v d I , s

= [ ( T I L - 1) x 411 + 0

+ [2l + (4 x 2) + G x ( I ~ 3) + 11 = 4(rn + 1)1 - 9 (7)

In N!,,,iA, 2[ is for choosing one from the pair of parallel transition branches; (4 x 2) is the number of additions and comparisons required at the first and last section bounda- ries; 6 x (/ ~ 3 ) is the number of additions and comparisons at the other section boundaries; and the final ' I ' is the com- parison at the output State. (h) For our decoding method: (i) When local optima do not form a path, the simplified sub-trellis and decoding complexity counts are shown in Fig. 2h, and given by

!vneu' = fi-mi,,t,,c + ! L L i d + 1vt7e/ l%s

= [(m - 1) x 311 + 0

+ [ I + ( 3 x 2) + 4 x ( I - 3) + I] = (3m + 2 ) l - 5 ( 8 )

The location of the local-optimum branches is dependent on the demodulator's output or on channel conditions.

336

Once those branches are determined, the elimination of the branches follows the above rules. (ii) When local optima do form a path, the simplified sub- trellis and decoding complexity counts are shown in Fig. 2c, and given by

!V,,,, = lv,netT%c +lvi,,,,,,l + !vt#..lli.

= [ ( I l l - 1)Z] + 0 + [1 - 11

= I l l / - 1 (9) Note that N,r,i,ic,l = 0, since the initial decoding is (as described above) actually simply taking the demodulator's outputs without additions or comparisons involved.

1. 1

L- I sections ~-I

t 4

t t 6 6

t 6

t 4

................. -1 ... */7/ _C'.

....... ,.,. 1. t f t c 3 4 4 4 3 1

b ts- I sections-4

t t t 1.

xx...x ... . 1 1 1 1

t t 1 1

c Fig. 2 n Subtrcllia Tor inditional niaximum~likclihood I v e l l i ~ decoding h Simplified subtrcllir when lucdl optima do ,101 form a path c Siniplificd ~uhlrell is when Imal optima form ii path

Sihiwlli.sc.sjiir nrrliriund uuul pmposed mdzod~

Combining cqns. 8 and 9, we have A',,,,, = ?7[(3?71 + 2)1 - 51 + (1 -?])(?ill ~ 1)

= 2 ? ) [ ( f 7 1 , + 1)1 ~ 21 + I d - 1 (10) where 17 is the percent!ige of the codewords decoded based on the structurc given in (b)(i) and, correspondingly, (1 ~ q) of the codewords are decoded using the structure in (h)(ii). The value of q is related to thc channel conditions in terms of the signal-to-noise ratio, EdNo. In eeneral, it is obtained through the simulation of decoding a given modulation code. The simulation program automatically adds I to the number contiibuted to 11 as long as, for a received word, there is at least one sub-trellis appearing with the structure of (b)(i). q is then worked out by dividing the number counted by the total number of codewords transmitted for each given EdNw

Table 1: Lid of MBMCs and their decoding complexity ( I ,

70%)

Modulation 8-PSK lm= 3) 16-PSKlm=4)

i = 4 1=7 1=16 1=8 1=15

Codes 14.1.4) 17.1.7) 116.1.14) 18.1.8) 115.1.15)

14.3.21 17.6.21 116.11.41 (8.4.4) (15.8.5)

14.4.1) 17.7.1) 116.15.2) 18,721 115.14.2)

(8.8.1) 115.15.1)

NMLTD 55 103 247 151 291

N--.... 31 57 134 85 162

Table 1 presents examples of the MBMCs and their effective computational complexity for the two decoding schemes, based on eqns. 7 and IO.

IEI! P r o . - C o m m ~ t , Vol. 14H. ,No. 6. Derrrnhrr 2fKl1

Fig. 3 shows the decoding complexity against the signal to noise ratio for the (21,14) multilevel block 8-PSK modu- lation code, which has three component codes: C, = (7,1,7), C, = (7,6,2) and C3 = (7,7,l), respectively. The related 7 values are given in brackets for N , , , , . Table 1 and Fig. 3 demonstrate that the complexity of our decoding method is channel-quality dependent and is significantly lower than the traditional maximum-likelihood trellis decoding, espe- cially when the channel quality is good.

q. % N 110

100

90

80

(96.21-70

(76.9-60

(57.7)-50

(38.51-40

(192-30

(01-20

l o b 0 0 1 2 3 4 5 6 7 0

EJN.ldB1

5 Conclusions

We have presented an efficient trellis decoding method for MBMCs, based on the derived code generator matrix and the corresponding trellis structure. We have shown that our decoding method admits a multistage decoding procedure. which gives maxinium-likelihood performance and requires much less decoding complexity than traditional optimum trellis decoding. Notably, the decoding complexity of our method is not fixed, but varies as the channel conditions change. This agrees naturally with the common-sense per- ception that when channcl quality is good, decoding should be simpler, as fewer errors need to be corrected. The decod- ing complexity can be further reduced if we only want to obtain a sub-optimal decoding performance, and this applies to a large number of block modulation codes.

This low-complexity optimum trellis decoding method can be applied to different types of multilevel block M- PSK modubation codes. especially those with simple coni- ponent codes. and optimised for finite bit error rates [Z]. For the codes that do not include an SPC component code, the decoding method is still applicable, and the complexity count can also be worked out using the particular sub-trel- lis models used.

6 Acknowledgments

The authors would like to acknowledge the financial sup- port of EPSRC via grant GRiK93754. They would also like to thank the anonymous referees and the Honorary Editor for their valuable comments and suggestions.

7 References

I JAMALI. S.H.; and LE-NGOC. T.: 'Coded-modulation techniques for fading chmnrls' (Kluwer Academic Publishers. Boslon. 1994)

IEE Aoc-C~i~rrnun.. Vol. 148, No. 6, Lkrmhe? ANI

2 MORELOS-ZAKAGOZA. R.H.. KASAMI, T., LIN, S.. and IMAI, H.: 'On black-dcd modulation using unequal error prolti- lion codes over Kilyleigh-fading channels'. IEEE T ~ N I P In/: Tlzeory. 1998. 46, pp. 14 IMAI, H., and HIRAKAWA. S.: 'A new multilevel coding method using error correcting codes', IEEE fi.w?.r. I@ Tlmry. 1977. IT-23,

3

^- 171 177 k,,,. i/ 1 ~ . , , 4

5

UNGEKBOECK. G.: 'Channzl coding u,ith multilevcVphase sigmls'. IEEE Tram It?{.' Ti!eor?, 1982; IT-28. pp. 5547 SAYEGH, S.I.: 'A class of optimum block codes in signal spacr', IEEE Trum Cwrsiiu~i.. 1980. COhl-34. OD. 1043-1045

~6

7

CUSACK. E.L.: 'Err& co11tro1 codcs 8; QAM rigrialling', Elccil-on. LN. , 1984, 20, pp. 02-63 KARAM, G., PAXAL. V.; and SAKI. H.: 'Rlockilxled modulation using Reed-Muller component codes and mullistage decoding', Eur. TXNIS., 1993, 4. pp. 261-275

8 FORNEY. G.D.. Jr.: 'Coset codes I : Introduction and gcometrical classification'. IEEE 7i". In/ Theory, 1988, IT-3, pp. 1123-1 151

9 KSCHISCHANG, F.R.. DE BUDA,,P.G., a n d PASUPATHY, S.: Block coset codes for M-ary phase shift krymg'. /E€.? J. Srl. A r e u Conr,rimr., 1989, 7, pp. 900-913

I O CALDERBANK. A.R.: 'Multilevel codcs and mullista'ze decoding'. IEEE li-unr. Cmsniei., 1989, 37. pp. 222-229

II KASAMI, T.. TAKATA. T.. FUJIWARA, T., and LIN. S.: 'On multilevel block modulation codes'. /Et% 7ion.s. I$ Tiwon;, 194I.37. pp. Y6S975

I2 KASAMI. T.. TAKATA. T.. FUJIWARA, T., and LIN, S.: 'A con- catenated coded modulation scheme for error conlrol'. IELE T~uJz .~ . Cmimun., 1990, 38, pp. 752-763

13 KAKATA, T.; UJITA. S.. KASAMI. T.. and LIN, S.: 'Multistagc decding of multilcwl block M - A K modulation codes and its per- formance analysis', IEEE 7i?rns. fig Tlzcury, 1993, 3Y, pp. 12WI2IX

14 LUNN, T.J.. and BURR. A.G.: 'Number of ncighbours for staged decoding of blcrk codcd modulation'. Elrclron LA. , 1993. B. pp.

25 BURR. A.G.. and LUNN. T.J.: 'Blmkcoded modulation oplimired for finite error rdtc on the white Gaussian noise channel', /FEE T r m ~ . In/.' Tlzilwry, 1997. 1T-43. pp. 373-385

8 Appendix

8. I Example 1 Consider the (12, 8) multilevel block 8-PSK modulation code. which has thrce comoonrnt codes: C, = (4.1.4). C, = , . _ _ I . (4,3,2) and C, = (4,4,1). f h e generator matrices and their transformed versions (through eqn. 6) of all the three com- ponent codes are given by

G~ = ( I I I 1) + G; = (in0 100 100 100)

E) G.=( ' 1 f) = + G i = ( 010 010

010 010

\ /001 \

The generator matrix of the (12. 8) multilevel block 8-PSK

337

modulation code can then be written either by applying eqn. 4 as

G = ( Gz G 3 )

1 1 1 1

1 1 1

1 1

\ 11 or. via eqn. 5. as Its function-equivalent version

\ 1;:; 100 100 100 010

Ool 001 I 8.2 Example2 Consider again the (12, 8) multilevel block 8-PSK modula- tion code. Three row component codes, C, the (4,1,4) repe- tition code, C, the (4,3,2) single-parity-check (SPC) code and C, the (4,4,1) uncoded code, are arranged into an array, as shown in Fig. 4u. Each column of the array, denoted by ni = 3 binary digits, corresponds to a signal point (0) in an 8-PSK signal set given in Fig. 46. Suppose that four vectors are received from the channel, represented by 0 and numbered from I to 4 in Fig. 4h. The trellis or this code can be constructed with the generator matrix cre- ated in example I . It has two parallel sub-trellises, each based on the (4,3,2) SPC code and with a parallel transition for every branch in it due to the impact of the (4,4_1) code, as shown in Fig. 4c. The labelling of branches in the upper sub-trellis (given in Fig. Sri) corresponds to one signal sub- set (Fig. 5b) of the original set. The labelling of branches in the lower sub-trellis (as given in Fig. 60) corresponds to another signal subset of the original set, as given in Fig. 6b.

a b

Fig. 4 Avuy mi ircllb diqrmzJiz eulunplc 2 Y Array for b l a k coded mdulation scheme h Constellation diagram. showing position of rmivcd s)mbols c Trcllir diamam

In the first stage of decoding. we perform initial decoding on each column of the array, given four received si&nals. It

338

is camcd out separately in each sub-trellis, based on their own signal subsets given in Figs. 5h and 66. The obtained local-optimal results are simply the demodulator's outputs, i.e. the signal points that are the nearest to the received vec- tors according to the Euclidean distance between them. The results are reflccted on the corresponding branches in hold in both sub-trellises, as shown in Figs. 5u and 6u.

001

a

I 010

h

..~ ........

........... ~~ .... a

nni nnn

100 100

b

During the second stage of decoding, after applying the rules stated previously, the two sub-trellises are simplified, as given in Figs. 7u and 7b. In Fig. 7b, since the local-opti- mal results form a codeword (or a path across the sub-trel- lis), no further decoding is needed on this sub-trellis. Therefore, the final decoding result, produced in stage 3, is the best of the Viterbi decoding results from the sub-trellis of Fig. 7r1 and the local-optimal results presented in Fig. 76, which is a full path extracted from Fig. 6u.

I F 6 Proc.-Cummil,t.. Vol. 148. IV,?. 6. l7r<enrhrr 2WI


Recommended