new efficient decoder for product and concatenated block codes

6

Click here to load reader

Upload: journal-of-telecommunications

Post on 27-Oct-2014

68 views

Category:

Documents


2 download

DESCRIPTION

Journal of Telecommunications, ISSN 2042-8839, Volume 12, Issue 1, January 2012 http://www.journaloftelecommunications.co.uk

TRANSCRIPT

Page 1: New efficient decoder for product and concatenated block codes

JOURNAL OF TELECOMMUNICATIONS, VOLUME 12, ISSUE 1, JANUARY 2012

17

© 2012 JOT

www.journaloftelecommunications.co.uk

New efficient decoder for product and concatenated block codes

Abderazzak Farchane and Mostafa Belkasmi

Abstract—In this paper a new decoder for product and concatenated codes is introduced. The proposed decoding algorithm

outperforms the one of Chase-Pyndiah by 1dB for Parallel concatenated codes and 0.4dB for product codes. As regards, the

performances of serially concatenated codes are similar for the two decoders. The proposed decoder use predetermined

scaling factor, which must be re-optimized whenever we change the decoder circumstances. To overcome this problem, we

have adapted this parameter to the circumstances of the channel, the codes and modulation scheme. Moreover, our decoder

does not need to normalize the extrinsic information at each decoding stage. So, this reduces the complexity of the proposed

decoder.

Index Terms— Parallel concatenated ocdes, Generalized serially concatenated codes, Chase decoding, Chase-Pyndiah

decoder, turbo codes, iterative decoding.

—————————— � ——————————

1 INTRODUCTION

nterest in product codes increased with the introduc-tion of Turbo decoding [2]. One of the reasons is that

product codes are closely related to concatenated codes and multilevel codes [6], [3]. A solution that works for product codes can easily be extended to concatenated codes and multilevel codes. Various computation me-thods of soft value for iterative decoding of product codes have been proposed. In 1994, Pyndiah et al. [11] proposed a new iterative decoding algorithm based on a soft output decision version of Chase decoding [4]. The obtained results for product codes based on BCH codes are similar to those obtained by convolutional turbo codes [2]. We have proposed a new soft-input soft-output iterative decoder for decoding Product codes. The proposed de-coder is inspired of that of the Chase-Pyndiah decoder [11]. Our algorithm is based on list decoding algorithms like the one of Chase-Pyndiah. So, our algorithm can uses any list decoding algorithm. In his first version, our de-coder uses a scaling factor to penderat the extrinsic in-formation. The scaling factor is predetermined experi-mentaly. The drawback of this predetermined parameter is that it must be reoptimised whenever we change the application. In order to overcome this probem, we have developed an adapted scaling factor to the circumstan-sens of the decoder. The adapted parameter performs the same as the pre-determined factor. The adventige of the proposed decoder in relation to the concurrent decoder is that can be directly applied to auther schemes like the generalized serially a block codes presented in [5] and parallel concatenated block codes. And parallel concate-nated block codes in [7].

This decoder is based on the Chase-Pyndiah one [11]. Unlike the later decoder, the proposed one uses a new decoding scheme and adapts the scaling factors to the circumstances of the decoder. The performance obtained by Monte Carlo simulation shows that our decoder is better then the one of Chase-Pyndiah for product codes. It outperforms the later by about 0.4dB for some BCH codes. Regarding the parallel concatenated block (PCB) codes, our decoder outperforms the PCB [7] by almost 1.0dB for some PCB codes based on BCH codes. In regard to the generalized serially concate-nated (GSCB) codes [5], the proposed decoder is similar to GSCB codes. Unlike the Chase-Pyndiah decoder, the proposed decoder allows us to analys the behavior convergence of the itera-tive decoding algorithm using the EXIT Charts (Extrinsic information transfer charts).

The remainning part of this paper is organized as fol-low: in section 2, we introduce the proposed decoder. In section 3, we present the performances of this decoder. We adapt the scaling factor to the circumstances of the decoder in Section 4. The last section concludes this pa-per.

2 THE PROPOSED DECODING ALGORITHM

2.1 component decoder

The decoding of product codes is done by decoding the

rows, then the columns of the code matrix. Like turbo codes,

it is possible to decode product codes using an iterative

process. In this case the decoding of rows and columns must

be done. The weighted decision of each decoded symbol. A

reliability must be associated to each symbol.

We consider a transmission that use BPSK modulation

coded by a block code, with code rate ii nk (i=1 or 2).

The input of the decoder, when the channel is perturbed by a

————————————————

• A. Farchane is with the Department of Computer Science, Ecole Nationale Supérieure d'Informatique et d'Analyse des Systèmes, Rabat, Morocco.

• M. Belkasmi. is with the Department of Computer Science, Ecole Nationale Supérieure d'Informatique et d'Analyse des Systèmes, Rabat, Morocco.

.

I

Page 2: New efficient decoder for product and concatenated block codes

18

white Gaussian noise, is equal to BCY += , where

),...,,...,( 1 nj yyyY = is the observed vector,

1),...,,...,( 1 ±== jnj ccccC , the emitted codeword

corresponding to a row or column of the coding matrix,

),...,,...,( 1 nj dddD = the decided codeword and

),...,,...,( 1 nj bbbB = is the white noise whose compo-

nents jb have zero average and variance 2σ .

The reliability of component jy using the log-likelihood ratio (LLR) of the received sequence is defined by:

[ ][ ]

)1()2

(/1

/1ln

2 j

jjr

jjr

j yycp

ycpr

σ=

−=

+==

Decoding of rows (or columns) is realized using a list de-

coding algorithm which lets us to determine the most like-

lihood codewords. Then, among those codewords, it selects

the closest codeword to the reliability of the received se-

quence R in term of Euclidean distance, where

),...,,...,( 1 nj rrrR = is the reliability of the received se-

quence.

The decoder affects a weighting to each component jd of

the decided codeword in order to measure the reliability of

each decision. This reliability is evaluated by the logarithm

of the likelihood ratio associated to a decision jd at the

output of the decoder and is defined by

[ ][ ]

)2(/1

/1ln

−=

+==Λ

Rdp

Rdp

jr

jr

j

The sign of jΛ give the decision jd and the absolute value

of jΛ is the measure of the reliability of this decision.

By using the Bayes rules and taking into account that the

noise is Gaussian, we can demonstrate [11] that the LLR

associated to jd is equal to:

)3(

2exp

2exp

ln

2

2

2

2

−−

−−

+

j

j

Sq

q

Sq

q

j

CR

CR

σ

σ

where i

jS represent the set of codewords having a bit equal

to )1( ±=ii in position j.

The number of codewords of a block code is generally im-

mense and the computing of LLR of a bit using the relation

(3) is relatively complex. When the signal-to-noise ratio is

sufficiently big, the relation (3) can be simplifyed by con-

serving in the numerator and denominator only the two co-

dewords )1min( +

C and )1min( −

C having the minimum dis-

tance from R and belonging respectively to 1+

jS and 1−

jS .

The expression (3) of the LLR can be simplified to this

form:

{ } )4(2

1 2)1min(

2)1min(

2

+− −−−=Λ CRCRjσ

By introducing the components of the vector R and if we

suppose that σ is constant, we can normalize jΛ with

respect to the constant 2

2

σ we can write the LLR in follow-

ing form [11]:

{ } )5(4

1

2

2)1min(

2)1min(

2

+− −−−=

+=Λ=Λ′

CRCR

wr jjjjσ

The LLR of a bit is equal to the sum of the reliability of

simple jr in the input of the decoder and a quantity jw inde-

pendent to the the reliability of simple jr . The quantity jw

is analog to the extrinsic information for the convolutional

turbo-codes.

In order to determinate the simplified expression of the LLR

of a bit in the output of the decoder. It is necessary to deter-

minate the two codewords )1min( +

C and )1min( −

C having

the minimum distance from R and having an opposite sign

in position j. For this we use a list decoding algorithm (like

Chase algorithm [4]). It allows us to determine a sub-set of

codewords among which we can find the searched two co-

dewords.

Sometime we can not find the two codewords in sub-set

determined by the list decoding (Chase algorithm for exam-

ple). This means that all codewords have the same decision

on the thj element, jd of the vector D . They vote for the

same condidat. In this case the decision comfirms the input

decoder. Consequently, the reliability of the decision must

be increased while the sign of decision, jd , is given by the

decoder. We propose a formla that can allows computing the

reliability of the decision by taking into account the reliabili-

ty of the decoder input, the sign of the decision. The jΛ′ of

the thj element of the decision is given by the following

formula:

( )6 d d 2

1 jjj jR r+=Λ′ σ

where Rσ represents the standard deviation of the decod-

er input.

Page 3: New efficient decoder for product and concatenated block codes

19

2.2 iterative decoding of concatenated coding schemes

Let us consider the decoding of the rows and columns of a product code described in section II and transmitted on a Gaussian channel using BPSK signaling. On receiving matrix ][R corresponding to a transmitted codeword ][C , the first decoder performs the soft decoding of the rows (or columns) using as input the matrix ][R . Soft-input decoding is performed using a list decoding algorithm and the soft output is computed using (5) or (6). By sub-tracting the soft input from the soft output we obtain the extrinsic information )]2([W where index 2 indicates that we are considering the extrinsic information for the second decoding of product code which was computed during the first decoding of the soft input for the decod-ing of the columns (or rows) at the second decoding of is given by

( )7 )]2()[2(][)]2([ WRR α+= where )2(α is a scaling factor is used to reduce the effect of the extrinsic information in the soft decoder in the first decoding steps when the BER is relatively high. It takes a small value in the first decoding steps and increases as the BER tends to zero. The decoding procedure described above is then generalized by cascading elementary de-coders. The turbo decoding algorithm described in this paper applies to any product code or concatenad codes based on linear block codes. The results we present here concern Bose–Chaudhuri–Hocqenghem (BCH) product codes.

The principle of the iterative decoding is illustrated by the scheme in figure 1. Unlike the chase-Pyndiah scheme

[11], our algorithm normalizes the received sequence, Y

by2

2

σ.

Figure 1: Proposed decoder scheme

This algorithm doesn’t need to normalize the extrinsic.

The next section deals with the performances of the pro-

posed decoder.

3 THE PERFORMANCE OF THE PROPOSED ECODER

We have evaluated the performance of the proposed decoder, over AWGN channel and BPSK modulation, for product codes and concatenated codes. We use the Chase

decoder as a list decoding. The parameter )( pα affects the performances of these codes. For this reason, we have tested several values for this parameter for several codes. In legend of figures, we denote by “cp”: the Chase-Pyndiah decoder and “proposed” denote the proposed decoder.

3.1 Turbo Product Codes

For the product codes, we have used the pre-determined values of )( pα shown in the table 1:

TABLE 1:

THE PRE-DETERMINED VALUES OF )( pα FOR PRODUCT CODES

iteration 1 2 3 4 5 6

)( pα 0.0, 0.13

0.15, 0.18

0.2, 0.25

0.3, 0.35

0.4, 0.45

0.5, 0.55

iteration 7 8 9 10 11

)( pα 0.6, 0.65

0.7, 0.72

0.75, 0.77

0.8, 0.82

0.85, 0.87

The Chase decoder uses a set of 16 test sequences. The re-

sults for BCH(63,51)2 and BCH(127,113)2 are shown in

figure 2 and 3 for 1, 2, 3, 4, 6 and 11 iterations. According to

the obtained performances, we observe that until the 4th

iteraton the two decoders are similar. However, beyond the

4th

iteraton, the Chase-Pyndiah one is saturated, but the pro-

posed decoder can forther ameliorates the BER. The pro-

posed decoder outperforms the Chase-Pyndiah one by 0.4

dB at 510−=BER , for the code BCH(63, 51)2. Besides, the

proposed one needs not to normalise the extrinsic informa-

tion at each decoding stage. This alleges the proposed de-

coder. Nevertheless, the number of iterations needed for the

convergence of this decoder is 11.

Figure 2: Performance of the proposed decoder for the product code BCH(63, 51)

2

Page 4: New efficient decoder for product and concatenated block codes

20

Figure 3: Performance of the proposed decoder for the product code BCH(127, 113)

2

3.2 Parallel concatenated block Codes

We have used the proposed decoder to decode the paral-lel concatenated block codes [7], and we have evaluated the performance for these codes using the predetermined value for the parameter )( pα is shown in table 2:

TABLE 2:

THE PRE-DETERMINED VALUES OF )( pα FOR PARALLEL CON-

CATENATED BLOC CODES

iteration 1 2 3 4 5

)( pα 0.00, 0.18 0.24, 0.26 0.28, 0.31 0.34, 0.38 0.42, 0.44

iteration 6 7 8 9 10

)( pα 0.46, 0.48 0.52, 0.55 0.60, 0.65 0.67, 0.70 0.72, 0.75

Figure 4: Performance of the proposed decoder for the parallel concatenated code PCB-BCH(75, 51), With M=100.

Figure 5: Performance of the proposed decoder for the parallel concatenated code PCB-BCH(141, 113), With M=100.

For parallel concatenated codes, The Chase decoder uses a set of 18 test sequences (for detail see the apendix). The results for the parallel concatenated code using the proposed decoder and result in [7], for PCB-BCH(75, 51) and PCB-BCH(141, 113), With M=100, are shown in figure 4 and 5 for 1, 2, 3, 4, 7 and 10 iterations. According to the obtained performances, we observe that until the 7th the proposed decoder is best than the one of Chase-Pyndiah. The later is saturated 7th iteraton, but the proposed de-coder can forther ameliorates the BER. The proposed decoder outperforms the Chase-Pyndiah one by about 1.0dB for the code PCB-BCH(75, 51), and 0.2dB for the code PCB-BCH(141, 113). Moreover, our decoder is less complex than the Chase-Pyndiah one. It needs 10 itera-tions to converge, for this type of codes. The following section shows the performance of serially concatenated codes.

3.3 Generalized serially concatenated block

Codes

Like for Parallel concatenated codes, we have applied the proposed decoder to the generalized serially concate-nated [5]. For evaluate the performance of this code we have chosen for the parameter )( pα the values shown in the table 3:

TABLE 3:

THE PRE-DETERMINED VALUES OF )( pα FOR PARALLEL CON-

CATENATED BLOC CODES

iteration 1 2 3 4 5

)( pα 0.00, 0.20

0.25, 0.25

0.30, 0.30

0.35, 0.35

0.40, 0.40

iteration 6 7 8 9 10

)( pα 0.45, 0.45

0.50, 0.50

0.60, 0.60

0.70, 0.70

0.80, 0.80

The performance of the proposed decoder is evaluated over an AWGN channel. We have obtained result shown in figures 6 and 7.

Page 5: New efficient decoder for product and concatenated block codes

21

Figure 6: Performance of the proposed decoder for the generalized serially concatenated code GSCB-BCH(63, 39), With M=100.

Figure 7: Performance of the proposed decoder for the generalized serially concatenated code GSCB-BCH(127, 99), With M=100.

According to the obtained result for the generalized se-rially concatenated code using ouer decoder and the re-sult optained in [5], we remark that the proposed decoder is comparable to the Chase-Pyndiah one. Besides, our decoder is less complex than the Chase-Pyndiah one. It needs 10 iterations to converge, for generalized serially concatenated codes.

4 THE ADAPTED PARAMETER )( pα

The role of the parameter )( pα is vital in the decoding

performance. In the works [11], [10], [9], this parameter was

experimentally predetermined. Its values are chosen such as

the 510−=BER is attained with the minimum number of

iterations. This process is too hard. We have adapted the

parameters to the circumstances of the product codes and

turbo like-codes to overcome this problem. The following

formula gives the expression of )( pα :

( )8 1

(p)2

)1( −

=pWσ

α

where 2

)1( −pWσ denote the variance of the normalized extrin-

sic information delivered by the previous decoder. The per-

formance obtained by using the adapted parameter )( pα is

comparable to those obtained by the predetermined parame-

ter. Therefore, we don't need to re-optimize this parameter if

we change the application.

We have used the adapted parameter )( pα (8). The ob-tained performances using this parameter is comparable with those obtained by the predetermined one. The fig-ures 8, 9 and 10 show the performances obtained using this parameter. The advantage of the adapted parameters is that decoder needn't to re-optimise the parameters whenever they used in other applications.

Figure 8: Performance of the proposed decoder for the product code BCH(63, 51)

2, with adapted )( pα

Figure 9: Performance of the proposed decoder for the parallel concatenated code PCB-BCH(141,113) ), with adapted )( pα and M=100.

Page 6: New efficient decoder for product and concatenated block codes

22

Figure 10: Performance of the proposed decoder for the generalized serially concatenated code GSCB-BCH(127; 99), with adapted

)( pα and M=100.

5 CONCLUSION

In this paper, we have introduced a new decoder for product

and concatenated codes. This decoder uses a scaling parame-

ter, )( pα like that of the Chase-Pyndiah one. For the later

decoder this parameter is pre-determined experimentally.

The parameter must be re-optimised whenever we change

the code, the modulation or the application. To overcome

this problem, we have adapted this parameter to the circums-

tances of the decoder. The performance obtained by the

adapted parameter is slightly better than those obtained by

pre-determined one. The proposed decoding algorithm out-

performs Chase-Pyndiah one by about 1.0dB for a Parallel

concatenated code and 0.4dB for a product code. Moreover,

it needn't to normalise the extrinsic information at each

decoding stage. So, this reduces the complexity of the pro-

posed decoder. In a future work we will show that the pro-

posed decoder allows us to analyse the convergence beha-

vior of the iterative decoding

APPENDIX

The number of the test-sequences, Yl, used by Chase-Pyndiah decoding is 18. Let I1, I2, I3, I4 and I5 denote the positions of the five least reliable symbols at the input of the component decoder. These five positions are classed in increasing reliability order. The first test-sequence is, Y0, the hard decision of the input of the Chase-Pyndiah decoder, the other test-sequences are given below. Be-tween brackets are the non null positions for each se-quence.

Y1 (I1) Y9 (I1, I2, I3) Y2 (I2) Y10 (I1, I5) Y3 (I1, I2) Y11 (I2, I3, I4) Y4 (I3) Y12 (I1, I2, I3, I4) Y5 (I1, I3) Y13 (I1, I3, I5) Y6 (I4) Y14 (I1, I2, I4, I5) Y7 (I2, I3) Y15 (I1, I3, I4, I5) Y8 (I1, I4) Y16 (I2, I3, I4, I5)

Y17 (I1, I2, I3, I4, I5)

REFERENCES

[1] Pyndiah A. Picart, R. Adapted iterative decoding of product

codes. Global Telecommunications Conference GlobCom, 1999. [2] P. Thitimajshima C. Berrou, A. Glavieux. Near Shannon limit

error correcting coding and decoding: Turbocodes. IEEE Inter-national Conference on Communication ICC93, 2/3, May 1993.

[3] A. R. Calderbank. Multilevel codes and multistage decoding. IEEE Transactions on Information Theory, 37(3): 222 -229, Mar 1989.

[4] D. Chase. Class of algorithms for decoding block codes with channel measurement information. IEEE Trans. Information theory, 13:170-182, Jan 1972.

[5] A. Farchane and M. Belkasmi. Generalized serially concate-nated codes: construction and iterative decoding. IJMCS, V.6:2 2010.

[6] H. Imai and S. Hirakawa. A new multilevel coding method using error correcting codes. IEEE Transactions on Information Theory, 1977.

[7] M. Belkasmi and A. Farchane. Iterative decoding of parallel concatenated block codes. ICCCE08, May 13-15 2008.

[8] P. Desmond Taylor Philipa A. Martin. On adaptive rduced-compexity iterative decoding.

[9] R. Pyndiah and A. Picart, Performance of turbo-decoded prod-uct codes used in multilevel coding. IEEE proc. of ICC'96, June Dallas, 1996.

[10] A. Picart A. Glavieux R. Pyndiah, Performance of block turbo-coded 16-qam and 64-qam modulations. IEEE proc. of GLOB-COM'95, Singapore, Nov. 1995.

[11] A. Picart S. Jacq R. Pyndiah, A. Glavieux. Near optimum decod-ing of product codes. GLOBECOM94, (7-8), November 1994.

A. Farchane received his license diploma in Computer Science and Engineering in June-2001 and Master diploma in Computer Science and telecommunication from University of Mohammed V - Agdal, Rabat, Morocco in 2003. Currently he is doing his PhD in Computer Science and Engineering at ENSIAS (Ecole Nationale Supérieure d'Informatique et d'Analyse des Systèmes), Rabat, Morocco. His areas of interest are Information and Coding Theory.

M. Belkasmi is a professor at ENSIAS (Ecole Nationale Supérieure d'Informatique et d'Analyse des Systèmes); and head of Telecom and Embedded Systems Team at SIME Lab. He had PhD at Toul-ouse University (France) in 1991. His current research interests include mobile and wireless communications, interconnexions for 3G and 4G, and Information and Coding Theory.