• Aucun résultat trouvé

Row-column parallel turbo decoding of product codes

N/A
N/A
Protected

Academic year: 2021

Partager "Row-column parallel turbo decoding of product codes"

Copied!
8
0
0

Texte intégral

(1)

HAL Id: hal-00538603

https://hal.archives-ouvertes.fr/hal-00538603

Submitted on 22 Nov 2010

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Row-column parallel turbo decoding of product codes

Christophe Jego, Patrick Adde

To cite this version:

Christophe Jego, Patrick Adde. Row-column parallel turbo decoding of product codes. Electronics Letters, IET, 2006, 42 (5), pp.296 - 298. �10.1049/el:20064198�. �hal-00538603�

(2)

Row-column parallel turbo decoding

of product codes

C. Jégo and P. Adde

A row-column parallel architecture of a turbo decoder dedicated to product

codes is presented. This architecture enables simultaneous decoding of the

row and the column of a block. The performance of the proposed row-column

parallel turbo decoder is similar to that of conventional turbo decoder.

However, this new architecture reduces the decoding latency by a factor of

two. Moreover, the memory necessary for the block reconstruction between

row decoding and column decoding is removed.

Introduction: In telecommunications, forward error correction (FEC) is a

system of error control that improves digital communication quality. The most

recent development in error correction is turbo coding [1]. The turbo code

family refers to two classes of codes: Convolutional Turbo Codes (CTC) and

Block Turbo Codes (BTC). Indeed, an iterative Soft Input Soft Output (SISO)

decoding was successfully applied [2] to product codes, first introduced by

Elias [3]. Product codes are a series of concatenated systematic linear block

codes. The product code inherits the properties of the elementary codes that it

is composed of. Let us consider an example with two identical BCH (n,k,δ) codes. The parameters of the resulting product code are therefore given by:

n2 (code length), k2 (number of information symbols), δ2 (minimum Hamming distance) and r2 (code rate). The iterative decoding algorithm involves

(3)

performing the successive decoding of rows and columns (two half-iterations).

Note that each iteration provides decoding operations for all rows and all

columns of a matrix (product code). Moreover, a reconstruction of the matrix

is necessary between each decoding. The block diagram of an elementary

SISO decoder is presented in Figure 1, where k stands for the number of

half-iterations.

 R is the initial word received from the channel,

 Wk is the pattern that contains the extrinsic information, that is, the

additional information given by the decoder concerning the reliability of

the decoded symbol,

 R'k is the result of extrinsic information weighted by a factor of αk,

 Dk is the result of symbol decoding,

 αk and βk are constants that depend on the current half-iteration.

Previous work: In the last few years, many block turbo decoder architectures

have been designed [4]. The conventional approach involves decoding all the

rows or all the columns of a matrix before the next half-iteration. When an

application requires high-speed decoders, an architectural solution is to

cascade SISO elementary decoders for each half-iteration as shown in Figure

2. In this case, memory blocks are necessary between each half-iteration to

store channel data and extrinsic information. Each memory block is composed

of four memories of qn2 symbols where q is the number of bits to quantify the

matrix symbols. Thus, duplicating a SISO elementary decoder results in

duplicating the memory block which is very costly in terms of area. The

(4)

decoder before one symbol was fully handled. In the case of cascaded

decoders, the architecture latency is equal to 2k*(n2+n) where n is the code

length and 2k is the iteration number. For one half-iteration, n2 and n are block

memory latency and row or column decoding latency, respectively.

Row-column parallel turbo decoder for product codes: In this letter, a

row-column parallel turbo decoding of product code is proposed. Since all the

rows and all the columns of the matrix are distinct code words, they can be

handled independently. Moreover, the symbol decoding for the rows and the

columns does not have any particular order. For these reasons, the rows and

the columns of a same matrix can be decoding in parallel. The matrix of

extrinsic information is then updated during the decoding process. The aim of

the row-column parallel approach is to use the more reliable extrinsic

information each time. Let us consider Si and Sj as the positions of the i-th

symbol for a row and the j-th symbol for a column respectively. i and j are

included between 1 and n. It can be also noted that the codeword length n of

BCH codes is always a power of 2. For row-column parallel turbo decoding,

one solution is to take j equal to n-i to avoid simultaneous access to the same

symbol by the two SISO decoders. Thus, the row decoder begins with the first

symbol S1 of the row codeword and the column decoder begins with the last

symbol Sn of the column codeword, as shown in Figure 3. In this approach,

the elementary decoders have to handle only one code word at a time. For

this reason, a pipeline architecture cannot be used for the elementary SISO

decoder. The architecture of our row-column parallel turbo decoder for one

(5)

SISO decoders and three memories of qn2 symbols with double accesses.

This structure needs only one memory block per iteration. This enables the

memory complexity be reduced by a factor of 8/3. Indeed, two memory blocks

per iteration are necessary for the conventional cascaded architecture of a

block turbo decoder. Moreover, the proposed parallel architecture is also

interesting from a latency point of view. In this case, the architecture latency is

equal to k*(n2+n), which enables the latency to be reduced by a factor of two.

Performance comparison: Bit-error performance of block turbo codes using

extended BCH component codes with single error correction power after 8

iterations is given in Figure 4. We considered an AWGN channel and a

system employing BPSK modulation. Simulation results are presented for

three BCH components codes with the code lengths being 32, 64 or 128 bits.

The performance of the proposed row-column parallel turbo decoding is

similar to that of conventional turbo decoding.

Conclusion: In this letter, a row-column parallel architecture of a turbo

decoder dedicated to product codes has been presented. Unlike the

conventional BTC decoding approach, this architecture uses the more reliable

extrinsic information at each step. This reduces the decoding latency by a

factor of two, and the memory necessary for the block reconstruction between

row decoding and column decoding is removed. It is clear that this innovative

proposal provides an attractive solution from the complexity and decoding

delay points of view. Simulation results revealed that there is no performance

(6)

References

1 BERROU C., GLAVIEUX A., THITIMAJSHIMA P.: ‘Near Shannon limit error correcting coding and decoding : Turbo Codes’, IEEE International Conference on Communication ICC93, vol. 2/3, May 1993.

2 PYNDIAH R., GLAVIEUX A., PICART A., JACQ S: ‘Near optimum decoding of product codes’, GLOBECOM94, November 1994.

3 ELIAS P.: ‘Error-free coding’, IRE Trans. on Inf. Theory, vol. IT-4, pp. 29-37, September 1954.

4 CUEVAS J., ADDE P., KEROUEDAN S., PYNDIAH R.: ‘New architecture for high data rate turbo decoding of product codes’, GLOBECOM 2002, pp. 139-143, November 2002.

Authors’ affiliations:

C. Jégo and P. Adde (GET/ENST Bretagne, CNRS TAMCIC UMR 2872, Brest, France)

Figure captions:

Fig. 1 Block diagram of an elementary SISO decoder

Fig. 2 Block diagram of a cascaded block turbo decoder for one iteration

Fig. 3 Principle of parallel row-column decoding dedicated to product codes

Fig. 4 Block diagram of a parallel row-column block turbo decoder for one iteration

Fig. 5 Performance of conventional and parallel decoded BCH BTCs on AWGN channel after 8 iterations

(7)

Figure 1 SISO decoder R’k Rk Dk Fk Wk Wk+1 αk delay delay Rk+1 βk Figure 2 Elementary SISO decoder β2k α2k Matrix W2k [qn2] Matrix R2k [qn2] Matrix R2k [qn2] W2k W2k+1 memory block R2k R2k Matrix W2k [qn2] R2k+1 W2k Elementary SISO decoder β2k+1 α2k+1 Matrix W2k+1 [qn2] Matrix R2k+1 [qn2] Matrix R2k+1 [qn2] W2k+1 W2k+2 memory block R2k+1 R2k+1 Matrix W2k+1 [qn2] R2k+2 W2k+1 Figure 3 k n k n information symbols checks on rows checks on columns checks on checks S11 Sn1 S1n Snn Sij

(8)

Figure 4 Elementary SISO decoder for rows β2k α2k Elementary SISO decoder for columns β(2k+1)α(2k+1) Matrix W [qn2] Matrix R [qn2] Matrix R [qn2] Rcol D2k+1 W2k+3 W2k W2k+2 W2k+1 D2k memory block R Rrow Figure 5 1 2 3 4 5 6 7 SNR = Eb/N0 (dB) 10-10 10-9 10-8 10-7 10-6 10-5 10-4 10-3 10-2 10-1 TEB BCH(32,26,4) BTC original BCH(32,26,4) BTC parallel BCH(64,57,4) BTC original BCH(64,57,4) BTC parallel BCH(128,120,4) BTC original BCH(128,120,4) BTC parallel Uncoded BPSK 2 2 2 2 2 2

Figure

Figure 1 SISO  decoderR’k R k D kFkWk W k+1αk  delaydelay R k+1βk  Figure 2 Elementary  SISO decoderβ2k α2kMatrix W2k[qn2]  M atrix  R 2k [qn 2 ] Matrix R2k[qn2]  W 2k  W 2k+1memory block  R 2k  R 2k Matrix W2k[qn2]  R 2k+1W2k  Elementary  SISO decoderβ2k+
Figure 4  Elementary  SISO decoder for rowsβ2kα 2k Elementary  SISO decoder for columns β (2k +1) α (2k +1)Matrix W [qn2] Matrix R [qn2] Matrix R [qn2] Rcol D 2k+1 W2k+3W2kW2k+2 W2k+1D2kmemory block  R R row Figure 5 1 2 3 4 5 6 7 SNR = Eb/N0 (dB)10-1010-9

Références

Documents relatifs

Considering that one can design a SISO decoder able to pro- cess n symbols in parallel in one clock period, a product code matrix can be decoded without any interleaving resource

We can observe that higher P (i:e: higher T) can be obtained with less memory when using an RS turbo decoder. Full-parallel decoding of RS codes appears to be more memory-ef cient

1) Stochastic computation: In a stochastic computing pro- cess, the probabilities are converted into Bernoulli sequences using random number generators and comparators [5]. The

We verify that higher P (i.e. higher throughput) can be obtained with less computation resources using RS turbo decoders. This means that RS product codes are more efficient in terms

Single systemic treatment of adult mice with MAM rapidly damages brain DNA (O 6 -mG lesions) and modulates signaling pathways and neurotrans- mitter systems associated with

The observed fac- torisation is absent in pp and very peripheral PbPb data, indicating a strong connection of the observed long-range azimuthal dihadron correlations to

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Iterative decoding based on Belief Propagation (BP) [2] is a SISO decoding algorithm for linear block codes that is based on the propagation of soft information along the edges of