• 沒有找到結果。

新的用於低密度同位檢查碼之重組解碼方法及其收斂性分析

N/A
N/A
Protected

Academic year: 2021

Share "新的用於低密度同位檢查碼之重組解碼方法及其收斂性分析"

Copied!
52
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程研究所

碩 士 論 文

新的用於低密度同位檢查碼之重組解碼方

法及其收斂性分析

New Shuffled Decoding of LDPC Codes and

their Convergence Analysis

研究生:許晏誠

(2)

新的用於低密度同位檢查碼之重組解碼方法及其收斂性分析

New Shuffled Decoding of LDPC Codes and their Convergence

Analysis

研 究 生:許晏誠 Student:Yen-Cheng Hsu

指導教授:蘇育德 教授 Advisor:Prof. Yu T. Su

國 立 交 通 大 學

電信工程研究所

碩 士 論 文

A Thesis

Submitted to the Institute of Communications Engineering

in partial fulfillment of the requirements

for the Degree of

Master of Science

in

Communications Engineering

at the

National Chiao Tung University

September 2012

Hsinchu, Taiwan

(3)

新的用於低密度同位檢查碼之重組解碼方法及其收斂性分析

學生:許晏誠 指導教授:蘇育德 教授 國立交通大學 電信工程研究所碩士班 摘 要 在本論文中,我們提出了兩種新的用於低密度同位檢查碼 (LDPC codes) 的 重組信度傳遞解碼演算法(Shuffled Belief-Propagation Decoding);為了加速 解碼收斂速度以及降低運算複雜度,我們提出了一種將檢查節點分成有交集的組 別的重組信度傳遞解碼方法。此外,我們亦提出了將水平重組(針對檢查節點分 組)和垂直重組(針對變數節點做分組)混合交互使用的解碼方法。 我們使用高斯近似 (Gaussian Approximation) 的方法來分析不同信度傳 遞演算法的效能與解碼行為;理論分析與實驗模擬結果皆一致地顯示出我們所提 之方法在相同的複雜度下可以達到較好的解碼成果。經由蒙特卡羅 (Monte-Carlo) 模擬的結果可以發現我們所提出的兩種演算法比起傳統的重組 信度傳遞解碼演算法皆有較好的錯誤率效能。

(4)

New Shuffled Decoding of LDPC Codes and their

Convergence Analysis

Student : Yen-Cheng Hsu Advisor : Prof. Yu Ted Su Institute of Communication Engineering

National Chiao Tung University Abstract

Two new shuffled belief propagation decoding algorithms for low-density parity-check (LDPC) codes are proposed in this thesis. To accelerate the decoding convergence rate and lower the implementation complexity, we propose a group shuffled decoding schedule which divides check nodes into non-disjoint groups to perform group-by-group message-passing decoding. A hybrid shuffled schedule which combines horizontal (partitioning check nodes into groups) and vertical (partitioning variable nodes into groups) shuffled schemes is also presented.

Performance of the proposed algorithms are analyzed by a Gaussian approximation based approach. Both analysis and numerical experiments verify that the new algorithms do yield a convergence performance better than that of existing conventional shuffled BP decoder with the same computing complexity constraint. In terms of error-rate per-formance, Monte-Carlo simulations show that the proposed approaches yield improved results in comparison with the conventional shuffled decoding schedules.

(5)

誌謝

能完成我的碩士班研究,首先要感謝的是這兩年來辛苦提攜與指導我們的蘇 育德老師,因為有老師的細心教導與提供完善的實驗環境,才能夠完成今天的這 篇論文。在學術的這座殿堂當中,雖然還好深、好廣。但是感謝老師提供了如此 多的機會,才讓我們能夠更加的貼近了一些些、更了解它一點點。老師不僅僅在 研究上給予我們許多建議和幫助,更在為人處事方面給了很多受用的指導,讓我 受益良多。 感謝這兩年來曾經一起在實驗室追求自己學位的學長姐及學弟妹們,感謝你 們和我一起經歷彼此生命中這一段珍貴且不會重來的時光。其中特別要感謝的是 張致遠學長,從大學時期做專題起就一直盡心盡力地帶著我和殷呈做研究,不管 研究上遇到甚麼問題,你總是會跳出來幫我們一起想辦法解決,真的很謝謝你對 我們的付出。另外還要謝謝翁健家學長,雖然不是我們實驗室的,但是對於我們 的研究也是不餘遺力的幫忙和討論。 再來要感謝的是系上所有的好朋友們,還有一起住過的室友們,有你們的陪 伴才能讓我的休閒生活多采多姿。最後當然要感謝我的父母,能讓我在求學時期 完全不用考慮經濟問題,並不斷的給予我支持和鼓勵,讓我能夠完成我的學業。

(6)

Contents

Chinese Abstract i English Abstract ii Acknowledgements iii Contents iv List of Figures vi 1 Introduction 1

2 Review of Low-Density Parity-Check Codes 4

2.1 Representations of LDPC codes . . . 5

2.1.1 Matrix representation . . . 5

2.1.2 Tanner graphs . . . 5

2.2 The sum-product algorithm . . . 6

2.3 Shuffled belief propagation decoding . . . 9

2.3.1 Vertical shuffled belief propagation algorithm . . . 9

2.3.2 Horizontal shuffled belief propagation algorithm . . . 12

2.4 The Gaussian approximation . . . 13

2.4.1 GA for regular LDPC codes . . . 15

(7)

3 Proposed Algorithms 18

3.1 Hybrid-shuffled belief propagation algorithm . . . 18

3.2 Non-disjoint group shuffled belief propagation algorithm . . . 21

3.2.1 Why GS decoding with non-disjoint groups? . . . 22

3.2.2 Basic definitions and notations . . . 24

3.2.3 System model and decoding schedule . . . 25

4 Convergence Analysis 27 4.1 GA for shuffled belief propagation algorithm . . . 27

4.1.1 GA for VSBP algorithm . . . 27

4.1.2 GA for HSBP algorithm . . . 28

4.2 GA for hybrid-shuffled belief propagation algorithm . . . 30

4.3 GA for non-disjoint group shuffled belief propagation algorithm . . . 30 5 Numerical Results 34

6 Conclusion 40

(8)

List of Figures

2.1 The Tanner graph for the code given in the example. . . 6

2.2 A VN decoder (REP decoder). VN n receives LLR information from the channel and from all of its neighbors, excluding message Lm→n from CN m, from which VN n composes message Ln→m that is sent to CN m. . . . 7

2.3 A CN decoder (SPC decoder). CN m receives LLR information from all of its neighbors, excluding message Ln→m from VN n, from which CN m composes message Lm→n that is sent to VN n. . . 7

2.4 Vertical shuffled BP with G = 1, 2, 6 for decoding a code given in Example 1. (a) G = 1 (standard BP). (b) G = 2. (c) G = 6. . . 11

2.5 Horizontal shuffled BP with G = 1, 2, 4 for decoding a code given in Example 1. (a) G = 1 (standard BP). (b) G = 2. (c) G = 4. . . 14

3.1 Number of bit errors versus bit position in the (504, 252) LDPC code at SNR of 3.0 dB. . . 19

3.2 Flow chart of H-SBP algorithm. . . 20

3.3 Grouping method of NDGSBP algorithm. . . 22

3.4 The Tanner Graph of A Linear Block Code. . . 22

4.1 A example for GSBP after two sub-iterations. . . 31

4.2 A example for NDGSBP after three sub-iterations when r < 0.5. . . 31

(9)

5.1 Error rate of a (504, 252) (3, 6) LDPC code with standard BP , HSBP and H-SBP decoding with G = 12. . . 35 5.2 Error rate of a (504, 252) (3, 6) LDPC code with standard BP , HSBP

and H-SBP decoding with G = 12. . . 35 5.3 Error rate of a (408, 204) (3, 6) LDPC code with standard BP , HSBP

and H-SBP decoding with G = 12. . . 36 5.4 Error rate of a (408, 204) (3, 6) LDPC code with standard BP , HSBP

and H-SBP decoding with G = 12. . . 36 5.5 BER performance of Mackay’s (504,252) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: NDGSBP, HSBP for G = 12

and standard BP. . . 37 5.6 BER performance of Mackay’s (408,204) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: NDGSBP, HSBP for G = 16

and standard BP. . . 37 5.7 BER performance of Mackay’s (504,252) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: proposed algorithm, HSBP for

(10)

Chapter 1

Introduction

Low-density parity-check (LDPC) codes with belief propagation (BP) or so-called sum-product algorithm (SPA) based decoder can offer near-capacity performance. The SPA decoder, however, suffers from low convergence rate and high implementation com-plexity. To improve the rate of convergence and reduce implementation cost, serialized BP decoding algorithms which partition either the variable nodes (VNs) [5] or the check nodes (CNs) [6] of the corresponding bipartite graph into multiple groups were intro-duced. These two classes of serial SPA algorithms are called vertical and horizontal shuffled BP (SBP) decoding algorithms, respectively. More recent related works can be found in [7] -[10]. These practical alternatives use serial-parallel decoding schedules that perform sequential group-wise message-passings and have the advantage of obtaining more reliable extrinsic messages for subsequent decoding within an iteration.

We focus on the horizontal shuffled BP (HSBP) decoding algorithms as they pro-vide more advantages in hardware implementation [5] [10] than vertical shuffled BP (VSBP). For conventional HSBP schedules, the CNs are divided into a number of groups such that each CN belongs to just one group. A decoding iteration consists of several sub-iterations. Each sub-iteration updates in parallel the log-likelihood ratios (LLR) associated with the VNs connecting to the CNs in the same group. Hence within a sub-iteration, message-passing is performed on the bipartite subgraph that consists of the CNs of a group and all the VNs connecting to these CNs. Unlike conventional shuffled

(11)

schedules which partition either VNs or CNs into disjoint groups, we propose a shuffled decoding schedule which divides CNs into non-disjoint CN groups. Such a CN grouping results in larger connectivity of consecutive subgraphs (CoCSG) associated with two neighboring CN groups, where the CoCSG refers to the the average number of VNs connecting the CNs of, say, the kth group and the VNs which are also linked to the CNs of the previous, i.e., (k − 1)th, CN group. A larger CoCSG means more information will be forwarded from the previous sub-iteration and thus provides opportunities for improved decoding performance. We demonstrate by using both simulation and analysis that the proposed SBP is indeed capable of offering performance improved and addi-tional performance-complexity-decoding delay tradeoffs. Since our division on the CNs yields CN groups with a nonempty intersection for any two neighboring groups, we re-fer to the resulting decoding schedule as non-disjoint group-shuffled belief propagation (NDGSBP) in subsequent discourse.

Shuffled BP decoding is a sequential approach, and the conventional method is based on a natural increasing order according to the node indexes. In vertical shuffled BP decoding, the later a bit is processed, the more information it may get. Therefore, as the index increases, the reliability of the bit increases and the corresponding error rate decreases. This may result in the unequal error-correcting capability of the coded bits and yield bad convergence performance. Randomly adjusting the updating order of VNs or CNs in each iteration is a simple and effective way to overcome this drawback, i.e., updating messages in a random node-by-node order helps that each bit could obtain equivalent amount of new updated messages. However, this random-ordering manner is impractical due to the high hardware implementation complexity. We propose a new decoding schedule which alternately performs VSBP and HSBP decoding to achieve pseudo-random decoding schedule and name it hybrid-shuffled belief propagation (H-SBP) decoding. The H-SBP algorithm provides excellent trade-offs between error-rate performance and implementation complexity.

(12)

To analyze the performance of iterative LDPC decoding algorithms in binary-input additive white Gaussian noise (BI-AWGN) channels, approaches such as density evo-lution (DE), Gaussian approximation (GA), and extrinsic information transfer (EXIT) charts have been proposed [11]-[15]. We adopt the GA approach [12] [15] as it requires just the tracking of the first two moments which are sufficient to completely characterize the probability densities. Moreover, if a consistency condition is met [15], we need to track only the means of related likelihood parameters.

The rest of this thesis is organized as follows. In chapter 2, we review the basic definition, some decoding algorithms of LDPC code and the GA approach. We explain the basic idea of the new grouping methods, provide relevant parameter definitions and present the NDGSBP decoding algorithm and hybrid SBP in Chapter 3. The corresponding GA-based performance analysis is given in Chapter 4. Chapter 5 provides numerical performance examples of the our algorithms, estimated by both computer simulations and analysis. Finally, concluding remarks are drawn in Chapter 6.

(13)

Chapter 2

Review of Low-Density

Parity-Check Codes

Low-density parity-check codes form a class of linear block codes which provide the near-Shannon-limit performance with practical complexity if the code length is long enough. It was originally invented by Gallager [1]. The algorithm Gallager proposed was too complex to implement at that time thus it was ignored by researchers for almost 35 years. In the meanwhile Tanner provided a graphical interpretation of LDPC codes, which are called as Tanner graphs [2]. LDPC codes were “rediscovered” again until the mid 1990s with the works of MacKay and Neal [3]. They noticed the advantage between linear block codes which generated by sparse matrix and iterative decoding based on belief propagation. And by that time the decoding complexity has become practically achievable and extensive efforts on various related issues then followed.

For simplicity, we only consider binary LDPC codes. This chapter starts with the fundamental representations of LDPC codes via parity-check matrix and Tanner graphs. We then introduce the sum-product (or belief propagation, BP) algorithm and shuffled iterative decoding algorithms for the binary-input additive white Gaussian noise (BI-AWGN) channels. Finally, we investigate the iterative decoding performance of LDPC code ensembles using the Gaussian approximation (GA) approach [12].

(14)

2.1

Representations of LDPC codes

2.1.1

Matrix representation

As its name implies, an LDPC code is a linear block code defined by the null space of a check matrix H that has a low density of 1s. An LDPC code with a parity-check matrix H which has constant row and column weights dc and dv is called a (dc, dv)

regular LDPC code. It said to be irregular if all the rows or all the columns of the parity-check matrix H do not have the same weight.

2.1.2

Tanner graphs

A Tanner graph is a bipartite graph used to illustrate constraints or parity check equations which characterizes an error correcting code. The graph is partitioned into check nodes (CNs) and variable nodes (VNs) which denote the rows of the parity-check matrix H and the columns of the parity-check matrix H, respectively. An edge connects the CN i to the VN j whenever the element hij in parity-check matrix H is a 1. The

Tanner graph of a LDPC code is a graphical model as the trellis of a convolutional code. It not only provides another representation of the code but helps to describe and develop decoding algorithms. Each of nodes is like a locally operating processor and each edge is likes a bridge that conveys the messages from a given node to its neighbors.

Example 1 Consider a N = 6 linear block code with dc = 3 and dv = 2 with the

following H matrix, the Tanner graph corresponding to H is depicted in Figure 2.1:

H =     1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1    

(15)

Figure 2.1: The Tanner graph for the code given in the example.

2.2

The sum-product algorithm

Gallager also proposed a near-optimal iterative decoding algorithm which is now called the sum-product algorithm (SPA) besides introducing LDPC codes in his doctoral dissertation. It also known as belief propagation algorithm which is used in describing inference in Bayesian networks and was originally invented by Pearl for developing prob-abilistic approaches for artificial intelligence applications. The SPA can be viewed as two kind of decoders work cooperatively, one is a repetition (REP) decoder (VN de-coder) and the other is a single parity check (SPC) decoder (CN dede-coder). Figs. 2.2 and 2.3 depict the VN and CN decoder situations. For simplicity, we show the updating equations of these two decoders directly with the extrinsic information to be sent from VN n to CN m

Ln→m = Ln+

X

m′∈M(n)−{n}

Lm′→n. (2.1)

The extrinsic information to be sent from CN m to VN n is Lm→n = 2 tanh−1   Y n′∈N (m)−{m} tanh 1 2Lj′→i   . (2.2) A binary (N, K) LDPC code C is a linear block code whose M × N parity check matrix H = [Hmn] has sparse nonzero elements. And thusC can be viewed as a bipartite

(16)

n m L o m n L o n L



Figure 2.2: A VN decoder (REP decoder). VN n receives LLR information from the channel and from all of its neighbors, excluding message Lm→n from CN m, from which

VN n composes message Ln→m that is sent to CN m.

n m L o m n L o



Figure 2.3: A CN decoder (SPC decoder). CN m receives LLR information from all of its neighbors, excluding message Ln→m from VN n, from which CN m composes message

(17)

parity-check functions represented by the rows of H.

LetN (m) be the set of variable nodes that participate in check node m and M(n) be the set of check nodes that are connected to variable node n in the code graph. N (m)\n is defined as the set N (m) with the variable node n excluded while M(n)\m is the set M(n) with the check node m excluded. Let Ln→m be the message sent from VN n to

CN m and Lm→n be the message sent from CN m to VN n.

Assume a codeword c = (c0, c1, ..., cN−1) is BPSK-modulated and transmitted over

an AWGN channel with noise variance σ2. Let y = (y

0, y1, ..., yN−1) be the corresponding

received sequence and Ln be the log-likelihood ratio (LLR) of the variable node n. Let

l be the iteration counter and IM ax be the maximum number of iterations. The SPA is

given as follows: Initialization

Set l = 1, Ln = σ22yn, for 0≤ n ≤ N − 1.

Step 1: Message passing

a) CN update: ∀m, 0 ≤ m ≤ M − 1, and n ∈ N (m) Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (2.3) b) VN update: ∀n, 0 ≤ n ≤ N − 1, and m ∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (2.4)

Step 2: Total LLR computation ∀n, 0 ≤ n ≤ N − 1,

Ltotal,(l)n = Ln+

X

m′∈N (n)

Lm′→n (2.5)

(18)

a) Create D(l) = [d(l)0 , d(l)1 , ..., dN−1(l) ] such that d(l)n = 0 if Ltotal,(l)n ≥ 0 and d(l)n = 1 if

Ltotal,(l)n < 0.

b) If D(l)HT = 0 or IM ax is reached, stop decoding and output D(l) as the decoded

codeword. Otherwise, set l = l + 1 and go to Step 1.

2.3

Shuffled belief propagation decoding

It is well known that long LDPC codes decoded by SPA or a BP-based algorithm can yield capacity-approaching performance. However, for long LDPC codes, implementing the fully parallel algorithm require a large number of processing units, high computation complexity, large memory space, and complicated network connecting. A more practical alternative is to partition either the variable nodes or the check nodes of the correspond-ing bipartite code graph into several groups and perform group-wise parallel decodcorrespond-ing in a serial manner. That is, the parallel-serial architecture divides a single iteration into several sub-iterations so that one needs only a reasonable hardware complexity to perform each sub-iteration. There are two different types of shuffled schedules called vertical shuffled BP (VSBP) and horizontal shuffled BP (HSBP), depending on whether variable nodes or check nodes are partitioned. Once a group is processed, the subsequent groups will have a chance to obtain the corresponding updated messages. As a result, a shuffled BP algorithm often converge faster than its standard BP counterpart does.

2.3.1

Vertical shuffled belief propagation algorithm

The vertical shuffled BP algorithm divides VNs into several groups and each group updates sequentially in a iteration. Different grouping methods result in different con-vergence. How to group the VNs so that the messages spread faster is another topic, we assume that VNs are partitioned into groups based on their index order. Let G be the number of VN groups, Gg be the gth VN group, l be the iteration counter and IM ax

(19)

be the maximum number of iterations. We can then describe the VSBP algorithm as follows:

Initialization

Set l = 1, Ln = σ22yn, for 0≤ n ≤ N − 1.

Step 1: Message passing For 0≤ g ≤ G − 1 a) CN update: ∀ m ∈ M(n), n ∈ Gg Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (2.6) b) VN update: ∀ n ∈ Gg, m∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (2.7)

Step 2: Total LLR computation ∀n, 0 ≤ n ≤ N − 1,

Ltotal,(l)n = Ln+

X

m′∈N (n)

Lm′→n (2.8)

Step 3: Hard decision and stopping criterion test

a) Create D(l) = [d(l)0 , d(l)1 , ..., dN−1(l) ] such that d(l)n = 0 if Ltotal,(l)n ≥ 0 and d(l)n = 1 if

Ltotal,(l)n < 0.

b) If D(l)HT = 0 or IM ax is reached, stop decoding and output D(l) as the decoded

codeword. Otherwise, set l = l + 1 and go to Step 1.

As an example, let use consider the code with parity-check matrix H of Example 1. The decoding processes for one iteration of the vertical shuffled BP is illustrated in Fig. 2.4 with G = 1 (SPA), 2, and 6.

(20)

n m Lo Lnom (a) n m

L

o m n

L

o n m

L

o

L

nom (b) n m L o Lnom Lmon Lnom



Lmon Lnom (c)

Figure 2.4: Vertical shuffled BP with G = 1, 2, 6 for decoding a code given in Example 1. (a) G = 1 (standard BP). (b) G = 2. (c) G = 6.

(21)

2.3.2

Horizontal shuffled belief propagation algorithm

Similar to VSBP algorithm, HSBP algorithm separate all check nodes into several groups and decoding is carried out in a group-by-group manner. Relative to VSBP algorithm, HSBP provides more advantages in hardware implementation. As VSBP, different grouping methods could result in the difference of the decoding performance and here we assume that the index-order-based partition is used. Let G be the number of VN groups, Gg be the gth VN group, l be the iteration counter and IM ax be the

maximum number of iterations. We can then describe the HSBP algorithm as follows: Initialization

Set l = 1, Ln = σ22yn, for 0≤ n ≤ N − 1.

Step 1: Message passing For 0≤ g ≤ G − 1 a) CN update: ∀ m ∈ Gg, n∈ N (m) Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (2.9) b) VN update: ∀ n ∈S m′∈GgN (m′), m ∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (2.10)

Step 2: Total LLR computation ∀n, 0 ≤ n ≤ N − 1,

Ltotal,(l)n = Ln+

X

m′∈N (n)

Lm′→n (2.11)

(22)

a) Create D(l) = [d(l)0 , d(l)1 , ..., dN−1(l) ] such that d(l)n = 0 if Ltotal,(l)n ≥ 0 and d(l)n = 1 if

Ltotal,(l)n < 0.

b) If D(l)HT = 0 or IM ax is reached, stop decoding and output D(l) as the decoded

codeword. Otherwise, set l = l + 1 and go to Step 1.

As an example, consider the code with parity-check matrix H in Example 1. The decoding processes for one iteration of the horizontal shuffled BP is illustrated in Fig. 2.5 with G = 1 (SPA), 2, and 4.

2.4

The Gaussian approximation

To analyze the iterative decoding performance of LDPC code ensembles in the water-fall region, several methods have been proposed. These include density evolution (DE), Gaussian approximation (GA), and extrinsic information transfer (EXIT) charts [11]-[15]. The DE method models the decoding process as messages being passed around as random variables and tracing the associated message probability density functions (pdfs). GA is an approach aimed to simplifies and stabilizes the numerical computa-tions for the BI-AWGN channel by approximate density evolution based on a Gaussian approximation. The pdfs of the messages is approximated to Gaussian densities that fully specified by two parameters, the mean and variance. It allows tracking the message means only, under a consistency assumption. EXIT chart technique is a graphical tool based on the mutual information. The method relies on the Gaussian approximation, but provides some intuition regarding the dynamics and convergence properties. We adopt the GA approach as it requires just the tracking of the first moment which are sufficient to completely characterize the probability densities. In this section, we intro-duce the GA algorithm for LDPC codes. A message m satisfies the consistency condition

(23)

n m Lo Lnom (a) n m Lo Lnom n m Lo Lnom (b)     n m Lo m n Lo



    n m Lo m n Lo     n m Lo m n Lo (c)

Figure 2.5: Horizontal shuffled BP with G = 1, 2, 4 for decoding a code given in Example 1. (a) G = 1 (standard BP). (b) G = 2. (c) G = 4.

(24)

if its pdf pm satisfies

pm(τ ) = pm(−τ)eτ. (2.12)

For all Gaussian pdfs that satisfy the consistency condition 1 √ 2πσ exp  − 1 2σ2(τ − µ) 2  = √1 2πσexp  − 1 2σ2(−τ − µ) 2  eτ, (2.13) it reduces to σ2 = 2µ. (2.14) One need only monitor the message means when performing density evolution using a Gaussian approximation with the consistency condition.

2.4.1

GA for regular LDPC codes

We start by recalling that an outgoing message form CN c at l iteration may be rewritten as tanh m (l) c 2 ! = dc−1 Y n=1 tanh m (l−1) vn 2 ! , (2.15) where m(l−1)v1 , . . . , m (l−1)

vdc−1 are the messages received from the dc−1 neighboring VNs.

Ex-amining now the propagation of means for regular code ensembles, we take the expected value of this equation under an i.i.d. assumption for the messages m(l−1)vn , we have

E ( tanh m (l) c 2 !) = " E ( tanh m (l−1) v 2 !)#dc−1 . (2.16) We can therefore write the above quuation as

1− Φ(µc(l)) = [1− Φ(µv(l−1))]dc−1, (2.17)

where, for µ > 0, we define Φ(µ), 1 −1

4πµ Z ∞

−∞

tanh(τ /2) exp−(τ − µ)2/4µ dτ. (2.18)

It can be shown that Φ(µ) is continuous and decreasing for µ≥ 0, so µc(l) = Φ−1



1− [1 − Φ (µv(l−1))]dc−1



(25)

Recalling that an outgoing message form VN v at l iteration may be written as m(l)v = m0 + dv−1 X n=1 m(l)cn, (2.20) where m0 is the message from the channel and m(l)c1, . . . , m

(l)

cdv −1 are the messages received

from the dv − 1 neighboring CNs. Taking the expected value of (2.20), the update

equation for the VN-to-CN messages m(l)v , to obtain

µv(l) = µ0 + dv−1 X n=1 µc(l) n = µ0 + (dv− 1)µc(l), (2.21)

where the second line follows from the fact that the dv − 1 messages are assumed to be

i.i.d.

2.4.2

GA for irregular LDPC codes

Analogously to the regular case, the mean of an output message m(l)v of a degree-i

VN is given by

µv(l)

i = µ0+ (i− 1)µc

(l) (2.22)

Because a randomly chosen edge is connected to a degree-i variable node with probability λi, averaging over all degrees i yields the following Gaussian mixture pdf for the variable

node messages: pv(l) i (τ ) = dvM ax X i=2 λi· Nτ  µv(l) i , 2µv (l) i  , (2.23) where Nτ(µ, σ2) represents the pdf for a Gaussian r.v. with mean µ and variance σ2.

The expected value within brackets [·] on the right-hand side of (2.16) is E ( tanh m (l) v 2 !) = Z ∞ −∞ tanh m (l−1) v 2 !dvM ax X i=2 λi· Nτ  µv(l−1) i , 2µv(l−1)i  dτ = 1 dvM ax X i=2 λiΦ  µv(l−1) i  .

(26)

Reffering to the development of (2.18), we have that the mean of a degree-j check node output is µc(l) j = Φ −1  1 " 1 dvM ax X i=2 λiΦ  µv(l) i  #j−1 . (2.24) Finally, if we average over all check-node degrees j, we have

µc(l) = dcM ax X j=2 ρjµc(l) j = dcM ax X j=2 ρjΦ−1  1 " 1 dvM ax X i=2 λiΦ (µ0+ (i− 1)µc(l−1)) #j−1 . (2.25)

(27)

Chapter 3

Proposed Algorithms

In this chapter, we present two new shuffled decoding algorithms named Hybrid-shuffled BP and non-disjoint group Hybrid-shuffled BP, respectively. The ideas and advantages of these proposed algorithms will be shown in the following sections.

3.1

Hybrid-shuffled belief propagation algorithm

Shuffled BP decoding is a bit-based sequential algorithm, the later a bit is processed, the more information it may get. This may result in the unequal error-correcting ca-pability of the coded bits and yield bad convergence performance. Fig. 3.1 depicts the number of bit errors using standard BP, vertical shuffled BP with increasing, decreasing and random order for the Mackay’s (504,252) regular LDPC code with dc = 6, dv = 3

at the SNR of 3.0dB. Randomly adjusting the updating order of VNs or CNs in each it-eration is a simple and effective way to overcome this drawback, i.e., updating messages in a random node-by-node order helps that each bit could obtain equivalent amount of new updated messages. However, this random-ordering manner is impractical due to the high hardware implementation complexity. We propose a new decoding schedule which alternately performs VSBP and HSBP decoding to achieve pseudo-random decoding schedule and name it hybrid-shuffled BP (H-SBP) decoding.

Let Gv, Gc be the number of VN groups and the number of CN groups respectively.

Define Gv

(28)

0 100 200 300 400 500 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 N u m b e r o f E rr o rs Bit Position 100000 block, 2 iterations SPA VSBP in increasing order VSBP in decreasing order VSBP in random order

Figure 3.1: Number of bit errors versus bit position in the (504, 252) LDPC code at SNR of 3.0 dB.

counter and IM ax be the maximum number of iterations. Then the H-SBP algorithm

can be described as follows: Initialization

Set l = 1, Ln = σ22yn, for 0≤ n ≤ N − 1.

Step 1: If L is even then go to Step 2; otherwise, go to Step 3. Step 2: VSBP For 0 ≤ g ≤ Gv − 1 a) CN update: ∀ m ∈ M(n), n ∈ Gv g Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (3.1) b) VN update: ∀ n ∈ Gv g, m ∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (3.2)

(29)

˜́˼̇˼˴˿˼̇˼̂́

˩˦˕ˣʳ

˗˸˶̂˷˸̅

˛˦˕ˣʳ

˗˸˶̂˷˸̅

˼̆ʳ˸̉˸́˒

l

ˬ˸̆

ˡ̂

˧̂̇˴˿ʳ˟˟˥ʳ

˖̂̀̃̈̇˴̇˼̂́

ˢ̈̇̃̈̇

˛˴̅˷ʳ˷˸˶˼̆˼̂́ʳ˴́˷ʳ

̆̇̂̃̃˼́˺ʳ˶̅˼̇˸̅˼̂́ʳ̇˸̆̇

ˣ˴̆̆

ˡ̂̇ʳˣ˴̆̆

1



l

l

(30)

Step 3: HSBP For 0 ≤ g ≤ Gc− 1 a) CN update: ∀ m ∈ Gc g, n∈ N (m) Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (3.3) b) VN update: ∀ n ∈S m′∈Gc gN (m ′), m ∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (3.4)

Step 4: Total LLR computation ∀n, 0 ≤ n ≤ N − 1,

Ltotal,(l)n = Ln+

X

m′∈N (n)

Lm′→n (3.5)

Step 5: Hard decision and stopping criterion test

a) Create D(l) = [d(l)0 , d(l)1 , ..., dN−1(l) ] such that d(l)n = 0 if Ltotal,(l)n ≥ 0 and d(l)n = 1 if

Ltotal,(l)n < 0.

b) If D(l)HT = 0 or IM ax is reached, stop decoding and output D(l) as the decoded

codeword. Otherwise, set l = l + 1 and go to Step 1. Fig. 3.2 depict the flow chart of H-SBP algorithm.

3.2

Non-disjoint group shuffled belief propagation

algorithm

The so-called horizontal shuffled BP algorithm partitions the check nodes of the code graph into groups to perform group-by-group message-passing decoding. We propose a

(31)

new grouping technique to accelerate the message-passing rate by dividing CNs into non-disjoint CN groups and named it non-disjoint group shuffled belief propagation algorithm (NDGSBP). Fig. 3.3 is the schematic diagram of NDGSBP. In this section, we first explain why GS decoding with non-disjoint groups and give a easy example to demonstrate it. Then we define some notations and show the detail of the NDGSBP algorithm.



Figure 3.3: Grouping method of NDGSBP algorithm.

3.2.1

Why GS decoding with non-disjoint groups?

Figure 3.4: The Tanner Graph of A Linear Block Code.

Consider the decoding sub-iteration which performs VN-to-CN and then CN-to-VN message passing for the CNs of the kth group and all connecting VNs. If (at least) one of the VNs is linked to some CNs in other (CN) groups which have been processed in the same decoding iteration before (i.e., whose group indices are smaller than k), then other connecting VNs which have no such links will benefit from receiving more newly updated messages. We use a simple linear code and its associating Tanner graph shown in Fig.

(32)

3.4, where there are four CNs{c1, c2, c3, c4} and eight VNs {v1, v2, . . . , v7, v8}, to explain

this effect. Let the messages the VNs carry be denoted by m1, m2, . . . , m7, m8. In a

conventional BP decoding iteration, each VN receives the messages from its neighboring VNs which are linked through some VNs. For instance, v4 and v6 are updated by the

messages {m2, m5, m6, m7} and {m4, m7}, respectively. For the GSBP decoding with

two CN groups {c1, c2} and {c3, c4}, v4 receives {m2, m5} in the first sub-iteration and

{m2, m5, m6, m7} in the second sub-iteration while v6 is updated by {m2, m4, m5, m7}

in which m2 and m5 are the messages forwarded by v4 because of its connection to the

second CN group and will help improving the convergence. Obviously, the amount of messages the CNs in the k group receive from VNs connected to CNs belonging to the jth group, j < k depends on the code structure and the grouping of CNs. If we limit our attention to the case j = k − 1, the CoCSG defined in the introductory section can be used to quantify the average amount of messages received from the previous sub-iteration and the grouping should try to maximize this number.

To simplify our systematic non-disjoint grouping method, we assume identical group cardinality, NG, and denote the number of CN groups by G so that G × NG = M

is the number of CNs. We define the overlapping ratio r as the ratio between the size of the intersection between two neighboring CN groups and G. Then, we have, GNG− (G − 1)NGr = M.

We arbitrary select NG CNs to form the first CN group. The kth (k > 1) group

includes r · NG CNs randomly chosen from the (k− 1)th group and (1 − r) · NG CNs

from the CNs which do not belong to any of the earlier groups. Therefore, a CN does not necessarily belong to only one group anymore. As an illustration, we consider the grouping (r, G.NG) = (0.5, 3, 2) on the Tanner graph of Figure 3.4 again. Let the first

group be {c1, c2}, the second one be {c2, c3} and the third one be {c3, c4}. In the first

sub-iteration, v2 and v4 receive {m1, m3, m4, m5} and {m2, m5}, respectively. v4 and v6

(33)

the final sub-iteration, v6 will be updated by {m1, m2, m3, m4, m5, m7}. In short, for

conventional BP, a VN can just collect information from VNs which are two-edge away in one iteration; for GSBP decoding, a VN has the opportunity to obtain the messages from four-edge-apart VNs; and for the proposed NDGSBP decoding algorithm, it is possible that a VN obtains the messages from VNs which are more than six-edge away if we select the overlapping ratio and CNs carefully. With fixed degree of parallelism NG and CN number M, the larger r becomes, the longer the per-iteration delay is

while the less the required iteration number becomes as a VN can update its LLR using information from more VNs. The product of the required iteration number and the per-iteration delay equals the total decoding delay to achieve a predetermined error rate performance. Section IV shows that the NDGSBP algorithm does give improved error rate performance for the same decoding delay.

3.2.2

Basic definitions and notations

A binary (N, K) LDPC code C is a linear block code whose M × N parity check ma-trix H = [Hmn] has sparse nonzero elements. And thus C can be viewed as a bipartite

graph with N VNs corresponding to the encoded bits, and M CNs corresponding to the parity-check functions represented by the rows of H. To track the statistical property variations of the message-passing sequence between VNs and CNs in an iterative de-coding schedule, we also need to know the VN and CN degree-distribution polynomials λ(x) =Pdv

i=2λixi−1 and ρ(x) =

Pdc

j=2ρjxj−1, where λi and ρj denote the fraction of all

edges connected to degree-i VNs and degree-j CNs, dv and dc denotes the maximum VN

and CN degree.

LetN (m) be the set of variable nodes that participate in check node m and M(n) be the set of check nodes that are connected to variable node n in the code graph. N (m)\n is defined as the set N (m) with the variable node n excluded while M(n)\m is the set M(n) with the check node m excluded. Let Ln→m be the message sent from VN n to

(34)

CN m and Lm→n be the message sent from CN m to VN n.

3.2.3

System model and decoding schedule

Assume a codeword C = (c1, c2, ..., cN) is BPSK-modulated and transmitted over an

AWGN channel with noise variance σ2. Let Y = (y

1, y2, ..., yN) be the corresponding

received sequence and Ln be the log-likelihood ratio (LLR) of the variable node n with

the initial value given by Ln= σ22yn.

Let Gg be the gth CN group, 1 ≤ g ≤ G and U be a set of CNs, l as the iteration

counter and IM ax as the maximum number of iterations. We can then describe the

NDGSBP algorithm as follows: Initialization

Set l = 1, U = {x|1 ≤ x ≤ M}, and Gg =∅ for 1 ≤ g ≤ G.

Step 1: Grouping check nodes

Collect NG elements randomly from the set U to form G1, let U = U\G1. Collect

NG− NG· r element randomly from the set U and NG· r elements from G1 to createG2.

For 3≤ g ≤ G, collect NG− NG· r element randomly from the set U and NG· r elements

from Gg−1\Gg−2 to create Gg and letU = U\Gg.

Step 2: Message passing For 1≤ g ≤ G a) CN update: ∀ m ∈ Gg, n∈ N (m) Lm→n = 2 tanh−1   Y n′∈N (m)\n tanh 1 2Ln′→m    (3.6) b) VN update: ∀ n ∈S m′∈GgN (m ′), m ∈ M(n) Ln→m = Ln+ X m′∈M(n)\m Lm′→n (3.7)

(35)

Step 3: Total LLR computation ∀n, 1 ≤ n ≤ N, Ltotal,(l)n = Ln+ X m′∈N (n) Lm′→n (3.8)

Step 4: Hard decision and stopping criterion test

a) Create D(l) = [d(l)1 , d(l)2 , ..., dN(l)] such that d(l)n = 0 if Ltotal,(l)n ≥ 0 and d(l)n = 1 if

Ltotal,(l)n < 0.

b) If D(l)HT = 0 or IM ax is reached, stop decoding and output D(l) as the decoded

(36)

Chapter 4

Convergence Analysis

In this chapter, we adopt the Gaussian approximation approach to analyze the conver-gence behavior of the proposed algorithms. The basic analytic approach follows that presented in Section 2.4 but takes the scheduling into account.

4.1

GA for shuffled belief propagation algorithm

We first consider two basic types of shuffled BP decoding schedules.

4.1.1

GA for VSBP algorithm

Consider a degree-j CN m and suppose it is connected with k (k = 0, 1, . . . , j− 1) VNs which belongs to the group V1 and j − k VNs which are in group V2. For such a

CN we obtain E ( tanh c (l) j,k 2 !) =  E  tanh v (l),V1 2 k ·  E  tanh v (l−1) 2 j−k−1 . (4.1) Let v(l),V1

i be the message sent by degree-i VN which belongs to V1, and v (l),g

i be the

message sent by degree-i VN in group g at the lth iteration. Then (4.1) can be written as µ(l)c,j,k= Φ−1  1− 1− dvM ax X i=2 λiΦ  µ(l−1)v,i  !j−k−1 · 1− dvM ax X i=2 λiΦ  µ(l),V1 v,i  !k , (4.2)

(37)

where µ(l),V1 v,i = 1 g g−1 X g′=0 µ(l),gv,i ′, (4.3)

and Φ(·) is defined in (2.18). The mean of degree-j CN messages µ(l)c,j is obtained by accumulating all possible values of µ(l)c,j,k with their corresponding coefficients Pj,k:

µ(l)c,j = j−1 X k=0 Pj,k· µ (l) c,j,k, (4.4)

where Pj,k is the proportion of degree-j CNs which have k neighboring VNs belonging

to V1 in all degree-j CNs. Thus Pj,k is given by

Pj,k =  1, g = 0, k = 0 Ckj−1· g G k · (1 − g G) j−1−k, otherwise . (4.5)

By linearly combining the means of degree-2, . . . , dcM ax CN messages with weights

{ρj, 2≤ j ≤ dc}, the mean of the CN messages µ (l) c is given by µ(l)c = dc X j=2 ρj · µ (l) c,j. (4.6)

A VN with degree-i collects the messages from i− 1 connected CNs as well as the channel initial message u0, hence we have

µ(l),gv,i = µc0 + (i− 1)µ

(l)

c . (4.7)

After linearly combining µ(l),gv,i (i = 2, 3, . . . , dvM ax) with λi, µ (l),g v becomes µ(l),gv = dvM ax X i=2 λi· µ(l),gv . (4.8)

4.1.2

GA for HSBP algorithm

Consider a degree-j CN m. For such CNs we obtain E ( tanh c (l),g j 2 !) =  E  tanh v (l) 2 j−1 , (4.9)

(38)

where v(l) is the message sent by VNs at the lth iteration, c(l),g

j is the message sent by a

degree-j CN in group g at the lth iteration. Then (4.9) can be rewritten as µ(l),gc,j =Φ−1  1− 1− dvM ax X i=2 λiΦ  µ(l)v,i  !j−1 . (4.10) By linearly combining the means of degree-2, . . . , dc CN messages with weights {ρj, 2≤

j ≤ dcM ax}, the mean of CN messages µ(l),gc is obtained from

µ(l),gc = dcM ax

X

j=2

ρj· µ(l),gc,j . (4.11)

Consider a degree-i VN n which is connected to k (k = 0, 1, . . . , i− 1) CNs in group C1

and i− k CNs in group C2. For such a VN, we have

µ(l)v,i,k= µc0 + kµ (l),C1 c + (i− k − 1)µ (l−1) c , (4.12) where µ(l),C1 c = 1 g g−1 X g′=0 µ(l),gc ′, (4.13) µ(l−1)c = 1 G G−1 X g′=0 µ(l−1),gc ′. (4.14)

The mean of degree-i VN messages µ(l)v,i is obtained by accumulating all possible values of µ(l)v,i,k with their corresponding coefficients Pi,k:

µ(l)v,i =

i−1

X

k=0

Pi,k· µ(l)v,i,k, (4.15)

where Pi,k is the ratio of degree-i VNs which have k neighboring CNs belonging to C1

among all degree-i CNs. Thus Pi,k is given by

Pi,k =  1, g = 0, k = 0 Cki−1· g G k · (1 − g G) i−1−k, otherwise . (4.16)

By linearly combining µ(l)v,i (i = 2, 3, . . . , dvM ax) with λi, µ (l) v is given by µ(l)v = dvM ax X i=2 λi· µ(l)v,i. (4.17)

(39)

4.2

GA for hybrid-shuffled belief propagation

algo-rithm

Since H-SBP perform VSBP and HSBP alternatively, the GA for H-SBP execute GA for VSBP and HSBP by turns.

4.3

GA for non-disjoint group shuffled belief

propa-gation algorithm

As can be seen from the above description of the proposed algorithm, the messages Ln→m and Lm→n are real random variables that depend on the received channel values

yn, the code structure and the decoding schedule. The GA approach assumes that they

can be approximated by Gaussian random variables. With this approach, we need only to monitor the message means as the consistency condition holds in our case [11]. We further assume that the all-zero codeword C = (0, 0, . . . , 0), which is mapped into the BPSK modulated vector X = (1, 1, . . . , 1), is transmitted. The following analysis is based on the ideas of [12] and [15] with two distinct considerations. First, the analysis presented in [15] deals with vertical GSBP while we are dealing with horizontal GSBP. Second, the intersection among groups can be nonempty in our schedule. For GSBP decoding, we divide CNs into two types, one is updated CNs and the other is non-updated CNs. As depicted in Fig.4.1. To analyze the effect of nonempty intersections, we divide CNs into four classes in a given, say the gth sub-iteration of the lth iteration. Class-a includes the CNs that will be updated at the g′th (g′ > g) sub-iteration, Class-b includes the CNs which are also members of the previous (g − 1)th group, Class-c contains the CNs which are not members of the previous (g− 1)th group and the Class-d are all CNs exclude Class-a and Class-b. Figs.4.2 and 4.3 depict the situations after three sub-iterations for overlapping ratio r < 0.5 and 0.5≤ r ≤ 1 respectively. We now track the average values of all updated parameters at the lth iteration for the proposed NDGSBP algorithm. We first define µcg,(l) as the mean of the message sent by a Class-x

(40)

Figure 4.1: A example for GSBP after two sub-iterations.

Figure 4.2: A example for NDGSBP after three sub-iterations when r < 0.5.

(41)

CN, that is, µcg,(l)

x = E{L

g,(l)

m→n}, where m belong to Class-x CNs, n is a VN connecting to

m in the gth sub-iteration of the lth iteration. We start with the VN update equation. Consider the degree-i VN n which is connected to p Class-d CNs, q Class-b CNs and i− p − q Class-a CNs. For the gth sub-iteration of the lth iteration, we have, for g = 1,

µv(l) i,p,q = µ0+ pµc (l) d + qµc g,(l) b (4.18) +(i− p − q − 1)µc(l) a = µ0+ pµc(l) d + qµc g,(l) b (4.19) +(i− p − q − 1)µc(l−1) where µc(l) d = µc 1,(l) c and µ0 , E{Ln} = E{ 2yn

σ2 } is the mean of the channel value. For

g > 1, we obtain µc(l) d = 1 g µc1,(l)c + µcg,(l)c + g−1 X g′=2  r 1− rµcg′,(l)b +1− 2r 1− r µcg′,(l)c ! , (4.20) for r < 0.5 and µc(l) d = 1 g µc1,(l)c + µcg,(l)c + g−1 X g′=2 µcg′,(l) b ! , (4.21) for 0.5 ≤ r ≤ 1.

When the CNs in the g-th group are processed in l-th iteration, the mean of message for degree-i VNs µv(l)

i can be obtained by accumulating all possible values of µv (l)

i,p,q with

their corresponding coefficients ω(i, p, q): µv(l) i = i−1 X p=0 i−1−p X q=0 ω(i, p, q)· µv(l) i,p,q, (4.22)

where ω(i, p, q) is the proportion of degree-i VNs which have p neighboring Class-d CNs, q neighboring Class-b CNs in all degree-i CNs. Thus ω(i, p, q) is given by

ω(i, p, q) =

( i−1

p x

p(1− x)i−1−p, g = 1

(42)

where x is the fraction of Class-d CNs for g = 1, y is the fraction of Class-d CNs and z is the fraction of Class-b CNs.

Thus x = 1 G− (G − 1)r, (4.24) y = g(1− r) G− (G − 1)r, (4.25) z = r G− (G − 1)r. (4.26) From Class-c CNs updating formula, we can obtain

E ( tanh c g,(l) c,j 2 !) =  E  tanh v (l) 2 j−1 . (4.27) Under the Gaussian approximation and for µ≥ 0, define

Φ(µ), 1 − √1 4πµ Z ∞ −∞ tanh(τ 2) exp  −(τ − µ)2 (4µ)  dτ, (4.28) and (4.27) can be rewritten as

µcg,(l) c,j =Φ −1  1 1 dvM ax X i=2 λiΦ  µv(l) i  !j−1 . (4.29) If we average over all CN degree j, we have

µcg,(l) c = dcM ax X j=2 ρj· µcg,(l) c,j . (4.30)

The computation of the mean of message send from a Class-b CN µcg,(l)

b is replace µv (l) i with µv′(l) i in (4.29) where µv ′(l)

i is mean of message send from a previous group overlapping

VN. And µv′(l)

i is got by let p at least 1 in (4.22) and (4.23) for g6= 1.

After l iterations, the mean of the message passed from a CN µc(l) is

µc(l) =

r

G− (G − 1)rµcG,(l)b +

G− Gr

G− (G − 1)rµcG,(l)c . (4.31)

(43)

Chapter 5

Numerical Results

Figs. 5.1 and 5.2 depict the BER and FER performance of Mackay’s (504,252) regular LDPC code with dc = 6, dv = 3 using the standard BP algorithm, the SBP

algorithm (G = 4, 12) and the proposed H-SBP algorithm (G = 4, 12). On the other hand, in Figs. 5.3 and 5.4 we plot the FER and BER performance of Mackay’s (408,204) regular LDPC code with dc = 6 and dv = 3 using the standard BP algorithm, the SBP

algorithm (G = 4, 12) and the proposed H-SBP algorithm (G = 4, 12), respectively. Fig. 5.5 depicts the BER performance of Mackay’s (504,252) regular LDPC code with dc = 6, dv = 3 using the standard BP algorithm, the HSBP algorithm (G = 12) and the

proposed NDGSBP algorithm (G = 12, overlapping ratio r = 0.2, 0.4). On the other hand, in Fig. 5.6 we show the BER performance of Mackay’s (408,204) regular LDPC code with dc = 6 and dv = 3 using the standard BP algorithm, the HSBP algorithm

(G = 12) and the proposed NDGSBP algorithm (G = 12, overlapping ratio r = 0.2, 0.4), respectively.

Since our two approaches are independent, we can combine them to get more im-provement. Fig. 5.7 shows the BER and FER performance of Mackay’s (504,252) regular LDPC code with dc = 6, dv = 3 using respectively the standard BP algorithm, the HSBP

algorithm (G = 12) and the proposed algorithm (G = 12, overlapping ratio r = 0.2, 0.4). The simulation results reported in this chapter assume IM ax = 500 for the HSBP and

(44)

2.50 2.75 3.00 3.25 3.50 1E-7 1E-6 1E-5 1E-4 1E-3 0.01 E rr o r R a te Eb/N0 (504,252), 500 iterations, G=4 FER SPA HSBP H-SBP H-SBP two-way HSBP in random order BER SPA HSBP H-SBP H-SBP two-way HSBP in random order

Figure 5.1: Error rate of a (504, 252) (3, 6) LDPC code with standard BP , HSBP and H-SBP decoding with G = 12. 2.50 2.75 3.00 3.25 3.50 1E-7 1E-6 1E-5 1E-4 1E-3 0.01 E rr o r R a te Eb/N0 (504,252), 500 iterations, G=12 FER SPA HSBP H-SBP H-SBP two-way HSBP in random order BER SPA HSBP H-SBP H-SBP two-way HSBP in random order

Figure 5.2: Error rate of a (504, 252) (3, 6) LDPC code with standard BP , HSBP and H-SBP decoding with G = 12.

(45)

2.50 2.75 3.00 3.25 3.50 3.75 1E-7 1E-6 1E-5 1E-4 1E-3 0.01 E rr o r R a te Eb/N0 (408,204), 500 iterations, G=4 FER SPA HSBP H-SBP H-SBP two-way HSBP in random order BER SPA HSBP H-SBP H-SBP two-way HSBP in random order

Figure 5.3: Error rate of a (408, 204) (3, 6) LDPC code with standard BP , HSBP and H-SBP decoding with G = 12. 2.50 2.75 3.00 3.25 3.50 3.75 1E-7 1E-6 1E-5 1E-4 1E-3 0.01 E rr o r R a te Eb/N0 (408,204), 500 iterations, G=12 FER SPA HSBP H-SBP H-SBP two-way HSBP in random order BER SPA HSBP H-SBP H-SBP two-way HSBP in random order

Figure 5.4: Error rate of a (408, 204) (3, 6) LDPC code with standard BP , HSBP and H-SBP decoding with G = 12.

(46)

2.75 3.00 3.25 3.50 1E-7 1E-6 1E-5 1E-4 1E-3 B it E rr o r R a te Eb/N0 (504,252), 500 iterations, G=12 BER SPA HSBP NDGSBP, r=0.2 NDGSBP, r=0.4

Figure 5.5: BER performance of Mackay’s (504,252) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: NDGSBP, HSBP for G = 12 and standard

BP. 2.75 3.00 3.25 3.50 1E-7 1E-6 1E-5 1E-4 1E-3 B it E rr o r R a te Eb/N0 (408,204), 500 iterations, G=12 BER SPA HSBP NDGSBP, r=0.2 NDGSBP, r=0.4

Figure 5.6: BER performance of Mackay’s (408,204) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: NDGSBP, HSBP for G = 16 and standard

(47)

2.50 2.75 3.00 3.25 3.50 1E-7 1E-6 1E-5 1E-4 1E-3 0.01 E rr o r R a te Eb/N0 (504,252), 500 iterations, G=12 FER SPA HSBP combine H-SBP & NDGSBP r=0.2 combine H-SBP & NDGSBP r=0.4 BER SPA HSBP combine H-SBP & NDGSBP r=0.2 combine H-SBP & NDGSBP r=0.4

Figure 5.7: BER performance of Mackay’s (504,252) regular LDPC code with dc = 6

and dv = 3 using the decoding algorithms: proposed algorithm, HSBP for G = 12 and

(48)

result in the same or similar computation complexity for all algorithms. For example, to decode the (504,252) LDPC code using the NDGSBP decoder with G = 12 and r = 0.4 imply that NG = 34 and it is allowed to have at most m+(G−1)×Nm·IM ax

G·r =

252·500

252+11·34·0.4 ≈ 310

decoding iterations.

We use the GA approach outlined in Chapter 4 to analyze the performance of the H-SBP, NDGSBP, BP and HSBP decoders. Given the code rate and degree distribution of LDPC codes, the thresholds estimated by the GA approach for BP, HSBP H-SBP and NDGSBP decoding are the same. In Table 5.2 and Table 5.1, we list the number of iterations for error free performance at SNR equals threshold. We examine the NDGSBP performance in decoding two ensemble LDPC codes using the same overlapping ratio r = 0.2 but different group number G. The table shows the H-SBP and NDGSBP decoder consistently outperform the other two decoders in convergence rate.

Table 5.1: Gaussian approximation for the binary-input AWGN channel under BP, HSBP and H-SBP. We listed the number of iterations for exceed BER 10−10at (E

b/N0) = threshold. HSBP H-SBP dv dc R (Eb/N0)GA BP G = 4 12 36 G = 4 12 36 3 6 1/2 1.163 424 294 263 252 270 220 201 HSBP H-SBP dv dc R (Eb/N0)GA BP G = 4 16 34 G = 4 16 34 4 6 1/3 1.730 633 439 387 377 403 317 301

Table 5.2: Gaussian approximation for the binary-input AWGN channel under BP, HSBP and NDGSBP with r = 0.2. We listed the number of iterations for exceed BER 10−10 at (E b/N0) = threshold. HSBP NDGSBP dv dc R (Eb/N0)GA BP G = 4 12 36 G = 4 12 36 3 6 1/2 1.163 424 294 263 252 272 239 230 HSBP NDGSBP dv dc R (Eb/N0)GA BP G = 4 16 34 G = 4 16 34 4 6 1/3 1.730 633 439 387 377 407 360 353

(49)

Chapter 6

Conclusion

In this thesis, we propose two novel group shuffled BP decoding scheduling schemes to improve the performance of the conventional GSBP algorithm for decoding LDPC codes. The proposed NDGSBP scheme enhances the connectivity of the code graph by having overlapped CNs in neighboring CN groups. The enhanced connectivity allows each VN (or CN) to obtain related information from more VNs (or CNs) within a decoding iteration, accelerating the message-passing rate and thus the convergence speed. The H-SBP performs VSBP and HSBP decoding alternately to achieve a pseudo-random decoding schedule to avoid the unequal error-correcting capability of the coded bits. As a result, the H-SBP scheme gives better convergence performance than that of the conventional GSBP approach.

We also analyze the decoding behavior of different decoding schedules in this thesis. The GA approach is used to track the first-order statistical information flow of the proposed NDGSBP algorithm and the H-SBP algorithm. The GA analysis verifies that the NDGSBP decoder and H-SBP decoder do give faster convergence rates with respect to those of the GSBP and BP decoders. Numerical results also demonstrate that, with the same decoding computation complexity, the new algorithms yields improved BER and FER performance.

(50)

non-disjoint parts are randomly selected from the available CNs. A proper VN ordering and overlapping VN selection that take the code structure into account will certainly give better performance. The optimal decoding schedule and the optimal CN group overlapping ratio r remain to be found and some analytic performance metrics may be needed in our search of the desired solution.

(51)

Bibliography

[1] R. G. Gallager, Low-density parity-check codes, Cambridge, MA: M.I.T. Press, 1963. [2] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inf.

Theory, vol. IT-27, pp. 533V547, Sept. 1981.

[3] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,” Electronics Lett., vol. 32, no. 18, pp. 1645-1646, Aug. 1996. [4] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE

Trans. Inf. Theory, vol. 45, pp. 399-431, Mar. 1999.

[5] J. Zhang and M. Fossorier, “Shuffled belief propagation decoding,” IEEE Trans.

Commun., vol. 53, pp. 209-213, Feb. 2005.

[6] A. Segard, F. Verdier, D. Declercq and P. Urard, “A DVB-S2 compliant LDPC decoder integrating the horizontal shuffle schedule,” In Proc. of IEEE ISPACS 2006, pp. 1013-1016, Dec. 2006.

[7] E. Sharon, S. Litsyn and J. Goldberger, “Efficient serial message-passing schedules for LDPC decoding,” IEEE Trans. Inf. Theory, vol. 53, pp. 4076 - 4091, Nov. 2007. [8] J. Zhang, Y. Wang, M. P. C. Fossorier and J. S. Yedidia, “Iterative decoding with

replicas,” IEEE Trans. Inf. Theory, vol. 53, No. 5, pp. 1644-1663, May 2007.

[9] C.-Y. Chang, Y.-L. Chen, C.-M. Lee, and Y. T. Su, “New group shuffled BP decoding algorithms for LDPC codes,” presented at IEEE ISIT 2009, pp. 1664-1668, Jun. 2009.

(52)

[10] Y. Yang, J.-Z. Huang, S. Tong and X.-M. Wang, “Replica horizontal-shuffled itera-tive decoding of low-density parity-check codes,” The Journal of China Universities

of Posts and Telecommunications, vol. 13, pp.32-40, Jun. 2010.

[11] T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity-check codes under message-passing decoding,” IEEE Trans. Inf. Theory, vol. 47, No. 2, pp. 599-617, Feb. 2001.

[12] S.-Y. Chung and T. J. Richardson, “Analysis of sum-product decoding of low-density parity-check codes using a Gaussian approximation,” IEEE Trans. Inf.

The-ory, vol. 47, No. 2, pp. 657-670, Feb. 2001.

[13] S. T. Brink and G. Kramer, “Design of low-density parity-check codes for modula-tion and detecmodula-tion,” IEEE Trans. commun., vol. 52, No. 4 pp. 670-678, Apr. 2004. [14] E. Sharon and A. Ashikhmin, “Analysis of low-density parity-check codes based on

EXIT functions,” IEEE Trans. commun., vol. 54, No. 8, pp. 1407-1414, Aug. 2006. [15] Z. Song, R. Yu, and P. Ma, “Gaussian approximation for LDPC codes under group

數據

Figure 2.1: The Tanner graph for the code given in the example.
Figure 2.2: A VN decoder (REP decoder). VN n receives LLR information from the channel and from all of its neighbors, excluding message L m→n from CN m, from which VN n composes message L n→m that is sent to CN m.
Figure 2.4: Vertical shuffled BP with G = 1, 2, 6 for decoding a code given in Example 1
Figure 2.5: Horizontal shuffled BP with G = 1, 2, 4 for decoding a code given in Example 1
+7

參考文獻

相關文件

• As the binary quadratic programming program is NP-hard in general, identifying polynomially solvable subclasses of binary quadratic programming problems not only offers the-

One way to select a procedure to accelerate convergence is to choose a method whose associated matrix has minimal spectral radius....

 Promote project learning, mathematical modeling, and problem-based learning to strengthen the ability to integrate and apply knowledge and skills, and make. calculated

Then, we tested the influence of θ for the rate of convergence of Algorithm 4.1, by using this algorithm with α = 15 and four different θ to solve a test ex- ample generated as

For the proposed algorithm, we establish a global convergence estimate in terms of the objective value, and moreover present a dual application to the standard SCLP, which leads to

One way to select a procedure to accelerate convergence is to choose a method whose associated matrix has minimal spectral

In addition, to incorporate the prior knowledge into design process, we generalise the Q(Γ (k) ) criterion and propose a new criterion exploiting prior information about

For the proposed algorithm, we establish its convergence properties, and also present a dual application to the SCLP, leading to an exponential multiplier method which is shown