• 沒有找到結果。

應用於BCH與LDPC串接編碼系統的BCH碼選擇方法以及其疊代解碼演算法

N/A
N/A
Protected

Academic year: 2021

Share "應用於BCH與LDPC串接編碼系統的BCH碼選擇方法以及其疊代解碼演算法"

Copied!
71
0
0

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

全文

(1)

電信工程研究所

應用於 BCH 與 LDPC 串接編碼系統的 BCH 碼選擇方法以及

其疊代解碼演算法

BCH Code Selection and Iterative Decoding for BCH and LDPC Concatenated

Coding System

研 究 生:陳品翰

指導教授:陳伯寧 教授

(2)

應用於 BCH 與 LDPC 串接編碼系統的 BCH 碼選擇方法以及其疊代解碼

演算法

BCH Code Selection and Iterative Decoding for BCH and LDPC Concatenated

Coding System

研 究 生:陳品翰 Student:Pin-Han Chen

指導教授:陳伯寧 Advisor:Po-Ning Chen

國 立 交 通 大 學

電信工程研究所

碩 士 論 文

A Thesis

Submitted to Institute of Computer and Information Science College of Electrical Engineering and Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer and Information Science

July 2012

(3)

tt

應用

用於

於BCH與

與LDPC串

串接

接編

編碼

碼系

系統

統的

的BCH碼

碼選

選擇

擇方

方法

法以

以及

其疊

疊代

代解

解碼

碼演

算法

學生: 陳品翰kkk 指導教授: 陳伯寧 國立交通大學電信工程研究所碩士班 摘 摘 摘要要要 對於兩碼串連的串接系統而言,消除由內碼解碼器所殘餘的錯誤是外碼最主要的設 計目的。為了有效地消除那些殘餘的錯誤,必須基於內碼解碼器的的行為來選擇適當的 外碼。在這篇碩士論文中,我們考慮一個可適用於快閃記憶體的商業標準,也就是系統 化(Systematic)的BCH碼與正規類循環低密度位元檢測碼(QC-LDPC)的串接系統。我們提 出一個根據內部的低密度位元檢測碼解碼器產生的錯誤模式選擇BCH碼的方法,使得在輕 微的碼率損失下,可有效降低LDPC碼的錯誤遲滯現象。除此之外,對於使用代數解碼演 算法的外碼解碼器,我們提出了一個基於反饋的疊代解碼演算法以改善解碼錯誤率。模擬 結果顯示我們所提出的反饋疊代解碼只有些微地增加解碼複雜度,卻可以有效地改善系統 錯誤率。

(4)

BCH Code Selection and Iterative Decoding for BCH

and LDPC Concatenated Coding System

Student: Pin-Han Chenkkk Advisor: Po-Ning Chen Institute of Communications Engineering

National Chiao Tung University

Abstract

For a serial concatenated coding system, the outer code is mainly designed to remove the residual errors induced by the inner decoder. In order to efficiently eliminate these residual errors, the selection of outer codes should depend on the error behavior of the inner decoder. In this thesis, we consider the concatenated systematic BCH and QC-LDPC coding system, which may be suitable for commercial standards of flash memories. We first propose a selec-tion method of BCH codes according to the error patterns that are produced by the inner LDPC code decoder so as to lower the error floor but retain minor rate loss. Moreover, for the algebraic outer decoder, we present a feedback-based iterative decoding algorithm to improve the decoding performance. Simulations show that our feedback iterative decod-ing can effectively improve the system performance with only a slight increase in decoddecod-ing complexity.

(5)

Acknowledgements

First of all, I would like to extend my sincere gratitude to my advisor, Professor Po-Ning Chen, for his patient guidance and support. Secondly, I would like to express my heartfelt gratitude to Professor Chung-Hsuan Wang: I deeply appreciate your invaluable instructions in my research. Besides, I would like to show my special gratitude to Dr. Jian-Jia Weng: I have benefited a lot from your enthusiastic teaching. This thesis would not have been possible without these helps. Finally, I would like to thank Jian-Dong Du and all the members in the NTL lab for their support and friendship as well as all those who have helped me in these two years.

(6)

Contents

Chinese Abstract i Abstract ii Acknowledgements iii Contents iv List of Figures vi 1 Introduction 1 2 Preliminaries 4

2.1 Concatenation of LDPC and BCH coders . . . 4

2.2 Decoding Algorithm for LDPC Code . . . 6

2.2.1 The Bit-Flipping Algorithm . . . 7

2.2.2 The Sum-Product Algorithm . . . 8

2.3 Algebraic Decoding Algorithm for BCH Codes . . . 9

(7)

3 BCH Code Selection and Iterative Decoding for The Concatenated Coding

System 13

3.1 The Selection of Outer BCH Codes . . . 14 3.2 Decision Feedback-Aided Iterative Decoding . . . 15

3.2.1 Decision Feedback-Aided Iterative Decoding between Algebraic and Bit-Flipping Algorithms . . . 16 3.2.2 Decision Feedback-Aided Iterative Decoding between Algebraic and

Sum-Product Algorithms . . . 17 3.3 Additional Modifications on Decision Feedback-Aided Iterative Decoding . . 19 3.3.1 Strategy 1: Concatenation of SPC, BCH and LDPC Codes . . . 19 3.3.2 Strategy 2: Explicit Feedback Condition on the Euclidean Distance . 21 3.3.3 Strategy 3: Shortening the Outer BCH Code . . . 22

4 Simulation Results 25 4.1 System Settings . . . 25 4.2 Remarks . . . 51

5 Conclusion and Future Work 56

(8)

List of Figures

2.1 Block diagram of the concatenated coding system consisting of β (NBCH, KBCH)

BCH codes and one (NLDPC, KLDPC) LDPC code. q zeros will be added at the

end of these β BCH codewords, where q = KLDPC− β · NBCH. . . 5

3.1 Block diagram of concatenation of the SPC, BCH and LDPC codes. . . 20 3.2 Block diagram of concatenated coding system with λ information bits being

fixed as zeros. . . 23

4.1 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the BFA. . . 31 4.2 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the BFA. . . 32

(9)

4.3 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 33 4.4 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 34 4.5 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 35 4.6 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 36 4.7 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 37

(10)

4.8 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA. . . 38 4.9 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA. . . 39 4.10 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA. . . 40 4.11 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA. . . 41 4.12 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA. . . 42

(11)

4.13 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA. . . 43 4.14 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA. . . 44 4.15 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA. . . 45 4.16 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA. . . 46

(12)

4.17 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA. . . 47 4.18 Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA. . . 48

(13)

4.19 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA. . . 49 4.20 Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and with-out feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA. . . 50

(14)

Chapter 1

Introduction

With an increasing demand for large and efficient data storage, providing reliable data access on flash memory gradually becomes an important research issue. In the last decade, Bose-Chaudhuri-Hocquenghem (BCH) codes have been widely used for data protection on flash memory [1–3]. Algebraic decoding algorithms for BCH codes are then employed when errors are detected [4]. However, as the rapid development of flash memory, the required bit error rate (BER) is more strict than before. It then occurs that the BCH codes are not adequate to achieve the desired BER. Hence, many commercial companies attempt to adopt new coding technology such as the LDPC code to alleviate this problem in the next generation flash memory standard.

Serial concatenated coding is a technique to combine several error correcting codes into a single one. In general, such a concatenated code can increase the error correcting capability dramatically. For flash memory industries, a favorable coding scheme is perhaps to concate-nate systematic BCH codes with quasi-cyclic low-density parity-check (QC-LDPC) codes. From our viewpoint, this coding scheme have several advantages apart from its powerful correcting capability.

(15)

Secondly, the data read operation can be directly performed by the outer BCH code decoder if the quality of read channel is good. Only when the outer code decoding fails, the inner LDPC code decoder is activated to produce more reliable estimates of the original data. Thirdly, the conventional hardware implementation of BCH code encoder and decoder can be retained. Fourthly, the special parity-check matrix structure of the QC-LDPC code [5] makes fast encoding and low complexity decoding feasible [6, 7].

Based on the above concatenated coding scheme, the QC-LDPC code can be decoded by the bit flipping algorithm (BFA) or the sum-product algorithm (SPA) [8]. However, it is observed from simulations that a remarkably good BER performance is resulted at low-to-moderate signal-to-noise power ratio (SNR) but an error floor at high SNR due to some particular error patterns seems unavoidable. This error floor phenomenon is even more serious especially for QC-LDPC codes of short block length. Although the outer BCH code can improve this error floor, increasing the correcting capability of the outer code will be at the expense of code rate loss.

To seek a balance between the BER performance and the code rate, we propose a selection method for the outer BCH code when the inner QC-LDPC code is given. The idea behind our method is to examine the error patterns in the error floor region and choose an appropriate BCH code that can compensate most of the dominant error patterns.

In addition, since in our coding system, a codeword of the inner LDPC code corresponds to multiple codewords of the outer BCH code, the successful decoded results for the outer BCH codes can be properly utilized for performance enhancement. Hence, we also propose an iterative decoding strategy for this concatenated coding system. Simulations showed that the BER can be effective reduced with such an interaction between the inner and outer code decoders.

(16)

concatenated coding system is presented. In Chapter 3, the selection method of BCH codes and the proposed feedback strategy for iterative decoding are given. In Chapter 4, simulation results are summarized and remaked. Chapter V concludes this work.

(17)

Chapter 2

Preliminaries

In this chapter, we provide the background knowledge on LDPC code decoders and BCH code decoders. Specifically, Section 2.1 introduces the system model we consider as well as the serial concatenated coding scheme. Section 2.2 talks about the decoding algorithms for LDPC codes. Section 2.3 gives the algorithm that will be employed for decoding the BCH codes. Section 2.4 presents the conception of dominated error patterns for LDPC codes in an error floor region; further discussion on this subject will be given in subsequent chapters.

2.1

Concatenation of LDPC and BCH coders

As shown in Figure 2.1, we consider a concatenated coding scheme that comprises β identical (NBCH, KBCH) systematic BCH codes as the outer code and an (NLDPC, KLDPC) systematic

LDPC code as the inner code. In this scheme, the BCH codes are chosen to be capable of correcting t random errors, and the LDPC code adopted is a QC-LDPC code.

It can then be observed from Figure 2.1 that the total number of information bits is β · KBCH. These information bits are first divided into β groups of size KBCH. Bits in each

group are then encoded by a BCH code encoder. The resulting β BCH codewords plus q zeros are aggregated as the information bits for the LDPC encoder, where q = KLDPC−β · NBCH≥

(18)

Figure 2.1: Block diagram of the concatenated coding system consisting of β (NBCH, KBCH)

BCH codes and one (NLDPC, KLDPC) LDPC code. q zeros will be added at the end of these

β BCH codewords, where q = KLDPC− β · NBCH.

0. Afterwards, a length-NLDPCLDPC codeword is generated. Note that since the LDPC code

is systematic, the additional q zeros in the LDPC codeword does not need to be transmitted (as indicated by the big cross on the right of Figure 2.1). The purpose of these zero padding is to match the number of output bits of the BCH encoders to the number of required input bits of the LDPC encoder. For notational convenience, we let P be the set of indices corresponding to these q extra zeros in an LDPC codeword.

In our system model, we suppose that except for the q extra zeros, the coded bits are BPSK-modulated and transmitted over an additive white Gaussian noise (AWGN) channel. Hence, the received signal at time i can be represented as

(19)

where xi ∈ {−1, +1} is the ith modulated symbol, and wi denotes a zero-mean Gaussian

noise sample with variance σ2.

At the receiver side, the sum-product algorithm or bit-flipping algorithm is first employed to decode the LDPC code. The hard-decision decoding result is denoted by ˆz. Upon re-ception of this hard-decision sequence ˆz, an algebraic decoding algorithm then performs the decoding of BCH codes and outputs the estimates of the information bits. These decoded information bits are denoted by ˆd.

2.2

Decoding Algorithm for LDPC Code

In this section, the details of bit-flipping algorithm (BFA) [8] and the sum-product algorithm (SPA) [8] are addressed.

The BFA is a hard-decision decoder for LDPC codes, while the SPA is a soft-decision decoder for LDPC codes. Both algorithms pass messages between nodes in the Tanner graph of the code. For the BFA, a variable node sends a message to its neighboring check nodes to declare itself as a 1 or 0, and a check node sends a message to its neighboring variable nodes, declaring whether the parity-check is satisfied or not. The working theory behind the SPA is similar to the BFA except that what the SPA passes between variable nodes and check nodes is the log-likelihood ratio between 0 and 1. In this thesis, the conventional SPA proposed by Gallager in his 1963 thesis is employed [8].

Before we proceed to introduce the details of the two algorithms, the notations used later must be defined first. Denote by H the parity-check matrix of a (NLDPC, KLDPC) QC-LDPC

code. Then, the number of variable nodes in the Tanner graph is NLDPC. Let the Tanner

graph corresponding to H containing M check nodes. Put vi and M(i) as the ith variable

(20)

let cj and N (j) be respectively the jth check node and the set of variable nodes connecting

to cj. With these notations, the decoders of the LDPC code can be described in the following

steps.

2.2.1

The Bit-Flipping Algorithm

The Bit-Flipping Algorithm:

Step 0. Initialization: The value of the ith variable node, ˆzi, is obtained from the ith received value yi via hard-decision:

ˆ

zi = 1, if yi

≤ 0 and i /∈ P

0, otherwise , ∀ 1 ≤ i ≤ NLDPC. (2.1)

Step 1. Bit to Check Message Update: Each variable node sends its value to its neighboring check nodes. Afterwards, each check node calculates whether the parity-check is satisfied or not in terms of the messages obtained from the variable nodes. Set

Qj = 1 if the j-th parity-check equation is satisfied; otherwise, set Qj = −1. In other words,

Qj =

Y

i∈N (j)

(1 − 2ˆzi) , ∀ 1 ≤ j ≤ M (2.2)

If all Qj = 1, then output ˆz and stop the algorithm.

Step 2. Check to Bit Message Update: Each check node sends its Q-value to its neighboring variable nodes. Set Fi = 1 if all check equations associated to check nodes that are connected to the ith variable node are “not satisfied;” otherwise, set Fi = 0. Flip

(21)

the value of the variable node if Fi = 1.1 Specifically, Fi = Y j∈M(i) 1 − Qj 2 , ∀ 1 ≤ i ≤ NLDPC and i /∈ P. (2.3) ˆ zi =  (ˆzi+ 1) mod 2, if Fi = 1 ˆ zi, if Fi = 0 , ∀ 1 ≤ i ≤ NLDPC and i /∈ P. (2.4)

If ˆz is a valid LDPC codeword or the maximum number of iterations is reached, output ˆz and stop the algorithm; else go to Step 1.

2.2.2

The Sum-Product Algorithm

The Sum-Product Algorithm:

Step 0. For 1 ≤ i ≤ NLDPC, if i /∈ P, then compute the LLR Ri of bit i; else let Ri = ∞. I.e.,

Ri ,

 2yi/σ2, if i /∈ P

∞, if i ∈ P (2.5)

For 1 ≤ i ≤ NLDPC and 1 ≤ j ≤ M, initial Ei,j = 0, where Ei,j represents the extrinsic information passing from check node cj to variable node vi.

Step 1. Bit to Check Message Update: Denote by Li,j the extrinsic information passing from variable node vi to check node cj. Then, assign for 1 ≤ i ≤ NLDPC, and for

j ∈ M(i) for a given i, Li,j =

 P

j′∈M(i),j′6=jEi,j′ + Ri, if i /∈ P

Ri, if i ∈ P

(2.6)

Step 2. Check to Bit Message Update: Renew for 1 ≤ j ≤ M, and for i ∈ N (j) for a given

j,

Ei,j = ln

 

1 +Q

i′∈N (j),i′6=itanh

L

i′,j

2

 1 −Q

i′∈N (j),i′6=itanh

L i′,j 2   . (2.7)

(22)

Step 3. Codeword Test: Compute the reliability Di of the ith bit as Di =  P j∈M(i)Ei,j+ Ri if i /∈ P Ri if i ∈ P , (2.8)

For 1 ≤ i ≤ NLDPC, obtain the hard-decision result:

ˆ zi =

 1 if Di ≤ 0

0 if Di > 0 (2.9) If HˆzT = 0, output ˆz as the decoded result and stop the algorithm; else if the maximum number of iterations is reached, stop the algorithm; else go to Step 1.

2.3

Algebraic Decoding Algorithm for BCH Codes

In this section, we describe the algebraic decoding algorithm for BCH codes.

Upon the completion of the LDPC code decoding, the decoded sequence ˆz is partitioned into β sub-sequences, and each sequence is delivered to its corresponding BCH code decoder for decoding. In this thesis, the BCH code decoder chosen is the Euclidean algorithm [4]. Since the Euclidean algorithm is a bounded distance decoder, a sub-sequence is guaranteed to be decoded to a valid codeword when this sub-sequence lies in a codeword sphere of radius t. As such, if a sub-sequence can be decoded to a valid codeword, the estimates of the information bits, i.e., ˆd, are taken from the outputs of this BCH code decoder; otherwise, the information bits in ˆz are used instead. Note again that the BCH codes we adopt are systematic.

Now consider a primitive BCH code with codeword length NBCH= 2m− 1 and generator

polynomial g (x). Assume its code polynomial is

v(X) = v0+ v1X + · · · + vNBCH−1X

NBCH−1. (2.10)

Let the received sequence (passed from the LDPC decoder) be r(X) = r0+ r1X + · · · + rNBCH−1X

(23)

As a convention, we can write

r(X) = v(X) + e(X), where e(X) is the error pattern polynomial.

The first step in decoding a BCH code is to check whether r(X) is a valid code polynomial or not. If affirmative, then the information bits encoded to r(X) is surely the desired decoding output. If the answer is negative, then compute the syndrome s corresponding to the received polynomial r(X).

For a t-error correctable BCH code, the syndrome consists of 2t components in GF(2m):

s= (s1, s2, · · · , s2t), (2.12)

where the i-th component of the syndrome is

si = r(αi) for 1 ≤ i ≤ 2t, (2.13)

and α is the primitive element.

Let φ(X) be the minimum polynomial of αi. Dividing r(X) by φ(X), we obtain the

following equation:

r(X) = a(X)φ(X) + b(X) (2.14)

where b(X) is the remainder with degree less than φ(X). Based on the above equation, it is obvious that (2.13) can be rewritten as si = b(αi) because φ(αi) = 0.

Since r(X) = v(X) + e(X), we can relate the syndrome and the error pattern through:

si = r(αi) = v(αi) + e(αi) = e(αi) for 1 ≤ i ≤ 2t (2.15)

Suppose e(X) has ν errors at locations Xj1, Xj2, · · · , X, i.e.,

e(X) = Xj1 + Xj2 + · · · + X, where 0 ≤ j

(24)

Combining (2.15) and (2.16), we have the following equations: s1 = αj1 + αj2 + · · · + αjν s2 = (αj1)2+ (αj2)2+ · · · + (αjν)2 s3 = (αj1)3+ (αj2)3+ · · · + (αjν)3 ... s2t = (αj1)2t+ (αj2)2t+ · · · + (αjν)2t (2.17)

where αj1, αj2, · · · , αjν are unknown. So for BCH codes, the decoding process is simply to

solve these equations.

As aforementioned, we use the Euclidean algorithm to decoding BCH codes in this thesis. Apparently, the exponents j1, j2, · · · , jν tell us the error locations in e(X). Define the

polynomial:

σ(X), (1 + αj1

X)(1 + αj2

X) · · · (1 + αjνX) (2.18)

= σ0+ σ1X + σ2X2+ · · · + σνXν (2.19)

The roots of σ(X) are clearly (αj1)−1, (αj2)−1, · · · , (αj1)−1. As these roots tell the inverses

of the location numbers, σ(X) is called the locator polynomial. Solving the error-locator polynomial can also give the error locations in e(X). Note that we will use the information of the error-locator polynomial in the next chapter.

Finally, we roughly summarize the decoding procedure of the BCH codes as follows. First, we compute the syndrome s from the received polynomial r(X), followed by the determina-tion of the error locator polynomial σ(X). Then, we determine the error locadetermina-tion numbers αj1, αj2, · · · , αjν by finding the roots of σ(X), and hence we can use this information to

correct the errors in r(X).

2.4

Dominated Failure Patterns: Trapping Sets

As widely reported in many research documents, decoding LDPC codes by the SPA can result in relatively large BERs at low to moderate SNR in AWGN channels. These relatively

(25)

large BERs usually appear in the form of error floor at high SNR, i.e., the BERs descend much slowly or even stop decreasing at high SNR, and this error floor phenomenon is more evident especially for short block length LDPC codes.

From a series of studies, a major failure pattern that causes the error floor phenomenon is the “trapping set [9].” We say that a sub-graph of a Tanner graph is an (a, b) trapping set if it contains a variable nodes and b odd degree neighboring check nodes that are connected to these variable nodes. When these a variable nodes are erroneous while the remaining bits are correct, it can be observed that only these b check nodes can possibly send correct messages to these a variable nodes. Hence, the the trapping sets, in particular with smaller values of a and b, are the dominant error patterns in the error floor region.

(26)

Chapter 3

BCH Code Selection and Iterative

Decoding for The Concatenated

Coding System

In this chapter, a selection method for the outer BCH codes will be proposed.

Specifically, for an LDPC code, it has been known that the error floor is majorly con-tributed by the dominant trapping sets. Our initial idea is therefore that by concatenating a proper outer code, this problem can be alleviated. With this in mind, for the concatenated coding scheme in this thesis, the outer BCH codes are chosen to eliminate those trapping sets and hence improve the BER in the error floor region.

Nevertheless, increasing the error capability of the outer code is usually done at the expense of the code rate. This implies that there is a trade-off between the code rate and the BER performance in such a choice of BCH codes. It then leads to the objective in our design: to improve the BER in the error floor region without much rate loss.

Other than introducing a selection method for the outer BCH codes in Section 3.1, a decision-feedback-aided decoding is presented. In general, iterative decoding between inner and outer codes in a concatenated coding scheme must use soft-decision decoding for both the outer code and the inner code. However, in our system, the outer BCH code is hard-decision

(27)

decoded. So in Section 3.2, we propose an iterative decoding algorithm for our concatenated system such that the outer BCH code does not need to be soft-decision decoded. Via this way, the inner decoder and the outer decoder can cooperate with each other to enhance the overall BER performance.

Finally, Section 3.3 introduces more iterative decoding ideas that can be used in our concatenated coding system.

3.1

The Selection of Outer BCH Codes

Since we wish to choose outer BCH codes to eliminate the ill effect of those trapping sets, a search of the dominated trapping sets must be first performed for a given inner QC-LDPC code. The collected (a, b) trapping sets are then classified according to the values of parameters a and b.

The scenario we are concerned with is as follows. Under the premise that the codeword length of the outer BCH code has been determined, and a LDPC code codeword comprises β BCH code codewords, if an (a, b) trapping set with a = t occurs, those t errors might simultaneously fall into a single BCH code block in the worst case. To ensure that such an error pattern can be removed by the BCH code decoder, a t-error correctable BCH code must be chosen. In fact, by this selection, not only the trapping sets with a ≤ t are guaranteed to be cleaned up by the outer BCH code but also part of the trapping sets with a > t can be possible corrected as long as β > 1. Note that if the code rate of the resulting concatenated system is higher than the system requirement, we may further increase the correcting capability of the BCH code for further improvement at the price of decreasing the code rate, i.e., e.g., choosing a (t + 1)-error correctable BCH code.

(28)

increase the codeword length of BCH codes to improve the code rate without much sacrificing the error correcting capability. As such, since the value of β is decreased, the “extra” error correcting capability for the trapping sets with a > t may be degraded.

3.2

Decision Feedback-Aided Iterative Decoding

After selecting proper BCH coders according to the proposed rule in the previous section, simulations are performed and show that our choice does improve the BER in the error floor region. However, a little performance loss can also be observed in the waterfall region due to the rate loss.

To compensate this BER performance degradation in the waterfall region, and also in-spired by the success of iterative decoding, we design an novel iterative decoding strategy for our concatenated coding system: namely, to feedback information from the β algebraic BCH code decoders to the LDPC code decoder.

It is worth mentioning that one can of course employ a soft-decision decoding algorithm for BCH codes and result in an iterative decoding naturally; however, such approach will evidently lose the advantage of the fully developed hardware implementation of algebraic decoders. In order to maintain this hardware superiority of hard-decision BCH decoders, we propose an alternative yet simple solution.

Our proposal relies on a premise that owing to the superior error correcting capability of the inner LDPC code, the noisy received signals are mostly corrected back to its original transmission values after the LDPC code decoding. In addition, by our selection of BCH codes, it is reasonable to expect that most of the residual errors can be removed by the outer BCH code decoders. This implies that the decoding results of BCH codes are very trustworthy. Therefore, our main idea is to feedback these decoding results to the LDPC

(29)

code decoder and do the LDPC decoding. This may make the LDPC code decoder re-generating even more reliable outputs, and hence form a positive interaction cycle between the inner and outer decoders.

Some notations that will be used later are introduced first. Let S denote the set of indices in an LDPC codeword of length NLDPC that correspond to those BCH decoder inputs, out

of which valid BCH codewords can be obtained by the BCH decoder. Hence, if β′ out of

β BCH decoders output valid BCH codewords (i.e., decode successfully), then the size of S is exactly β′ · KBCH. Notably, the direct correspondences between the β · KBCH input bits

of the BCH encoders and the LDPC codeword are well defined since both the BCH codes and the LDPC code are systematic. Denote by ˆdi the estimate of the ith bit in an LDPC

codeword obtained from the previous outer 1 iteration, where 1 ≤ i ≤ N

LDPC. With these

notations, we are ready to describe the decision feedback-aided iterative decoding for our proposed concatenated coding system.

3.2.1

Decision Feedback-Aided Iterative Decoding between

Alge-braic and Bit-Flipping Algorithms

In the first outer iteration of the decision feedback-aided iterative decoding, the LDPC code is decoded by the original bit-flipping algorithm as have been described in Subsection 2.2.1. Starting from the second outer iteration, the decoding procedure of the LDPC code is changed to the following:

Step 0. Initialization: With the availability of S and { ˆdi} obtained from the previous outer iteration, the value of the ith variable node, ˆzi, is obtained from the ith received

1There are two iterations in our decision feedback-aided iterative decoding algorithm. They are the

internal iterations of the LDPC decoder and the external iterations between the BCH decoders and the LDPC decoder. For convenience, the former will be referred to as inner iterations, while the latter will be named outer iterations.

(30)

value yi via hard-decision as: ˆ zi =    1 if yi ≤ 0 and i /∈ P ∪ S ˆ di if i ∈ S 0 otherwise , ∀ 1 ≤ i ≤ NLDPC. (3.1)

Step 1. Bit to Check Message Update: Each variable node sends its value to its neighboring check nodes. Afterwards, each check node calculates whether the parity-check is satisfied or not in terms of the messages obtained from the variable nodes. Set

Qj = 1 if the j-th parity-check equation is satisfied; otherwise, set Qj = −1. In other words,

Qj =

Y

i∈N (j)

(1 − 2ˆzi) , ∀ 1 ≤ j ≤ M (3.2)

If all Qj = 1, then output ˆz and stop the algorithm.

Step 2. Check to Bit Message Update: Each check node sends its Q-value to its neighboring variable nodes. Set Fi = 1 if all check equations associated to check nodes that are connected to the ith variable node are “not satisfied;” otherwise, set Fi = 0. Flip the value of the variable node if Fi = 1. Specifically,

Fi = Y j∈M(i) 1 − Qj 2 , ∀ 1 ≤ i ≤ NLDPC and i /∈ P ∪ S. (3.3) ˆ zi =  (ˆzi+ 1) mod 2, if Fi = 1 ˆ zi, if Fi = 0 , ∀ 1 ≤ i ≤ NLDPC and i /∈ P ∪ S. (3.4)

If ˆz is a valid LDPC codeword or the maximum number of (inner) iterations is reached, output ˆz and stop the algorithm; else go to Step 1.

3.2.2

Decision Feedback-Aided Iterative Decoding between

Alge-braic and Sum-Product Algorithms

In the first outer iteration of the decision feedback-aided iterative decoding, the LDPC code is decoded by the original sum-product algorithm as have been described in Subsection

(31)

2.2.2. Starting from the second outer iteration, the decoding procedure of the LDPC code is changed to the following:

Step 0. For 1 ≤ i ≤ NLDPC, if i /∈ P ∪ S, then compute the LLR Ri of bit i; else if i ∈ P, let Ri = ∞; else assign Ri =

2(1−2 ˆdi) σ2 . I.e., Ri ,      2(1−2 ˆdi) σ2 , if i ∈ S ∞, if i ∈ P 2yi/σ2, otherwise (3.5)

For 1 ≤ i ≤ NLDPC and 1 ≤ j ≤ M, initial Ei,j = 0, where Ei,j represents the extrinsic information passing from check node cj to variable node vi.

Step 1. Bit to Check Message Update: Denote by Li,j the extrinsic information passing from variable node vi to check node cj. Then, assign for 1 ≤ i ≤ NLDPC, and for

j ∈ M(i) for a given i, Li,j =

 Ri, if i ∈ P ∪ S

P

j′∈M(i),j′6=jEi,j′ + Ri, otherwise (3.6)

Step 2. Check to Bit Message Update: Renew for 1 ≤ j ≤ M, and for i ∈ N (j) for a given

j,

Ei,j = ln

 

1 +Q

i′∈N (j),i6=itanh

L

i′ ,j

2

 1 −Q

i′∈N (j),i6=itanh

L i′ ,j 2   . (3.7)

Step 3. Codeword Test: Compute the reliability Di of the ith bit as

Di =

 Ri if i ∈ P ∪ S

P

j∈M(i)Ei,j+ Ri otherwise , (3.8)

For 1 ≤ i ≤ NLDPC, obtain the hard-decision result:

ˆ zi =

 1 if Di ≤ 0

0 if Di > 0 (3.9) If HˆzT = 0, output ˆz as the decoded result and stop the algorithm; else if the maximum number of (inner) iterations is reached, stop the algorithm; else go to Step 1.

(32)

3.3

Additional Modifications on Decision Feedback-Aided

Iterative Decoding

From simulations, we sense that the outer BCH code decode may feedback incorrect infor-mation to the LDPC code decoder when the error correcting capability of the BCH code is too small. This occurs especially when the BCH code decoder outputs a valid but wrong codeword. In principle, this probability is roughly inversely proportional to the error correct-ing capability of the BCH code. In order to ensure the exactness of the feedback information from the BCH code decoder to the LDPC code decoder, we have experimented three strate-gies that will respectively introduce in the following subsections. In Subsection 3.3.1, an extra single parity-check (SPC) code will be added to the BCH code so as to ensure the exactness of the feedback information to the LDPC code decoder. In Subsection 3.3.2, the condition of the feedback strategy will become stricter. In Subsection 3.3.3, a modification on the outer BCH code will be tested. To ease the referring of the above three modifications, we will respectively call the modifications in Subsections 3.3.1, 3.3.2 and 3.3.3 as Strategy 1, Strategy 2 and Strategy 3.

3.3.1

Strategy 1: Concatenation of SPC, BCH and LDPC Codes

There exists an implicit condition for executing the feedback scheme, i.e., at least one BCH code decoder decodes successfully. Hence, the error correcting capability of the outer BCH code must not be too small; otherwise, the decoded result may still be wrong and another valid BCH codeword is outputted even if the BCH code decoder decodes successfully.

To further secure the exactness of the feedback information, we add an extra single parity-check (SPC) code to double-parity-check the validity of the output BCH codewords. This will only result in a small rate loss, and the additional system complexity is almost minimized.

(33)

Figure 3.1: Block diagram of concatenation of the SPC, BCH and LDPC codes.

Consider the new system that comprises β identical (NSPC, KSPC) systematic SPC codes,

β identical (NBCH, KBCH) systematic BCH codes and an (NLDPC, KLDPC) systematic LDPC

code as shown in Figure 3.1. In this scheme, the number of information bits becomes βKSPC,

and NSPC = KSPC + 1. Specifically, the βKSPC bits are first divided to β disjoint groups

of size KSPC. Each group is then independently encoded by its corresponding SPC code

encoder. This results in β SPC codewords.

The SPC codewords are then fed into the following BCH code encoders, which gener-ate β BCH codewords. Afterwards, the output β BCH codewords are aggreggener-ated as the information bits to the LDPC code encoder, which in turns generate an LDPC codeword of length NLDPC. Similar to what have been stated in Section 2.1, q zeros will be padded to β

BCH codewords in order to balance the total number of bits in β BCH codewords and the required number of bits for the LDPC code encoder.

(34)

As aforementioned, the SPC code is used to detect the errors that the BCH code decoders make. It can cooperate with either the BFA or the SPA when being applied to the decision feedback-aided iterative decoding. The procedures are basically the same as what we have described in the previous section. In the first outer iteration, the LDPC code decoder produces decoding outputs ˆz of length NLDPC. Based upon this hard-decision sequence ˆz,

the BCH decoders then output the estimates ˆd of the information bits of BCH codes by using an algebraic decoding algorithm. Additionally, the results ˆdare double-checked to see whether they form a valid codeword of the SPC code. As a result, the set S is re-defined as the set of indices in an LDPC codeword of length NLDPC that correspond to those SPC

decoder inputs, out of which valid SPC codewords and also valid BCH codewords can be obtained. By the re-defined S, the second outer iteration can be performed, following the steps described in Section 3.2.

3.3.2

Strategy 2: Explicit Feedback Condition on the Euclidean

Distance

In this subsection, instead of adding an SPC code, we add an explicit condition under which the information bits in S can be feedbacked. Hence, the system structure in Figure 2.1 remains and no rate loss is resulted.

The decoding procedure is modified as follows. In the first outer iteration, the LDPC code decoder generates hard-decision sequence ˆz. Based on this hard-decision sequence ˆ

z, the BCH code decoders then output the estimates ˆd of the information bits of BCH codes by using an algebraic decoding algorithm. We then generate β BCH codewords with respect to the estimated information sequence ˆd. Afterwards, for the ith BCH codeword just generated, where 1 ≤ i ≤ β, we compute the Euclidean distance u(i)BCH between this BCH codeword and the elements in its corresponding positions in channel output y. We also

(35)

compute the Euclidean distance u(i)LDPC between ˆz and y by taking into consideration only the elements corresponding to the the respective positions about the ith BCH codeword. Again, the correspondences between BCH codewords and y are well defined since the LDPC code is systematic. From our simulations, we notice that the portion of the decoded results

ˆ

d that generates the ith BCH codeword is correct with higher probability if u(i)BCH is smaller than u(i)LDPC. Therefore, we redefine the set S as follows: S is the set of indices in an LDPC codeword of length NLDPC that correspond to those BCH decoder inputs, out of which valid

BCH codewords can be obtained by the BCH decoder and also its respective u(i)BCH is smaller than u(i)LDPC. By the re-defined S, the second outer iteration can be performed, following the steps described in Section 3.2.

3.3.3

Strategy 3: Shortening the Outer BCH Code

It is obvious that if some of the information bits transmitted are known to the receiver, then the outer iterations can evidently improve the error performances by broadcasting these correct values. Hence, in this subsection, we propose to fix λ information bits as zeros for each BCH coder so that they can serve as the known information bits at the receiver to help improving the error performance.

Consider a concatenated coding scheme that comprises β identical (NBCH, KBCH)

system-atic BCH coders and an (NLDPC, KLDPC) systematic LDPC coder as shown in Figure 3.2.

Among the KBCH information bits feeding into each BCH encoder, λ of them are fixed as

zeros. Hence, the total number of effective information bits for the entire system is reduced to βKBCH′ , where KBCH′ = KBCH− λ. Similar to what have been stated previously, these

βKBCH′ bits are divided into β groups of size KBCH′ . After appending λ bits of zeros to each group, they are then fed into (NBCH, KBCH) BCH code encoders. This results in β BCH

(36)

LDPC code encoder. If necessary, q extra zeros will be appended to these β ·NBCHaggregated

bits, where KLDPC = βNBCH+ q. The LDPC code encoder then generates a length-NLDPC

LDPC codeword.

Figure 3.2: Block diagram of concatenated coding system with λ information bits being fixed as zeros.

Note that the q + βλ extra zeros are not transmitted since the values of these bits are prior known at the receiver. Therefore, this strategy will only cause a small rate loss and the new code rate is given by:

βK′ BCH NLDPC− βλ − q = βKBCH− βλ NLDPC− βλ − q .

(37)

λ zeros can be used to double-check whether the decoding outputs of the BCH decoder are valid BCH codewords or not. Notably, with this setting, a valid BCH codeword must be one, of which the component bits equal zeros in these λ specific positions. The detail of the decision feedback-aided iterative decoding procedure is then the same as that described in Section 3.2.

In comparison with Section 3.1, the strategy just proposed in this subsection increases the correcting capability of the outer BCH codes at a price of a little rate loss. Hence, in our simulations, a little performance loss can be observed at the waterfall region. More simulation results as well as discussions regarding them will be introduced in the next chapter.

(38)

Chapter 4

Simulation Results

In this chapter, simulation results are provided to demonstrate the effectiveness of our selec-tion method for BCH codes as well as the proposed iterative decoding algorithm. Specifically, simulation results are summarized in Section 4.1, and discussions on them are given in Sec-tion 4.2.

4.1

System Settings

For all cases, the number of iterations for the inner LDPC decoder is 100. The maximum number of (outer) iterations between the inner and outer decoders is denoted by ξ. The condition to execute the outer iteration is that at least one of the BCH code decoders decodes successfully.

In our simulations, the (6350, 5878) regular QC-LDPC code C1 and (4590, 3835) regular

QC-LDPC code C2 [10] are adopted. For C1, the minimum value of a among its dominant

trapping sets is 4; hence, we choose the (255, 223, 4) and (511, 475, 4) 4-errors correctable BCH codes as its outer codes. By performing similar trapping set search onto C2, the

minimum value of a is again 4; hence, the (255, 223, 4) and (511, 475, 4) BCH code can also be used as the outer codes for C2.

(39)

We list the maximum number of outer iterations for each code combination as follows.

• The maximum number of outer iterations for the (255, 223, 4) BCH code and C1 is

5878/255 ≈ 23. As can be seen from our computation, this number is exactly the number of BCH codes concatenated to the LDPC code. Since after each outer iteration, at least one additional BCH code decoder should claim to be successful in decoding, it is clear that at most 23 outer iterations are required to have all BCH code decoders obtaining valid codewords.

• The maximum number of outer iterations for the (511, 475, 4) BCH code and C1 is

5878/511 ≈ 11.

• The maximum number of outer iterations for the (255, 223, 4) BCH code and C2 is

3835/255 ≈ 15.

• The maximum number of outer iterations for the (511, 475, 4) BCH code and C2 is

3835/511 ≈ 7.

Now we illustrate the details of all figures.

1. Figures 4.1-4.4 show the BER performances of feedback decoding introduced in Sec-tion 3.2.

(a) Presented in Figure 4.1 are the performances of the LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the BFA.

(b) The codes tested in Figure 4.2 are the same as those in Figure 4.1 except C2 is

(40)

(c) The codes tested in Figure 4.3 are the same as those in Figure 4.1 except that the SPA is employed instead of the BFA.

(d) The codes tested in Figure 4.4 are the same as those in Figure 4.3 except C2 is

used in place of C1.

2. Figures 4.5-4.8 show the BER performances of feedback decoding refined under Strat-egy 1 described in Section 3.3.1.

(a) Presented in Figure 4.5 are the performances of the LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(b) The codes tested in Figure 4.6 are the same as those in Figure 4.5 except (511, 475, 4) BCH codes are used in place of (255, 223, 4) BCH codes.

(c) The codes tested in Figure 4.7 are the same as those in Figure 4.5 except C2 is

used in place of C1.

(d) The codes tested in Figure 4.8 are the same as those in Figure 4.6 except C2 is

used in place of C1.

3. Figures 4.9-4.12 show the BER performances of feedback decoding under Strategy 2 refinement introduced in Section 3.3.2.

(a) Presented in Figure 4.9 are the performances of the LDPC code C1, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Stratege-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA.

(41)

(b) The codes tested in Figure 4.10 are the same as those in Figure 4.9 except (511, 475, 4) BCH codes are used in place of (255, 223, 4) BCH codes.

(c) The codes tested in Figure 4.11 are the same as those in Figure 4.9 except C2 is

used in place of C1.

(d) The codes tested in Figure 4.12 are the same as those in Figure 4.10 except C2 is

used in place of C1.

4. Figures 4.13-4.16 show the BER performances of feedback decoding under Strategy 3 refinement introduced in Section 3.3.3.

(a) Presented in Figure 4.13 are the performances of the LDPC code C1, its

corre-sponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Stratege-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(b) The codes tested in Figure 4.14 are the same as those in Figure 4.13 except (511, 475, 4) BCH codes are used in place of (255, 223, 4) BCH codes.

(c) The codes tested in Figure 4.15 are the same as those in Figure 4.13 except C2 is

used in place of C1.

(d) The codes tested in Figure 4.16 are the same as those in Figure 4.14 except C2 is

used in place of C1.

5. Figures 4.17-4.20 show the BER performances of feedback decoding under three differ-ent strategies.

(a) Presented in Figure 4.17 are the performances of the LDPC code C1, its

(42)

without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(b) Presented in Figure 4.18 are the performances of the LDPC code C1, its

cor-responding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(c) Presented in Figure 4.19 are the performances of the LDPC code C2, its

cor-responding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(d) Presented in Figure 4.20 are the performances of the LDPC code C2, its

cor-responding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system

(43)

with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(44)

3 4 5 6 7 8 9 10 10−9 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 (511,475,4) R=0.872 (255,223,4) FB (511,475,4) FB

Figure 4.1: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the BFA.

(45)

3 4 5 6 7 8 9 10 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 E b/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 (511,475,4) R=0.768 (255,223,4) FB (511,475,4) FB

Figure 4.2: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the BFA.

(46)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 (511,475,4) R=0.872 (255,223,4) FB (511,475,4) FB

Figure 4.3: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(47)

3 3.25 3.5 3.75 4 4.25 4.5 4.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 (511,475,4) R=0.768 (255,223,4) FB (511,475,4) FB

Figure 4.4: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(48)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 (255,223,4) FB SPC−(255,223,4) R=0.819 SPC−(255,223,4) FB

Figure 4.5: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(49)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (511,475,4) R=0.872 (511,475,4) FB SPC−(511,475,4) R=0.87 SPC−(511,475,4) FB

Figure 4.6: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its corresponding

concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(50)

3 3.25 3.5 3.75 4 4.25 4.5 4.75 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 (255,223,4) FB SPC−(255,223,4) R=0.727 SPC−(255,223,4) FB

Figure 4.7: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its corresponding

concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(51)

3 3.25 3.5 3.75 4 4.25 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (511,475,4) R=0.768 (511,475,4) FB SPC−(511,475,4) R=0.766 SPC−(511,475,4) FB

Figure 4.8: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its corresponding

concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The LDPC code is decoded by the SPA.

(52)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−9 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 (255,223,4) FB (255,223,4) St2−FB

Figure 4.9: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA.

(53)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (511,475,4) R=0.872 (511,475,4) FB (511,475,4) St2−FB

Figure 4.10: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA.

(54)

3 3.25 3.5 3.75 4 4.25 4.5 4.75 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 (255,223,4) FB (255,223,4) St2−FB

Figure 4.11: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (255, 223, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA.

(55)

3 3.25 3.5 3.75 4 4.25 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 2 R=0.836 (511,475,4) R=0.768 (511,475,4) FB (511,475,4) St2−FB

Figure 4.12: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced concatenated system with (511, 475, 4) BCH codes decoded with feedback loop. The LDPC code is decoded by the SPA.

(56)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 (255,223,4) FB (255−8,223−8,4) St3−R=0.819 (255−8,223−8,4) St3−FB

Figure 4.13: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA.

(57)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 1 R=0.941 (511,475,4) R=0.872 (511,475,4) FB (511−9,475−9,4) St3 R=0.871 (511−9,475−9,4) St3−FB

Figure 4.14: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA.

(58)

3 3.25 3.5 3.75 4 4.25 4.5 4.75 10−7 10−6 10−5 10−4 10−3 10−2 10−1 E b/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 (255,223,4) FB (255−8,223−8,4) St3−R=0.727 (255−8,223−8,4) St3−FB

Figure 4.15: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA.

(59)

3 3.25 3.5 3.75 4 4.25 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (511,475,4) R=0.768 (511,475,4) FB (511−9,475−9,4) St3−R=0.767 (511−9,475−9,4) St3−FB

Figure 4.16: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA.

(60)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 1 R=0.941 (255,223,4) R=0.822 SPC−(255,223,4) R=0.819 (255−8,223−8,4) St3−R=0.819 (255,223,4) FB SPC−(255,223,4) FB (255,223,4) St2−FB (255−8,223−8,4) St3−FB

Figure 4.17: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced con-catenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corre-sponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA.

(61)

4 4.25 4.5 4.75 5 5.25 5.5 5.75 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 1 R=0.941 (511,475,4) R=0.872 SPC−(511,475,4) R=0.87 (511−9,475−9,4) St3−R=0.871 (511,475,4) FB SPC−(511,475,4) FB (511,475,4) St2−FB (511−9,475−9,4) St3−FB

Figure 4.18: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C1, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced con-catenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corre-sponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA.

(62)

3 3.25 3.5 3.75 4 4.25 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (255,223,4) R=0.730 SPC−(255,223,4) R=0.727 (255−8,223−8,4) St3−R=0.727 (255,223,4) FB SPC−(255,223,4) FB (255,223,4) St2−FB (255−8,223−8,4) St3−FB

Figure 4.19: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced con-catenated system with (255, 223, 4) BCH codes decoded with feedback loop, and its corre-sponding Strategy-3-enhanced concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 8, and the LDPC code is decoded by the SPA.

(63)

3 3.25 3.5 3.75 4 4.25 10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1 Eb/N0 (dB) BER C 2 R=0.836 (511,475,4) R=0.768 SPC−(511,475,4) R=0.766 (511−9,475−9,4) St3−R=0.767 (511,475,4) FB SPC−(511,475,4) FB (511,475,4) St2−FB (511−9,475−9,4) St3−FB

Figure 4.20: Performances of the rate-0.836 (4590, 3835) QC-LDPC code C2, its

correspond-ing concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding SPC-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop, and its corresponding Strategy-2-enhanced con-catenated system with (511, 475, 4) BCH codes decoded with feedback loop, and its corre-sponding Strategy-3-enhanced concatenated system with (511, 475, 4) BCH codes decoded with and without feedback loop. The parameter λ chosen in Strategy 3 is 9, and the LDPC code is decoded by the SPA.

數據

Figure 2.1: Block diagram of the concatenated coding system consisting of β (N BCH , K BCH ) BCH codes and one (N LDPC , K LDPC ) LDPC code
Figure 3.1: Block diagram of concatenation of the SPC, BCH and LDPC codes. Consider the new system that comprises β identical (N SPC , K SPC ) systematic SPC codes, β identical (N BCH , K BCH ) systematic BCH codes and an (N LDPC , K LDPC ) systematic LDPC
Figure 3.2: Block diagram of concatenated coding system with λ information bits being fixed as zeros.
Figure 4.1: Performances of the rate-0.941 (6350, 5978) QC-LDPC code C 1 , its corresponding concatenated system with (255, 223, 4) BCH codes decoded with and without feedback loop, and its corresponding concatenated system with (511, 475, 4) BCH codes dec
+7

參考文獻

相關文件

* Anomaly is intrinsically QUANTUM effect Chiral anomaly is a fundamental aspect of QFT with chiral fermions.

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

All steps, except Step 3 below for computing the residual vector r (k) , of Iterative Refinement are performed in the t-digit arithmetic... of precision t.. OUTPUT approx. exceeded’

(It is also acceptable to have either just an image region or just a text region.) The layout and ordering of the slides is specified in a language called SMIL.. SMIL is covered in

頁碼編排步驟 (4) 點選 格式 後,出現以下畫面:. 接著選擇頁碼要呈現

We will design a simple and effective iterative algorithm to implement “The parallel Tower of Hanoi problem”, and prove its moving is an optimal

Furthermore, based on the temperature calculation in the proposed 3D block-level thermal model and the final region, an iterative approach is proposed to reduce

The purposes of this series studies were to investigate difference between batting performance at peak level and slump level in visual cue strategy, dynamic