2003ESASP_532E__59B

10
A Turbo Co/Decoder implementation for next generation DVB-S2 S.Benedetto 1 , T.Botticchio 2 , P.Burzigotti 2 , R.Degaudenzi 3 , A.Martinez 3 , G.Montorsi 1 , F.Richichi 2 and P. Tabacco 4 . 1 DELEN, Politecnico di Torino, Corso Duca degli Abruzzi 24 Phone: +39 011 5644099 fax: +39 011 5644000, [email protected], [email protected] 2 Space Engineering S.p.A., via dei Berio 91, 00155 Roma Italy Phone. +39 06 225951, Fax. +39 06 2280739, [email protected], [email protected], [email protected] 3 TOS-ETC, ESA/ESTEC, Keplerlaan 1, Postbus 299, 2200 AG Noordwijk (The Netherlands) Phone. +31 715654227, Fax. +31 715654596 [email protected], Phone. +31 715654943, Fax. +31 715654596 [email protected] 4 DSP SYSTEMS, via dell'Orsa Maggiore 21, 00144 Roma Italy, [email protected] Abstract Present work describes the algorithmic design and show the performance of a Turbo Decoder aimed for low Eb/No working points (near Shannon limit) that was purposely design to work in a pragmatic approach with the following constellations QPSK, 8PSK, 16APSK, 16QAM. This Turbo Codec is based on a pure Turbo Codes implementation without the need of additional Reed Solomon Outer Codec. 1 Overview Turbo codes, first introduced in 1993, are a new way to construct concatenated codes able to achieve near Shannon-limit error correction in terms of BER. The presence of large interleavers and iterative feedback decoding allow reaching these results thanks to relatively simple structure. In a first issue turbo codes have been presented in parallel fashion, made up by two RSCs (Recursive Systematic Codes) and an interleaver. The progress of the study gets possible different choices in number, type and concatenation of coders to obtain solutions with different performances and complexity (both during encoding and decoding phase). Today a serial concatenation seems to allow better performance, yielding lower error floors than parallel concatenated codes (PCCC). Also, they usually employ constituent encoders with lower complexity (less states) leading to a remarkably simpler decoding algorithm. In order to improve the bandwidth efficiency it is also possible to cascade a high-level modulator, as alternative to traditional TCM (trellis code modulation). In the following Figure 1 an general scheme for a codulator (coder and modulator) is depicted. Particularly, in our study-case the encoder is a TURBO encoder, the source produces equally probable binary symbols (0/1), the modulator is a QPSK, 8PSK, 16PSK or 16QAM.

description

DVB-S2 Turbo Decoder

Transcript of 2003ESASP_532E__59B

Page 1: 2003ESASP_532E__59B

A Turbo Co/Decoder implementation

for next generation DVB-S2

S.Benedetto1, T.Botticchio

2, P.Burzigotti

2, R.Degaudenzi

3, A.Martinez

3, G.Montorsi

1, F.Richichi

2

and P. Tabacco4.

1 DELEN, Politecnico di Torino, Corso Duca degli Abruzzi 24

Phone: +39 011 5644099 fax: +39 011 5644000, [email protected], [email protected]

2 Space Engineering S.p.A., via dei Berio 91, 00155 Roma Italy

Phone. +39 06 225951, Fax. +39 06 2280739, [email protected], [email protected], [email protected]

3 TOS-ETC, ESA/ESTEC, Keplerlaan 1, Postbus 299, 2200 AG Noordwijk (The Netherlands)

Phone. +31 715654227, Fax. +31 715654596 [email protected],

Phone. +31 715654943, Fax. +31 715654596 [email protected]

4 DSP SYSTEMS, via dell'Orsa Maggiore 21, 00144 Roma Italy, [email protected]

Abstract

Present work describes the algorithmic design and show the performance of a Turbo

Decoder aimed for low Eb/No working points (near Shannon limit) that was purposely

design to work in a pragmatic approach with the following constellations QPSK, 8PSK,

16APSK, 16QAM. This Turbo Codec is based on a pure Turbo Codes implementation

without the need of additional Reed Solomon Outer Codec.

1 Overview

Turbo codes, first introduced in 1993, are a new way to construct concatenated codes able to

achieve near Shannon-limit error correction in terms of BER. The presence of large interleavers and

iterative feedback decoding allow reaching these results thanks to relatively simple structure.

In a first issue turbo codes have been presented in parallel fashion, made up by two RSCs

(Recursive Systematic Codes) and an interleaver. The progress of the study gets possible different

choices in number, type and concatenation of coders to obtain solutions with different performances

and complexity (both during encoding and decoding phase). Today a serial concatenation seems to

allow better performance, yielding lower error floors than parallel concatenated codes (PCCC).

Also, they usually employ constituent encoders with lower complexity (less states) leading to a

remarkably simpler decoding algorithm.

In order to improve the bandwidth efficiency it is also possible to cascade a high-level modulator,

as alternative to traditional TCM (trellis code modulation).

In the following Figure 1 an general scheme for a codulator (coder and modulator) is depicted.

Particularly, in our study-case the encoder is a TURBO encoder, the source produces equally

probable binary symbols (0/1), the modulator is a QPSK, 8PSK, 16PSK or 16QAM.

Page 2: 2003ESASP_532E__59B

Figure 1: Codulator scheme

The quantities shown in the previous Figure 1 are related by the following relationships:

Rs transmission rate of the source

Re =Rs/rc encoded stream rate

Rm = Re/M = Rs/(Mrc) = Rs/r baud rate

The parameter rc characterizes the encoder in terms of bandwidth and error correcting capability; it

means how much redundancy is introduced.

2 Logic Structure

The presence of a multilevel modulation involves a first choice about the turbo encoder: in literature

both "pragmatic" and "ad-hoc" encoders are present. The bottom refers to turbo-coder related to the

(known) modulation, with a direct mapping of encoder outputs to the constellation points. Being

assigned a source rate and the code rate rc, the modulation and the mapping rule are selected

together to obtain the prefixed channel symbol rate Rm.

A "pragmatic" solution, instead, is completely independent from the modulation and, then, from Rm,

with a major flexibility: it is possible to fix the code rate and modulation independently; the correct

channel symbol rate is achieved with an appropriate puncturing pattern. The advantage of a

"pragmatic" solution lies in its flexibility, being sources with different rates accepted without

needing for heavy modification. The present design of Turbo is aimed to work with different

modulation (QPSK, 8PSK, 16APSK, 16QAM) achieving a number of spectral efficiency, but just

the puncturer has to be modified. The payment is a slightly lower performance.

In the present paper we refer to a "pragmatic" SCCC1 solution, characterized by the presence of an

outer 16-state convolutional coder, a puncturer, an interleaver and an inner differential encoder, a

pure Turbo without needing for concatenated code (such Reed-Solomon).

The main purpose of the interleaver is to avoid error patterns. After the corrections in one

dimension (first decoder) the remaining errors should be spread becoming correctable error patterns

in the second dimension (second decoder). The error correction capability of turbo code will

approach that of product code.

1 Serially Concatenated Convolutional Code

Page 3: 2003ESASP_532E__59B

Input Register

size K

Outer

(Convolutional)

Encoder

rate 1/2

Interleaver

Inner

(Differential)

Encoder

rate 1/1

Modulationrow-column

InterleaverPuncturer

Figure 2: Codulator scheme.

The Turbo is made out of two convolutional codes serially concatenated using 16-states (outer

code) and 2-states (inner code). A triangular, asymmetric S-random interleaver with fixed length

12000 bits is used. The structure for different supported coding rates and modulation is shown in

the following Table 1.

Table 1. Different modulation parameters design.

ModulationFEC Rate

[r]

Spectral

efficiency

[�] (bps/Hz)

Channel symbols

per block [F]

Information bits

per block [K]

1/2 0.994 6000 5996QPSK

3/4 1.491 6000 8996

2/3 1.988 4000 79968-PSK

5/6 2.486 4000 9996

3/4 2.983 3000 899616-APSK

(16-QAM) 7/8 3.480 3000 10496

Table 2. Target Eb/N0 for different spectral efficiencies with 8PSK modulation.

Code rate SpectralEfficiency

Eb/N0Standard

[dB]

Capacity Const.Capacity

1 dB worsethan const.

capacity

Target Eb/N0 [dB](2 dB overstandard)

2/3 2 6.45 2.77 3.14 4.14 4.45

3/4 2.25 7.33 3.67 4.04 5.04 5.33

4/5 2.4 7.75 4.29 4.65 5.65 5.75

In order to set the performance specifications for the project, we have evaluated the Eb/N0 in dB

required to obtain a “quasi error free” information flow at the input of the MPEG multiplexer. We

based on the DVB standard document [2] but since in our case the spectral efficiencies are different

from the DVB standard (lacking Reed-Solomon encoder), we have interpolated linearly the values

reported in [2].

An example is summarized in Table 2 where the 3rd

column represent the Eb/N0 given by the

standard, the 4th

column the value of Eb/N0 induced by capacity, the 5th

the block-size constrained

bound for interleaver size 12,000 and BER=10-10

, the 6th

the values at 1 dB from constrained

capacity with block size 12,000, and the 7th

the agreed objectives of Eb/N0 yielding a 2 dB gain

with respect to the standard.

Page 4: 2003ESASP_532E__59B

3 Encoder

This section simply reports the chosen encoders constituting TURBO. The outer encoder is the first

that bits meet, while the outer is just before the channel interleaver.

3.1 Inner differential encoder

z-1U=0

U=1

S0

S1

S0

S1 1

0

1

0

S={S0,S

1} C={C

0} U={U

0}r = 1/1 k

0=1 , n

0=1

t=k t=k+1

C0

U0

Figure 3. 2-states Systematic Encoder for rate 1/1.

The choice of so a simple inner encoder is made in orders to minimize the presence of floor during

decoding. It can be shown that the outer code rate (ro) must be as lower as possible, then inner code

rate (ri) as greater as possible: 0*rrr ic = .

As the inner code rate is 1/1 it prevents this code be systematic.

3.2 Outer convolutional encoder

The scheme in Figure 4 represents the recursive convolutional encoder. It is a 16-states machine with

a code rate fixed to 1/2.

z-1

r = 1/2

C0

U0

z-1 z-1 z-1

C1

Figure 4. 16 states Recursive Systematic Encoder for rate 1/2.

4 Decoder

In literature a number of decoding algorithm are known, but just ML (Maximum Likelihood) and

MAP (Maximum A Posteriori) are implemented for their performance; both of them are studied to

be implemented in turbo decoders.

The ML algorithm, known also as Viterbi algorithm minimizes the probability of code word error

but not the single symbol error. During the decoding process only the probability of most likely

sequences is calculated and compared to obtain survivor for the sequent step. No information about

the symbol is calculated but just that of the whole sequence. Even if solutions, such as SOVA, were

proposed to modify and to improve the original ML algorithm making possible the exchange of

"soft" information about the single symbol probability, they still remain sub-optimal solution.

Page 5: 2003ESASP_532E__59B

The MAP, instead, is a more complicated algorithm (then with a major implementation complexity)

that points to the minimization of symbol error through the maximization of the a-priori knowledge

of single symbol probability.

The basic feature of turbo decoders is the feedback of information elaborated during the process. A

complete decoding is carried out after a number of decoding iteration on the same block of input

symbols.

From soft

channel

interleaver

SISOINNER

(differential) DE-

INTERLEAVER

INTERLEAVER

P(C2,I)

P(U2,O)

SISOOUTER

(convolutional)

P(C2,O)

P(C1,I)

P(C1,O)

P(U1,O)

P(U2,I)

P(Ci,I/O) = A PRIORI PROBABILITY of coded bits I/O from i-th SISO

P(Ui,I/O) = A PRIORI PROBABILITY of information bits I/O from i-th SISO

6 bit quantization

8 bit quantization

NOT used

6

88 8

8

8

P(U1,I)

DE-

PUNCTURER

PUNCTURER8

Figure 5: SISO interconnection to exchange extrinsic information.

The constituent blocks, labeled SISO (Soft Input - Soft Output), implement a recursive exchange of

information one to other in order to have the knowledge on information bits grown. No hard

decision is made during the decoding process but "soft" information is calculated that is a

"weighted" decision.

The SISO block accepts as input the a priori probability of information bits and coded bits from a

previous estimation and outputs their update version toward the next block.

The APP algorithm is based on the calculation of probabilities associated to trellis. Particularly, the

scope of the decoder is to allow a decision based on comparison of the probability that bit is 1 and

the probability that bit is 0. It is possible to obtain that comparison one shot simply modifying the

original algorithm and propagating llr2 values.

5 Implementation

The Turbo Codec was implemented using the architecture and the fast prototyping system shown

below.

The Codec implementation had a maximum rate of 2Mbps with 7 iterations.

Changing the Coder rate we could experience at 400Kbps up to 30 iterations.

2 log likelihood ratio, defined as

( )( )���

�����

=

=

0

1log

uP

uP

Page 6: 2003ESASP_532E__59B

c1 πΙ

c0

RAM

1

RAM

2

RAM

3

MUXMUX MUXMUX

αβ1

M

U

X β2

M

U

X

πO

llr(c1 )

llr(c0 )

RAM

α

π(c)

π(c)

π(c)

αk

ΙΝΙ

27

27

27

8

8

192

2727 27

192192

192

192

192

88

192

Figure 6. SISO memory architecture.

∆MAX-MIN

M

U

X

MS

B

LUTCORR α

k+1(s)

βk-1

(s)

ACS - PEπk(c)

αk(s)

βk(s)

αk(s)

βk(s)

MAX

πk(c)

9

12 12

9

12 12

12 12 12

Figure 7. ACS Processor Element (ACS-PE).

Page 7: 2003ESASP_532E__59B

FPGA1

Connection

FPGA

MS1

0x482000 - 0x482FFF

DSP 6

SHARC

SHARK6

BOARD

prog bus

SIM

M

FPGA3

PC LPT1

interface

(Frame Sync)

MS1

0x481000 - 0x481FFF

FPGA5

Soft

Demodulator

MS1

0x480000 - 0x480FFF

FPGA6

UART inteface

BER Meter

MS0

/ 5 I,Q

IQ_vaild

start_read

/ 24 llr

llr_valid

llr_ready

fs_sync

/ 24 llr

sta

rt_re

ad

llr_valid

llr_re

adyd

ecoded_out

decoded_out_

valid

SIM

M

/16 data, /16 addr, / 3 csb, rdb, wrbprog bus

decoded_out

decoded_out_valid

/16 p

rog_data

/16 p

rog_addr

pro

g_csb

pro

g_rd

b

pro

g_w

rb

clk 20 MHz

clk 20 MHz clk 20 MHz

clk

20 M

Hz

decoded_out

decoded_out_

valid

UART

R

A

M

R

A

M

FPGA

ALTERA

EP20K1500E-

1XALTERA

DSP BUILDER

PROFESSIONAL

DEVELOPMENT BOARD

SISO+

Interleaver+

De-Interleaver

:

2

40 MHz

MS

2

External PC

Figure 8.Shark6 board.

Page 8: 2003ESASP_532E__59B

6 Performances

The Turbo Codec performance measured from the HW demonstrator is shown for rate 2/3 and 4/5

in terms of BER, FER and PER.

BER/EbNo 2/3

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

3.0

0

3.1

0

3.2

0

3.3

0

3.4

0

3.5

0

3.6

0

3.7

0

3.8

0

3.9

0

4.0

0

4.1

0

4.2

0

4.3

0

4.4

0

4.5

0

EbNo

ME

AS

UR

ED

BE

R

Figure 9 Rate 2/3 performances

STATISTICS 2/3

0.00001

0.0001

0.001

0.01

0.1

1

3.0

0

3.1

0

3.2

0

3.3

0

3.4

0

3.5

0

3.6

0

3.7

0

3.8

0

3.9

0

4.0

0

4.1

0

4.2

0

4.3

0

4.4

0

EbNo

FER

PER

vPER

Figure 10 Rate 2/3 performances

Page 9: 2003ESASP_532E__59B

BER/EbNo 4/5

1.00E-09

1.00E-08

1.00E-07

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

4.6

5

4.7

0

4.7

5

4.8

0

4.8

5

4.9

0

4.9

5

5.0

0

5.0

5

5.1

0

5.1

5

5.2

0

5.2

5

5.3

0

5.3

5

5.4

0

5.4

5

5.5

0

5.5

5

5.6

0

5.6

5

5.7

0

5.7

5

EbNo

ME

AS

UR

ED

BE

R

Figure 11. Rate 4/5 performances

STATISTICS 4/5

0.0000001

0.000001

0.00001

0.0001

0.001

0.01

0.1

1

4.5

0

4.6

0

4.7

0

4.8

0

4.9

0

5.0

0

5.1

0

5.2

0

5.3

0

5.4

0

EbNo

FER

PER

vPER

Figure 12. Rate 4/5 performances

Page 10: 2003ESASP_532E__59B

7 Conclusion

The designed and implemented Turbo Codec is aimed for close to Shannon Limits performances

uniformly with the Pragmatic approach for the QPSK, 8-PSK, 16-APSK, 16-QAM digital

modulation approaches. The Codec has been implemented using off the shelf HW fast prototyping

systems and could be used for the next generation DVB-S2 application with an overall 2dB

improvement with respect to DVB-S1 (first generation).

8 List of Acronyms

APP A Posteriori Probability

RSC Recursive Systematic Code

SCCC Serially Concatenated Convolutional Code

SISO Soft Input Soft Output

SOVA Soft Output Viterbi Algorithm

9 References Documents.

[1] S.Benedetto, D.Divsalar, G.Montorsi, F.Pollara, "A Soft-Input Soft-Output APP Module for

iterative Decoding of Concatenated Codes", IEEE Communication Letters, Vol.1, NO.1, January

1997.

[2] Digital Viedo Broadcasting (DVB): Framing structure, channel coding and modulation for

Digital Satellite News Gathering (DSNG) and other contribution applications by satellite. European

Telecommunication Standard, prEN 301 210, January 1998.