[ieee proceedings of globecom 95 glocom-95 - singapore (1995.11.14-1995.11.16)] proceedings of...

5
MODIFIED TRELLIS DECODING OF SIMPLE PRODUCT CODES AND THEIR ERROR PERFORMANCE IN GAUSSIAN CHANNELS. Honary. B Soyjaudah K M S Ramsawock G and Yu Wai Man Y K L The first author is with the University of Lancaster and the others are with the University of Mauritius. Abstract: Previously proposed trellis decoding of array codes cannot be applied to simple product codes having any number of rows and columns. A modified scheme is proposed that can be used with all square and rectangular codes. In this paper, it is illustrated by simulation study, that using soft decision trellis decoding we can correct a number of errors approaching 3dmin and that even hard decision trellis decoding corrects errors in excess of dmin. The performance curves of a wide range of product codes are presented and compared. I. INTRODUCTION. An increasing demand for reliable digital communication systems invokes the use of error control coding. A typical model of a digital communication system is shown in Fig. 1. The binary information symbols are fed to the input of the channel encoder in sequence, one by one, to give a serial sequence (uiJ. The- channel encoder operates on the information sequence and produces an output sequence {vi}. The modulator together with the transmission path and the demodulator form a discrete noisy channel, where additive white Gaussian noise (AWGN) with zero mean and variance (sigmu)2 = No/2 is added to the transmitted waveform at the output of the transmission path. At the receiving end , the decoder operates on the received code sequence (ro) to give the decoded information sequence (uo}. Like concatenated codes product codes are constructed by combining other codes. The essence of a product code is that the combination is based on a geometrical construction, the components codes are simple, and decoding the product code is relatively easy. The simplest product code is a row and column code consisting of a square or rectangular array of information bits with single row and column parity checks as shown in Fig. 2. The parameters of a simple product codes are (nl,k1,2)(n2,k2,2) where nl = kl +1 and n2 = k2 +I, or (n I. n2, kl. k2,4). This is capable of correcting single errors, the failed parity check in each dimension providing convenient coordinates which locate the error. Conventional decoding algorithms[ I] for these codes are not maximum likelihood decoding algorithms. A low complexity, fast trellis decoding algorithm which gives maximum likelihood decoding has been proposed by Honary et a1.[2]. It has been shown that this decoding scheme can correct a The trellis structure of an array code with symbols from GF(q), where both rows and columns codes are single parity checks codes as proposed by Honary et a1.[2] follows as: (I). The number of states of Ns in the trellis is given by Ns = min(nl-l.n2-1) where min(n1-1, n2-I) is the smallest of the two values(n1-1) and (112-1). If we assume that nl is less than n2 then Ns = qn'-' (2). The trellis depth (number of columns in the trellis) Nc is then given by (3). Identify each state at depth p (where p can take all values between 0 and Nc-1 inclusive) by a kl-tuple g-ary vector Y(A) = p(ul ~2 ..... uj .... uk3 where uj is an element of GF(q), and j 1,2 , ...... , k Nc = n2 + 1. - - 0-7803-2509-5/95 US$4.00 0 1995 IEEE 22

Upload: dohuong

Post on 27-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE Proceedings of GLOBECOM 95 GLOCOM-95 - Singapore (1995.11.14-1995.11.16)] Proceedings of GLOBECOM 95 GLOCOM-95 - Modified trellis decoding of simple product codes and their error

MODIFIED TRELLIS DECODING OF SIMPLE PRODUCT CODES AND THEIR ERROR PERFORMANCE IN GAUSSIAN CHANNELS.

Honary. B Soyjaudah K M S Ramsawock G and Yu Wai Man Y K L

The first author is with the University of Lancaster and the others are with the University of Mauritius.

Abstract: Previously proposed trellis decoding of array codes cannot be applied to simple product codes having any number of rows and columns. A modified scheme is proposed that can be used with all square and rectangular codes. In this paper, it is illustrated by simulation study, that using soft decision trellis decoding we can correct a number of errors approaching 3dmin and that even hard decision trellis decoding corrects errors in excess of dmin. The performance curves of a wide range of product codes are presented and compared.

I. INTRODUCTION. An increasing demand for reliable digital communication systems invokes the use of error control coding. A typical model of a digital communication system is shown in Fig. 1. The binary information symbols are fed to the input of the channel encoder in sequence, one by one, to give a serial sequence (uiJ. The- channel encoder operates on the information sequence and produces an output sequence {vi}. The modulator together with the transmission path and the demodulator form a discrete noisy channel, where additive white Gaussian noise (AWGN) with zero mean and variance (sigmu)2 = No/2 is added to the transmitted waveform at the output of the transmission path. At the receiving end , the decoder operates on the received code sequence (ro) to give the decoded information sequence (uo}. Like concatenated codes product codes are constructed by combining other codes. The essence of a product code is that the combination is based on a geometrical construction, the components codes are simple, and decoding the product code is relatively easy. The simplest product code is a row and column code consisting of a square or rectangular array of information bits with single row and column parity checks as shown in Fig. 2. The parameters of a simple product codes are (nl,k1,2)(n2,k2,2) where nl = kl +1 and n2 = k2 + I , or (n I. n2, k l . k2,4). This is capable of correcting single errors, the failed parity check in each dimension providing convenient coordinates which locate the error.

Conventional decoding algorithms[ I ] for these codes are not maximum likelihood decoding algorithms. A low complexity, fast trellis decoding algorithm which gives maximum likelihood decoding has been proposed by Honary et a1.[2]. It

has been shown that this decoding scheme can correct a

The trellis structure of an array code with symbols from GF(q), where both rows and columns codes are single parity checks codes as proposed by Honary et a1.[2] follows as: (I). The number of states of Ns in the trellis is given by

Ns = min(nl-l.n2-1)

where min(n1-1, n2-I) is the smallest of the two values(n1-1) and (112-1). If we assume that nl is less than n2 then Ns = qn'-' (2). The trellis depth (number of columns in the trellis) Nc is then given by

(3). Identify each state at depth p (where p can take all values between 0 and Nc-1 inclusive) by a kl-tuple g-ary vector Y ( A ) = p(ul ~2 ..... uj .... uk3 where uj is an element of GF(q), and j

1,2 ,......, k

Nc = n2 + 1.

- -

0-7803-2509-5/95 US$4.00 0 1995 IEEE 22

Page 2: [IEEE Proceedings of GLOBECOM 95 GLOCOM-95 - Singapore (1995.11.14-1995.11.16)] Proceedings of GLOBECOM 95 GLOCOM-95 - Modified trellis decoding of simple product codes and their error

(4). Mark the trellis diagram starting at depth pz=0 and finishing atp=Nc-1 with y(01 02 .... 0kJ t znd~2(01 02 ..... 0,J states respectively. ( 5 ) . The trellis branches at each depth p are labelled by a kl- tuple q-ary vector F A , where (?'A is determined using

where A and B are all possible kl-tuple q-aiy vectors that represent the present@) and the next @+l) states of the trellis respectively, and 0 is mod q addition. (6). Each branch is labelled by two particular values: C?A(al a2 _ _ _ . akJ, which represents thle input information symbols and @A(al a2 ..... a, J which represlxts the output vector.

C?A(B) = ,S"(AU 0 Y+'(A)

This algorithm does not give the correct trellis for all rectangular codes. Consider , for example, the (3,2,2)(4,3,2) simple product code shown in Fig.3. Using the above algorithm we obtain the following:

(2) Nc = n2 +1 = 4+1 = 5 This gives the trellis structure of Fig.4. There are four branches but only three rows of information, hence the trellis structure does not match the code. Also the equation given in step 5 of the algorithm cannot be obeyed since vectors A and B are not of the same order.

(]).Ns = 2m'n(3.2) - - 2 = 4

The modified trellis proposed is as follows: (I). The number of states of Ns in the trellis is given by

k2 Ns = q

(2). The trellis depth (number of columns in the trellis) Nc is then given by

(3). Identify each state at depth p (where p can take all values between 0 and Nc-1 inclusive) by a k2 tuple q-airy vector Y(A) = s"(a1 a2 ..... aj .... akJ where aj is an element of GF(q), and j = 1,2 ,......, k2. (4). Mark the trellis diagram starting at depth p=O and finishing at p=Nc-l with s"(0I 02 .... 0kJ and Sk"'(0I 02 . . . . .0,3 states respectively. (5). The trellis branches at each depth p are labelled by a k l - tuple q-ary vectorFA, where (?'A is detmnined using

where A and B are all possible k2-tuple q-a ry vectors that represent the present@) and the next @+-I) states of the trellis respectively, and 0 is mod q addition. (6) . Each branch is labelled by two particular values: C?'A(al a2 _. .. akd, which represents the input information symbols and @A(al a2 ..... ak2+J) which represents the output vector where ak2+1 = a1 +O a2 0 ..... .. .O akZ.

Nc = k l + 2 .

c+'A(B) = S"(A) o s~+'(A)

This algorithm gives the correct trellis for all codes square or rectangular. Consider , for example, the (3,2,,?)(4,3,2) simple product code shown in Fig.3. Using the above algorithm we obtain the following: (I) = 2k2= z3 = 8

(2) NC = k, i-2 = 2+2 := 4 This gives a trellis depth of four that matches the three rows of information exactly. 'l'he equation given in step 5 is now obeyed since A and B are vectors of the same order. The trellis structure of the code in Fie. 4 is illustrated in Fie. 5

11. SOFT DECISION DECODING.

This is aL techniqui: for achieving maximum likelihood detection of coded digital signals. In a hard decision binary error control coding scheme (Clark & Cain 1981)[3]] for digital communicatioris, the receiver-demodulator makes a hard (0 or 1) decisiori each incoming signal element before feeding the Idemodula.t?d bit to the error correction decoder. A soft decisilon de~modulator, on the other hand preserve most of the desired analogue information by quantising its into a sufficient number of 12 regions with Q>2 (Q = 2 gives the hard decision case). The block of quantised input is then passed to the de'coder. In general, for any code any combination o f t or fewer errors in any sequence wherl:

where d,,i,, is the minimum hamming distance of the code and [] is used to de;signalx the integer part can be corrected. Farell et al. [4] showed that when Q, the number of levels used in the soft decision decoding; is sufficiently large, that is, (Q= 16 or 32) soft decision decc'ding on "well-behaved" channels (e.g. the additive white gaussian noise (AWGN) channel) where the

t = [(dmin - I)/2]

23

Page 3: [IEEE Proceedings of GLOBECOM 95 GLOCOM-95 - Singapore (1995.11.14-1995.11.16)] Proceedings of GLOBECOM 95 GLOCOM-95 - Modified trellis decoding of simple product codes and their error

most likely error value is a low confidence hard error can correct a number of errors approaching the minimum hamming distance of the code. This was confirmed by Honary et a1.[2]. It is shown in this paper that the trellis decoding of simple product codes in AWGN channel can correct a number of errors in excess of dmin for hard decision trellis decoding and that it can correct a number of errors approaching 3dmin with 3 and higher level trellis decoding.

111. COMPUTER SIMULATION TESTS The variation of the error rate with the signal to noise ratio has been measured for a number of different codes having depth ranging from 4 to 9 and states ranging from 4 to 32. 100 000 channel code symbols using bipolar signalling scheme were transmitted over a discrete noisy channel in each test. For all cases perfect bit and block synchronisation is assumed. In each test the average energy per information bit was fixed, and the variance of the additive white Gaussian noise was adjusted for a range of average bit errors. The noise level now provides a measure for the comparison of the various systems. The results of the simulation tests are shown in Figs. 6-12. Figs. 6 and 7 give the error performances of a number of simple product codes with code rates ranging from 0.5 to 0.7 for three and eleven level quantisation respectively. As expected the error performance decreases slightly with increasing code rates. Figs. 8 and 9 show that the bit error rate does not seem to deteriorate with increasing size of the product code having the same number of states. Fig. 10 gives the error performance of sqilare product codes. As the number of states increases from 4 to 32 the bit error probability increases significantly. Fig. 11 compares the hard and soft decision decoding of the (36, 22, 4) code. It can be seen that the soft decision has more than 3 dB gain over the hard decision case. Fig. 12 compares the performances of the (4,3,2)(3,2,2)code, whole trellis can be obtained using (1) the scheme proposed by Honary et a1.[2] and ( 2 ) the new scheme proposed in this paper, with that of the (3,2,2)(4,3,2) code whose trellis can be obtained only when using the newly proposed scheme. It is seen that the two codes perform almost identically indicating that for a given code rate the performance is independent of the number of states. The advantage of the latter code) (3,2,2)(4,3.2 is that it can easily and efficiently be used in adaptive coding scheme whereas the former (4,3,2)(3,2,2) cannot. Table 1 . gives the maximum number of errors that can be corrected for a few selected simple product codes using hard decision 2 level, 3 level and I I level trellis decoding.

IV. CONCLUSION

A modified and simple trellis design procedure for any simple square or rectangular product code has been introduced in this paper. It has been shown that soft decision decoding using the new scheme can correct a maximum of I 1 errors which is one less than 3dmin (3x4 = 12) for the code. This technique is particularly suitable because it enables us to design the trellis for rectangular codes with greater number of columns than rows, a type of code that will be very useful for adaptive codes.

24

Page 4: [IEEE Proceedings of GLOBECOM 95 GLOCOM-95 - Singapore (1995.11.14-1995.11.16)] Proceedings of GLOBECOM 95 GLOCOM-95 - Modified trellis decoding of simple product codes and their error

REFERENCES

[ l ] Farrell P. G.: ‘‘Amy codes: Algebraic codin? theory and aqlications’” Ed. G. Longo Springer Verlag PP 23 1-242, 1979. [2] Honary B. kayiti L. Markarian G. S. Darnel1 M.: “Maximumi-likelihood Decoding of array codes with trellis structure”, IEE Procx:edings communications speech and vision 1993,vol 1140 NI?,. 5 pp 340-345. [3] Clark & Cain: .‘Error-Correction coding for diyital communic:&ims.”, Plenum Press 1981. [4] Farrell E’. G., Duriwoody V. C., Doganis N., Taleb F.: “Soft- decision Idecodling: A review of basic algorithms and novel techniques”, 301 Bangor communication symposium May 1991. [5] Farrell P. G.: “Ani introduction to array control codes, in Geometric, codes and Cryptography”. Ed. LonPo. Marchi and SParro.Spr.inger-Verlag, CISM No 3 13, 1990. [6] Farell P. G.: “A Siiirvey of array control codes”, European Transaction on ‘Telecommunications and related Technologjigs, June 1992. [7] Honay B. ,Markxian G. S. and Darnell M.: “Trellis decoding technique folr array codes”, Eurocode. Italy, October 1992. [8] Honaryy B. and Kaya L.: “Adaptive Array encoding Technique”; Bangor Comms Svmp, pp 332-336, 29-30 May 1991. [9] Macwilli.amsi F. J. and Slone N. J.: “The theorv of error correcting lcodes“, No:rlh-Holland 1977. [ lo] Bahl L.R and Chien R. T. : “Single and multiple burst error correcting of a class of cyclic product codes”, IEEE Trans. Vol. IT-1’7 pp 5!)4-600, Sept 1971. [ 111 Blaum IM. Farell I:. G.and Van Tilborg.: “A class of Burst error correcting array codes”, IEEE Trans. Vol. IT-32, pp.

[ 121 Blaunn M: “A family of efficient burst-correcting array codes”; IEEE Trans., Vol. IT-36, No. 3, pp 671-675, May 1990. [13] Viterbi A. J . : “Convolutional codes and their performance in Communications systems”, IEEE Trans. Vol. Com-19 Nlo. 5, pp 7511-.772, Oct 1971. [ 141 Wolf J.K.: “Efficient maximum likelihood decoding of linear block codes using a trellis”, IEEE Trans. Vol. IT-24 No. 1, pp 76-80 Jan 1978. [15] Elias P.: “Elrror free coding”, IEEE Trans. Vol. IT-4, PP

836-838, NOV. 1986.

29-37, 1954.

25

Page 5: [IEEE Proceedings of GLOBECOM 95 GLOCOM-95 - Singapore (1995.11.14-1995.11.16)] Proceedings of GLOBECOM 95 GLOCOM-95 - Modified trellis decoding of simple product codes and their error

26