hanxiaoge - diva portalliu.diva-portal.org/smash/get/diva2:504435/fulltext01.pdfand it is the first...

84
Institutionen för systemteknik Department of Electrical Engineering Examensarbete Investigation of LDPC code in DVB-S2 Examensarbete utfört i Reglerteknik vid Tekniska högskolan vid Linköpings universitet av Hanxiao Ge LiTH-ISY-EX--12/4321--SE Linköping 2012 Department of Electrical Engineering Linköpings tekniska högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping

Upload: vuongtruc

Post on 30-Apr-2018

232 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Institutionen för systemteknikDepartment of Electrical Engineering

Examensarbete

Investigation of LDPC code in DVB-S2

Examensarbete utfört i Reglerteknikvid Tekniska högskolan vid Linköpings universitet

av

Hanxiao Ge

LiTH-ISY-EX--12/4321--SE

Linköping 2012

Department of Electrical Engineering Linköpings tekniska högskolaLinköpings universitet Linköpings universitetSE-581 83 Linköping, Sweden 581 83 Linköping

Page 2: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 3: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Investigation of LDPC code in DVB-S2

Examensarbete utfört i Reglerteknikvid Tekniska högskolan i Linköping

av

Hanxiao Ge

LiTH-ISY-EX--12/4321--SE

Handledare: Jian Wangisy, Linköpings universitet

Examinator: Di Wuisy, Linköpings universitet

Linköping, 23 January, 2012

Page 4: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 5: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Avdelning, InstitutionDivision, Department

Division of Automatic ControlDepartment of Electrical EngineeringLinköpings universitetSE-581 83 Linköping, Sweden

DatumDate

2012-01-23

SpråkLanguage

¤ Svenska/Swedish

¤ Engelska/English

¤

£

RapporttypReport category

¤ Licentiatavhandling

¤ Examensarbete

¤ C-uppsats

¤ D-uppsats

¤ Övrig rapport

¤

£

URL för elektronisk versionhttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-75164

http://www.ep.liu.se

ISBN

ISRN

LiTH-ISY-EX--12/4321--SE

Serietitel och serienummerTitle of series, numbering

ISSN

TitelTitle Investigation of LDPC code in DVB-S2

FörfattareAuthor

Hanxiao Ge

SammanfattningAbstract

As one of the most powerful error-correcting codes, Low-density parity checkcodes are widely used in digital communications. Because of the performanceof LDPC codes are capable to close the shannon limited extraordinarily, LDPCcodes are to be used in the new Digital Video Broadcast-Satellite-SecondGeneration(DVB-S2) and it is the first time that LDPC codes are included in thebroadcast standard in 2003.

In this thesis, a restructured parity-check matrices which can be divided intosub-matrices for LDPC code in DVB-S2 is provided. Corresponded to this re-structured parity-check matrix, a reconstructed decoding table is invented. Theencoding table of DVB-S2 standard only could obtain the unknown check nodesfrom known variable nodes, while the decoding table this thesis provided couldobtain the unknown variable nodes from known check nodes what is exactly theLayered-massage passing algorithm needed. Layered-message passing algorithmwhich also known as "Turbo-decoding message passing" is used to reduce the de-coding iterations and memory storage for messages. The thesis also investigate Bpalgorithm, λ-min algorithm, Min-sum algorithm and SISO-s algorithm, meanwhile,simulation results of these algorithms and schedules are also presented.

NyckelordKeywords LDPC code, DVB-S2, Restructured parity-check matrix, Layered message pass-

ing(LMP), Reconstructed decoding table

Page 6: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 7: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

AbstractAs one of the most powerful error-correcting codes, Low-density parity check codesare widely used in digital communications. Because of the performance of LDPCcodes are capable to close the shannon limited extraordinarily, LDPC codes are tobe used in the new Digital Video Broadcast-Satellite-Second Generation(DVB-S2)and it is the first time that LDPC codes are included in the broadcast standardin 2003.

In this thesis, a restructured parity-check matrices which can be divided intosub-matrices for LDPC code in DVB-S2 is provided. Corresponded to this re-structured parity-check matrix, a reconstructed decoding table is invented. Theencoding table of DVB-S2 standard only could obtain the unknown check nodesfrom known variable nodes, while the decoding table this thesis provided couldobtain the unknown variable nodes from known check nodes what is exactly theLayered-massage passing algorithm needed. Layered-message passing algorithmwhich also known as "Turbo-decoding message passing" is used to reduce the de-coding iterations and memory storage for messages. The thesis also investigate Bpalgorithm, λ-min algorithm, Min-sum algorithm and SISO-s algorithm, meanwhile,simulation results of these algorithms and schedules are also presented.

v

Page 8: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 9: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Acknowledgments

I would like to express my sincere gratitude to my examiner Di Wu who giveslots of helpful on thesis ideas and proposal.

I would like to thank my supervisor Jian Wang who guide me to finish thethesis.

There is no doubt there are lots of helpful tools, such as latex, matlab, emacs,I used during my project. so, I am grateful to those tools’ authors.

Special thanks should be given to my parents and my boyfriend for their en-couragement and assistance. And thanks to all my friends who help and supportme.

Finally, it is my honour to be a master student in the Linköping Universityand completed the programme successfully in the ISY department. I will neverforget these wonderful life during my study in Sweden.

vii

Page 10: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 11: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Contents

1 Introduction 31.1 Thesis Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Low-density parity check codes 52.1 The block code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Representations of LDPC codes . . . . . . . . . . . . . . . . . . . . 72.3 Hard-decision and Soft-decision decoding . . . . . . . . . . . . . . 9

2.3.1 Hard-decision decoding . . . . . . . . . . . . . . . . . . . . 92.3.2 Soft-decision decoding . . . . . . . . . . . . . . . . . . . . . 12

2.4 Decoding algorithms for LDPC codes . . . . . . . . . . . . . . . . . 142.4.1 BP Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.2 λ-min Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 182.4.3 Min-sum Algorithm . . . . . . . . . . . . . . . . . . . . . . 19

3 Analysis of LDPC codes in DVB-S2 213.1 Regularity of the LDPC code in DVB-S2 . . . . . . . . . . . . . . . 213.2 Schedule for iterative decoding . . . . . . . . . . . . . . . . . . . . 24

3.2.1 Two-Phase Message passing schedule . . . . . . . . . . . . . 243.2.2 Layered-Message passing schedule . . . . . . . . . . . . . . 25

4 DVB-S2 LDPC decoding using reconstructed decoding table 294.1 Restructured parity-check matrix for DVB-S2 . . . . . . . . . . . . 29

4.1.1 Description of restructured parity-check matrix . . . . . . . 314.2 Reconstructed LDPC decoding table . . . . . . . . . . . . . . . . . 324.3 SISO algorithm for restructured parity-check matrix . . . . . . . . 36

4.3.1 SISO-simplified(SISO-s) algorithm . . . . . . . . . . . . . . 384.3.2 Verification of SISO algorithm . . . . . . . . . . . . . . . . 38

5 Simulation results 415.1 Comparison among BP, λ-min and Min-sum algorithms . . . . . . 41

5.1.1 Comparison among BP, 3-min, 2-min and Min-sum algo-rithms at rate 1/4 . . . . . . . . . . . . . . . . . . . . . . . 41

5.1.2 Comparison among BP, 4-min, 3-min, 2-min and Min-sumalgorithms at rate 1/2 . . . . . . . . . . . . . . . . . . . . . 42

5.1.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

ix

Page 12: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

x Contents

5.2 Comparison between TPMP and LMP . . . . . . . . . . . . . . . . 435.2.1 Comparison of performance with the specified iterations . . 435.2.2 Comparison of the iterations between TPMP and LMP . . 435.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3 Comparison among SISO, SISO-s and λ-min algorithms . . . . . . 445.3.1 Comparison between SISO and SISO-s algorithms . . . . . 445.3.2 Comparison between SISO-s and λ-min algorithms . . . . . 455.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Memory cost estimation 496.1 Decoder architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.1.1 Memory of variable messages . . . . . . . . . . . . . . . . . 496.1.2 Interconnected network . . . . . . . . . . . . . . . . . . . . 506.1.3 Decoding units of extrinsic messages . . . . . . . . . . . . . 51

6.2 Memory cost estimation . . . . . . . . . . . . . . . . . . . . . . . . 526.2.1 Memory cost estimation of Extrinsic-messages . . . . . . . . 52

7 Conclusion and Future work 557.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Bibliography 57

A Decoding Table: Addresses of variable bits for Nldpc = 64800 59

Page 13: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

List of Figures2.1 Tanner graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Presentation for qij and rji . . . . . . . . . . . . . . . . . . . . . . 92.3 Illustration for example 2.1 . . . . . . . . . . . . . . . . . . . . . . 122.4 Function φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1 Tanner graph for an irregular LDPC code . . . . . . . . . . . . . . 243.2 Illustration of a decoding for a sub-iteration . . . . . . . . . . . . . 27

4.1 Tanner graph for the number ’54’ . . . . . . . . . . . . . . . . . . 304.2 Parity-check matrix for the number ’54’ . . . . . . . . . . . . . . . 304.3 Tanner graph for the number ’9318’ . . . . . . . . . . . . . . . . . 314.4 Parity-check matrix for the number ’9318’ . . . . . . . . . . . . . . 324.5 Restructured parity-check matrix . . . . . . . . . . . . . . . . . . . 334.6 A special sub-matrix in restructured parity-check matrix . . . . . . 344.7 Single row layered-message passing to block row layered-message

passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.8 Computation of extrinsic message with q(x, y) . . . . . . . . . . . . 36

5.1 Performance of Bp, λ-min with λ = 2, 3 and Min-sum algorithmsat rate 1/4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 Performance of Bp, λ-min with λ = 2, 3, 4 and Min-sum algorithmsat rate 1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.3 Performance of Two-phase message passing(TPMP) and Layeredmessage passing(LMP) with four specified iterations . . . . . . . . 44

5.4 Iterations comparison between Two-phase message passing(TPMP)and Layered-message passing(LMP) at rate 1/4 . . . . . . . . . . . 45

5.5 Iterations comparison between Two-phase message passing(TPMP)and Layered-message passing(LMP) at rate 1/2 . . . . . . . . . . . 46

5.6 Iterations comparison between Two-phase message passing(TPMP)and Layered-message passing(LMP) at rate 2/3 . . . . . . . . . . . 46

5.7 Performance of SISO and SISO-s algorithms at rate 1/2 . . . . . . 475.8 Performance of SISO-s and λ-min algorithms at rate 1/2 . . . . . . 47

6.1 Overview of the date flow for Layered-message passing algorithm . 506.2 Memory of variable messages . . . . . . . . . . . . . . . . . . . . . 516.3 Decoding unit for extrinsic message . . . . . . . . . . . . . . . . . . 54

List of Tables3.1 The q for normal frames . . . . . . . . . . . . . . . . . . . . . . . . 223.2 The q for short frames . . . . . . . . . . . . . . . . . . . . . . . . . 223.3 Parameters for LDPC code in DVB-S2 of 11 code rates . . . . . . 23

6.1 Extrinsic message memory estimation for LDPC code in DVB-S2 . 52

Page 14: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 15: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 1

Introduction

Low-Density Parity-Check(LDPC) codes was first discovered by Robert G. Gal-lager in 1962 in his doctoral dissertation [9]. It had not been drawing enoughattention for almost 30 years until McaKay and Neal rediscovered it in 1990s[6].Granted by its excellent decoding ability, the performance of LDPC codes allowsthe noise threshold to be set very close to the theoretical maximum (the Shannonlimit).

Compared to turbo codes, LDPC codes have a higher error correcting perfor-mance and lower complexity. These advances boosted LDPC codes to be appliedin the new Digital Video Broadcast-Satellite-Second Generation (DVB-S2)[1], andfor the first time LDPC codes won the competition against six turbo codes andbecame part of the broadcast standard in 2003. In fact, LDPC codes have beenalso used in many other systems, such as WiMAX (802.16e), CMMB, 10GBaseT(802.3an).

However, LDPC code in DVB-S2 can be a combination of normal and shortframes, which have the codeword length of 64800 bits and 16200 bits, respectively.Such kind of computational burden laid on an implementation platform demandsa proper decoding algorithm simplification to reduce its computation complexity.Up to date, intensive investigation has shown there are many possible algorithmsfor LDPC codes. Among them, the basic BP-algorithm which is so-called sum-product algorithm, achieves good performance but still remains high computationcomplexity. In order to overcome its shortcomings, λ-min algorithm and min-sumalgorithm[5][3], which are both based on BP-algorithm, are introduced.

The decoding algorithms for LDPC are iterative, and the procedure consists ofvariable message and check message and their updating. In the process, the mes-sages sent to check nodes are updated by variable nodes and on the contrary, theones sent to variable nodes are updated by check nodes. A schedule called "Two-phase message passing (TPMP)" executes the computations in two steps, whichinclude the message computation from variable node to check node and that from

3

Page 16: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4 Introduction

check node to variable node as well. Compared to TPMP, another schedule whichis known as "Layered-message passing (LMP)" or "Turbo decoding-message pass-ing (TDMP)" has higher convergence speed[8][2]. For this schedule, the variablemessages are updated in each sub-iteration and hard-decision is made after theupdating of variable message in each sub-iteration.

In this thesis, the parity-check matrix of LDPC in DVB-S2 is restructured sothat the matrix can be divided into many sub-matrices. Meanwhile, one com-putation mechanism called "Soft-in Soft-out (SISO)" algorithm[7], which is alsoevolved from BP-algorithm is introduced. With the combination of sub-matricesand layered message passing schedule, the efficiency of decoding is increased andthe memory storage for messages are reduced.

This thesis investigate several of the most important LDPC algorithms andpresents the simulation results. According to analysis of the characteristic tothe LDPC code in DVB-S2, a structured decoding iterative algorithm is proposed.Meanwhile, a corresponding decoding table for LDPC codes in DVB-S2 is provided.

1.1 Thesis GuidelinesThesis consists of 7 chapters.

Chapter 1 Summarizes the LDPC code and DVB-S2 system.

Chapter 2 Introduces the basic knowledge and several common algorithms ofLDPC code.

Chapter 3 Analyses the structure of parity-check matrix of LDPC code in DVB-S2 and presents two schedules with different convergence speed.

Chapter 4 Restructures the parity-check matrix of LDPC code in DVB-S2 andprovide a reconstructed decoding table instead of the encoding table.

Chapter 5 Presents the simulation results and comparison of their performance.

Chapter 6 Provides decoder architecture in DVB-S2 and memory cost estima-tion.

Chapter 7 Makes the conclusion and future work.

Page 17: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 2

Low-density parity checkcodes

In 1962, Robert G. Gallager first presented the Low-Density Parity-Check(LDPC)codes in his doctoral dissertation[9]. LDPC codes are linear error correcting codesdefined by a sparse parity check matrix, it achieves the bit-error-rate performancenear the theoretical Shannon limit. But it’s limited to the technical conditionsand LDPC codes were forgotten for almost 30 years until it was reinvented byMackay in 1996[6]. Compared to turbo codes, LDPC codes have a higher errorcorrecting performance and lower complexity, LDPC codes are to be used in thenew Digital Video Broadcast-Satellite-Second Generation(DVB-S2) and it is thefirst time that LDPC codes are included in the broadcast standard in 2003[1].

2.1 The block code

LDPC codes are error correcting codes consist of block codes and convolutionalcodes. Because LDPC convolutional codes are uneconomical to implement in hard-ware with large area and high power consumption, mostly LDPC block codes areused in the practical hardware implementation. In the rest part of this paper, weonly work on LDPC block codes.

The block code is an important error-correcting code which helps us to trans-mit the messages over communication channels. The data stream is divided intopieces which we called messages with the length K, then each message is encodedto a codeword with length N. Here we use (N,K) to denote the block code whichconsist of the length N for codeword and the length K for message. The ratioof the message and the codeword is R = K/N . For easy understanding, we canconsider R as one codeword with length N contains one message with length K.

The encoding process can be described as the multiplication between the mes-sage m and a special matrix, here the special matrix is called as the generator

5

Page 18: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

6 Low-density parity check codes

matrix.

C = m ·G (2.1)

Here we denote the generator matrix G is a set of {g0, g1, · · · , gk−1}and eachgk−1 have the dimension with the number n. We also denote the message m ={m0, m1, · · · ,mk−1}, and the codeword C = {c0, c1, · · · , cn−1}.

G =

g0,0 g0,1 · · · g0,n−1

g1,0 g1,1 · · · g1,n−1

......

. . ....

gk−1,0 gk−1,1 · · · gk−1,n−1

(2.2)

Corresponding to the generator matrix G, there exists a (n− k) × n matrixH to let G ·HT , we call it parity-check matrix. It requires H should meet theequation C ·H = 0. If we put the generator matrix G into [I, P ], the parity-checkmatrix can be organized as

[PT , I

].

H =

h0,0 h0,1 · · · h0,n−1

h1,0 h1,1 · · · h1,n−1

......

. . ....

hn−k−1,0 hn−k−1,1 · · · hn−k−1,n−1

(2.3)

C ·HT = 0 (2.4)

Hence, it’s easy to find the relation between G and H as the equation below.

G ·HT = 0 (2.5)

Here, we use an example to achieve a quick understanding of the relation amongthem.

Example 2.1

It’s a (7,3) generator matrix.

G =

1 0 0 1 1 0 10 1 0 0 1 1 10 0 1 1 0 1 1

Page 19: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.2 Representations of LDPC codes 7

If the message vector ism = [1, 0, 1], we can calculate the responding codewordas below.

C = m ·G =[1 1 0

] ·

1 0 0 1 1 0 10 1 0 0 1 1 10 0 1 1 0 1 1

=

[1 1 0 1 0 1 0

]

we need to find a (n− k)× n matrix H to meet the requirement C ·HT = 0.Obviously, the parity-check matrix we supplied below also meet the requirementG ·HT = 0.

H =

1 0 1 1 0 0 01 1 0 0 1 0 00 1 1 0 0 1 01 1 1 0 0 0 1

2.2 Representations of LDPC codes

Normally, there exists matrix and graphical representations for the LDPC codes.Before Tanner introduced his effective graphical representation, we use the matrixrepresentation to describe the LDPC codes. The reason for the LDPC codes calledlow-density is its parity-check matrix has most zeros and a small amount of ones.Suppose we have an (N, K)LDPC code with the parity-check matrix H. Parity-check matrix H has the block length N and the dimension M = N − K whichmeans this parity-check matrix has N columns and M rows. We denote each rowhas Dc ones and each column has Dv ones which are corresponded to the degreesin the Tanner graph.

Tanner graph is a bipartite graph which consists of variable nodes and checknodes. An (N, K) LDPC code has N variable nodes and N-k check nodes, wecan simply consider that variable nodes are the bits of the codewords. The edgesbetween variable nodes and check nodes are the ones in the matrix H which meansthis variable node and check node are associated. As it is called, check nodes helpus to check the correctness of the codewords. We can easy to change the H below

Page 20: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

8 Low-density parity check codes

�� ������

����

�� ����

����

�� �� ��

�� �� �� �� �� �� �� ��

Figure 2.1. Tanner graph

into Tanner graph of figure 2.1.

H =

0 1 1 0 1 0 0 11 1 0 1 0 1 0 00 0 0 1 1 0 1 11 0 1 0 0 1 1 0

Regular and Irregular LDPC codes

From the figure 2.1 we can easily find that the degree of variable nodes which areassociated to the bits of codewords is Dv and the degree of check nodes is Dc.If each Dc are constant and so it is with Dv, we call this LDPC code is regular.Otherwise, it’s an irregular LDPC code.

According to every variable node, if it has a high degree which means it canreceive more information from the associated check nodes. More information thevariable node get, the higher correctness the variable node reach. For each checknode, it can propagate more valuable information to the associated variable nodeswith low degree. In irregular LDPC codes, the variable nodes with higher degreecould get their correct value more quickly, and the associated check nodes havea greater chance to get the correct information. Then, the variable nodes withlow degree can receive more valuable information from the associated high degreecheck nodes. Hence, the performance of irregular LDPC codes is better than reg-ular LDPC codes.

Page 21: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.3 Hard-decision and Soft-decision decoding 9

��������

����

�� ����

������

��

��

���

������

���

Figure 2.2. Presentation for qij and rji

2.3 Hard-decision and Soft-decision decoding

The decoding algorithms for LDPC codes approximately divided into hard-decisionalgorithm and soft-decision algorithm. Hard-decision algorithm decodes the dataon fixed set of value, because we only consider the binary symmetric channels thatthe fixed value should be 0 or 1. Compared with hard-decision algorithm’s simpleimplementation, soft-decision algorithm has better performance.

Before introducing the algorithms, let’s make some notations first.

fj- the j’th check node.ci- the i’th variable node.qij - the message from variable node ci to check node fj .rji - the message from check node fj to variable node ci.Nj = {i,Hji = 1}- the set of variable nodes fulfil the equation in the j’th row.Nj\i = {i′,Hji′ = 1} \ {i}- the set of variable nodes fulfil the equation in the j’throw except the i’th variable node.Mi = {j,Hji = 1}- the set of check nodes fulfil the equation in the i’th column.Mi\j = {j′,Hj′i = 1} \ {j}- the set of check nodes fulfil the equation in the i’thcolumn except the j’th check node.pi = Pr (ci = 1 | yi)

2.3.1 Hard-decision decoding

Here we introduce a kind of hard-decision algorithm named bit-flipping algorithm.The parity-check matrix is a sparse parity check matrix which was built randomly.Because of its sparseness, either the receiver doesn’t receiver any wrong code orthere is a high probability to receive a wrong code. This algorithm will be in-troduced by the data of the example 2.1 and figure 2.1. The modulation mapsthe codewords C = {c1, c2, · · · , cn−1} into a sequence X = {x1, x2, · · · , xn−1}.

Page 22: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

10 Low-density parity check codes

Y = {y1, y2, · · · , yn−1} was denoted as the real received vector via the transmitchannel, and Z = {z1, z2, · · · , zn−1} was the hard-decision vector which was gotfrom the equation below.

zi =

{0 yi ≤ 01 yi > 0

(2.6)

The parity matrix H was denoted as equation 2.2, and we denote s = z ·HT .Then we can get the equation below.

sn−k = z · hn−k =n−1∑

i=0

zi · h(j,i) (mod2) , J = N −K (2.7)

If the sn−k in the set of S are all zeros, they receive the correct codewords.And if there has no-zeros in the set of S, the received vector Z has some mistakesin it. Let’s make some notations as below.

f = {f0, f1, · · · , fj , · · · , fN−1} = s ·H

fn−k = s · hn−k =j−1∑

i=0

si · h(i,j), J = N −K (2.8)

Then find the largest element fj in the set {f0, f1, · · · , fN−1}and transfer thecorresponding zj to the opposite number. Here we use several steps to introducethe bit-flipping algorithm.

Step 1 Use the equation 2.7 to calculate the vector sn−k with the received vec-tor z. If the elements in the set of s are all zeros, it’s terminated with the correctvector, otherwise, go to the next step.

Step 2 Calculate the set of {f0, f1, · · · , fN−1} and find the largest fj . Thentransfer the corresponding zj to it’s opposite number (0 or 1), get a new vector z’.

Step 3 calculate the vector sn−k = z · hn−k with the new vector z’. If the ele-ments of s are all zeros or the iterations reach the maximum number, the decodingis terminated with the current vector, otherwise, the decoding go back to step 2.

Page 23: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.3 Hard-decision and Soft-decision decoding 11

Example 2.2

Assume we get the vectorz = {1, 1, 0, 0, 1, 1, 0, 1}, and we use the same parity-checkmatrix H which is built the figure 2.1. Then we can get

s = z ·HT = {1, 1, 0, 0}Then go to step 2,

f = {1, 2, 1, 1, 1, 1, 0, 1}Obviously, f1 is the largest element in the set of f. Then change z1 = 1 to

z1 = 0, and go back to re-calculate the vector s. Because of s = {0, 0, 0, 0},z = {1, 0, 0, 0, 1, 1, 0, 1} is the correct vector after the decoding.

Message passing algorithm for hard-decision decoding

In order to get a better overview of the soft-decision decoding, here another hard-decision decoding algorithm will be introduced. Unlike the last method which onlyuse the parity-check matrixH, this method is based on the Tanner graph to decode.

As figure 2.2 shows, the check node fj receives the message from the connectedvariable nodes. Assume the check node fj has four connected variable nodes andit receive four message from them. Then if ciwhich is one of the connected variablenodes want the response message from this check node fj , in order to fulfil theequation Hji = 1, the check node fj will return the message which is calculatedvia the messages from the other three variable nodes to ci For example, the f0

is connected to c1, c2, c4, c7 in figure. If the messages from c1, c1, c4 are 0,1,0, thecheck nodefj returns 1 to c7 for fulfilling the equation. Then every variable nodegets their messages from the check nodes they connected, use the majority vote tomake the decision.

Let’s use the data from example 2.2 and figure 2.3 to illustrate this method.

Step 1 All variable node ci send their messages to the connected check nodesfj , and each fj receives four variable node messages. Such like the f0 in figure 2.3receives messages from c1, c2, c4, c7.

Page 24: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

12 Low-density parity check codes

�� ������

����

�� ����

����

�� �� ��

�� �� �� �� �� �� �� ��

� � � � � � � �

� � � �� � � �� � � �� � � �

Figure 2.3. Illustration for example 2.1

Step 2 Calculate the the response message from check nodes fj to connectedvariable nodes ci. We assume the other message from connected variable nodesare correct, in order to fulfil the equation H = 1 we can get the response message.Use f2 as an example, the messages from c1, c2, c4, c7 is {1, 0, 1, 1}. We calculatethe response message to c1 by the other three message {0, 1, 1}. For fulfilling theequation, the response message to c1 should be 0.

In this step, every variable node receives two response message from their con-nected check nodes, if those two messages are both equal to its original messageit means this variable code has the correct value. it is presented in figure 2.3.

Step 3 This step is going to decide the value of variable node by majority vote.The messages consist of two messages from the connected check nodes and itsoriginal message. Let’s go to the figure 2.3, the message for c0 is {0, 1, 1} and thedecision for c0 is 1. After every variable node decide its new value, we can findonly c1 has changed. We get a new vector {1, 0, 0, 0, 1, 1, 0, 1}.

Step 4 Go back to step 2, if every variable node receives the same value messagefrom the connected check nodes, the vector is decoded correctly. So we correctthe vector {1, 1, 0, 0, 1, 1, 0, 1} to {1, 0, 0, 0, 1, 1, 0, 1} which is the same result withexample 2.2.

2.3.2 Soft-decision decodingAccording to the method explained above, we have a basic understanding of mes-sage passing algorithm which is also the basic principle for soft-decision decod-

Page 25: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.3 Hard-decision and Soft-decision decoding 13

ing algorithm. The greatest difference between hard-decision decoding and soft-decision decoding is the former propagates the message of 0 or 1 while the latterpropagate the probability of 0 or 1. Next there is three steps to introduce thesoft-decision algorithm.

Step 1 All variable node ci send their messages qij to the connected check nodesfj . The message which consist of qij (0) and qij (1) from the variable node ci isthe probability of 0 and 1. The equations below are based on there is no availableinformation between variable nodes and check notes, it’s a initialization.

qij (0) = 1− Pi

qij (1) = Pi

Step 2 Calculate the the response message rji from check nodes fj to connectedvariable nodes ci. According to Gallager’s research[], we get a equation to calcu-late the probability for the even 1’s in a sequence to fulfil H = 1 . For an N lengthbinary sequence, the probability for how many even 1’s is showed below.

12

1 +

n∏

j=1

(1− 2Pi)

(2.9)

Then the check nodes’ response messages are

rji (0) =12

1 +

i′∈Nj\i

(1− 2qi′j (1))

(2.10)

rji (1) = 1− rji (0)

Step 3 When the check codes receive the messages from variable nodes, the newqij is a multiplication of old qij times the received rji. Kij is denoted as a param-eter for the new qij to fulfil the equation qij (0) + qij (1) = 1. In order to reducethe effect of ci to itself after the iterations, Mi\j means all veritable nodes exceptcj participate the multiplication.

qij (0) = Kij (1− pi)∏

j′∈Mi\j

rj′i (0)

qij (1) = Kijpi

j′∈Mi\j

rj′i (1) (2.11)

Page 26: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

14 Low-density parity check codes

qij (0) + qij (1) = 1

After the variable node cj update it’s probabilities, the equations below showshow to calculate the estimation of cj . Kij is selected to ensure Qi (0)+Qi (1) = 1.If Qi (0) > Qi (1), the estimation for this variable node is 0, otherwise the estima-tion is 1.

Qi (0) = Kij (1− pi)∏

j∈Mi

rji (0)

Qi (1) = Kijpi

j∈Mi

rji (1) (2.12)

Qi (0) + Qi (1) = 1

If the current estimation of the codeword fulfil H=1 or the iterations reachthe limitation, the termination to the decoding is enforced. Otherwise, go back tostep 2.

This soft decision decoding algorithm is sum-product algorithm, also calledbelief- propagation algorithm. Compared to soft-decision decoding, hard-decisiondecoding has low complexity but worse performance, while hardware implemen-tation of soft-decision is limited by its complexity. Generally, both soft-decisiondecoding and hard-decision decoding are used in one algorithm.

2.4 Decoding algorithms for LDPC codes

The (N, K) LDPC codes are defined by parity-check matrices H = [Hji] which isa matrix with N columns and N-K rows. Here denote each column which could beregarded as one variable node has Dv check nodes connected and each row whichcould be regarded as one check node has Dc variable nodes connected. From thatwe can denote the set of variable nodes N (j) = {n : Hji = 1} and the check nodesM (i) = {j : Hji = 1}. Similar to the notation in previous chapter, Nj\i meansthe variable nodes’ set without the variable node n and Mi\j means check nodes’set without the check node j.

Page 27: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.4 Decoding algorithms for LDPC codes 15

The message passing algorithm was simply introduced in chapter 2, the algo-rithms which will be introduced are all based on message passing algorithm. Themessage passing algorithm for LDPC codes could be illustrated by Tanner graphwith passing message via the edge between variable nodes and check nodes.In thesubsection, Belief-propagation decoding algorithm will be introduced first, thenseveral simplified BP-decoding algorithm will be proposed and compared in theleft part.

2.4.1 BP Algorithm

Belief-propagation decoding algorithm, also called sum-product decoding algo-rithm was rediscoverd by McaKay and Neal[6]. In the previous chapter, the soft-decision decoding algorithm propagates the message from variable nodes to checknodes then propagate the message back. The message consists of the probabilitiesof both 0 and 1, and the calculations for the check nodes is multiplications whichcauses high complexity. Here we introduce the log-likelihood ratio (LLR) whichcan transfer the multiplications to additions in log-domain. In the left part of thisthesis, all of the numbers will be introduced in log-domain.

L (ci) = log1− pi

pi

uij = logqij (0)qij (1)

, vji = logrji (0)rji (1)

(2.13)

The codeword is transmitted over a channel corrupted by additive white Gaus-sian noise(AWGN) after the BPSK modulation. Then we can get the probabilityof qij (0) and qij (1).

qij (0) = 1− pi = Pr (ci = 0|yi) =1

1 + e−2yi

σ2

(2.14)

qij (1) = pi = Pr (ci = 1|yi) =1

1 + e2yiσ2

(2.15)

Initialization

Page 28: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

16 Low-density parity check codes

uij = log(

qij (0)qij (1)

)

= log

(1 + e

2yiσ2

1 + e−2yi

σ2

)

= log(e2yi/σ2)

= 2yi/σ2 (2.16)

vji = 0

Here we use several steps to introduce the BP-decoding algorithm. Here wedenote LLRint as the received LLR message.

Step 1 Message computation from variable node to check node

The detailed computation of the message from the varible nodes to each checknode vji is introduced.

vji = log(

rji (0)rji (1)

)

= log

1 +∏

i′∈Nj\i

(1− 2qi′j(1)

1− ∏i′∈Nj\i

(1− 2qi′j(1)

= log

1 +∏

i′∈Nj\i

(1− 2

(1

1+eu

i′j

))

1− ∏i′∈Nj\i

(1− 2

(1

1+eu

i′j

))

= log

1 + e

Pi′∈Nj\i

log

„e

ui′j−1

eu

i′j +1

«

1− e

Pi′∈Nj\i

log

„e

ui′j−1

eu

i′j +1

«

(2.17)

Page 29: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.4 Decoding algorithms for LDPC codes 17

The most frequently used computation is defined, and φ has the property thatφ (x) = φ−1 (x) when x > 0.

φ (x) = − log(tanh

(x

2

))= log

ex + 1ex − 1

(2.18)

Simplified by φ(x), the equation 2.18 can reconstruct as below.

vji =∏

i′∈Nj\i

sign(ui′j) · φ ∑

i′∈Nj\i

φ (|ui′j |) (2.19)

Note that all the value from variable nodes need to be separated into sign andabsolute value in the computation.

Step 2 Message computation from check node to variable node

For each check node, use the equation below to update the message uij .

uij = LLRint (i) +∑

j′∈Mi\j

vj′i (2.20)

Step 3 Hard decision

In order to get a new LLR for hard-decision, use equation below to update themessage ui.

ui = LLRint (i) +∑

j∈Mi

vji (2.21)

zi =

{1 ui ≤ 00 ui > 0

(2.22)

If ziHT = 0 , zi could be considered as a correct codeword then stop the itera-

tions. Or go back to step 1 until the iteration exceeds the maximum number, butthe codeword z can not be considered as a correct codeword.

Page 30: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

18 Low-density parity check codes

Each check node receives Dc messages from the variable nodes which are asso-ciated to this check node, then the check node calculate the corresponding messagevji and send them back to associated variable node. After receiving messages fromthe check nodes, the variable nodes calculate a new LLR vector to replace the oldLLR vector for the next iteration.

0 0.5 1 1.5 2 2.5 30

1

2

3

4

5

6

7

8

φ(x)

φ(x)

Figure 2.4. Function φ

2.4.2 λ-min Algorithmλ-min decoding algorithm could be considered as a simplified BP decoding algorithm[3],the key of the simplification is the approximation of 2.18. As the curve of φ (x)shows in figure 2.4, the smaller value in x-axis obtains higher value in y-axis thatmeans the result of vji depends on the minimum absolute value of uij . Here sup-pose the vector [I1, I2, · · · , Iλ] is the λ smallest absolute value, then 2.18 coulddescribed as

vji =∏

i′∈Nj\i

sign(ui′j) · φ ∑

i′∈Nj\i

φ (|ui′j |)

≈∏

i′∈Nj\i

sign(ui′j) · φ [φ |I0|+ φ |I1|+ · · ·+ φ |Iλ|]

For each iteration, 3 steps are processed as below.

Step 1 Message computation from variable node to check node

For each check node with λ-min absolute value from the associated variablenodes, update vji by equation below.

Page 31: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

2.4 Decoding algorithms for LDPC codes 19

vji =∏

i′∈Nj\i

sign(ui′j) · φ [φ |I0|+ φ |I1|+ · · ·+ φ |Iλ|] (2.23)

Step 2 Message computation from check node to variable node

For each check node, use the equation below to update the message uij .

uij = LLRint (i) +∑

j′∈Mi\j

vj′i (2.24)

Step 3 Hard decision

In order to get a new LLR for hard-decision, use equation below to update themessage ui.

ui = LLRint (i) +∑

j∈Mi

vji (2.25)

Create the hard decision vector zi, zi = 1 when ui > 0 and zi = 0 when ui > 0.If ziH

T = 0 , zi could be considered as a correct codeword then stop the iterations.Or go back to step 1 until the iteration exceeds the maximum number, but thecodeword z can not be considered as a correct codeword.

2.4.3 Min-sum Algorithm

As the suggestion of the name, min-sum algorithm could be considered as twosteps with min and sum. The simplification is still the approximation of 2.18,but in this algorithm only the minimum and minimum but one absolute value arestored.For each iteration, 3 steps are processed as below.

Step 1 Message computation from variable node to check node

For each check node with minimum and minimum but one absolute value fromthe associated variable nodes, update vji by equation below.

Page 32: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

20 Low-density parity check codes

vji =∏

i′∈Nj\i

sign(ui′j) · φ ∑

i′∈Nj\i

φ (|ui′j |)

≈∏

i′∈Nj\i

sign(ui′j) · [min |ui′j |] (2.26)

Step 2 Message computation from check node to variable node

For each check node, use the equation below to update the message uij .

uij = LLRint (i) +∑

j′∈Mi\j

vj′i (2.27)

Step 3 Hard decision

In order to get a new LLR for hard-decision, use equation below to update themessage ui.

ui = LLRint (i) +∑

j∈Mi

vji (2.28)

Create the hard decision vector zi, zi = 1 when ui > 0 and zi = 0 when ui > 0.If ziH

T = 0 , zi could be considered as a correct codeword then stop the iterations.Or go back to step 1 until the iteration exceeds the maximum number, but thecodeword z can not be considered as a correct codeword.

Page 33: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 3

Analysis of LDPC codes inDVB-S2

Because of the outstanding communication performance which even can outper-form the Turbo code, LDPC code is selected by the second generation DigitalVideo Broadcasting standard for satellite applications (DVB-S2) as their channeldecoding scheme. It’s necessary to analysis the structure and schedule of LDPCcodes in DVB-S2[4], then in section 3.4 a reconstructed decoding table and anefficient algorithm will be introduced.

3.1 Regularity of the LDPC code in DVB-S2

The LDPC code in DVB-S2 has normal frames with the codeword length of 64800bits and short frames with the codeword length of 16200 bits. The normal frameshas 11 different code rates ranging from 1/4 to 9/10 and the short frames has 10different code rate ranging from 1/4 to 8/9, the normal frames will be illustratedin the following part.

According to the definition in DVB-S2 standard[1], the LDPC code are encodedas irregular repeat accumulate (IRA) codes which have the advantage of low en-coding complexity. The LDPC encoder encode the information (i0, i1, · · · , iK−1)with the size of K onto a codeword with the size of N , the LDPC encoder need tocreate the (N −K) parity bits (p0, p1, · · · , pN−K−1) from the K information bits.Before the procedure, the q was denoted as a constant varies by rates. The table3.1 for normal frames and table 3.2 for short frames are presented by N = 64800(or 16200) in DVB-S2.

q =N −K

360=

N

360(1−R) (3.1)

21

Page 34: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

22 Analysis of LDPC codes in DVB-S2

Code Rate q1/4 1351/3 1202/5 1081/2 903/5 722/3 603/4 454/5 365/6 308/9 209/10 18

Table 3.1. The q for normal frames

Code Rate q1/4 361/3 302/5 271/2 253/5 182/3 153/4 124/5 105/6 88/9 5

Table 3.2. The q for short frames

Step 1 p0 = p1 = p2 · · · = pN−K−1 = 0

Step 2 Let’s do the accumulation to i0, the corresponding parity bits to theinformation bits i0 are specified in the annex B of DVB-S2 standard. Here we userate 1/2 as the example rate.

p54 =p54 ⊕ i0, p9318 = p9318 ⊕ i0

p14392 =p14392 ⊕ i0, p27561 = p27561 ⊕ i0

p26909 =p26909 ⊕ i0, p10219 = p10219 ⊕ i0

p2534 =p2534 ⊕ i0, p8597 = p8597 ⊕ i0

Step 3 With m = (0, 1, 2, · · · , 359), there exist

{x + (m mod 360)× q} mod (N −K) (3.2)

to accumulate the next 359 informations at the first row. After the first 360information bits are accumulated, the next 360 information bits is accumulatedby the second row of the table for rate 1/2.

p144 =p144 ⊕ i1, p9408 = p9408 ⊕ i1

p14482 =p14482 ⊕ i1, p27651 = p27651 ⊕ i1

p26999 =p26999 ⊕ i1, p10309 = p10309 ⊕ i1

p2624 =p2624 ⊕ i1, p8687 = p8687 ⊕ i1

Step 4 After the whole information bits are used, the left parity bits are calcu-lated by pi = pi ⊕ pi−1. Notice that the final parity bit pi keep its original value.

Page 35: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

3.1 Regularity of the LDPC code in DVB-S2 23

i = 0, 1, · · · , N −K − 1.

The encoding procedure above comes from the standard of DVB-S2. Figure3.1 presents the tanner graph for the irregular LDPC code in DVB-S2, and itshows some regularities which can be use for the hardware implementation.

The encoding table in the standard of DVB-S2 could be regarded as anotherdescription of the parity-check matrix. Each row of the table presents the cor-responding addresses of check nodes to those 360 variable nodes. The table hasq = (N − K)/360 rows and the degree of information bits can be discovered inthe table. In DVB-S2, the information bits consist of two degrees Dj in the frontpart and D3 in the left part of information bits. Each rate has different Dj buthas the same D3 = 3. The degree Dc for the check node are uniform and can becalculated from the known Dc and Ds.

Dc =(Df ×Row + D3 × (q −Row))× 360 + 2× (N −K)

N −K(3.3)

Here Row is the number of rows which has degree with Dj .

For example, the table for code rate 1/2 which provided by DVB-S2 standardcan be divided into a 36× 8 matrix and a 54× 3 matrix. The 36× 8 matrix meanseach bit of the first 36× 360 information bits has the degree Dj = 8, and the next54× 360 information bits has the degree D3 = 3. Because each check node exceptthe first one has the same degree, according to the known edges the degree forcheck node are easy to figure out. Table 3.3 list the Dj , Dc and the number ofedges for each rate with N = 64800.

Rate Dj EDj E3 Dc K

1/4 12 5400 10800 4 162001/3 12 7200 14400 5 216002/5 12 8640 17280 6 259201/2 8 12960 19440 7 324003/5 12 12960 25920 11 388802/3 13 4320 38880 10 432003/4 12 5400 43200 14 486004/5 11 6480 45360 18 518405/6 13 5400 48600 22 540008/9 4 7200 50400 27 576009/10 4 6480 51840 30 58320

Table 3.3. Parameters for LDPC code in DVB-S2 of 11 code rates

Page 36: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

24 Analysis of LDPC codes in DVB-S2

...

...

...

Permutation

Check node

Information bits

Parity bits

Figure 3.1. Tanner graph for an irregular LDPC code

3.2 Schedule for iterative decoding

Normally, the LDPC code are decoded by iterative standard message passing algo-rithm which also known as Two-phase message passing algorithm. The drawbackof this schedule is their low convergence compared to the turbo code. In order toincrease the speed of convergence, a ’layered decoding’ schedule will be introduce.

3.2.1 Two-Phase Message passing schedule

As the name of TPMP schedule, it consist of two phases in one iteration. Themessage form variable node propagated to check nodes for computation in phase1, then the check node send the message to variable node and update in phase 2.Here the function 2.18 φ (x) = log ex+1

ex−1 are used for simplification in procedure.

Initialization

For all variable ui are initialized by the input LLR, and the extrinsic messagefor check nodes vj are initialized to zero.

Phase 1

In the phase 1 of every iteration, the extrinsic message for each check nodesare calculated with the message from associated variable.

vji =∏

i′∈Nj\i

sign(ui′j) · φ ∑

i′∈Nj\i

φ (|ui′j |)

Page 37: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

3.2 Schedule for iterative decoding 25

Phase 2

In phase 2, each variable node update it’s new LLR with the extrinsic message.

uij = LLRint (i) +∑

j′∈Mi\j

vj′i

3.2.2 Layered-Message passing schedule

The major problem of Two-phase message passing algorithm is the low convergencespeed. The Two-Phase message passing algorithm executes the computations intwo steps which are the message computation from variable node to check nodeand the message computation from check node to variable node. In Two-phasemessage passing algorithm, it has two types of computation and the inter-mediamessages need to be saved at every round at each iteration.

Layered-message passing algorithm which updating the message layer by layeris widely utilized in LDPC decoder. Because of the regularity of the LDPC code inDVB-S2, row Layered-message passing algorithm which also known as "Horizon-tal shuffled decoding", "Turbo Decoding Message Passing(TDMP)", "Turbo-likedecoding" will be introduced[2][8]. In Two-phase message passing, the computedmessages don’t participate in the further computation in this decoding iteration.If the computed messages can be used to compute other messages in the sameiteration and the convergence will speed up. Moreover, the inter-media messagesare updated directly and the check messages become the new variable messagesin a sub-iteration. The utilization to inter-media messages in every sub-iterationsignificant saves the memory.

By the regularity of LDPC code in DVB-S2, in every rate the degree for checknodes are identical while the degrees for variable nodes vary frequently. So therow Layered-message passing approach is utilized for LDPC in DVB-S2, and inthe left part of this subsection this approach will be illustrated by examples.

Description for Row Layered-message passing

Compared to Two-phase message passing algorithm with two simple steps, RowLayered-message passing algorithm update variable message with check messagerow by row. A 4 by 8 parity-check matrix H which shows in figure 3.2 will help usto understand this algorithm in details. Before introducing the algorithms, let’s

Page 38: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

26 Analysis of LDPC codes in DVB-S2

make some notations first.

λi =[λi

1, λi2, · · · , λi

Dc

]- extrinsic message corresponding to the non-zeros in the

i’th row.Ii = [I1, I2, · · · , IDc

] - the set of indexes in i’th row.γ(Ii) = [γ1, γ2, · · · , γDc ] - a vector of variable messages with the corresponding Ii

in i’th row.ρ = [ρ1, ρ2, · · · , ρDc

] = γ(Ii) − λi - the input message which is the i’th variablemessage subtract the old extrinsic message to keep the reliability.Λi = [Λ1, Λ2, · · · , ΛDc ] - the output message after the computation in i’th row.

H =

0 1 1 0 1 0 0 11 1 0 1 0 1 0 00 0 0 1 1 0 1 11 0 1 0 0 1 1 0

In the parity-check matrix H, the extrinsic messages λi =[λi

1, λi2, · · · , λi

Dc

]in each row are corresponding to the non-zeros in this row. An iteration con-sist of multiple sub-iterations which corresponding to rows. Because the LLRmessages corresponding to the zeros are not used in the computation, here a setIi = [I1, I2, · · · , IDc ] is used to store the index of the non-zeros for the i’th row.γ(Ii) = [γ1, γ2, · · · , γDc ] are the set of variable messages which are correspondingto the non-zeros for the i’th row in H.

Let’s use the matrix above as an example, it’s a parity-check matrix for thecode of length 8, and each row has the same weight of 4. With the help from theindex set I2 = [1, 2, 4, 6] for row 2, we can get the extrinsic vector λ2 when λ2

1 is thefirst variable message, λ2

2 is the second variable message, and the left two λ2 arecorrespond to the forth and sixth variable message. Actually, the vector of γ is thevariable message which initialized by the input LLR value. Every time after thecomputation for a row, the new extrinsic messages will update the correspondingγ and the new vector γ will go to work for the next row.

Here four steps are used to illustrate the decoding process for i’th row in H.

Step 1 The extrinsic messages for i’th row and variable messages for Ii =[I1, I2, · · · , IDc ] are ready.

Step 2 ρ = [ρ1, ρ2, · · · , ρDc ] = γ(Ii) − λi. The subtraction is to make sure themessage which generated by this row in the earlier iteration are not used as inputsin the next iteration to lead the reliability.

Step 3 Computation for the new extrinsic messages which use ρ as inputs using2.19 as decoding algorithm.

Page 39: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

3.2 Schedule for iterative decoding 27

0 1 1 0 1 0 0 1

1 1 0 1 0 1 0 0

0 0 0 1 1 0 1 1

1 0 1 0 0 1 1 0

λ1

λλ

λ

2

3

4

ρ

γ

Step 1

(variable message)

2

+ + + +- - --

2

Step 2

Decode

Λ2

+ + + +

Step 3

(old extrinsic message)

(new extrinsic message)

Step 4γ3

(posterior message

for row 2)

(posterior message

for row 3)

0 1 1 0 1 0 0 1

1 1 0 1 0 1 0 0

0 0 0 1 1 0 1 1

1 0 1 0 0 1 1 0

λ1

λλ

λ

2

3

4

(new extrinsic

message updated)

Figure 3.2. Illustration of a decoding for a sub-iteration

Page 40: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

28 Analysis of LDPC codes in DVB-S2

Step 4 The new extrinsic messages vector Λi replace the old extrinsic messages,and then add the new extrinsic message Λi to the corresponding variable message.γi = ρi + Λi.

The hard decision for Layered-message passing algorithm is different from two-phase message passing, in each sub-iteration the γ was updated then the harddecisions are made. If the hard decision appears it is the correct variable message,the decoding stop immediately. Obviously, the hard decision in each sub-iterationshelps this algorithm getting correct vector faster.

Figure 3.2 illustrated this four steps and using the decoding process for row 2as an example.

Compared to Two-phase message passing algorithm, the Layered-message pass-ing algorithm not only speeds up the convergence behaviour but also leads to sig-nificant memory saving. The Two-phase message passing algorithm need to save(Dc ·N · (1−R)− 1) messages for check nodes in phase 1, (Ej ·Dj + E3 · 3 + N ·(1−R) · 2− 1) messages for variable nodes in phase 2 and N posterior messages.The messages which check node received are sent by variable nodes which meansthey store the same number of message, and the storage for Two-phase messagepassing algorithm is

STTPMP = (2 · (Dc ·N · (1−R)− 1) + N) (3.4)

The Layered-message passing algorithm need to save (Dc · N · (1 − R) − 1)extrinsic message for check nodes and N posterior messages.

STRLMP = (Dc ·N · (1−R)− 1) + N (3.5)

Compared to Two-phase message passing algorithm, Row Layered-messagepassing algorithm leading a memory savings as

Dc ·N · (1−R)− 12 · (Dc ·N · (1−R)− 1) + N

% (3.6)

For example, the LDPC codes with rate 1/2 have degree with 7 for each checknode, and the memory savings up to 43.75%. For rate 2/3 the memory savings is43.48%.

Page 41: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 4

DVB-S2 LDPC decodingusing reconstructeddecoding table

With the help of formula 3.2 and encoding table for each rate, the connectivitybetween variable nodes and check nodes are described clearly. This encoding tableshows the way how to calculate the unknown index of check node form knownindex of variable node, but the regularity of LDPC codes in DVB-S2 shows eachcheck node has the uniform degree meanwhile the variable nodes has three differ-ent degrees[4]. So it’s better to use a calculation method from known check nodeto unknown variable node.

4.1 Restructured parity-check matrix for DVB-S2

Each number in encoding table representing the 360 check nodes’ indexes associ-ated to 360 variable nodes. Let’s use a codeword with length 64800 as an example.In the encoding table for 1/2 rate, the first row consists of 8 numbers which meansthe first 360 variable nodes have a degree with 8. Moreover, the first row shows all

54 9318 14392 27561 26909 10219 2534 8597

55 7263 4635 2530 28130 3033 23830 3651

56 24731 23583 26036 17299 5750 792 9169

. . .

52 29194 595

53 19267 20113

u tou0 359

u tou719

u tou720 1079

360

u tou32039

u tou32040 32399

31680

29

Page 42: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

30 DVB-S2 LDPC decoding using reconstructed decoding table

variable node

check node54 54+90 54+2*90

...

...

54+359*9054+358*90

0 1 2 358 359

variable node m

check node m*q+54

Figure 4.1. Tanner graph for the number ’54’

54

q+54

2q+54

358q+54

359q+54

0 1 2 358 359

1 0 0

0 1 0

0 0 1

1 0

0 1

0

0

0

0 0 0

0 0 0

. . .

. . .

. . .

. . .

. . .. . .. . .. . .

. . .

. . .

. . .

. . .

. . .

variable nodes

chcek nodes

0

0

0

Figure 4.2. Parity-check matrix for the number ’54’

the corresponding check nodes for variable nodes u0 to u359 and the second rowshows the connectivity for variable nodes u360 to nodes u719 which was illustratedin figure 4.1.

For the rate 1/2, the first number ’54’ define an edge between variable nodeu0 and check node v54. The check node’s index for next variable node u1 can becalculated.

q =N · (1−R)

360= 90

(54 + 1 mod (360)× 90) mod 32400 = 144

As the figure 4.2 illustrates, this 360 variable nodes transmits the messages to

Page 43: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4.1 Restructured parity-check matrix for DVB-S2 31

variable node

check node9318+90 9318+2*90

...

...

mod(9318+

359*90)

mod(9318+

358*90)

0 1 2 358 359

9318

variable node check node

m (m*q+9318) mod 32400

Figure 4.3. Tanner graph for the number ’9318’

corresponding check nodes in parallel which means at least 360 message can betransmitted to the 360 different check nodes in the same time without conflict. Inaddition, the figure 4.1 shows u0 corresponding to v54, u1 corresponding to v144

and u2 corresponding to v235. When the index for variable node increases withunit 1, the index for corresponding check node increases with unit q = 90.

As we know, the variable nodes and check nodes could be regarded as X-axisand Y-axis respectively in parity-check matrix H. And the figure 4.2 presents thatkind of matrix for the first 360 variable nodes with the number ’54’. Obviously,it’s a 360× 360 identical matrix while the unit for Y-axis is q.

In order to find the regularity, the second number ’9318’ in the first row wasillustrated by figure 4.3. Because the last 104 indexes of check nodes was out ofthe range (N-K), it mod the (N-K) to make sure the connectivity’s correctness.Figure 4.4 presents the corresponding matrix for the number ’9318’, and it’s thean identical matrix left shifts 104 unit.

4.1.1 Description of restructured parity-check matrix

From this two examples, we can find each number in encoding table could be re-garded as an identical matrix with certain left cyclic shifts. In the parity-checkmatrix H, there exist few ones and many zeros. Inspired by the matrices fromexamples, the whole parity-check matrix is divided into sub-matrices of the size360 × 360. Here denote the Ix as the identical matrix with x left cyclic shifts.Figure 4.5 presents the restructured parity-check matrix.

Figure 4.5 shows the restructured parity-check matrix and detailed three sub-matrix to help readers for easy understanding. Figure 4.1 and 4.4 show the reg-ularity of the encoding table in DVB-S2. One number in encoding table standsfor a 360× 360 identical matrix with certain left cyclic shifts. With this method,

Page 44: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

32 DVB-S2 LDPC decoding using reconstructed decoding table

48

q+48

2q+48

358q+48

359q+48

0 1 2 358 359

0 0 0

0 0 0

103q+48

. . .. . .

1 0 0

0 1 0

0 0 1

1 0

0 1

. . .

. . .

. . .

. . .

. . .

. . .

1 0

0 1

1 0

0 1

0 0 0

0 0 0

0 0

0 0

. . .

. . .

. . .

. . .

. . .. . .

. . .

. . .

0 0

0 0

. . .

. . .

. . .

. . .257

variable node

check node

Figure 4.4. Parity-check matrix for the number ’9318’

the information part of variable nodes are divided into q × (R · 180) sub-matriceswhile the unit for Y-axis is defined as q.

In the original parity-check matrix, there exist a fixed zigzag pattern. Becausethe unit of Y-axis is q, it can’t use the same method as information parts. Inorder to get the identical matrix, the unit of X-axis is defined as q which is theuniform definition to the unit of Y-axis. The sub-matrices in parity node groupsare all identical matrix and the figure 4.5 also illustrated three sub-matrices inparity node groups.

In the restructured parity-check matrix, there only have one sub-matrix whichis not identical matrix or identical matrix with left cyclic shifts. It’s illustrated byfigure 4.6, and it could be regarded as a identical matrix without the first row’selement.

4.2 Reconstructed LDPC decoding table

The restructured parity-check matrix could be regarded as a q × 180 matrix. Asthe figure 4.5 shows, the restructured parity-check matrix could also be dividedinto q rows with 360 nodes elements per row and this restructured parity-checkmatrix could use the row Layered-message passing algorithm. Figure 4.7 illus-

Page 45: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4.2 Reconstructed LDPC decoding table 33

I

I

I

0

0

0

Ix

Ix

Ix

Ix

Ix

I1*

0

0

0 0

0 0

0

0 0

0 0

0 0

0

Information node groups Parity nodes groups

180-q q

q

the first index for

each sub-matrix

(0, 1, 2, 3,...q)

the first index for

each sub-matrix

(0, 360, 720,...K-360)

0, q, 2q, ... 359q

0,

q,

2q,...

359q

1, q+1, 2q+1, ... 359q+1

1,

q+1,

2q+1,...

359q+1

q-1, 2q-1, 3q-1, ... 360q-1

q-1,

2q-1,

3q-1,...

360q-1

0, 1, 2, ... 359

0,

q,

2q,...

359q

360, 361, 362, ... 719

1,

q+1,

2q+1,...

359q+1

q-1,

2q-1,

3q-1,...

360q-1

k-360. k-359, k-358....k-1

The first

sub-matrix

in row 1

The second

sub-matrix

in row 2

The last

sub-matrix

in last row

The first

sub-matrix

in row 1

The second

sub-matrix

in row 2

The last

sub-matrix

in last row

Ix

Ix

Ix

I0

I0

I0

Ix

Ix

I0

I0

I0

...

...

...

...

...

...

...

...

.........

...

...

...

...

...

...

Figure 4.5. Restructured parity-check matrix

Page 46: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

34 DVB-S2 LDPC decoding using reconstructed decoding table

0

q

2q

358q

359q

q-1 2q-1 359q-1 360q-1

0 0 0

1 0 0

0 1 0

1 0 0

0 1 0

0

0

0

0 0 0

0 0 0

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

variable nodes

chcek nodes

0

0

0

0

0

0

Figure 4.6. A special sub-matrix in restructured parity-check matrix

trates a simple example which transfer the single row Layered-message passing toblock row Layered-message passing.

The restructured parity-check matrix shows each block row contains Dc sub-matrices which are identical matrices with left cyclic shifts. The encoding tablepresents the connectivity from known variable nodes to corresponding unknowncheck nodes while the row Layered-message passing algorithm want to transmitsthe message from known check nodes to unknown variable nodes.

Here a LDPC decoding table for rate 1/2 is presented in Appendix A. Thisdecoding table consists of two parts, the index of sub-matrix in row which denote

λ0

λ1

λ2

λ

λ4

λ5

3

1

1

1 1

1

1

0 0 0 0

0 0

00

0 0

00

0

Iλ0

λ1

Figure 4.7. Single row layered-message passing to block row layered-message passing

Page 47: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4.2 Reconstructed LDPC decoding table 35

as gb, and the beginning position gp. Let’s use figure 4.4 as an example, it’s the48th row in the decoding table with gb = 1 and gp = 257. It means the first checknode v48 are associated to the variable node u257. Because the unit for our columnvaries by q, we denote the gs as the index of column and according to the checknode with index

(m · q + gs) (4.1)

the corresponding variable node with the index of

((gb − 1) · 360 + (gp + m) mod 360) (4.2)

The decoding table only presents for the information bits, the parity bits canbe calculated by

v(m·q+gs) → u(m·q+gs−1) (4.3)v(m·q+gs) → u(m·q+gs) (4.4)

In order to check the correctness of this formula, an example will be illustrated.

Example 4.1

In the decoding table for rate 1/2, the 48th row has gb = 1 while gp = 257, gs = 48.When m = 0, the check node v48 corresponding to

u((gb−1)·360+(gp mod 360)) = u257

The result is exactly the same result as the figure 4.4 shows.

For each check node, it is associated to (Dc−2) information nodes and 2 paritynodes. Here I will use two steps to illustrate the procedure and v0 will be used asan example.

Step 1 The corresponding information nodes are calculated by the decodingtable. For the check node v1, the corresponding information bits can be calculatedby

u((11−1)·360+(310) mod 360) = u3910

u((11−1)·360+(299) mod 360) = u3899

u((21−1)·360+(74) mod 360) = u7274

u((38−1)·360+(0) mod 360) = u13320

u((42−1)·360+(206) mod 360) = u14966

Page 48: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

36 DVB-S2 LDPC decoding using reconstructed decoding table

Q Q Q Q

Q Q Q Q

QQ QQ

λ

λ λ λ λ

α α α α α

β β β β β

Λ

Λ Λ Λ Λ

Λ λ

2 3 4 5

λ λ λ λ2 3 4 5

1

7

2 3 4 5

7

1

2 3 4 5 6

1 2 3 4 5

λ

α

6

6

β

λ6

7

QΛ6

Figure 4.8. Computation of extrinsic message with q(x, y)

Step 2 Without the information bits, there also exist 2 parity bit correspondingto the check node v1.

v(0·q+1) → u(0·q+1−1) = u0

v(0·q+1) → u(0·q+1) = u1

4.3 SISO algorithm for restructured parity-checkmatrix

In the previous section, the original parity-check matrix is restructured and be-came a matrix consists of q × 180 sub-matrices and each sub-matrix is identicalmatrix or identical matrix with certain left cyclic shifts. In section 3.2, the pro-cedure for a decoding sub-iteration is introduced without detailing the decodingalgorithms for extrinsic messages.

In Bp algorithm, because of the wide dynamic range of function φ(x) and itsinverse φ(−x), it need large date-paths and function units to make sure the accu-racy of the extrinsic messages. SISO algorithm is introduced by M. Mansour[7], ituse an alternate function q(x, y) to compute message which can be approximatedto SISO-s algorithm and implement using simple logic gates.

Here a new function q(x, y) will instead the old function φ(x) to reconstructthe formula 2.19. The bivariate function is defined as

q(x, y) = logex+y + 1ex + ey

(4.5)

Page 49: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4.3 SISO algorithm for restructured parity-check matrix 37

The function q(x, y) has this properties as below:

1. q(x, y) = q(y, x);

2. q(−x,−y) = q(x, y);

3. q(x, 0) = q(0, y) = q(0, 0) = 0;

4. q(x,−y) = q(−x, y) = −q(x, y);

5. q(|x|, |y|) ≥ 0;

6. q(x, y) = q(sign(x) · |x|, sign(y) · |y|) = sign(x · y) · q(|x|, |y|).

This properties help us to get the relation between q(x, y) and φ(x) is showsbelow:

7. sign(x · y) · φ−1(φ(|x|) + φ(|y|)) = q(x, y);

8. sign(x · y · z) · φ−1(φ(|x|) + φ(|y|) + φ(|z|)) = q((q(x, y), z);

9. sign(∏Dc

i=1 xi) · φ−1(∑Dc

i=1 φ(|xi|)) = q(· · · (q(q(x1, x2), x3), · · · ), xDc).

The following notation is defined for convenience.

q(x1, x2, · · · , xc) = q(· · · (q(q(x1, x2), x3), · · · ), xDc) (4.6)

According to the formula above, the decoding formula for extrinsic messageswhich has the same computation result with formula 2.19 shows below:

Λj = q[j](λ1, · · · , λj , · · · , λDc), j = 1, · · · , Dc (4.7)

With the help of formula 3.13, figure 4.8 shows a effective computing architec-ture to compute the extrinsic messages. If computation starts from the λ1,

q(λ1, λ2) = α2

q(q(λ1, λ2), λ3) = q(α2, λ3) = α3

q(q(q(λ1, λ2), λ3), λ4) = q(α3, λ4) = α4

At the position j,

Page 50: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

38 DVB-S2 LDPC decoding using reconstructed decoding table

q(αj−2, λj−1) = αj−1 (4.8)

If computation starts from the λ6,

q(λDc−1, λDc) = βDc−1

q(λDc−2, q(λDc−1, λDc)) = q(λDc−2, βDc−1) = βDc−2

q(λDc−3, q(λDc−2, q(λDc−1, λDc))) = q(λDc−3, βDc − 2) = βDc−3

At the position j + 1,

q(λj+1, βj+2) = βj+1 (4.9)

Next step is the computation of the extrinsic message Λj , and with the help offormula 3.14 and 3.15, the Λj can be computed by

Λj = q(αj−1, βj + 1) (4.10)

4.3.1 SISO-simplified(SISO-s) algorithm

The function q(x, y) could be approximated as below

q(x, y) = log(ex + ey)− log(ex+y + 1)≈ max(x, y) + max(5/8− |x− y|/4, 0)−max(x + y, 0)−max(5/8− |x + y|/4, 0)

(4.11)

With to the approximated equation 4.11, SISO algorithm could be approxi-mated to SISO-s algorithm without using a lookup table. The performance com-parison between SISO algorithm and SISO-s algorithm is present in simulationsresults.

4.3.2 Verification of SISO algorithm

In the previous section, 9 properties is introduced and the formula 3.16 replacethe formula 2.19 to compute the extrinsic message. The properties 7 to 9 will beillustrated in this section.

Page 51: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

4.3 SISO algorithm for restructured parity-check matrix 39

Verification for property 7: sign(x · y) · φ−1(φ(|x|) + φ(|y|)) = q(x, y)

Because of the property 6, the formula changes as below

q(x, y) = logex+y + 1ex + ey

→ e|x|+|y| + 1e|x| + e|y|

= eq(x,y)

First to calculate (φ(|x|) + φ(|y|))

φ(|x|) + φ(|y|) = loge|x| + 1e|x| − 1

+ loge|y| + 1e|y| − 1

= log(e|x| + 1) · (e|y| + 1)(e|x| − 1) · (e|y| − 1)

= loge|x|+|y| + 1 + e|x| + e|y|

e|x|+|y| + 1− e|x| − e|y|

= logeq(x,y) + 1eq(x,y) − 1

then,

sign(x · y) · φ−1(φ(|x|) + φ(|y|)) = φ−1

(log

eq(x,y) + 1eq(x,y) − 1

)

= φ

(log

eq(x,y) + 1eq(x,y) − 1

)

= logelog eq(x,y)+1

eq(x,y)−1 + 1

elog eq(x,y)+1

eq(x,y)−1 − 1

= logeq(x,y)+1eq(x,y)−1

+ 1eq(x,y)+1eq(x,y)−1

− 1

= q(x, y)

Verification for property 8: sign(x · y · z) · φ−1(φ(|x|) + φ(|y|) + φ(|z|)) =q((q(x, y), z)

Page 52: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

40 DVB-S2 LDPC decoding using reconstructed decoding table

First, denote w = e|x|+|y|+1e|x|+e|y| = eq(x,y). It’s a similar computation as above.

φ(|x|) + φ(|y|) + φ(|z|) = loge|w| + 1e|w| − 1

+ loge|z| + 1e|z| − 1

= logeq(w,z) + 1eq(w,z) − 1

then, the property 8 could rebuild as

sign(x · y · z) · φ−1(φ(|x|) + φ(|y|) + φ(|z|)) = q((q(x, y), z) = φ−1

(log

eq(w,z) + 1eq(w,z) − 1

)

= φ

(log

eq(w,z) + 1eq(w,z) − 1

)

= q(w, z)

= q(q(x, y), z)

As the computation above, it’s easy to get

sign(Dc∏

i=1

φ(|xi|)) = q(· · · (q(q(x1, x2), x3), · · · ), xDc)

Becauseex+y + 1ex + ey

won’t smaller then zero, it’s no necessary to divide the computation into sign partand absolute value.

Page 53: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 5

Simulation results

In this chapter, the algorithms and schedules which are presented in the pastchapters will be shown by figures.

5.1 Comparison among BP, λ-min and Min-sumalgorithms

λ-min algorithm and Min-sum algorithm are evolved from the BP-algorithm. The

simplified part is∏

i′∈Nj\i

sign(ui′j) · φ[

∑i′∈Nj\i

φ (|ui′j |)], λ-min algorithm keeps λ

min uij to participate the computation while Min-sum algorithm simplified theformula into

∏i′∈Nj\i

sign(ui′j) · [min |ui′j |] which means Min-sum algorithm only

keeps the minimum and the minimum but one uij to participate the computation.

In this section, the comparison among BP-algorithm, λ-min algorithm andMin-sum algorithm will be illustrated.

5.1.1 Comparison among BP, 3-min, 2-min and Min-sumalgorithms at rate 1/4

Figure 5.1 compares the performance of Bp-algorithm, λ-min algorithm(λ = 3)and Min-sum algorithm with 30 iterations. The lambda-min algorithm outper-forms the Min-sum algorithm and it’s quite close to the Bp-algorithm.

At rate 1/4, the degree Dc for check nodes is 4(3 for the first check node),the difference between Bp-algorithm and 3-min algorithm is only 3-min keep 3minimum uij and Bp-algorithm keeps the whole 4 uij except the first check node.

41

Page 54: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

42 Simulation results

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.410

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No

BE

R

Bp−Algorithm

Min−sum Algorithm

3−min Algorithm

2−min Algorithm

Figure 5.1. Performance of Bp, λ-min with λ = 2, 3 and Min-sum algorithms at rate1/4

5.1.2 Comparison among BP, 4-min, 3-min, 2-min and Min-sum algorithms at rate 1/2

Figure 5.2 compares the performance of Bp-algorithm, λ-min algorithm(λ = 2, 3, 4)and Min-sum algorithm with 30 iterations. In figure 5.2 Bp-algorithm has thebest performance, and Min-sum has the worst performance. The 2-min algorithmoutperforms the Min-sum algorithm and with the λ increasing, the correspondingalgorithm’s performance is closer to Bp-algorithm.

At rate 1/2, the degree Dc for check nodes is 7(6 for the first check node). Asthe figure 5.1 shows, when the λ is larger(but small than Dc), the performance iscloser to the Bp-algorithm. In order to have obvious comparison, here we chooseλ-min algorithm(λ = 2, 3, 4).

5.1.3 Conclusion

As expected, figure 5.1 and 5.2 compares the performance among Bp-algorithm,λ-min algorithm and Min-sum algorithm. The check node’s degree Dc for rate1/4 and 1/2 are 4(3 for the first check node) and 7(6 for the first check node)respectively. Obviously, it’s more degradation of the Min-sum algorithm in figure5.2 then the Min-sum algorithm in figure 5.1.

With the same λ, the performance of the algorithms which has higher checknode degree can achieve better improvement than the algorithms with low checknode degree. If it is a low check node degree parity-check matrix, the Min-sumalgorithm already appears good performance, while it’s a high check node degreeparity-check matrix, it’s better to use λ-min or other algorithms to improve itsperformance.

Page 55: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

5.2 Comparison between TPMP and LMP 43

0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.510

−5

10−4

10−3

10−2

10−1

100

Eb/No

BE

R

Min−sum algorithm

Bp algorithm

4−min algorithm

3−min algorithm

2−min algorithm

Figure 5.2. Performance of Bp, λ-min with λ = 2, 3, 4 and Min-sum algorithms at rate1/2

5.2 Comparison between TPMP and LMP

Layered message passing decoding(LMP) has higher convergence speed than two-phase message passing decoding(TPMP). In this section, the iterations for Bpalgorithm and Layered-message passing will compared with 3 different rates. Withthe same iteration at the same rate, the BER performance for this two scheduleswill be compared.

5.2.1 Comparison of performance with the specified itera-tions

Figure 5.3 presents the BER performance of Two-phase message passing and lay-ered message passing with the same iteration at rate 1/2. The specified iterationsare 5, 10, 20 and 30. The figure demonstrates with the same iteration, Layeredmessage passing decoding outperform than Two-phase message passing. Especiallywith the 10 iterations, the Layered-message passing present an order of magnitudeimprovement of the BER performance. In another hand, it’s shows the high con-vergence speed of Layered-message passing.

5.2.2 Comparison of the iterations between TPMP and LMP

Figure 5.4, 5.5 and 5.6 shows the comparison of iterations between Two-phasemessage passing and Layered-message passing with 3 different rate. Obviously, theiterations which Layered-message passing decoding needed are half of the iterationswhich Two-phase message passing decoding needed.

Page 56: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

44 Simulation results

0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 110

−6

10−5

10−4

10−3

10−2

10−1

Eb/No

BER

iter10

iter15

iter20

iter30

iter10

iter15

iter20

iter30

Figure 5.3. Performance of Two-phase message passing(TPMP) and Layered messagepassing(LMP) with four specified iterations

5.2.3 Conclusion

In this section, comparison between Two-phase message passing and Layered-message passing is presented. According to four figures, Layered-message passingalgorithm shows higher convergence speed that only need half of the iterationswhich Two-phase message passing needed.

5.3 Comparison among SISO, SISO-s and λ-minalgorithms

In chapter 4, SISO algorithm is introduced as a suitable decoding mechanism tothe extrinsic message. A simplified SISO algorithm is also introduced which canbe implemented without look-up table.

In this section, the comparison between SISO algorithm and SISO-simplifiedalgorithm with the Layered message passing is presented. As we know, the compu-tation in SISO algorithm comes to the same result of BP-algorithm. As a simplifiedBP-algorithm, λ-min algorithm is compared with SISO-simplified algorithm.

5.3.1 Comparison between SISO and SISO-s algorithms

Figure 5.7 shows the comparison between SISO algorithm and SISO-s algorithmat the rate 1/2. Because the simulations lack enough frames, the curves are notso smooth, but the figure 5.7 also presents the performance comparison betweenthis two algorithms. The BER performance of SISO-simplified algorithm is quiteclose to the SISO-algorithm.

Page 57: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

5.3 Comparison among SISO, SISO-s and λ-min algorithms 45

0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.85

10

15

20

25

30

35

40

Eb/No

Itera

tions

Layered message passing

Two−phase message passing

Figure 5.4. Iterations comparison between Two-phase message passing(TPMP) andLayered-message passing(LMP) at rate 1/4

5.3.2 Comparison between SISO-s and λ-min algorithmsFigure 5.8 shows the comparison among SISO-simplified algorithm, 4-min algo-rithm and 3-min algorithm at the rate 1/2. As the figure 5.7, the curves arenot so smooth because the simulation didn’t use enough frames. The BER per-formance of 4-min algorithm is almost superposed with the BER performance ofSISO-simplified algorithm, but the BER performance of 3-min algorithm is worsethan the other two algorithms.

5.3.3 ConclusionAccording to the comparison in rate 1/2, the BER performance of SISO-simplifiedalgorithm is similar to the 4-min algorithm and it’s quite close to the BER perfor-mance of SISO algorithm.

Page 58: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

46 Simulation results

0.5 1 1.5 2 2.5 3 3.5 40

5

10

15

20

25

30

35

40

45

50

Eb/No

Itera

tions

Layered−message passing

Two−phase message passing

Figure 5.5. Iterations comparison between Two-phase message passing(TPMP) andLayered-message passing(LMP) at rate 1/2

1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.80

5

10

15

20

25

30

Eb/No

Itera

tions

Layered−message passing

Two−phase message passing

Figure 5.6. Iterations comparison between Two-phase message passing(TPMP) andLayered-message passing(LMP) at rate 2/3

Page 59: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

5.3 Comparison among SISO, SISO-s and λ-min algorithms 47

0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.810

−4

10−3

10−2

10−1

100

Eb/No

BE

R

SISO algorithm

SISO−s algorithm

Figure 5.7. Performance of SISO and SISO-s algorithms at rate 1/2

0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.910

−4

10−3

10−2

10−1

100

Eb/No

BE

R

SISO−s algorithm

4−min algorithm

3−min algorithm

Figure 5.8. Performance of SISO-s and λ-min algorithms at rate 1/2

Page 60: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 61: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 6

Memory cost estimation

In the previous chapters, we investigate several algorithms and schedules of LDPCcode. According to the investigation of the regularity of LDPC code in DVB-S2,a restructured parity-check matrix which can be divided into sub-matrices is pro-vided. In order to get the addresses of variable bits from known check bits, areconstructed decoding table for each rate is provided in Appendix A. Next, wewant to discuss decoder architecture and the memory cost estimation.

6.1 Decoder architectureIn the restructured parity-check matrix, the 360 rows in each sub-matrices are non-overlapping. This means at most 360 corresponding check nodes could computetheir extrinsic messages in parallel, which is an important regularity to implementthe hardware. But it will be a large resource cost if the decoder contains 360 func-tion units. Because we discuss the memory cost and the number of function unitswon’t affect the total memory size, here we assume the decoder has 360 functionunits is computed in parallel.

Figure 6.1 shows the architecture of LDPC decoder in DVB-S2. Basically, thedecoder consists of memory of variable messages, interconnected network and ex-trinsic message decoding units. The input values could be the received LLR valuesfor initialization and the updated variable messages after each sub-iteration. Withthe updating for the memory, the Hard decision unit will check the correctness forthe variable messages.

6.1.1 Memory of variable messages

The memory for variable messages is initialized with the received LLR values andis updated at each sub-iteration. In order to let readers have better understanding,assume the variable messages are stored as the parity-check matrix as figure 6.2.

49

Page 62: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

50 Memory cost estimation

Memory for

variable message

Interconnection

network

Extrinsic mesaage

decodeing unit

...

Input

Output

Hard

decision

Figure 6.1. Overview of the date flow for Layered-message passing algorithm

It’s a 180×360 matrix with 180 rows and each row contains 360 variable messages.In each sub-iteration, only one row of the variable messages is updated.

6.1.2 Interconnected network

As the regularity of identical matrix(or identical matrix with left cyclic shifts)which shows in figure 4.5, if we know the position of non-zero in the first row, wewill get the position for the other non-zeros in this identical matrix with left cyclicshifts.

For the information nodes, when the label of the sub-block(gs) is provided, theindex of the first non-zero variable node can be found in the decoding table. Theindex for the left variable nodes and check nodes can be computed. In a sub-matrixof the restructured parity-check matrix, the unit interval for check nodes is q whileit’s 1 for variable nodes. For the parity nodes, the unit interval for variable nodesand check nodes are both q. In order to make sure the computed number won’toutside the sub-matrix, the computed number will be modulated by (N −K) (360

Page 63: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

6.1 Decoder architecture 51

Memory for variable messages

180

rows

360 messages per row

0 ~ 359

360 ~ 719720 ~ 1079

64440 ~ 64799

64080 ~ 64439

Index of

rows

...Figure 6.2. Memory of variable messages

for the variable node).

6.1.3 Decoding units of extrinsic messages

As figure 6.3 shows, the restructured parity-check matrix could be divided into qsub-blocks and each sub-block contains 180 sub-matrices. Each row in the samesub-block can be computed in parallel, which means at most there could exist 360function units to do computation for the maximum thoughput. In order to achievea good compromise between hardware resources and throughput, the number offunction units could be varied, such like 180, 90, 45. And it leads to the changesof the memory size for single Extrinsic memory, but the total memory size forextrinsic messages won’t be changed.

We assume in each sub-iteration, 360 rows which in the same sub-block arecomputed by 360 decoders. For the first iteration, the memories for extrinsicmessages is set to zero. For each extrinsic decoder, the input variable messagessubtract the corresponding extrinsic messages and the results are fed to the extrin-sic decoder to get the new extrinsic messages. The algorithm for decoder could beSISO algorithm, SISO-simplified algorithm or λ-min algorithm. The new extrinsicmessages are replaced the old extrinsic messages in the memories and the newvariable messages are also updated. After each sub-iteration, the updated variablemessages are fed back to the memories for variable message.

Page 64: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

52 Memory cost estimation

6.2 Memory cost estimation

From the decoder architecture shown in figure 6.1, the decoder has three typeof memories which store variable messages, hard bits and extrinsic messages re-spectively. The Variable-message memory holds the variable messages which areupdated in each sub-iteration and it is initialized by received LLR values. TheHard-decoding memory holds hard decoding bits for variable messages (one bitcorresponding to one variable message). Different from Variable-message memoryand Hard-decoding memory, the single memory size for extrinsic messages is var-ied with the number of function units. But here we only discuss the total memorysize of extrinsic messages with different algorithms.

Memory cost estimation of Variable-messages and Hard-decoding bits

Assume the bit width for one LLR value is 7 bit, the memory size of Variable-message memory is 453600 bits. For Hard-decoding memory, it’s 64800 bits needto stored.

6.2.1 Memory cost estimation of Extrinsic-messages

The basic difference between various algorithms is the computation unit for theextrinsic messages. Because of the high implementation complexity of the BPalgorithm, we introduced several suboptimal algorithms. According to the simula-tion results, λ-min algorithm and SISO-s algorithm are still has good performancewhile the implementation complexity is reduced.

Rate q Dc

Total memory size Total memory size Total memory sizeof Extrinsic mess. of Extrinsic mess. of Extrinsic mess.

(SISO-s) (4-min, 3-min (3-min, 2-minfor R<1/2) for R<1/2)

1/4 135 4 135× 28× 360 135× 34× 360 135× 26× 3601/3 120 5 120× 35× 360 120× 38× 360 120× 29× 3602/5 108 6 108× 42× 360 108× 39× 360 108× 30× 3601/2 90 7 90× 49× 360 90× 49× 360 90× 40× 3603/5 72 11 72× 77× 360 72× 57× 360 72× 47× 3602/3 60 10 60× 70× 360 60× 56× 360 60× 46× 3603/4 45 14 45× 98× 360 45× 60× 360 45× 50× 3604/5 36 18 36× 126× 360 36× 68× 360 36× 57× 3605/6 30 22 30× 154× 360 30× 72× 360 30× 61× 3608/9 20 27 20× 189× 360 20× 77× 360 20× 66× 3609/10 18 30 18× 210× 360 18× 80× 360 18× 69× 360Max memory size 1995840 1652400 1252800

Table 6.1. Extrinsic message memory estimation for LDPC code in DVB-S2

Page 65: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

6.2 Memory cost estimation 53

Corresponding to the SISO-s algorithm, the λ-min algorithm only need the λsmallest values for the computation. With the bit width for a LLR value is 7 bitand the weight Dc for check node is 30, the memory need to store 210 bits whenBp, SISO or SISO-s algorithms is used as the decoding algorithm. For λ(λ = 3)-min algorithms, one LLR value only requires 69 bits(30 sign bits, 4× 6 magnitudebits and 3× 5 index bits). While the min-sum decoding only requires 47 bits (30sign bits, 2× 6 magnitude bits and 5 index bits) for one check message’s compu-tation.

The performance of λ-min algorithm is getting closer to the (λ − 1)-min al-gorithm when the rate is reducing. Meanwhile the memory size is increasing,especially when the rate is lower than 1/2. Hence, for the memory reduction,(λ − 1)min is advised when R < 1/2. Table 6.1 summarize the required memorysize for different decoding algorithms, the Extrinsic memory size has a distinctreduce when the λ-min algorithm is used. If the decoder using Bp, SISO andSISO-s algorithms, 1995840 bits are required for the extrinsic LLR values. With4-min algorithm(3-min when R<1/2), the total memory size of extrinsic messagesis reduced to 1652400 bits (82.8%). With 3-min algorithm(2-min when R<1/2),the memory size of extrinsic messages is further reduced to 1252800 bits(62.8%).

Page 66: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

54 Memory cost estimation

Decoding units for extrinsic message

λ1,1

~ λ1,1

c1 D λ1,2

~ λ1,2

c1 D λ1,359

~λ1,359

c1 D λ1,360

~λ1,360

c1 D

λ2,1

~ λ2,1

1 D λ2,2

~ λ2,2

1 D

λq-1,1

~λq-1,1

1 D

λq,1

~ λq,1

1 D

c c

c

c

λq-1,2

~λq-1,2

1 Dc

λq,2

~λq,2

1 Dc

q-1,360~ λ

q-1,360

1 Dcλq,360

~ λq,360

1 Dcλ

q-1,359~ λ

q-1,359

1 Dcλq,359

~ λq,359

1 Dcλ

λ2,359

~λ2,359

c1 D λ2,360

~λ2,360

c1 D

...

...

...

...

...

Restructured

parity-check matrix

Memorys for

extrinsic message

1 1

2 2

...

...

q q

...

...

...

...

0 1 359

0

1

359

sub-block

+

Old

Variable

message

+

Extrinsic

Decoder

Updated

Variable

message

Old

Variable

message

+

Extrinsic

Decoder

Updated

Variable

message

Old

Variable

message

+

Extrinsic

Decoder

Updated

Variable

message

Old

Variable

message

+

Extrinsic

Decoder

Updated

Variable

message

...

- -+ + +

- -

Figure 6.3. Decoding unit for extrinsic message

Page 67: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Chapter 7

Conclusion and Future work

7.1 Conclusion

In this thesis, we introduce and analyse several LDPC algorithms and their char-acteristics. Because the algorithms for LDPC code are iterative decoding, twoschedules(TPMP and LMP) are illustrated and compared. According to the sim-ulation results, we found Bp-algorithm has the better performance but also hashigher computation complexity, while Min-sum algorithm has lower computationcomplexity but much worse performance. The λ-min algorithm has the lowercomputation complexity compared to Bp algorithm and better performance thanMin-sum algorithm. The comparison simulations between Two-phase messagepassing(TPMP) and Layered message passing(LMP) are also presented, comparedto TPMP, LMP has higher convergence speed, less decoding iterations and smallermemory size for extrinsic messages.

According to the analysis of parity-check matrix of LDPC code in DVB-S2, theparity-check matrix is restructured to let extrinsic message compute in parallel.The encoding table of DVB-S2 standard only could obtain the unknown checknodes from known variable nodes, while the reconstructed decoding table thisthesis provided could obtain the unknown variable nodes from known check nodeswhat is exactly the Layered-massage passing algorithm needed. At the last part,the memory cost estimation is presented and memory size comparison of differentalgorithms and schedules are also illustrated.

7.2 Future work

Next work of the thesis is the hardware implementation. With the combinationof sub-matrices, reconstructed decoding table and layered message passing sched-ule, the efficiency of decoding is increased and the memory storage for messagesare reduced. SISO-s algorithm is approximated from SISO algorithm, it can beimplemented without lookup table. Because λ-min algorithm only need to store

55

Page 68: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

56 Conclusion and Future work

λ extrinsic messages, maybe it’s possible to combine SISO-s algorithm and λ-minalgorithm to a decoding method, this combination decoding method only storeλ extrinsic messages and could be implemented without lookup table. In orderto achieve a good compromise between hardware resources and throughout, thenumber of decoding units should be deliberated in the hardware implementation.

Page 69: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Bibliography

[1] European telecommunications standards institude(etsi). digital video broad-casting (dvb) second generation framing structure for broadband satellite ap-plications; en 302 307 v1.1.1. URL: www.dvb.org.

[2] D.Declercq A.Segard, F.Verdier and P.Urard. "A DVB-S2 compliant LDPCdecoder integrating the Horizontal Shuffle Scheduling". ISPACS 2006. YonagoConvention Center, Tottori, Japan.

[3] E.Boutillon F.Guilloud and J.Danger. "λ-Min Decoding Algorithm of Regularand Irregular LDPC Codes". in Proc. 3nd International Symposium on TurboCodes and Related Topics, Brest, France, Sep.2003. pp.451-454.

[4] T.Brack F.kienle and N.Wehn. "A synthesizable IP Core for DVB-S2 LDPCCode Decoding". IEEE Design, Automation and Test in Europe.Proceedings,2005. pp. 100-105 Vol.3.

[5] J.Chen and M.Fossorier. "Density Evolution for Two Improved BP-Based De-coding Algorithms of LDPC Codes". IEEE Communications Letters Vol.6,No.5, May 2002.

[6] D.J.C. Mackay and R.M.Neal. "Near Shannon Limit Performance of Low Den-sity Parity Check Codes". Electronics Letters 32(18), pp. 1645-1646, 1996.

[7] Mohammad M.Mansour. "A Turbo-Decoding Message-Passing Algorithm forSparse Parity-Check Matrix Codes". IEEE Transcations on signal processing,vol. 54, No. 11, Nov. 2006.

[8] A. de Baynast P. Radosavljevic and J. R. Cavallaro. "Optimized Message Pass-ing Schedules for LDPC Decoding". Asilomar Conference on Signals, Systems,and Computers, Nov. 2005. Page(s):591 - 595.

[9] R.Gallager. "Low-density parity-check codes". IEEE Transactions on Informa-tion Theory. vol. 8, pp. 21-28, 1962.

57

Page 70: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto
Page 71: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

Appendix A

Decoding Table: Addressesof variable bits forNldpc = 64800

Addresses of check bit(v) = m · q + gs

Addresses of variable bit(u) = ((gb − 1) · 360 + (gp + m) mod 360)

Example of interpretation of the rate 1/2.

v0 → u9420, v0 → u9821, v0 → u11093, v0 → u12960, v0 → u26819

v90 → u9421, v90 → u9822, v90 → u11094, v90 → u12961, v90 → u26820

......

......

...

v27000 → u9360, v27000 → u9761, v27000 → u11033, v27000 → u13260, v27000 → u26759

......

......

...

v32310 → u9419, v32310 → u9820, v32310 → u11092, v32310 → u13319, v32310 → u26818

59

Page 72: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

60 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 1/4 (N =64800) ldpc

( 0 ~

44 )

( 45 ~

89 )

g g gpbp

1 28

29 45

7 15

14 21

2 12

5 26

6 6

11 13

25 36

18 42

10 11

3 13

9 16

15 43

12 30

1 3

1 8

9 13

10 41

9 13

12 31

15 24

2 36

11 37

7 9

6 14

18 35

4 5

8 15

1 3

7 31

5 6

25 37

12 26

2 9

11 41

5 7

2 10

4 28

10 20

6 34

14 14

1 17

22 38

3 10

6 9

7 13

8 20

7 12

12 14

5 32

8 14

5 9

1 14

12 24

3 23

23 38

7 10

1 39

3 4

1 8

12 40

2 16

15 42

4 14

7 12

14 34

9 13

12 39

10 36

9 39

3 27

5 35

6 8

3 5

10 11

13 40

6 13

15 27

12 40

5 7

12 18

19 33

4 6

2 32

9 33

5 9

8 25

2 3

1 13

9 13

2 29

30 38

19 43

4 13

19 42

13 16

15 22

8 20

3 10

4 11

8 32

14 45

2 11

1 6

28 41

11 30

11 15

1 7

5 29

15 45

7 11

24 44

7 10

4 4

10 21

1 33

2 14

2 11

3 15

22 44

11 27

4 35

17 44

8 43

15 23

5 21

17 31

6 14

15 26

8 34

4 6

4 10

2 8

3 37

356 291

93 117

346 340

28 35

237 5

159 35

257 171

259 49

74 134

313 141

48 297

263 298

137 196

123 117

216 306

223 136

314 32

36 268

154 234

51 165

34 264

157 181

175 87

168 304

27 146

194 83

101 179

294 147

62 73

49 253

48 235

286 118

131 180

180 97

86 200

131 291

61 189

207 107

64 198

327 254

60 295

187 260

184 217

297 357

275 332

224 205

323 158

258 1

284 234

217 16

260 194

82 337

50 276

93 98

248 209

130 183

147 160

295 79

226 128

74 315

352 272

329 344

45 299

43 232

60 294

243 41

317 10

312 225

325 271

318 354

152 200

147 308

301 249

70 283

222 262

159 70

16 227

268 141

75 249

220 352

20 22

142 112

140 287

245 31

239 185

354 31

216 170

117 300

176 195

206 237

311 291

102 273

66 326

142 19

131 122

132 179

98 181

206 115

16 292

257 96

193 336

334 278

307 208

233 125

147 65

320 74

107 111

296 55

12 25

178 117

164 15

217 352

331 87

248 309

196 236

280 330

186 105

205 245

236 267

347 350

106 225

237 23

194 24

287 210

122 131

159 194

118 79

155 139

103 163

13 202

350 257

293 288

184 198

304 310

64 262

( 90 ~

134

)

gb gb gp

Page 73: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

61

Rate: 1/3 (N =64800) ldpc

( 0 ~

39 )

( 40 ~

79 )

g g gpbp

( 80 ~

119

)gb gb g

p

1 1 48

39 50 58

10 20 31

2 16 50

14 17 27

7 21 22

8 8 19

13 22 51

25 26 38

13 20 27

4 23 49

12 13 20

18 20 58

1 14 15

1 5 26

11 15 48

21 56 0

17 38 39

11 12 0

14 26 50

14 18 36

8 15 20

2 11 16

6 21 33

13 41 47

10 19 22

1 8 12

4 11 59

7 21 0

17 24 45

3 10 20

7 17 0

8 10 23

37 52 0

6 28 57

8 19 19

22 44 56

12 12 29

1 10 13

15 18 18

14 16 22

4 20 57

11 22 0

7 16 18

22 34 52

8 15 48

14 19 43

1 21 54

16 22 0

4 11 58

16 20 22

1 17 20

4 19 31

1 7 23

33 41 54

12 15 16

2 6 47

6 10 15

14 21 54

24 29 40

12 19 19

11 19 32

4 21 57

7 9 14

4 43 55

14 27 33

8 15 19

7 14 23

12 15 60

14 19 28

7 15 18

21 22 36

7 30 37

6 18 22

2 10 15

6 21 52

8 11 42

41 42 60

2 4 30

1 23 49

7 18 31

2 55 0

28 35 42

15 17 17

22 39 59

10 21 53

13 13 23

16 16 23

23 23 53

4 6 13

18 32 45

11 13 45

1 18 40

2 30 34

14 20 29

8 12 35

7 10 17

17 43 51

10 13 46

12 17 37

6 6 10

32 36 49

10 46 59

1 20 44

2 12 60

2 4 13

16 23 56

13 16 47

24 51 0

6 17 21

11 19 53

18 21 38

7 23 23

20 25 35

17 25 44

16 34 55

2 8 11

6 6 46

2 11 12

4 18 40

314 184 47

132 176 124

217 117 76

237 28 151

5 340 15

159 274 344

257 171 97

259 232 293

215 227 30

71 306 133

263 183 97

48 297 252

209 49 319

226 216 298

223 136 37

32 268 241

354 350 0

123 184 115

99 154 0

34 123 149

263 297 28

21 165 122

175 199 83

294 287 212

168 200 205

323 202 122

356 194 106

253 62 326

147 264 0

173 125 146

86 22 215

61 73 0

118 346 45

355 218 0

64 1 2

60 303 221

234 6 150

107 332 244

206 25 131

158 108 106

234 187 312

275 346 288

258 272 0

260 337 48

179 28 278

224 349 225

248 131 341

186 304 237

16 192 0

215 82 75

294 273 259

147 43 116

74 300 309

93 50 148

276 118 226

79 225 317

45 60 33

315 189 98

329 144 205

153 319 336

318 2 27

283 231 76

147 302 154

301 70 41

222 248 86

325 132 238

268 16 74

262 220 117

159 237 240

142 35 17

20 141 35

357 291 118

278 69 81

245 330 250

239 27 291

117 180 194

31 117 157

316 122 176

176 195 332

49 225 180

216 240 121

102 259 0

310 347 281

122 316 206

74 42 93

201 160 67

168 336 299

230 307 143

15 302 137

257 193 125

194 9 4

334 107 22

352 192 276

233 335 171

233 93 22

65 309 239

178 248 55

350 26 355

243 352 93

280 164 281

196 236 48

19 52 304

230 43 116

70 66 181

205 265 339

236 347 267

245 208 36

237 257 12

28 67 0

194 159 8

122 253 291

29 262 253

118 71 76

28 36 231

13 242 304

163 13 319

264 288 350

293 184 98

304 310 198

64 115 57

Page 74: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

62 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 2/5 (N =64800) ldpc

( 0 ~

53 )

( 54 ~

107

)

gpgb gb

1 1 40

22 24 28 63

10 15 33 55

2 16 28 68

8 17 21

6 8 18

14 22 22 62

13 29 40

12 16 25 65

4 14 24 59

15 23 26

16 19 22 58

1 4 26 65

1 11 12

18 31 32 66

18 27 28

19 22 26

7 12 28

11 13 26

10 12 15

2 8 17

11 18 27 67

4 16 21

1 13 14

5 6 8 68

21 24 29

6 12 24 72

2 21 27 53

10 12 44 69

3 6 28

5 10 23 70

10 15 32 72

13 19 23 51

13 22 39

1 14 19

10 17 26

13 19 22 67

4 15 42

12 16 17

6 15 17 50

11 21 27 69

6 8 24 69

1 17 23

15 23 30

11 20 21

4 15 17 49

1 28 40

10 18 24

1 4 26 56

5 15 25 49

2 5 28 71

5 17 43 61

13 16 32

22 23 27

10 13 17 52

12 23 24

11 12 30 71

16 21 27

4 4 14 66

13 16 46 70

8 15 41 56

15 18 25 65

6 10 28 54

23 24 27

6 8 24 64

8 21 36 70

5 16 21

2 12 37 47

6 21 41 57

11 24 45 68

2 12 24 57

1 15 28

4 23 26

2 12 25 60

16 16 38 72

23 35 37 67

5 19 29 51

26 27 38

14 17 18

5 16 23

4 11 11

14 24 27

25 25 28 53

1 8 14

2 25 25 71

10 14 23

14 18 19

22 25 33

6 13 31 48

10 14 28

5 10 19

5 18 37 47

9 13 30

1 21 27

2 17 25 63

4 14 18

28 31 34 59

5 25 26

11 22 45

18 21 22 54

6 19 35 53

19 22 26 66

8 18 25 61

17 26 26

2 11 27

5 27 43

2 8 13

4 11 19 56

314 184 97

117 232 187 294

48 5 146 223

233 49 147 62

171 28 97

159 257 340

131 306 111 210

48 200 299

137 225 183 272

263 352 141 80

216 134 130

298 194 252 200

226 136 322 157

223 32 51

123 71 51 143

157 96 6

115 122 174

241 36 132

199 154 248

25 146 34

45 194 83

62 73 347 187

253 165 308

356 106 267

294 286 118 106

202 234 184

147 219 257 95

86 303 75 126

27 200 285 81

207 61 336

184 189 31 101

217 180 6 178

327 297 257 226

107 215 151

206 168 48

248 260 133

332 29 273 95

275 234 89

205 158 16

260 217 187 282

258 221 239 67

50 224 179 99

186 98 255

248 105 66

82 199 2

130 329 337 120

147 42 351

295 43 312

93 74 15 288

293 41 45 237

236 193 276 237

159 317 173 341

79 16 130

116 295 231

346 318 294 178

152 10 192

283 312 248 244

141 35 28

222 147 70 48

159 291 113 282

70 325 176 349

220 75 148 1

262 323 161 124

41 250 7

20 268 291 179

31 27 25 219

245 237 231

176 170 359 85

216 23 328 75

117 259 24 150

237 354 31 311

49 142 306

195 196 123

205 311 117 110

122 268 225 337

287 263 294 193

131 108 108 20

227 60 7

297 307 206

194 98 11

257 334 16

336 74 281

299 143 57 293

352 65 125

304 15 302 223

230 107 160

296 55 209

93 174 9

178 309 248 235

243 259 108

60 22 147

236 164 33 291

52 280 122

70 207 162

102 245 208 64

347 237 350

115 36 85 93

315 279 166

122 286 194

159 253 66 36

118 183 43 319

192 18 37 29

103 13 76 240

163 333 132

239 350 52

64 118 67

175 288 198

64 310 106 359

gp

Page 75: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

63

27 28 31 37 75

11 11 21 38 42

5 17 28 39 52

3 7 17 40 69

10 25 34 41 83

4 14 25 31 42

15 22 33 43 77

5 29 35 44 90

17 19 31 45 88

22 25 46 59 80

2 5 6 38 47

9 20 21 33 48

16 27 34 49 79

9 17 47 50 67

1 19 51 64 68

14 24 31 52 64

7 12 53 60 74

9 28 50 54 57

15 24 26 55 82

3 16 29 39 56

12 20 32 57 75

1 9 12 58 68

20 32 59 72 86

4 10 20 46 60

5 18 36 53 61

20 25 28 62 79

3 30 53 63 84

8 14 35 64 67

19 26 33 46 65

6 7 15 36 66

21 23 48 67 87

4 5 47 68 81

7 18 26 65 69

16 17 36 41 70

12 13 71 78 89

15 23 29 37 72

6 22 26 52 73

5 11 32 62 74

8 11 38 51 75

21 27 49 56 76

16 21 71 76 77

18 32 58 59 78

17 21 28 79 87

15 22 60 80 90

9 20 26 40 81

2 6 19 23 82

8 22 34 72 83

1 27 51 66 84

1 11 15 36 85

1 6 30 34 86

2 12 13 61 87

2 4 22 86 88

6 18 74 88 89

11 24 41 69 90

1 4 7 9 84

2 26 31 54 89

3 7 29 31 43

4 4 13 27 61

5 5 24 30 36

6 18 30 45 55

7 13 22 39 58

8 13 32 62 71

9 13 13 36 66

2 2 10 30 35

4 11 19 24 34

12 14 18 48 73

8 13 16 25 82

10 14 31 35 50

7 15 32 33 44

16 23 27 80 85

2 14 17 21 33

3 18 18 25 29

3 19 35 40 54

19 20 28 36 63

10 10 21 23 76

22 23 24 70 78

15 23 27 30 55

8 24 25 29 37

14 16 25 42 45

3 23 26 49 83

3 14 27 65 81

17 28 35 73 77

1 10 29 35 56

8 28 30 34 63

12 19 29 31 70

10 11 30 32 34

9 24 32 33 33

12 26 34 43 85

6 8 16 35 57

1 20 33 36 44

60 101 293 0 179

310 299 74 0 206

329 346 42 0 222

98 291 93 0 8

43 121 324 0 82

208 106 224 151 0

74 257 124 0 22

234 316 95 0 146

28 345 63 0 311

19 19 0 64 7

332 220 184 359 0

83 160 227 190 0

27 281 179 0 163

260 215 45 0 129

332 134 0 260 229

194 25 176 0 61

225 121 0 236 275

187 306 239 0 58

250 309 87 0 199

168 221 200 246 0

310 326 67 0 266

54 337 172 0 80

271 54 0 70 305

153 316 190 176 0

325 287 156 263 0

357 71 132 0 284

71 243 275 0 117

230 192 291 0 341

87 28 350 237 0

122 122 286 219 0

234 299 205 0 330

232 34 175 0 127

158 31 171 147 0

249 273 67 314 0

313 72 0 189 36

131 208 187 83 0

325 131 83 64 0

216 75 291 164 0

257 196 317 318 0

259 28 3 265 0

23 272 224 248 0

11 85 193 293 0

49 122 115 0 287

300 310 245 0 137

300 212 253 352 0

309 292 302 183 0

295 31 335 288 0

265 195 121 20 0

257 181 156 149 0

247 174 341 64 0

48 112 244 212 0

320 296 117 131 0

125 10 61 219 0

114 215 223 163 0

0 70 268 98 310

0 13 355 195 354

0 16 184 328 349

0 189 254 52 254

0 41 153 304 81

0 255 248 271 186

0 1 49 358 60

0 18 137 282 65

0 292 330 262 159

280 327 0 36 228

180 0 289 36 135

0 147 257 86 70

107 0 308 9 283

114 0 89 128 330

165 0 113 154 302

0 15 234 222 272

96 115 0 344 223

86 0 196 76 298

352 0 187 93 136

176 0 30 282 144

173 55 0 76 230

0 143 8 257 346

157 0 118 71 87

235 0 104 108 199

209 85 0 184 48

259 117 0 161 350

297 29 0 262 4

117 0 107 236 27

201 73 0 193 6

203 358 0 143 345

171 354 118 0 31

123 198 26 0 294

28 242 24 0 36

101 7 0 124 119

183 353 207 0 139

62 144 2 0 199

Rate: 1/2 (N =64800) ldpc

( 0 ~

44 )

( 45 ~

89 )

g g g gb pbp

Page 76: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

64 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 3/5 (N =64800) ldpc

( 0 ~

44 )

g gb p

1 16 23 25 33 34 37 41 102

1 8 10 12 25 34 38 45 98

3 7 9 15 34 35 39 65 93

13 18 18 23 27 28 40 58 105

8 12 15 19 19 26 41 56 97

23 25 26 29 30 32 42 49 95

7 11 13 18 21 26 43 51 99

11 19 26 28 31 32 44 46 98

4 9 9 9 23 36 39 45 80

1 8 12 23 31 32 46 68 78

2 14 18 24 25 31 47 52 104

5 10 12 12 16 17 48 57 83

6 12 14 26 34 36 42 49 95

4 4 8 16 32 35 37 50 82

8 14 16 18 29 30 51 70 90

5 16 24 28 32 33 52 61 81

10 14 16 20 28 30 42 53 103

3 6 24 27 30 36 54 61 91

2 5 15 15 21 24 55 59 100

3 6 8 10 28 32 56 60 92

3 11 12 20 24 33 57 64 93

3 4 5 7 16 19 58 63 76

4 18 22 27 27 30 50 59 103

2 10 20 28 28 28 43 60 80

2 7 21 22 31 36 61 63 87

2 2 12 18 26 33 52 62 77

1 15 17 18 29 36 53 63 77

1 7 11 17 33 36 44 64 84

3 11 11 19 31 33 48 65 73

3 6 11 12 28 31 60 66 76

1 9 9 14 23 30 54 67 100

2 5 11 27 33 34 53 68 86

7 8 22 23 24 33 67 69 89

3 4 9 15 17 31 39 70 84

1 4 7 20 24 24 44 71 101

1 4 4 14 25 28 37 72 97

2 5 6 14 25 27 48 73 107

2 6 17 18 20 25 66 74 104

10 12 13 26 35 36 45 75 75

16 21 21 23 30 31 43 76 87

12 16 21 21 26 27 59 77 105

5 10 26 26 31 35 50 78 94

1 3 11 23 30 32 41 79 82

5 13 19 25 35 35 70 80 89

9 9 13 16 21 27 65 81 83

123 160 47 226 15 246 0 151 157

205 222 334 98 293 226 0 286 14

3 103 182 308 204 325 0 266 21

33 143 174 215 101 117 0 1 149

7 235 221 310 239 326 0 337 2

151 150 200 349 307 240 0 159 223

275 180 260 8 115 75 0 176 19

298 132 176 62 274 316 0 101 73

6 272 262 239 304 114 230 0 3

282 243 203 294 31 191 0 296 18

302 299 279 173 126 229 0 93 347

254 60 268 224 24 117 0 299 72

286 158 198 80 14 257 104 0 246

265 139 309 41 320 197 101 0 346

295 75 249 28 42 8 0 332 264

159 255 54 134 217 243 0 137 193

39 114 289 104 98 290 18 0 309

330 8 355 156 41 272 0 60 274

135 118 231 320 276 24 0 44 188

172 282 4 256 319 309 0 164 167

239 70 53 238 194 56 0 248 177

93 130 24 285 179 133 0 352 289

58 302 130 149 219 96 350 0 124

124 75 71 303 250 283 94 0 56

4 236 298 22 54 326 0 83 270

82 120 184 153 311 76 176 0 45

317 85 312 148 76 339 67 0 264

359 179 153 179 309 310 208 0 149

284 296 189 227 46 107 259 0 13

43 80 132 49 266 132 211 0 66

49 119 287 157 7 31 44 0 309

12 206 232 81 285 210 276 0 161

70 163 341 225 218 137 172 0 238

207 33 167 27 19 25 211 0 204

199 288 266 176 122 278 97 0 245

358 186 200 196 29 36 103 0 119

349 345 270 350 319 67 53 0 311

199 152 257 25 121 259 301 0 85

41 107 83 36 94 168 83 0 292

257 132 57 241 237 305 72 0 327

253 345 147 6 339 262 58 0 192

131 320 93 19 288 14 206 0 173

320 203 336 33 222 72 175 0 23

164 344 248 179 204 328 88 0 160

62 305 187 10 161 87 228 0 166

Page 77: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

65

Rate: 2/3 (N =64800) ldpc

( 45 ~

71 )

g gb p

3 10 19 31 31 34 56 82 107

9 9 25 25 34 35 66 78 83

8 14 22 27 27 36 55 84 92

5 13 14 22 22 28 72 73 85

4 10 14 21 24 29 57 74 86

6 8 15 21 30 33 38 87 108

2 13 15 24 34 35 58 85 88

8 15 22 22 24 34 40 88 89

1 8 10 10 14 29 62 79 90

17 17 17 18 20 33 69 91 106

2 13 19 28 30 32 64 92 102

16 17 19 19 23 23 69 93 106

3 10 13 17 20 35 62 86 94

1 6 26 29 32 35 68 95 96

4 5 6 13 17 20 40 75 96

3 7 26 29 34 36 72 81 97

4 6 15 19 21 22 51 98 101

1 13 30 31 33 34 38 85 99

2 5 23 29 32 33 67 74 100

7 9 11 24 35 36 46 79 101

8 15 18 27 32 36 71 102 108

6 20 21 22 25 30 71 88 103

7 7 11 29 34 35 47 90 104

5 6 7 15 18 27 54 96 105

12 13 19 20 29 36 49 94 106

14 17 20 25 29 29 47 91 107

11 16 20 22 22 32 55 99 108

318 282 17 253 49 242 91 0 320

16 330 178 28 271 261 117 256 0

235 310 36 99 282 321 86 0 304

69 98 42 181 6 50 120 167 0

52 86 181 336 113 304 310 48 0

229 127 349 108 33 223 319 0 313

48 82 291 285 96 16 175 145 0

284 238 243 304 137 215 252 14 0

83 30 48 327 246 292 309 183 0

232 131 157 309 9 325 38 0 253

271 69 130 249 177 196 281 0 82

295 310 15 1 359 335 199 0 44

121 96 275 141 309 260 272 230 0

218 346 116 260 250 320 336 0 339

8 212 163 28 31 290 190 186 0

161 52 110 263 202 152 170 345 0

87 129 23 78 187 51 169 0 342

246 300 64 176 204 133 215 296 0

47 282 12 21 3 44 47 268 0

265 131 208 67 135 39 204 22 0

87 207 125 166 124 278 172 0 253

341 19 118 272 20 164 174 18 0

143 61 323 213 281 185 74 343 0

144 241 354 249 45 187 280 277 0

7 16 174 76 162 353 55 276 0

206 49 224 86 346 301 152 72 0

350 284 164 248 71 19 302 75 0

1 1 12 13 40 61 80 80

2 4 8 13 18 62 112 113

3 9 12 40 48 63 86 118

2 4 4 7 17 64 107 115

2 3 5 31 59 65 73 79

6 6 8 10 58 63 66 67

1 7 7 9 36 67 70 84

1 2 8 8 15 68 89 100

9 11 12 14 32 69 108 111

5 6 8 10 43 70 95 104

7 8 11 39 43 71 86 95

3 7 9 12 34 72 83 98

4 10 13 45 57 64 73 104

1 2 12 14 41 66 74 77

3 5 15 24 28 75 78 83

g gb p

0 356 124 130 76 0 128 195

0 171 49 124 135 0 299 58

0 209 288 42 9 0 288 248

52 0 257 131 341 0 93 60

263 159 0 21 329 0 94 326

0 48 268 202 196 309 0 167

223 0 352 147 264 0 340 198

314 136 0 16 93 0 237 74

0 354 150 311 117 0 276 91

32 154 184 0 256 0 334 53

153 225 0 292 43 0 227 235

241 267 297 0 36 0 258 357

194 23 0 164 320 56 0 219

49 253 293 0 23 191 0 356

147 62 0 150 87 0 339 270

( 0 ~

14 )

Page 78: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

66 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 2/3 (N =64800) ldpc

( 15 ~

59 )

g gb p

3 11 16 26 57 72 76 108

4 11 17 20 35 77 87 103

3 6 7 18 35 78 79 109

6 10 19 30 39 67 79 89

1 10 20 48 51 68 80 85

2 6 17 21 45 62 81 91

8 8 22 29 37 82 82 88

4 9 23 49 56 71 75 83

1 5 12 24 54 84 116 116

3 9 12 25 46 69 85 90

1 2 10 26 38 86 99 106

1 5 27 55 55 78 82 87

2 5 28 31 59 73 88 97

3 11 11 23 29 89 106 114

10 12 29 30 56 74 90 92

6 10 19 31 36 87 91 98

5 7 8 12 32 92 101 118

2 6 8 12 33 74 81 93

2 10 11 27 34 94 105 114

4 8 35 53 58 66 70 95

3 12 24 27 36 69 96 109

4 6 20 37 52 72 92 97

3 4 10 21 38 98 99 100

5 10 22 33 39 93 99 103

1 12 30 38 40 94 100 112

2 8 23 41 54 96 101 119

3 8 25 42 47 65 88 102

6 11 16 43 49 65 76 103

7 10 28 34 44 97 104 110

2 5 26 45 60 91 94 105

7 11 37 42 46 77 85 106

1 9 16 42 47 61 62 107

7 7 14 48 51 61 108 115

1 5 19 46 49 93 109 117

4 6 11 22 50 76 110 120

3 9 25 32 51 111 113 120

1 6 7 11 52 75 112 117

4 9 41 52 53 96 102 113

7 11 15 44 54 63 105 114

9 12 18 50 55 71 81 115

5 9 21 33 56 107 116 119

3 10 47 57 60 101 110 117

4 11 44 50 58 64 84 118

5 6 9 53 59 68 90 119

2 4 5 9 60 102 111 120

286 345 0 67 72 204 0 67

118 134 0 1 352 0 100 276

61 327 168 0 290 0 114 280

107 85 0 249 263 209 0 15

184 27 0 164 305 271 0 269

275 332 210 0 31 204 0 317

158 53 0 244 185 0 195 101

224 199 0 199 274 342 227 0

93 258 190 0 261 0 272 309

260 106 2 0 33 210 0 47

226 130 35 0 162 0 49 88

352 272 0 238 165 39 57 0

74 82 0 144 249 260 0 208

50 284 302 193 0 0 148 211

207 223 237 0 267 114 0 62

79 249 324 0 239 268 0 83

283 70 122 350 0 0 304 281

147 318 224 126 0 253 353 0

222 238 176 262 0 0 159 164

70 165 0 229 19 182 88 0

262 154 352 219 0 202 0 44

268 159 157 0 288 14 252 0

20 31 231 29 0 0 101 12

117 221 228 62 0 359 0 207

206 28 95 21 0 18 0 310

195 291 95 0 288 94 0 228

216 98 219 0 302 208 183 0

96 24 176 0 143 100 115 0

336 308 187 249 0 189 0 86

257 16 81 0 18 211 299 0

125 179 212 38 0 310 160 0

147 40 19 35 0 57 223 0

107 296 200 0 176 74 0 137

12 334 335 237 0 175 0 83

65 309 249 291 0 126 0 301

178 194 220 319 0 0 44 117

186 280 259 8 0 51 0 352

52 192 155 46 0 166 26 0

237 87 116 41 0 243 15 0

270 36 294 212 0 111 238 0

122 183 326 250 0 176 0 266

118 349 93 0 274 290 302 0

103 289 177 274 0 137 193 0

310 198 29 296 0 204 319 0

64 288 350 115 0 74 337 0

Page 79: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

67

Rate: 3/4 (N =64800) ldpc

gpgb

1 3 4 7 11 32 46 60 70 91 95 127

2 4 8 10 40 41 47 63 83 92 114 130

2 3 3 8 31 41 48 52 86 91 93 115

4 6 8 9 9 18 49 49 51 94 124 135

3 5 11 12 30 37 46 47 50 95 101 108

6 6 6 10 31 33 51 74 78 95 96 132

6 7 9 10 13 17 49 52 90 97 99 107

8 10 14 15 20 34 48 53 67 98 109 124

5 9 9 11 13 22 54 56 90 97 99 117

2 3 5 7 10 30 55 58 88 100 109 112

2 5 10 11 13 14 56 64 79 100 101 101

1 6 9 12 16 24 57 57 58 98 102 123

1 3 13 13 14 32 53 58 77 91 103 105

5 11 12 14 14 42 54 59 69 104 108 111

4 5 13 14 15 23 52 60 63 105 106 117

5 8 11 16 19 27 61 69 87 103 106 126

4 7 7 10 17 36 62 85 86 92 107 115

3 4 4 18 29 40 63 70 89 103 108 130

7 7 8 12 15 19 51 61 64 109 120 122

2 5 13 14 20 36 65 78 88 97 110 128

6 9 11 21 28 39 47 66 75 111 114 133

2 3 5 12 17 22 57 67 83 104 111 112

1 3 5 9 10 23 68 82 85 99 113 121

1 6 7 24 24 37 56 65 69 107 110 114

1 10 12 25 28 39 70 79 81 115 125 134

9 10 12 23 26 43 71 80 82 93 116 119

1 8 15 15 26 27 59 68 72 117 121 129

7 9 10 21 28 35 48 73 74 98 118 119

11 15 15 26 29 44 72 74 76 113 119 129

1 6 12 13 19 30 50 75 81 93 105 120

4 7 7 11 21 31 66 71 76 92 121 127

1 5 8 14 32 45 60 72 77 100 122 135

2 3 4 9 18 33 46 71 78 120 123 128

11 15 15 34 38 43 53 66 79 96 124 131

3 8 13 35 35 38 59 62 80 106 110 125

4 6 12 15 27 36 54 81 87 113 123 126

4 6 7 14 29 37 67 80 82 118 125 127

2 10 13 14 15 38 55 77 83 102 128 134

8 11 15 22 34 39 65 84 89 126 129 131

1 8 11 20 33 40 50 84 85 102 112 130

1 1 12 13 14 41 62 68 86 104 122 131

6 9 12 14 42 45 73 84 87 96 132 133

2 2 4 25 25 43 55 64 88 94 118 133

2 3 5 12 42 44 73 75 89 116 116 134

2 8 13 16 44 45 61 76 90 94 132 135

0 52 205 145 164 263 0 173 301 0 187 78

0 279 351 314 42 179 0 92 151 0 29 180

210 0 89 22 290 13 0 184 33 203 0 28

0 220 272 348 51 69 0 98 205 0 195 296

39 0 203 13 169 319 332 80 0 0 340 171

0 82 329 199 283 55 0 4 91 329 0 24

45 0 156 348 166 62 290 0 222 0 253 299

0 79 210 179 200 45 300 0 273 0 162 61

324 0 281 136 32 262 0 321 189 189 0 214

53 218 120 270 0 75 0 348 334 0 89 271

20 252 213 0 279 349 0 181 16 95 0 320

342 240 232 0 94 192 0 322 84 303 0 88

288 183 0 251 302 51 25 0 147 283 0 186

154 155 318 0 162 111 248 0 321 0 257 80

98 145 6 66 0 301 3 0 329 0 225 170

333 93 214 0 39 224 0 230 19 281 0 304

198 164 257 143 0 243 0 171 172 273 0 202

24 65 42 0 168 190 0 28 308 109 0 134

130 132 157 120 39 0 48 143 0 0 52 105

108 36 313 14 0 26 0 18 184 305 0 153

51 341 114 0 194 225 139 0 257 0 322 39

316 220 191 115 207 0 180 0 254 29 262 0

300 58 107 227 198 0 0 177 298 12 0 97

244 197 186 0 160 336 17 173 0 273 84 0

63 285 32 0 37 146 0 166 15 0 69 113

222 254 104 50 0 57 0 20 294 190 0 76

185 89 293 215 199 0 203 275 0 0 112 19

183 45 251 287 0 68 178 0 191 185 0 354

201 11 166 202 0 170 265 0 69 172 0 49

305 234 358 328 316 0 327 0 296 74 190 0

326 285 228 195 273 0 47 237 0 53 0 217

36 22 262 267 0 301 329 80 0 129 0 38

107 186 276 283 64 0 338 220 0 212 0 208

135 112 25 0 315 222 91 332 0 156 0 253

62 195 8 0 306 337 269 109 0 70 233 0

232 325 356 75 57 0 217 0 187 53 2 0

186 8 20 176 306 0 53 196 0 352 38 0

77 289 301 184 253 0 29 50 0 109 0 246

79 350 57 222 117 0 296 0 168 111 0 95

197 314 69 265 227 0 353 253 0 155 331 0

219 112 125 202 276 0 221 272 0 302 41 0

151 174 184 343 0 100 89 114 0 230 0 182

353 342 166 46 295 0 79 159 0 179 251 0

301 323 314 193 259 0 102 47 0 28 164 0

200 347 247 291 186 0 192 148 0 322 225 0

(0 ~

44 )

Page 80: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

68 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 4/5 (N =64800) ldpc

gp

gb

(0 ~

35

)

1 7 13 16 16 18 26 37 40 50 74 83 88 110 127 141

2 10 11 15 18 28 34 38 42 65 75 98 100 111 120 123

3 6 8 11 13 20 22 39 49 69 76 80 108 112 120 127

4 6 6 10 12 16 19 40 41 60 74 77 96 113 130 131

5 5 7 8 16 31 32 41 50 56 78 86 106 114 124 136

1 6 6 10 14 17 23 42 45 53 79 99 107 115 130 131

7 8 9 12 12 14 28 43 43 59 80 90 90 116 134 137

5 7 8 11 11 15 20 44 46 65 75 81 88 117 118 138

1 9 9 10 11 15 21 45 54 72 79 82 102 114 118 135

1 2 3 3 10 14 27 37 46 62 83 101 108 119 125 145

4 5 11 13 13 14 26 47 48 67 83 84 94 120 122 124

9 9 12 13 16 16 34 48 58 67 77 85 92 121 128 138

1 1 3 11 12 13 31 47 49 63 82 86 87 115 122 136

4 5 8 10 14 17 30 50 69 72 78 85 87 110 123 133

8 12 15 16 18 23 33 51 64 71 85 88 89 124 129 132

4 6 8 8 12 13 16 53 59 70 89 101 109 113 123 125

1 6 7 12 16 17 18 54 64 71 80 90 102 126 143 145

2 2 2 7 9 18 18 47 55 70 81 91 98 126 126 127

1 9 10 13 17 19 36 55 56 61 92 95 106 125 128 129

3 5 6 12 17 20 22 39 56 57 84 93 99 112 121 129

3 3 4 15 18 21 30 40 54 58 81 94 109 119 130 141

2 14 15 15 18 22 27 58 59 62 79 94 95 118 131 133

2 7 7 17 17 17 23 44 46 60 77 78 96 113 132 140

5 5 8 8 8 24 35 43 61 63 91 97 103 115 133 139

1 3 6 6 12 16 25 51 57 62 76 98 105 111 134 139

4 14 15 18 18 26 29 63 66 66 97 99 104 119 135 135

2 7 10 11 14 21 27 41 51 64 76 89 100 117 121 136

7 9 10 11 14 16 28 45 65 68 87 92 101 137 142 144

4 4 6 7 18 25 29 42 60 66 95 102 103 122 132 138

3 13 14 15 17 29 30 55 57 67 91 100 103 139 140 144

2 3 9 15 17 31 36 48 53 68 96 104 107 114 116 140

1 1 9 14 24 32 35 38 69 73 74 82 105 111 112 141

2 9 12 15 25 32 33 44 49 70 84 93 106 134 142 143

3 4 5 10 13 17 34 37 68 71 97 105 107 116 142 143

4 5 10 11 19 33 35 38 61 72 75 86 108 117 128 144

2 4 5 11 13 24 36 39 73 73 93 104 109 110 137 145

0 256 35 41 179 117 239 0 299 288 0 326 160 0 129 102

0 353 118 264 45 30 71 0 63 263 0 337 1 0 16 149

0 265 329 142 253 332 19 0 28 302 0 204 134 0 27 177

0 301 332 295 106 284 78 0 151 144 223 0 176 0 353 198

0 27 334 180 176 298 184 0 154 193 0 270 343 0 357 90

356 0 247 235 42 131 238 0 137 341 0 299 89 0 357 188

(0 ~

5 )

Page 81: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

69

Rate: 5/6 (N =64800) ldpc

gp

(6 ~

35

)

0 142 126 297 192 291 290 0 285 249 0 18 299 0 208 40

25 282 0 172 133 185 69 0 237 292 243 0 269 0 154 96

135 0 98 317 112 255 113 0 324 124 111 0 195 264 0 301

124 74 206 69 0 198 162 93 0 250 0 117 72 0 139 206

270 189 0 250 300 28 96 0 178 177 114 0 74 0 78 320

246 122 0 2 24 345 36 0 237 41 209 0 94 0 110 18

349 4 282 313 115 0 118 104 0 239 114 0 198 167 0 322

346 217 234 203 0 310 57 0 93 309 271 238 0 158 0 263

325 29 0 134 302 164 122 0 212 261 353 0 47 0 99 2

229 163 34 248 108 157 0 0 95 229 0 301 199 129 323 0

49 257 60 35 289 0 174 0 185 288 14 0 27 0 353 163

215 253 263 39 349 0 208 245 0 296 320 0 91 112 155 0

82 16 107 131 179 0 272 29 0 319 0 53 162 125 0 189

144 323 201 209 232 0 76 225 95 0 128 0 310 110 90 0

24 278 241 139 279 0 276 351 335 0 325 0 149 135 0 275

64 49 146 194 15 0 75 244 0 62 342 26 0 205 0 239

347 96 41 192 257 31 0 194 226 0 167 204 0 238 0 110

22 295 41 216 5 0 181 173 0 264 235 0 272 304 0 132

184 345 171 54 240 87 0 93 352 0 56 0 163 145 0 312

80 338 235 143 28 0 306 0 23 155 86 0 57 225 0 237

257 320 245 132 238 76 0 176 116 0 137 319 0 341 82 0

48 237 230 114 320 249 0 54 0 237 193 166 0 0 152 249

341 152 62 327 148 28 0 293 21 0 219 0 119 349 254 0

164 97 346 318 141 42 0 326 150 0 334 175 0 0 347 18

222 118 298 278 19 0 22 20 210 0 169 0 218 343 339 0

206 12 141 215 20 0 6 205 0 249 204 253 0 59 18 0

275 165 48 96 171 108 0 218 150 0 195 290 0 120 0 286

301 282 346 253 74 312 0 43 33 0 302 186 0 277 292 0

129 243 257 140 244 157 0 153 117 0 309 258 0 303 171 0

147 286 48 121 303 253 0 241 0 329 304 134 0 87 24 0

1 4 7 9 10 14 15 15 31 41 55 61 73 79 91 98 119 121 137 141

2 2 3 3 8 14 16 20 32 32 47 62 68 70 92 101 102 122 132 149

1 3 6 10 13 13 28 29 33 43 57 63 66 71 92 93 117 123 131 133

1 4 5 6 9 12 13 18 34 35 59 64 65 80 91 94 112 124 138 149

5 5 6 9 10 10 12 16 35 40 56 65 78 88 95 110 114 125 138 147

3 3 5 6 8 9 13 14 36 49 56 64 66 90 92 96 116 126 133 148

1 4 7 7 8 10 12 18 37 38 46 67 74 87 97 108 112 127 130 144

2 3 4 8 8 8 23 28 38 48 53 63 68 84 93 98 117 121 124 128

2 4 4 9 13 14 23 29 39 40 57 63 69 72 95 99 101 129 131 142

3 5 7 7 9 9 10 14 40 54 59 70 78 83 99 100 106 122 130 134

1 4 5 10 11 15 19 25 35 41 50 71 77 84 101 104 118 129 131 134

2 6 7 7 12 12 13 14 42 46 60 64 72 90 91 102 116 132 145 146

1 3 8 10 11 12 13 30 38 43 47 73 82 87 99 103 103 133 136 147

1 2 5 8 10 13 14 14 43 44 44 74 88 89 103 104 120 134 143 145

4 6 7 8 10 12 13 15 33 45 60 62 72 75 105 114 118 126 128 135

gb

(0 ~

14

)

Page 82: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

70 Decoding Table: Addresses of variable bits for Nldpc = 64800

gp

(15

~2

9 )

gb

(0 ~

29

)

1 6 6 11 12 15 16 26 32 46 52 73 76 81 106 107 109 127 136 137

1 2 3 6 9 15 17 30 37 44 47 62 77 83 107 109 115 130 137 139

2 2 3 5 7 10 18 27 39 41 48 70 75 78 96 100 108 138 140 150

4 6 8 11 12 15 17 19 39 42 49 68 79 81 106 109 120 124 135 139

1 2 2 3 8 11 20 24 50 52 58 61 67 80 95 107 110 123 140 141

6 6 6 9 15 21 22 27 31 36 51 66 74 81 100 105 111 123 125 141

5 7 7 9 10 15 22 24 34 34 52 65 71 82 104 112 113 122 127 142

1 4 10 11 14 14 15 23 33 48 53 82 83 86 102 110 113 135 142 143

9 11 14 14 15 20 22 24 42 54 55 80 84 85 113 114 115 136 144 144

2 3 4 5 8 21 21 25 37 55 58 61 69 85 97 97 115 125 143 145

4 4 11 12 13 13 14 26 31 54 56 69 76 86 111 116 119 140 146 146

1 7 11 11 11 11 26 27 51 53 57 77 79 87 96 98 117 139 147 148

5 8 9 12 13 13 15 28 45 51 58 76 85 88 105 108 118 132 148 150

2 5 9 11 12 15 19 29 36 49 59 75 86 89 93 111 119 128 129 149

1 3 5 7 12 17 25 30 45 50 60 67 89 90 94 94 120 121 126 150

0 48 28 274 232 218 240 341 0 272 80 0 80 339 0 252 199 0 249 209

0 159 257 171 97 137 106 76 0 272 87 0 189 149 0 169 156 0 317 289

263 0 225 141 42 115 191 242 0 174 192 0 205 138 240 0 348 0 156 7

136 0 32 237 264 7 6 117 0 110 120 0 143 348 255 0 335 0 8 204

0 99 122 326 291 257 347 150 0 228 347 0 265 158 0 58 273 0 218 146

21 194 199 0 202 287 336 235 0 250 85 7 0 264 225 0 291 0 62 235

253 27 0 83 221 234 239 134 0 51 210 0 55 209 0 93 116 0 38 290

147 118 217 0 303 308 43 325 0 155 323 358 0 168 303 0 204 99 238 0

61 25 189 0 108 67 18 96 0 349 149 119 0 19 97 0 98 0 124 133

60 281 187 337 304 212 0 113 0 173 294 0 78 58 44 0 260 304 0 240

275 248 258 312 0 143 162 175 47 0 309 0 304 225 0 341 29 250 0 123

260 98 16 294 0 75 276 122 0 244 301 66 0 292 4 0 340 0 131 288

215 224 2 310 45 231 0 235 304 0 221 0 137 64 138 0 56 0 92 225

74 50 82 131 74 306 0 85 171 0 43 0 332 164 199 0 315 0 247 231

346 291 317 35 179 87 358 0 268 0 188 220 40 0 0 99 71 219 229 0

147 246 141 28 96 294 0 342 39 0 138 93 0 223 0 354 54 19 0 264

222 301 70 298 144 179 0 253 12 330 0 248 0 53 0 310 339 149 0 144

262 20 268 283 230 192 0 233 26 191 0 177 125 0 340 112 0 0 67 93

323 349 231 299 28 335 144 0 226 332 0 98 0 127 285 0 126 30 55 0

195 278 216 31 27 148 0 49 0 225 190 242 313 0 296 280 0 282 0 294

16 165 268 180 354 0 321 74 280 299 0 184 173 0 255 51 0 25 130 0

117 257 307 357 250 135 0 288 183 293 0 320 196 0 41 0 151 234 100 0

257 59 31 15 278 291 64 0 279 21 0 307 0 175 3 92 0 57 54 0

160 117 194 54 324 301 35 0 245 0 78 179 0 236 233 0 284 154 0 60

178 65 230 334 207 155 99 0 35 0 155 312 18 0 76 315 0 297 303 0

201 22 208 281 101 57 24 0 126 258 0 213 247 0 291 0 292 106 0 231

347 245 143 302 279 174 309 0 202 327 0 232 154 0 354 5 0 9 0 43

122 253 8 52 132 147 210 0 224 271 0 60 53 0 152 309 0 100 0 116

118 310 262 76 162 37 304 0 283 172 0 65 127 0 350 62 0 106 178 0

64 288 350 163 118 54 296 0 309 246 0 36 92 0 287 51 0 302 172 0

Page 83: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

71

Rate: 8/9 (N =64800) ldpc

gp

gb

1 2 16 18 21 26 35 41 51 58 61 78 80 81 84 92 101 110 110 121 122 137 141 153 154

2 4 9 18 22 31 36 42 44 60 62 64 67 82 87 93 102 109 116 122 137 138 142 155 157

1 3 8 18 23 30 39 43 44 56 63 73 77 83 92 99 102 103 106 123 123 129 143 149 150

4 6 14 14 24 27 37 44 46 54 64 64 80 83 84 91 104 115 116 124 132 135 144 146 157

5 5 10 17 22 23 25 45 45 52 65 72 75 82 85 94 105 119 120 124 125 133 145 150 159

6 6 13 13 26 28 32 45 46 57 62 66 77 86 90 95 106 111 115 126 128 138 145 146 151

7 10 13 21 27 33 41 47 50 61 62 67 85 87 96 107 107 118 127 129 136 144 145 147

3 6 8 10 24 24 28 48 55 60 65 68 71 87 88 89 108 114 120 128 128 132 142 146 148

1 2 9 9 29 30 40 49 52 53 61 69 71 83 89 91 104 108 109 129 131 134 149 152 159

7 10 14 15 30 34 34 42 50 51 70 73 79 81 89 90 110 117 117 127 130 135 149 150 156

3 8 11 11 23 26 31 43 50 51 69 71 76 91 94 97 101 103 111 123 126 131 151 152 155

12 12 17 19 27 32 35 46 49 52 63 70 72 81 92 96 108 112 113 121 132 140 143 152 158

2 5 13 15 33 33 36 47 47 53 67 73 74 88 93 98 101 113 119 133 134 140 151 153 158

9 11 12 14 29 34 38 42 54 55 74 74 75 88 94 95 104 113 114 124 133 134 147 148 154

7 8 15 19 32 35 40 43 55 56 65 70 75 86 93 95 111 112 115 125 130 135 141 154 155

1 7 15 16 31 36 37 48 48 56 72 76 76 85 86 96 107 114 116 126 136 139 148 153 156

4 11 17 21 22 37 41 54 57 68 68 77 97 97 100 106 117 118 127 130 137 143 157 160

3 5 16 18 29 38 38 49 58 58 66 78 79 82 98 99 103 105 118 122 125 138 144 156 158

17 19 20 20 25 39 39 57 59 59 69 78 79 84 98 99 109 112 119 121 136 139 141 142 159

4 12 16 20 25 28 40 53 59 60 63 66 80 90 100 100 102 105 120 131 139 140 147 160 160

0 70 164 129 0 48 239 0 323 122 0 330 297 0 338 24 0 154 146 0 12 144 0 280 326

0 12 172 241 0 32 311 0 280 53 0 307 69 0 286 134 0 248 30 0 54 162 0 270 276

199 0 43 286 0 99 170 0 79 125 0 11 118 0 179 272 257 0 242 0 7 237 0 100 124

0 176 293 64 0 243 152 0 71 248 0 187 115 331 0 160 0 290 101 0 48 187 0 158 237

0 47 347 278 285 265 0 0 334 213 0 181 112 199 0 302 0 51 22 180 0 228 0 209 146

0 239 117 60 0 87 122 60 0 246 353 0 114 0 257 262 0 69 344 0 235 304 166 0 88

0 215 196 52 0 62 54 0 232 107 295 0 49 0 357 0 299 118 0 120 95 49 288 0

314 264 0 64 59 201 0 0 317 184 28 0 310 18 0 255 0 75 4 0 190 29 31 165 0

218 93 0 239 0 281 163 0 263 34 253 0 114 209 0 41 299 133 0 0 93 106 0 269 74

45 0 184 131 0 262 167 265 0 298 0 217 35 192 278 0 0 42 132 194 0 166 147 0 227

356 207 0 263 354 217 0 318 189 0 164 0 140 0 8 212 312 117 0 225 355 0 0 342 26

0 186 301 21 295 0 182 98 296 0 317 350 0 209 0 144 15 0 87 263 0 35 305 0 102

186 302 0 254 0 16 129 352 259 0 114 0 280 264 0 128 232 0 6 0 150 321 42 0 62

330 147 130 0 235 0 312 332 0 174 0 310 313 139 0 180 15 171 0 304 107 0 217 274 0

175 3 0 60 258 0 171 159 0 292 83 206 0 306 176 0 337 253 0 176 350 0 164 257 0

49 236 159 0 334 0 200 267 237 0 299 0 133 28 116 0 341 281 0 293 0 301 80 126 0

135 275 0 103 143 0 201 180 0 43 123 0 0 271 74 215 0 316 24 150 0 31 0 276

223 199 24 0 30 0 205 336 0 165 69 0 240 183 0 122 131 309 0 205 328 0 288 292 0

61 0 224 65 25 0 51 126 0 158 340 72 0 198 200 0 130 83 0 43 337 0 222 199 0

124 52 282 0 323 309 0 216 268 0 245 344 0 255 0 291 31 153 0 80 76 0 19 0 288

Page 84: HanxiaoGe - DiVA portalliu.diva-portal.org/smash/get/diva2:504435/FULLTEXT01.pdfand it is the first time that LDPC codes are included in the broadcast standard in2003. Inthisthesis,arestructuredparity-checkmatriceswhichcanbedividedinto

72 Decoding Table: Addresses of variable bits for Nldpc = 64800

Rate: 9/10 (N =64800) ldpc

1 2 12 14 19 27 36 37 38 54 55 58 65 73 85 87 91 92 98 109 113 125 127 127 132 145 154 155

2 4 8 13 20 31 32 38 45 45 56 57 63 74 76 88 92 95 101 110 119 120 128 141 144 145 146 159

1 3 9 17 21 28 35 37 39 41 57 59 63 75 80 83 93 99 101 110 111 125 129 138 144 147 147 160

4 6 13 17 21 22 24 40 40 53 58 70 72 76 79 80 94 106 107 109 111 112 130 136 139 147 148 153

5 5 6 15 23 23 25 41 46 52 59 62 69 77 78 81 91 91 95 113 115 116 127 131 135 149 153 156

6 9 12 17 19 24 33 42 47 47 60 60 62 75 75 78 93 96 106 114 122 123 132 133 134 150 150 160

3 6 7 9 20 22 25 41 43 53 61 61 69 79 79 88 94 96 97 114 115 122 133 136 140 149 151 152

1 2 8 8 25 26 29 37 42 44 57 59 62 80 82 85 92 93 98 116 117 117 134 135 137 149 152 157

7 9 12 18 27 27 31 45 48 48 56 63 64 81 89 89 99 103 108 110 117 119 132 135 142 151 153 162

3 10 10 16 24 28 28 43 44 46 61 64 71 73 81 82 98 100 107 118 121 124 129 136 141 146 154 161

11 11 15 18 29 33 34 39 47 52 55 65 68 74 83 90 94 101 105 109 115 119 133 137 140 155 155 161

2 5 12 13 30 30 35 39 48 49 56 66 68 73 74 84 102 102 103 112 120 121 131 138 138 148 156 162

7 8 10 13 31 32 36 43 49 51 65 67 67 77 84 85 97 103 108 111 120 121 130 131 139 145 157 159

1 14 16 16 21 30 32 44 46 50 58 68 70 83 86 86 102 104 104 118 122 126 137 139 140 146 158 158

4 7 11 15 20 22 33 42 49 51 66 69 71 76 82 87 96 100 105 114 123 123 128 141 143 148 154 159

3 14 16 18 23 29 34 50 50 52 64 67 70 84 86 88 100 105 106 113 116 124 129 130 142 152 156 160

5 10 15 17 19 34 35 38 53 54 60 66 71 77 78 89 99 104 107 112 125 126 128 143 143 150 151 161

4 11 14 18 26 26 36 40 51 54 55 72 72 87 90 90 95 97 108 118 124 126 134 142 144 157 158 162

0 70 60 164 0 48 239 0 152 234 0 246 69 0 286 257 0 352 123 0 12 144 0 266 302 0 295 296

0 12 172 64 0 99 32 0 79 280 0 125 187 0 330 160 0 257 146 0 64 324 0 324 126 39 0 60

199 0 347 286 0 243 167 311 0 171 0 122 307 0 131 117 0 248 154 71 0 54 0 100 280 0 276 78

0 176 293 241 171 0 265 0 170 323 0 181 310 0 331 300 0 290 101 184 51 0 0 158 191 237 0 285

0 47 239 278 0 285 201 0 327 232 0 295 114 0 199 231 262 180 0 0 180 137 36 0 166 0 83 62

0 215 196 129 60 0 122 0 60 334 0 53 353 114 118 0 272 0 344 0 149 187 0 9 49 0 276 211

314 264 0 64 194 52 0 163 0 298 0 107 310 0 209 41 74 210 0 215 0 81 0 165 215 146 0 67

218 93 0 239 59 0 87 129 54 0 292 165 0 0 49 18 241 122 0 0 235 190 0 288 233 74 0 282

45 0 117 346 0 217 281 0 98 71 317 0 300 0 24 179 0 19 6 243 0 294 278 0 14 185 0 172

356 0 263 147 354 0 295 265 318 0 253 0 217 313 27 0 322 0 30 0 106 95 18 0 179 227 0 263

0 186 301 229 0 258 62 312 0 189 34 0 206 140 0 176 291 0 75 100 304 0 136 0 204 0 118 343

186 302 0 184 0 235 262 205 0 352 174 0 350 112 133 0 0 76 176 263 0 150 237 0 147 49 0 250

175 330 147 0 0 334 182 332 0 296 114 0 164 297 306 0 174 0 108 6 143 0 164 8 0 272 0 275

49 0 262 118 268 30 0 159 48 0 126 0 299 273 0 63 309 0 253 190 0 117 74 325 0 292 0 47

135 236 130 0 118 103 0 201 259 0 123 0 11 72 28 0 93 319 0 294 0 166 76 0 197 321 47 0

223 24 0 80 143 309 0 267 237 0 187 340 0 116 140 0 244 281 0 205 67 0 43 222 0 214 163 0

199 275 61 0 21 16 0 200 0 41 184 43 0 115 183 0 130 83 0 43 0 134 301 0 325 288 219 0

124 52 282 0 25 323 0 51 336 0 216 0 280 255 0 134 31 279 0 223 337 0 288 328 0 162 102 0

gp

gb