new efficient decoder for product and concatenated block codes
DESCRIPTION
Journal of Telecommunications, ISSN 2042-8839, Volume 12, Issue 1, January 2012 http://www.journaloftelecommunications.co.ukTRANSCRIPT
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
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.
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
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.
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.
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.