SOFT-DECISION DECODING OF REED-SOLOMON CODES USING PATTERN INFORMATION OVER PARTIAL RESPONSE CHANNELS. Soowoong Lee

Similar documents
Lecture 12. Block Diagram

An Introduction to Low Density Parity Check (LDPC) Codes

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

Algebraic Soft-Decision Decoding of Reed-Solomon Codes Using Bit-level Soft Information

Reed-Solomon codes. Chapter Linear codes over finite fields

Coding Techniques for Data Storage Systems

Making Error Correcting Codes Work for Flash Memory

Chapter 7 Reed Solomon Codes and Binary Transmission

Structured Low-Density Parity-Check Codes: Algebraic Constructions

Dr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems

Constructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach

Optimum Soft Decision Decoding of Linear Block Codes

Algebraic Soft-Decision Decoding of Reed Solomon Codes

Utilizing Correct Prior Probability Calculation to Improve Performance of Low-Density Parity- Check Codes in the Presence of Burst Noise

Error Correction Review

Advanced Hardware Architecture for Soft Decoding Reed-Solomon Codes

Progressive algebraic Chase decoding algorithms for Reed Solomon codes

The E8 Lattice and Error Correction in Multi-Level Flash Memory

R. A. Carrasco and M. Johnston, Non-Binary Error Control Coding Cork 2009

Error Correction Methods

VHDL Implementation of Reed Solomon Improved Encoding Algorithm

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Optical Storage Technology. Error Correction

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

Error Correcting Codes Questions Pool

Physical Layer and Coding

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

An Introduction to Algorithmic Coding Theory

Chapter 6. BCH Codes

Information Theoretic Imaging

THIS paper is aimed at designing efficient decoding algorithms

An Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

Low Density Parity Check (LDPC) Codes and the Need for Stronger ECC. August 2011 Ravi Motwani, Zion Kwok, Scott Nelson

Graph-based codes for flash memory

Roll No. :... Invigilator's Signature :.. CS/B.TECH(ECE)/SEM-7/EC-703/ CODING & INFORMATION THEORY. Time Allotted : 3 Hours Full Marks : 70

Decoding Reed-Muller codes over product sets

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

Belief propagation decoding of quantum channels by passing quantum messages

ECEN 655: Advanced Channel Coding

Performance Study of Non-Binary Belief Propagation for Decoding Reed-Solomon Codes

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Information redundancy

SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land

Chapter 7: Channel coding:convolutional codes

Design and Implementation of Reed-Solomon Decoder using Decomposed Inversion less Berlekamp-Massey Algorithm by

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system

Amitkumar Mahadevan, Doctor of Philosophy, 2005

Quasi-cyclic Low Density Parity Check codes with high girth


Progressive Algebraic Soft-Decision Decoding of Reed-Solomon Codes

Section 3 Error Correcting Codes (ECC): Fundamentals

Performance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels

Error Correction and Trellis Coding

ERROR CORRECTION BEYOND THE CONVENTIONAL ERROR BOUND FOR REED SOLOMON CODES

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

A Simplified Min-Sum Decoding Algorithm. for Non-Binary LDPC Codes

Coding theory: Applications

List Decoding of Reed Solomon Codes

1 Vandermonde matrices

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

Compressed Sensing Using Reed- Solomon and Q-Ary LDPC Codes

Lecture 7. Union bound for reducing M-ary to binary hypothesis testing

Codes on graphs and iterative decoding

Low-density parity-check (LDPC) codes

Introduction to Convolutional Codes, Part 1

PAPER A Low-Complexity Step-by-Step Decoding Algorithm for Binary BCH Codes

Constructing Polar Codes Using Iterative Bit-Channel Upgrading. Arash Ghayoori. B.Sc., Isfahan University of Technology, 2011

VLSI Architecture of Euclideanized BM Algorithm for Reed-Solomon Code

LDPC Codes. Intracom Telecom, Peania

REED-SOLOMON CODE SYMBOL AVOIDANCE

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution

LDPC Codes. Slides originally from I. Land p.1

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

Reed-Solomon Error-correcting Codes

A Mathematical Approach to Channel Codes with a Diagonal Matrix Structure

On Irreducible Polynomial Remainder Codes

CONSTRUCTION OF QUASI-CYCLIC CODES

Error Detection & Correction

On the minimum distance of LDPC codes based on repetition codes and permutation matrices 1

Implementation of Galois Field Arithmetic. Nonbinary BCH Codes and Reed-Solomon Codes

Channel Coding I. Exercises SS 2017

Exact Probability of Erasure and a Decoding Algorithm for Convolutional Codes on the Binary Erasure Channel

2013/Fall-Winter Term Monday 12:50 Room# or 5F Meeting Room Instructor: Fire Tom Wada, Professor

Introduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.

Simplification of Procedure for Decoding Reed- Solomon Codes Using Various Algorithms: An Introductory Survey

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

Design of Non-Binary Quasi-Cyclic LDPC Codes by Absorbing Set Removal

SOFT DECISION FANO DECODING OF BLOCK CODES OVER DISCRETE MEMORYLESS CHANNEL USING TREE DIAGRAM

On the Construction and Decoding of Cyclic LDPC Codes

EXTENDING THE DORSCH DECODER FOR EFFICIENT SOFT DECISION DECODING OF LINEAR BLOCK CODES SEAN MICHAEL COLLISON

Decoding Algorithm and Architecture for BCH Codes under the Lee Metric

Codes on graphs and iterative decoding

Part III. Cyclic codes

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes

EE512: Error Control Coding

Adaptive Cut Generation for Improved Linear Programming Decoding of Binary Linear Codes

Math 512 Syllabus Spring 2017, LIU Post

Codes for Partially Stuck-at Memory Cells

Transcription:

SOFT-DECISION DECODING OF REED-SOLOMON CODES USING PATTERN INFORMATION OVER PARTIAL RESPONSE CHANNELS by Soowoong Lee Submitted to the Graduate Faculty of Department of Electrical and Computer Engineering in partial fulfillment of the requirements for the degree of Doctor of Philosophy Carnegie Mellon University September 2009

ii

CARNEGIE MELLON UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING This dissertation was presented by Soowoong Lee It was defended on September 11, 2009 and approved by Prof. Vijayakumar Bhagavatula, Electrical and Computer Engineering Prof. Jim Bain, Electrical and Computer Engineering Prof. Rohit Negi, Electrical and Computer Engineering Prof. Heung-No Lee, Department of Information and Communications, Gwangju Institute of Science and Technology, Korea Advisor: Prof. Vijayakumar Bhagavatula, Electrical and Computer Engineering iii

iv

c Copyright by Soowoong Lee 2010 All Rights Reserved v

vi

Abstract Reed-Solomon (RS) codes have been used for a long time in many data storage systems for error correction. Popularity of RS codes is due to their powerful burst error correction capability and well-established decoding algorithm with efficient hardware implementation providing high throughput. Conventional hard-decision decoding algorithms are able to correct up to half the minimum distance. To achieve higher areal density needed these days, enhanced error correction capability is required. Soft information, which is probability information about binary decision, can be used to correct more errors than half the minimum distance. Rapid increase of computing power enables the systems to execute complicated decoding algorithms using soft information. Many soft-decision decoding algorithms for RS codes have been proposed and have been investigated for application to magnetic recording channels. However, even with increased computing power, the complexity of soft-decision decoding algorithms is too high for them to be employed in real applications which require high data rate, small hardware area and low power. Some soft-decision decoding algorithms adopt bit-based decoding schemes using bit reliability. Performance gains in magnetic recording channels provided by vii

the bit-based soft-decision decoding algorithms are not as good as those in memoryless additive white Gaussian Noise (AWGN) channels, because of the burst error characteristics of magnetic recording channels. On the other hand, symbol-based soft-decision decoding algorithms can extend burst error correction capability, but require excessively high complexity. In this thesis, we propose a series of algorithms for soft-decision decoding of RS codes: successive error-and-erasure correction decoding, pattern-flipping Chasetype algorithms, reliability matrix construction method and multiplicity assignment algorithm for Koetter-Vardy (KV) algorithm. All proposed algorithms target partial response (PR) channels of use in magnetic recording channels where burst errors are dominant. While most soft-decision decoding algorithms use soft information for bits or symbols, the proposed algorithms take advantage of soft information for patterns (An error pattern can extend to multiple bits and straddle symbol boundaries). In order to provide probable error patterns and corresponding reliabilities for the proposed algorithms, we also propose a modified Viterbi algorithm, named pattern-output Viterbi algorithm. Each proposed algorithm is supported by simulations and analysis, to show good competitive performance and complexity. viii

Acknowledgement This thesis and I owe many people deep gratitude beyond description. I would like to express my sincere appreciation to my advisor, Professor Vijayakumar Bhagavatula for guiding me on the right track with invaluable advice. I would also like to express my gratitude to Professor Jim Bain, Professor Rohit Negi and Professor Heung-No Lee. It was great honor to have them as my thesis committee. Their constructive comments have helped me to improve this thesis. I appreciate the support of my company, Samsung Electronics Co., Ltd., for having offered me this great opportunity to pursue Ph.D. degree abroad. I like to show my gratitude to my colleagues in the company and the staffs in the human resources group. I give my gratefulness to the staffs of ECE Department in CMU for their assistance. I thank all my colleague students for their friendship and help. I would like to express my love and gratitude to my family. I respect and thank my parents and parent-in-laws for their endless love and support throughout my life. I wish they would have healthy and long lives. Also, I thank my sister, brothers, sister-in-laws and brother-in-laws for cheering me. I thank my cousin and sister-inlaw who made my family feel home in Pittsburgh. Finally, I love my wife, Eunyee and my babies Gayoung and Jiyoung. Thank you for being beside me always. They Lived Happily Ever After. ix

x

Contents Abstract vii Acknowledgement ix 1 Introduction 1 1.1 Motivation................................. 3 1.2 Thesis Organization and contributions................. 6 2 Reed-Solomon Codes 9 2.1 Definitions of RS codes.......................... 10 2.2 Relationships among different definitions................ 13 2.3 Hard-decision decoding of RS codes................... 16 2.4 Soft-decision decoding algorithms of RS codes............. 18 2.4.1 Successive algebraic decoding algorithms............ 18 2.4.2 Algebraic soft-decision decoding (ASD) algorithm - Koetter- Vardy (KV) algorithm...................... 21 2.4.3 Adaptive belief propagation algorithm (ABP)......... 24 2.5 Chapter summary............................. 26 3 Partial Response Channels 27 xi

3.1 Error Events................................ 29 3.2 Error event analysis............................ 32 3.3 Chapter summary............................. 35 4 Successive Error-and-Erasure Decoding (SED) 37 4.1 SED as a hard-decision list decoding: HSED(f)............ 38 4.2 Successive error-and-erasure decoding: SED(l,f)............ 40 4.3 Simulation................................. 42 4.4 Performance estimation.......................... 47 4.5 Average complexity............................ 51 4.6 Chapter summary............................. 54 5 Pattern-Output Viterbi Algorithm (POVA) 55 5.1 Conventional method for error pattern extraction........... 56 5.2 Pattern-Output Viterbi Algorithm.................... 57 5.3 Chapter summary............................. 62 6 Pattern-Flipping Chase-type Algorithms 63 6.1 Pattern-flipping Chase2-type algorithm................. 66 6.2 Simulation................................. 68 6.3 Performance estimation.......................... 70 6.4 The efficiency of iterations........................ 75 6.5 List size and Stopping condition..................... 78 6.6 Pattern-flipping Chase3-type algorithm................. 83 6.7 Comparison with list Viterbi algorithm................. 84 6.8 Practical consideration for real applications............... 86 6.9 Chapter summary............................. 88 xii

7 Application of the POVA to the KV Algorithm 89 7.1 The Koetter-Vardy algorithm...................... 91 7.2 Reliability matrix construction using the POVA............ 93 7.3 Simulation................................. 95 7.4 Modification of the BGMD over PR channels.............. 98 7.5 Chapter summary............................. 101 8 Epilogue 103 8.1 Contributions............................... 103 8.2 Conclusions................................ 105 8.3 Future Work................................ 106 xiii

xiv

List of Tables 3.1 Dominant error patterns by simulation over the [1 2 2 1] PR channel at 10/σ 2 n = 12dB and 16dB........................ 31 4.1 Performance gain and average complexity of SEDs at CER = 10 15. 52 xv

xvi

List of Figures 1.1 The block diagram of the conventional RLL-ECC structure in magnetic recording channels............................. 4 1.2 Illustration to show why error patterns should be considered over PR channels................................... 5 2.1 Several definitions of RS codes and their relations........... 14 2.2 Pipelined structure of conventional hard-decision error-and-erasure decoding for RS codes............................ 17 3.1 The partial response channel model.................... 28 3.2 The ideal PR channel model used in this thesis............. 28 3.3 The results of performance estimation and simulation of the conventional hard-decision decoding for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN..................... 34 4.1 Extension of correction bound by the HSED............... 38 4.2 Performance of SED as a hard-decision list decoding for the (255, 239, 17) RS code over memoryless AWGN channel.............. 40 xvii

4.3 Simulation results of all possible SED(l,f)s for the (255, 239, 17) RS code at E b /N 0 =6.5dB over memoryless AWGN channel with BPSK modulation................................. 43 4.4 Performance versus complexity of SED(1 255) at E b /N 0 =6.5dB.... 44 4.5 Simulation results of SEDs for the (255, 239, 17) RS code over memoryless AWGN channel........................... 45 4.6 Simulation results of SEDs for the (255, 239, 17) RS code over an artificial double-bit error channel..................... 46 4.7 Transform of symbol reliabilities over memoryless AWGN channel with BPSK modulation at E b /N 0 = 6.5dB................... 49 4.8 Performance estimation of the SED for the (255, 239, 17) RS code over memoryless AWGN channel........................ 50 4.9 Average complexity of SEDs for (255, 239, 17) RS code over memoryless AWGN with BPSK.......................... 53 5.1 The block diagram of the correlation-based pattern extracting method in magnetic recording channels...................... 57 5.2 An example of the POVA operation over a PR channel with memory of two.................................... 59 5.3 Input and output illustration of the POVA................ 60 6.1 Simulation results of the conventional Chase2 decoders for the (255, 239, 17) RS code over memoryless AWGN channel........... 64 6.2 Simulation results of the conventional Chase2 decoders with the SOVA for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN. 65 xviii

6.3 The block diagram of the pattern-flipping Chase2 decoder with the POVA in magnetic recording channels.................. 68 6.4 Simulation results of the proposed pattern-flipping Chase2-type algorithms with p = 1...8 compared to conventional Chase2 algorithms for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN. 69 6.5 Performance estimation of the proposed pattern-flipping Chase2-type algorithm for the (255, 239) RS code over the [1 2 2 1] PR channel with AWGN................................ 75 6.6 Number of iterations versus CER of the pattern-flipping Chase2 algorithm for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN at 10/σn 2 = 14dB......................... 76 6.7 Average complexity of A(8) for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN...................... 77 6.8 Pattern flipping for the (n,k,d) RS code in the n dimensional vector space over GF(q).............................. 79 6.9 Simulation results of the proposed algorithm with the stopping condition for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN................................... 82 6.10 Simulation results of the proposed pattern-flipping Chase3-type decoder for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN................................... 83 6.11 Simulation results of the list Viterbi algorithm for the (255, 239, 17) RS code over the [1 2 2 1] PR channel with AWGN........... 86 7.1 The block diagram of the proposed reliability matrix generation method using the POVA.............................. 93 xix

7.2 An example of the reliability matrix construction from the POVA outputs through the PR channel with channel depth of 3 over GF(2 3 ).. 96 7.3 Simulation results of the ASD algorithm and the BGMD algorithm for the (255, 239, 17) RS code over memoryless AWGN channel...... 97 7.4 Simulation results of the ASD algorithm using the proposed patternbased reliability assignment over the [1 2 2 1] PR channel....... 98 7.5 Simulation results of the BGMD and the modified BGMD (PGMD) for the (255, 239, 17) RS code over the [1 2 2 1] PR channel...... 101 7.6 Codeword error rate versus the number of erased bits in the BGMD and the number of erased patterns in the modified BGMD (PGMD) at 10/σn 2 = 14dB for the (255, 239, 17) RS code over the [1 2 2 1] PR channel................................... 102 xx

Chapter 1 Introduction Reed-Solomon (RS) codes are the most popular error correction codes (ECC) in current digital communications and data storage systems. In particular, most data storage systems employ RS codes for error correction; magnetic recording systems including hard-disk drives (HDD) and magnetic tape recording systems, and optical recording systems including compact disk (CD), digital versatile disk (DVD), and blue-ray disk (BD) [1]. The popular usage of RS codes is due to their powerful burst error correction capability and well-established decoding algorithm with efficient hardware implementation providing high throughput. In magnetic recording read channels, partial response (PR) channels with the Viterbi algorithm and run-length limited (RLL) codes produce short burst errors and media defects generate long burst errors. Data rate of current HDDs reaches higher than 2Gbps. Thanks to significant increases in computing power by the scaling of CMOS technology, however, it has become possible to implement complex decoding algorithms 1

2 CHAPTER 1. INTRODUCTION by taking advantage of soft information to achieve enhanced error correction capability. More powerful error correction capability may lead to increased areal density on data storage media for the same data reliability, or more reliable storage systems for the same areal density. Towards the goal of achieving better error correction capability using increased computing power, soft-decision decoding algorithms (decoding algorithms that use the probabilities or likelihoods of input bits or symbols) are receiving increasing research attention; low-density parity check (LDPC) codes [2] and soft-decision decoding algorithms of RS codes. Many soft-decision decoding algorithms have been proposed [3] [10] and investigated for application to magnetic recording channels [11] [13]. However, they are still not attractive in real applications because of some limitations. Much research about LDPC codes has been done since their rediscovery in 1999 [6]. LDPC codes have been shown to approach the Shannon s channel capacity and provide significant performance gain over RS codes in memoryless additive white Gaussian noise (AWGN) channels. However, the performance gains provided by LDPC codes for magnetic recording channels are much smaller than they are for memoryless AWGN channels [11], because of the burst error characteristics of magnetic recording channels. Burst errors are basically more detrimental to binary codes than to non-binary codes and introduce correlation among erroneous bits. Furthermore, the LDPC error floor problem (i.e., significant slowing down of performance improvement at high signal-to-noise ratio (SNR)) [14] has been a bottleneck in LDPC codes replacing RS codes in magnetic recording channels. Alternately, keeping RS codes but applying soft-decision decoding algorithm could be a more practical solution if good (i.e., low-complexity and high-accuracy) soft-decision decoding algorithms for RS codes can be developed.

1.1. MOTIVATION 3 Since the initial advent of RS codes in 1960 [15], there has been much research in extending their correction bound. The early approaches were to conduct the conventional hard-decision algebraic decoding algorithm iteratively modifying the received sequence and selecting the most probable codeword out of the list of candidate codewords, so called successive algebraic decoding algorithms [3] [5]. Due to their limited performance gains or excessive complexity, however, those algorithms have been mainly used as benchmarks for comparing with new algorithms. Recently, two remarkable algorithms were proposed, which sparked significant interest in soft-decision decoding algorithms of RS codes. One algorithm, so called Koetter-Vardy (KV) algorithm [7][8], introduced a new algebraic soft-decision decoding method based on polynomial interpolation using the original definition of RS codes which is different from popular definitions. However, due to its high computational complexity and large memory requirement, that soft-decision decoding method is still unattractive for practical applications. The other algorithm uses the belief propagation algorithm adapting parity check matrices at each iteration in order to overcome the denseness of the parity check matrices of RS codes [9]. However, it requires additional complexity for adapting the parity check matrices as well as for the belief propagation algorithm. 1.1 Motivation Soft-decision decoding algorithms would, in general, provide certain amount of error correction performance gain as desired. However, the soft-decision decoding algorithms, when applied to magnetic recording systems, suffer from several deficiencies.

4 CHAPTER 1. INTRODUCTION ECC encoder RLL encoder Channel Bit detector RLL decoder ECC decoder Figure 1.1: The block diagram of the conventional RLL-ECC structure in magnetic recording channels. First, the complexity of the soft-decision decoding algorithms that offer reasonable performance gain is too high to achieve the high throughput needed in magnetic recording systems [16]. The high complexity also results in large hardware area, long latency and/or high power consumption. Second, the performance gains in magnetic recording channels provided by the bit-based soft-decision decoding algorithms such as LDPC codes, are not as good as those in memoryless AWGN channels [12], because of the media noise and the burst error characteristics of the magnetic recording channels. The burst errors introduce correlation among erroneous bits and are more detrimental to binary codes and/or bitbased decoding algorithms than to nonbinary codes and/or symbol-based decoding algorithms. Third, the LDPC error floor problem [14] is of concern and is one of the main reasons why LDPC codes have not replaced RS codes in magnetic recording channels. Recently, it was announced that LDPC codes are used in commercial products, but RS codes are still dominant. Another common problem in using the soft-decision decoding algorithms in magnetic recording channels is their incompatibility with the standard hard decoding used by run-length limited (RLL) codes. Most data storage systems employ RLL codes which constrain the minimum run-length and the maximum run-length of data sequences. Though many magnetic storage systems do not require the minimum runlength constraint anymore, they still require the maximum run-length constraint in

1.1. MOTIVATION 5 (a) Errors over memoryless AWGN channels binary codes nonbinary codes 2-bit errors 2-symbol errors (b) Errors over PR channels binary codes nonbinary codes pattern codes? 8-bit errors 4-symbol errors 2-pattern errors Figure 1.2: Illustration to show why error patterns should be considered over PR channels. order to provide signal transitions for clock recovery. Conventionally, the RLL encoder comes after the ECC encoder in order to produce an RLL-constrained recording sequence, as shown in Fig. 1.1. Accordingly the RLL hard decoder comes before the ECC decoder, with the consequence that it blocks soft information from the channel which is needed by the soft-decision decoder. In this thesis, we propose several soft-decision decoding algorithms for RS codes to avoid the common problems of soft-decision decoding algorithms while maintaining performance gains. The algorithms target PR channels rather than memoryless AWGN channels. Fig. 1.2 shows what errors look like over PR channels compared to memoryless AWGN channels. Over memoryless AWGN channels, each erroneous bit is independent of others and single-bit errors would be very sparsely located (at high SNRs) as shown in Fig. 1.2(a). In this case, RS codes exhibit no advantage due to their symbol correction and binary codes would be more efficient. In contrast, PR channels with the Viterbi algorithm generate burst errors, e.g., as shown in Fig. 1.2(b).

6 CHAPTER 1. INTRODUCTION Such correlated errors are better handled by symbol-based RS codes, making them better-suited for magnetic recording systems. To maintain symbol-based correction capability of RS codes, we first propose a soft-decision decoding algorithm for RS codes using error-and-erasure correction, named successive error-and-erasure decoding algorithm (SED). The proposed SED repeats conventional error-and-erasure correction using symbol reliability. In order to increase efficiency of repetition, we propose another soft-decision decoding algorithm using reliabilities of patterns rather than reliabilities of bits or symbols, named pattern-flipping Chase-type algorithms (pchase). The proposed pchase algorithms repeat conventional error-only correction using probable error patterns and corresponding reliabilities. This scheme dramatically reduces the number of iteration of error-only correction by the Chase algorithms to achieve the same performance gain. In order to provide the probable error patterns and reliabilities for the pchase algorithms, a modified Viterbi algorithm is also proposed, named patternoutput Viterbi algorithm (POVA). This thesis will be focused on the pattern-flipping Chase-type algorithms with the POVA. As an extension of the POVA application, we propose a new method to construct a reliability matrix which is the input for the KV algorithm. In addition, we propose a multiplicity matrix construction method using the POVA without a reliability matrix for the KV algorithm. 1.2 Thesis Organization and contributions The remaining parts of this thesis is organized as follows. Definitions of RS codes and decoding algorithms

1.2. THESIS ORGANIZATION AND CONTRIBUTIONS 7 In Chapter 2, several definitions of RS codes are introduced and their relations are clarified. RS codes are defined in several different ways which are not exactly equivalent. Distinct algorithms for encoding and decoding of RS codes have been developed based on the different definitions. This thesis clarifies the relations among the several definitions of RS codes, especially focusing on the connection between non-binary Bose-Chaudhuri-Hocquenghem (BCH) codes [17][18], which are not necessarily narrow-sense, and generalized Reed- Solomon (GRS) codes [19]. Error event analysis over the PR channel In Chapter 3, error events by the Viterbi algorithms over PR channels are analyzed. It will be shown how error events happen and what error patterns look like over PR channels. It will also be reviewed how to approximate error event probability, bit error rate and codeword error rate with RS codes over PR channels. Successive error-and-erasure decoding (SED) In Chapter 4, we propose a soft-decision decoding algorithm of RS codes using successive error-and-erasure decoding. Extensive simulation is conducted to show the possible performance gain of the proposed method. We derive an expression for performance estimation based on ordered statistics of symbol reliability, which matches well with the simulation results. Pattern-output Viterbi algorithm (POVA) In Chapter 5, we propose a modified Viterbi algorithm that provides probable error patterns with corresponding reliabilities. The POVA will be used with following proposed algorithms.

8 CHAPTER 1. INTRODUCTION Pattern-flipping Chase-type algorithms (pchase) In Chapter 6, we propose a new soft-decision decoding algorithm of RS codes (based on the Chase algorithm), which flips unreliable patterns instead of unreliable symbols or bits. Possible performance gain will be shown by simulation and analytical performance approximation. As well as expected performance gain, other benefits such as low average complexity, high throughput and simple stopping condition will be discussed. Reliability matrix construction with the POVA and modified bit-level generalized minimum distance (BGMD) algorithm In Chapter 7, a new method to construct the reliability matrix for the KV algorithm over PR channels is proposed by using the POVA instead of the symbol-based Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm. In addition, we modify the BGMD algorithm [36] by taking advantage of the POVA to achieve performance gains over PR channels that are as high as over memoryless AWGN channels. Conclusions In Chapter 8, we summarize the thesis.

Chapter 2 Reed-Solomon Codes Initially, RS codes were described by Reed and Solomon using polynomial evaluations [15]. Later, it was shown that the original RS codes are the special cases of nonbinary BCH codes. Thanks to the resulting efficient decoding algorithms and the advantage of systematic encoding, nonbinary BCH approach using a generator polynomial is generally used to represent RS codes in most textbooks and real applications. Recently, list decoding algorithms using polynomial fitting provided a chance to extend the error correction capability beyond the conventional limit of half the minimum distance [7]. Koetter-Vardy (KV) soft-decision RS decoders based on the list decoding show potential for considerable performance gain [8]. These algorithms are based on the original definition of RS codes by polynomial evaluations. However, non narrow-sense RS codes which are special cases of RS codes and are used in many applications can not be represented by the original definition using polynomial evaluation. The optical storage systems such as CD, DVD, Blue-Ray, and HD-DVD employ non narrow-sense RS codes. In those cases, it is not clear how to apply the KV algorithm. In Section 2.1, several definitions for RS codes are presented 9

10 CHAPTER 2. REED-SOLOMON CODES and in Section 2.2, we discuss the relationships among these definitions. These multiple definitions will prove useful as we develop soft-decision decoding strategies for RS codes. In Section 2.3, we discuss the benefits of conventional hard-decision decoding algorithms. In Section 2.4, several soft-decision decoding algorithms are reviewed in brief. 2.1 Definitions of RS codes An (n,k,d) RS code with m bits per symbol can be defined in several different ways over GF(q) with a primitive polynomial whose root is α and where q = 2 m in binary systems. Here, n is the length (i.e., the number of symbols) of a codeword, k is the length of a message and d is the minimum distance (i.e., the smallest Hamming distance between any pair of distinct codewords). All the different definitions for RS codes below have a length of n = q 1 basically, which is called primitive, and have the minimum distance d = n k + 1, which is called maximum distance separable (MDS). A message can be represented as a row vector m = [m 0,m 1,,m k 1 ] or a polynomial m(x) = m 0 + m 1 x + + m k 1 x k 1. Similarly, a codeword is represented as a row vector c = [c 0,c 1,,c n 1 ] or a polynomial c(x) = c 0 +c 1 x+ +c n 1 x n 1. Nonbinary BCH codes - Definition A RS codes are q-ary BCH codes of length (q 1) which have generator polynomials of the form g(x) = (x α b )(x α b+1 ) (x α b+d 2 ), where b is any integer from zero to (n 1) [19][20]. Because all codeword polynomials c(x)s have g(x) as a factor, every c(x) has all the roots of g(x) as its roots and has the parity

2.1. DEFINITIONS OF RS CODES 11 check matrix H in (2.1), i.e., ch T = 0. H = 1 α b (α b ) 2 (α b ) n 1 1 α b+1 (α b+1 ) 2 (α b+1 ) n 1 1 α b+2 (α b+2 ) 2 (α b+2 ) n 1....... 1 α b+d 2 (α b+d 2 ) 2 (α b+d 2 ) n 1 (2.1) For systematic encoding, a codeword polynomial c(x) is obtained by concatenating a message polynomial m(x) and a parity polynomial p(x) such that c(x) = g(x)q(x) = x d 1 m(x) p(x), where Q(x) is the polynomial multiplying the generator polynomial g(x) to yield the codeword polynomial c(x). Also, p(x) is the remainder of dividing x d 1 m(x) by g(x), thus of degree (d 2) or smaller. Nonbinary narrow-sense BCH codes - Definition B RS codes are q-ary BCH codes of length (q 1) which have generator polynomials g(x) = (x α)(x α 2 ) (x α d 1 ) [21]., i.e., same as Definition A except that b = 1. The parity check matrix is represented as follows. H = 1 α α 2 α n 1 1 α 2 α 4 α 2(n 1) 1 α 3 α 6 α 3(n 1)....... 1 α d 1 α 2(d 1) α (d 1)(n 1) (2.2) Evaluation map encoding - Definition C

12 CHAPTER 2. REED-SOLOMON CODES A codeword c is generated by polynomial evaluations at the points in the given evaluation set x, where x = [x 0,,x n 1 ] and x i s are all distinct non-zero elements in GF(q) [8]. Given a message polynomial m(x) = m 0 + m 1 x + + m k 1 x k 1, we obtain c i = m(x i ) for i = 0, 1,,n 1 or c = [m(x 0 ),,m(x n 1 )]. The generator matrix is represented as follows such that mg = c. G = 1 1 1 1 x 0 x 1 x 2 x n 1 x 2 0 x 2 1 x 2 2 x 2 n 1....... x k 1 0 x k 1 1 x k 1 2 x k 1 n 1 (2.3) Evaluation map encoding with a specific evaluation set - Definition D A codeword c is generated by polynomial evaluations at the points in the evaluation set x, where x = [1,α,,α n 1 ] [7]. Given a message polynomial m(x) = m 0 +m 1 x+ +m k 1 x k 1, we obtain c i = m(α i ) for i = 0, 1,,n 1 or c = [m(1),m(α),,m(α n 1 )]. The generator matrix is represented as follows. G = 1 1 1 1 1 α α 2 α n 1 1 α 2 α 4 α 2(n 1)....... 1 α k 1 α 2(k 1) α (n 1)(k 1) (2.4) Generalized Reed-Solomon (GRS) codes - Definition E A codeword c is generated by polynomial evaluations at the points in the

2.2. RELATIONSHIPS AMONG DIFFERENT DEFINITIONS 13 evaluation set x and weighting on each symbol according to v, where x = [x 0,,x n 1 ] and x i s are all distinct non-zero elements in GF(q) and v = [v 0,,v n 1 ] and v i s are non-zero, but not necessarily distinct, elements in GF(q) [19]. Given a message polynomial m(x) = m 0 + m 1 x + + m k 1 x k 1, we obtain c i = v i m(x i ) for i = 0, 1,,n 1 or c = [v 0 m(x 0 ),,v n 1 m(x n 1 )]. The generator matrix is represented as follows. G = v 0 v 1 v 2 v n 1 v 0 x 0 v 1 x 1 v 2 x 2 v n 1 x n 1 v 0 x 2 0 v 1 x 2 1 v 2 x 2 2 v n 1 x 2 n 1....... v 0 x k 1 0 v 1 x k 1 1 v 2 x k 1 2 v n 1 x k 1 n 1 (2.5) 2.2 Relationships among different definitions Five different definitions for RS codes were presented, which are often confused with one another. Though all of the definitions are called RS codes, they are not equivalent. The term equivalent does not require that the same message word leads to the same codeword according to the two definitions, but that the two definitions build the same vector space (i.e., the collection of all codewords). In other words, equivalent RS codes have the same parity check matrix. At a glance, the definitions can be classified into two categories: those based on BCH codes, Definitions A and B, and the others based on polynomial evaluations, Definitions C, D, and E. Definitions A and B are the most popular definitions for RS codes. A special case of Definition A in which b = 1 leads to Definition B, which is called narrow-sense. Definition D is a subset of Definition C corresponding to the

14 CHAPTER 2. REED-SOLOMON CODES Definition E Generalized RS codes n, k f x f 0 f 1 x f k-1 x k-1 x i i n x i x j x k j k v i i n v i c i v i f x i Definition A Non-binary BCH codes - popular definition g x c x b x x b+1 x m x g x m x x d-1 p x v i x i i i(1-b) b+d 2 v i b Definition C Evaluation map encoding f x f 0 f 1 x f k-1 x k-1 x i i n x i x j x k j k f x i c i Definition D f x f 0 f 1 x f k-1 x k-1 i f c i Definition B Narrow sense RS codes d 1 g x x x c x m x g x m x x d-1 p x x i i Figure 2.1: Several definitions of RS codes and their relations. case where the evaluation set x has a specific order of ascending powers of α and Definition C is a subset of Definition E corresponding to the case where all v i s are equal to one. As a connection between the two categories, it has been already proven that Definitions B and D are equivalent although they look very different [19][22]. Consequently, Definition B is also a subset of Definitions C and E. Finally, the relationship between Definition A and E remains unclear. Following theorems clarify the connection between them [23]. Theorem 1. The (n,k,d) RS codes with generator polynomials g(x) = (x α b )(x α b+1 ) (x α b+d 2 ) where 0 b < n are special cases of generalized Reed-Solomon (GRS) codes GRS n,k (x,v), where x i = α i and v i = α i(1 b) for i = 0, 1,,n 1. A codeword c can be represented as c i = α i(1 b) f(α i ) for any polynomial f(x) with degree of (k 1) or less. Theorem 2. Let c(x) be a codeword polynomial in the (n,k,d) RS code with a generator polynomial g(x) = (x α b )(x α b+1 ) (x α b+d 2 ). Then we can find

2.2. RELATIONSHIPS AMONG DIFFERENT DEFINITIONS 15 a unique f(x) with degree (k 1) or less which corresponds to the c(x) such that c i = α i(1 b) f(α i ) for i = 0, 1,,n 1 as follows: f i = c(α i+b 1 )/n. Proof. Let c(x) be a codeword polynomial in the (n,k,d) RS code with a generator polynomial g(x) = (x α b )(x α b+1 ) (x α b+d 2 ) and c(x) be the inverse Galois field Fourier transform (GFFT) [20] of c(x). Because c(x) takes g(x) as a factor, c(α b ) = c(α b+1 ) = = c(α b+d 2 ) = 0. By the property of GFFT, c mod ( b,n) = c mod( b 1,n) = = c mod( b d+2,n) = 0. For b = 0, 1 or k + 1 b < n, the coefficients of c(x) are zeros except successive k coefficients. Also, remind that x n = 1 for any x GF(q). c(x) = mod( b+k,n) i=mod( b+1,n) mod( b+k,n) c i x i = x mod( b+1,n) i=mod( b+1,n) k 1 k 1 = x b+1 c mod(j b+1,n) x j = x b+1 f j x j j=0 j=0 c i x i mod( b+1,n) = x b+1 f(x), where f i = c mod(i b+1,n). (2.6) For 2 b k, successive (d 1) coefficients of c(x) are all zeros. That is c n b = c n b 1 = = c k b+1 = 0. k b c(x) = c i x i + = i=0 n 1 i=n b+1 n 1 i=n b+1 k b c i x i + i=0 c i x i = ( b 2 = x n b+1 c j+n b+1 x j + j=0 n 1 i=n b+1 k b c i x i + c i x i i=0 ( n 1 c i x i+n = x n b+1 k 1 j=b 1 i=n b+1 k b ) c i x i n+b 1 + c i x i+b 1 i=0 ) k 1 c j b+1 x j = x n b+1 f j x j = x n b+1 f(x), where f i = c mod(i+n b+1,n). (2.7) j=0

16 CHAPTER 2. REED-SOLOMON CODES For both cases, we can write as follows. n 1 k 1 c(x) = c i x i = x 1 b f j x j = x 1 b f(x), (2.8) i=0 j=0 where f i = c mod(i b+1,n). By the definition of GFFT, c i = c(α i ) = α i(1 b) f(α i ). Then, we can say that x i = α i and v i = α i(1 b) for the definition of GRS codes. In this case, f(x) is not a message polynomial, but is uniquely specified for each c(x) such that k 1 f(x) = f i x i, where f i = c mod(i+n b+1,n). (2.9) i=0 It was shown that q-ary BCH codes based on Definition A are special cases of GRS codes. Now we have all the relationships among the definitions and Fig. 2.1 summarizes those. All the definitions can be generalized as GRS codes with explicitly specified x and v. Using these relationships, the interpolation based algorithm based on Definition C, D, or E can be applied to the RS codes systematically encoded by Definition A or B [23]. 2.3 Hard-decision decoding of RS codes The conventional hard-decision decoding algorithms for RS codes such as the Berlekamp- Massey algorithm and the Euclidean algorithm are able to correct up to any t symbol errors, where t = (d min 1)/2. If N era symbols are erased (i.e., there are N era symbol locations where we know there may be errors), the error-and-erasure decoder with almost the same algorithm

2.3. HARD-DECISION DECODING OF RS CODES 17 Syndrome computation Erasure manipulation Key equation solving Error value and location finding Syndrome computation Erasure manipulation Key equation solving Error value and location finding Syndrome computation Erasure manipulation Key equation solving Error value and location finding Figure 2.2: Pipelined structure of conventional hard-decision error-and-erasure decoding for RS codes. can correct N err errors in unerased locations in addition to N era erasures under the condition that 2N err + N era < d min. (2.10) Those algorithms have well-established hardware structures which provide high throughput using pipelining with moderate hardware resources [24]. Fig. 2.2 shows a popular 4-stage pipelined structure of conventional hard-decision error-and-erasure decoding. For error-only correction, the second stage of erasure manipulation is not needed. In general implementation, each stage consumes roughly n clocks for the (n, k, d) RS code over GF(2 m ). Latency of one codeword decoding is 3n clocks and 4n clocks for error-only correction and error-and-erasure correction, respectively. However, by means of pipelining, both the error-only correction decoder and the error-and-erasure correction decoder provide a throughput of f clock symbols per second, or m f clock bits per second (bps), where f clock is the clock frequency of decoding circuits. The maximum clock frequency decreases with increasing m. Hardware size mainly depends on (n k) and m.

18 CHAPTER 2. REED-SOLOMON CODES 2.4 Soft-decision decoding algorithms of RS codes 2.4.1 Successive algebraic decoding algorithms Successive algebraic decoding algorithms repeat the conventional hard-decision decoding algorithm such as the Berlekamp-Massey algorithm or the Euclidean algorithm modifying the received sequence according to soft information. The main steps of such algorithms are as follows. 1. Build a set of error sequences E = {e i } using predefined rules. 2. Repeat the conventional hard-decision decoding for the modified received sequence r = r + e i with every e i in E, where r is a hard-decision received sequence. The error-and-erasure correction is used if the modified received sequence includes erasures, and the error-only correction is used otherwise. 3. Select the most probable codeword among at most E candidate codewords using soft information. Because conventional hard-decision decoding algorithms may result in decoding failure with high probability when (2.10) is not satisfied, the number of candidate codewords is generally much smaller than E. Depending on how the set of error sequences E is determined, following algorithms have been proposed. Generalized minimum distance decoding (GMD) The GMD decoder repeats the error-and-erasure correction while erasing the least reliable symbols (LRSs) successively [3]. The LRSs are identified from the soft information being input to the decoder. At the ith stage, 2i LRSs are erased for i = 0, 1,, t. So the number of iterations is t + 1, which results in at most t + 1 candidate codewords.

2.4. SOFT-DECISION DECODING ALGORITHMS OF RS CODES 19 For example, consider the (7, 3, 5) RS code over GF(2 3 ). Assume that the allzero codeword is transmitted, and let the received sequence r be (1,3,0,0,0,4,0) in integer representation with ascending order of reliabilities, i.e., the first symbol is the least reliable symbol. The received sequence has three symbol errors, so the conventional error-only correction decoder cannot correct those since t for this code is 2. The set of error sequences for the GMD decoder is E ={(0,0,0,0,0,0,0), (x,x,0,0,0,0,0), (x,x,x,x,0,0,0)} with 3 error sequences, where x denotes a symbol erasure. With the second error sequence, the corresponding modified received sequence r satisfies (2.10), the conventional errorand-erasure correction decoder can reconstruct the original codeword. Chase2 algorithm The Chase2 algorithm repeats the error-only correction while flipping t LRSs of the received sequence r exhaustively. Flipping t symbols means taking all possible combinations of t symbols, which leads to q t cases [4]. The Chase2 algorithm can be modified to have a parameter p which specifies the maximum number of modified LRSs instead of t. The Chase2 algorithm was proposed originally for binary codes whose q is 2. For nonbinary codes like RS codes, the number of iterations by the Chase2 algorithm is impractically large. For the same example, the set of error sequences for the Chase2 decoder is E={(0,0,0,0,0,0,0), (1,0,0,0,0,0,0),..., (7,0,0,0,0,0,0), (0,1,0,0,0,0,0), (1,1,0,0,0,0,0),..., (7,1,0,0,0,0,0),..., (0,7,0,0,0,0,0), (1,7,0,0,0,0,0),..., (7,7,0,0,0,0,0)} with 64 error sequences. The modified received sequences for the received sequence (1,3,0,0,0,4,0) are correctable with three error sequences; (1,0,0,0,0,0,0), (0,3,0,0,0,0,0), and (1,3,0,0,0,0,0). Even though the code is a nonbinary code, the bit-flipping Chase2 decoder

20 CHAPTER 2. REED-SOLOMON CODES flips p least reliable bits (LRBs) instead of p LRSs, which generates 2 p cases. Though the complexity increases exponentially with p in both symbol-based and bit-based Chase2 algorithms, the bit-flipping Chase2 decoder has relatively affordable complexity which is 1/2 p(m 1) times that of the symbol-flipping Chase2 decoder for the same p. The performance difference between the bit-flipping Chase2 decoder and the symbol-flipping Chase2 decoder will be discussed at the beginning of Ch. 6. Chase2-GMD algorithm (CGA) The GMD decoder is simple, but provides only moderate error-correction performance gain. On the other hand, the Chase2 decoder exhibits better performance but with much higher complexity. As a compromise between the GMD and the Chase2, the CGA was introduced to provide a performance-complexity tradeoff [5]. A CGA(η) decoder induces q η base error sequences flipping η LRSs and executes GMD-like decoding for each base error sequence, where η is 0 to t. Erasure patterns include 0 to (2t 2η) erasures in increments of 2, erasing (η + 1)th to (2t 2η)th LRSs. The number of total error sequences for the CGA(η) is q η (t + 1 η). CGA(0) is the GMD algorithm and CGA(t) is the Chase2 algorithm. With increasing η, performance becomes better, but complexity increases exponentially. For the same example, consider the CGA(1) decoder. The base error sequences are (0,0,0,0,0,0,0), (1,0,0,0,0,0,0),..., and (7,0,0,0,0,0,0). After including GMDlike erasures, the set of error sequences is E ={(0,0,0,0,0,0,0),(0,x,x,0,0,0,0), (1,0,0,0,0,0,0), (1,x,x,0,0,0,0),..., and (7,0,0,0,0,0,0), (7,x,x,0,0,0,0)} with 16 error sequences. With the error sequences (1,0,0,0,0,0,0) and (1,x,x,0,0,0,0), the resulting modified received sequences satisfy (2.10).

2.4. SOFT-DECISION DECODING ALGORITHMS OF RS CODES 21 2.4.2 Algebraic soft-decision decoding (ASD) algorithm - Koetter- Vardy (KV) algorithm The algebraic soft-decision algorithm, so called the KV algorithm, uses the definitions of RS codes based on polynomial evaluations, Definitions C and D in Section 2.1 [8]. Before the KV algorithm, the Guruswami-Sudan (GS) algorithm was proposed as a hard-decision list decoding algorithm, on which the KV algorithm is based [7]. The GS algorithm consists of two main steps, interpolation and factorization. Interpolation: For an (n,k,d) RS code, given a set of n interpolation points {(x 0,r 0 ), (x 1,r 1 ),, (x n 1,r n 1 )}, where x i s are code evaluation points and r i s are received symbols, we generate the nontrivial bivariate polynomial Q(x, y) that passes through each of the interpolation points with a multiplicity m. If the RS code is generated by Definition D, x i is α i. Given Q(x,y) = i=0 j=0 a i,jx i y j and (X,Y ), Q(x,y) is said to pass through a point (X,Y ) with the multiplicity m if and only if Q [k,l] (X,Y ) = i=k j=l Xi k Y j l a i,j = 0 for all k,l 0 such that k + l < m. Factorization: Given the bivariate polynomial Q(x,y), identify all the factors of Q(x,y) of the form (y f(x)) where the degree of f(x) is smaller than k. Each of the polynomials f(x) is a candidate for a valid evaluation polynomial. The asymptotic correction bound of the GS algorithm with infinite multiplicity is known to be n nk, which means that this algorithm does not provide any gain for high rate codes. While the interpolation points used in the GS algorithm are hard-decided n symbols of (x i,r i ) pairs and have the same multiplicities, the KV algorithm assigns different multiplicities to each interpolation point according to the soft information and the number of interpolation points may not be n [8]. A simple example shows the procedure of the KV algorithm. Consider the (7,5,3) RS code over GF(2 3 ). The input to the KV decoder is a reliability matrix Π. A (q n)

22 CHAPTER 2. REED-SOLOMON CODES reliability matrix Π = [π j,i ] is defined as π j,i = Pr(c i = a j y i ) where a j = 0 if j = 0, a j = α j 1 for j = 1, 2,,q 1 and i = 0, 1,,n 1. Accordingly, the sum of each column is one. As one example, assume that the following reliability matrix is given by using soft information. Π = 0.0000 0.0052 0.0025 0.0096 0.0067 0.0038 0.1875 0.0003 0.9661 0.0007 0.0998 0.0050 0.0000 0.7583 0.0000 0.0000 0.7296 0.0118 0.0012 0.0000 0.0013 0.0031 0.0002 0.2167 0.1226 0.0009 0.0000 0.0052 0.0001 0.0001 0.0001 0.0297 0.4740 0.9863 0.0093 0.0890 0.0281 0.0000 0.3094 0.3279 0.0018 0.0378 0.0010 0.0000 0.0385 0.0366 0.0877 0.0079 0.0000 0.9064 0.0000 0.0114 0.3801 0.0962 0.0000 0.0002 For example, 0.2167 at the 4th row and the 3th column means that the probability of the third symbol in the transmitted codeword being α 2 is 0.2167 according to soft information. If we follow the largest value at each column, the received sequence is r = [α 6, 1,α,α 6,α 3,α 3, 1]. The reliability matrix Π is converted to the multiplicity matrix M by predefined rules. In this example, the multiplicity matrix is generated with a parameter λ of 2.99 by the method in [45]. Each multiplicity m j,i is computed as λπ j,i, which results in maximum multiplicity of 2.

2.4. SOFT-DECISION DECODING ALGORITHMS OF RS CODES 23 M = 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 In a similar way as the reliability matrix, each row of the multiplicity matrix indicates a symbol value and each column indicates an evaluation point. From the multiplicity matrix M, interpolation points are (1,α 6 ), (α, 1), (α 2,α), (α 3,α 6 ), (α 4,α 3 ), (α 5,α 3 ), and (α 6, 1) with multiplicities of 2, 2, 2, 1, 1, 2, and 2, respectively. The interpolation step builds the following bivariate polynomial which passes all interpolation points with corresponding multiplicities: Q(x,y) = α 5 + α 3 x + α 3 x 2 + x 3 +α 6 x 4 +αx 5 +α 6 x 6 +α 2 x 7 +α 3 x 8 +x 9 +y+α 6 xy+α 4 x 2 y+α 4 x 3 y+x 5 y+α 6 y 2 +α 4 xy 2. The factorization step reveals factors of Q(x,y) with y f(x) form: f 1 (x) = α 2 + α 3 x+α 6 x 2 +x 3 +α 4 x 4 and f 2 (x) = α 4 +α 5 x+α 3 x 2 +αx 3 +α 6 x 4. By Definition D, where c i = f(α i ), we obtain ĉ 1 = (α 6, 1,α,α 4,α 4,α 3, 1) and ĉ 2 = (α 5, 1,α 4,α 6,α 3,α 3, 1). Assuming each received symbol is independent, the probability of each decoded codeword ĉ can be computed as product of corresponding symbol probabilities in the reliability matrix as follows. n 1 Pr(c = ĉ y) = Pr(c i = ĉ i y i ). (2.11) i=1

24 CHAPTER 2. REED-SOLOMON CODES Finally, ĉ 1 is chosen as the more probable codeword. Even though the KV algorithm generated significant interest because of its totally new algebraic decoding method, its computational complexity is high with large memory requirement in the interpolation step and its performance gain is limited for high-rate codes even with infinite multiplicity. 2.4.3 Adaptive belief propagation algorithm (ABP) RS codes have very dense parity check matrices, which makes RS codes not attractive for the belief propagation algorithm [25] used for LDPC codes. For example, the parity check matrix of the (7,5,3) narrow-sense RS code over GF(2 3 ) is given by H = 1 α α2 α 3 α 4 α 5 α 6 1 α 2 α 4 α 6 α α 3 α 5. (2.12) The parity check matrix H can be represented by its binary image as follows. H b = 1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0. (2.13) As we can see, the parity check matrix is not sparse at all. In particular, the denseness of the part of the parity check matrix corresponding to the least reliable bits (LRBs) may result in the iterative decoding algorithm getting stuck at a not-valid codeword during iteration. Even though it is not possible to make the whole parity check

2.4. SOFT-DECISION DECODING ALGORITHMS OF RS CODES 25 matrix of RS codes sparse, the ABP tries to make the part of the parity check matrix corresponding to the LRBs sparse. The ABP converts the sub-matrix of the parity check matrix corresponding to m(n k) LRBs into an identity matrix using Gaussian elimination [9]. Assuming that the first 6 bits are LRBs, (2.13) is adapted (using elementary row operations) into H b = 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1. (2.14) The belief propagation algorithm is applied with the adapted parity check matrix H b and the hard-decision RS decoder follows to get a valid codeword. The iteration is repeated until a valid codeword is found or the maximum number of iterations is reached. While the LDPC decoder relies on only the belief propagation algorithm to get a valid codeword, the ABP algorithm uses the conventional hard-decision decoder for RS codes instead of just hard-decision. This scheme provides an effect similar to the concatenation of LDPC codes with RS codes, without code rate loss. Even though the adapted parity check matrix is still not very good for the belief propagation algorithm, the hard-decision decoding at each iteration compensates for that to a certain extent. However, the ABP algorithm has additional complexity for the Gaussian elimination and the hard-decision RS decoding in addition to that for the belief propagation