Iterative Decoding of Product Codes
Total Page:16
File Type:pdf, Size:1020Kb
Iterative Decoding of Product Codes OMAR AL-ASKARY RADIO COMMUNICATION SYSTEMS LABORATORY Iterative Decoding of Product Codes OMAR AL-ASKARY A dissertation submitted to the Royal Institute of Technology in partial fulfillment of the requirements for the degree of Licentiate of Technology April 2003 TRITA—S3—RST—0305 ISSN 1400—9137 ISRN KTH/RST/R--03/05--SE RADIO COMMUNICATION SYSTEMS LABORATORY DEPARTMENT OF SIGNALS, SENSORS AND SYSTEMS Abstract Iterative decoding of block codes is a rather old subject that regained much inter- est recently. The main idea behind iterative decoding is to break up the decoding problem into a sequence of stages, iterations, such that each stage utilizes the out- put from the previous stages to formulate its own result. In order for the iterative decoding algorithms to be practically feasible, the complexity in each stage, in terms of number of operations and hardware complexity, should be much less than that for the original non-iterative decoding problem. At the same time, the perfor- mance should approach the optimum, maximum likelihood decoding performance in terms of bit error rate. In this thesis, we study the problem of iterative decoding of product codes. We propose an iterative decoding algorithm that best suits product codes but can be applied to other block codes of similar construction. The algorithm approaches maximum likelihood performance. We also present another algorithm which is suboptimal and can be viewed as a practical implementation of the first algorithm on product codes. The performance of the suboptimal algorithm is investigated both analytically and by computer simulations. The complexity is also investigated and compared to the complexity of GMD and Viterbi decoding of product codes. iii This page intentionally contains only this sentence. Acknowledgements The work on my Licentiate thesis was long and exciting even though it had many setbacks. I have learned a lot during these years. Maybe the most important thing I learned is that there is so much more to learn. I am mostly grateful to my colleagues who taught me most of the fundamentals of what I have written in this thesis. Special thanks to Professor Slimane Ben Slimane, my adviser, for his valuable comments and enlightening discussions and mostly for encouraging me and giv- ing me the chance to make this work possible. Many thanks to Professor Jens Zander for his encouragement and guiding. Professor Zander's guidelines of the procedure with which a Ph.D. student can smoothly go through the various stages of his research was of great help to me through my work. Also, many thanks to Magnus Lindstr¨om for our discussions and for his extensive help with my computer problems. Special thanks go to Lise-Lotte Wahlberg for the extensive help in clear- ing the practical and administrative details regarding printing and presenting the thesis. Thanks also to Johan Malmgren for proofreading the thesis. I shouldn't forget all my other colleagues in Radio Systems group for their feedback. I am also grateful to Jan Nilsson from FOI for his valuable comments. I would also like to thank my former colleagues in Datatransmission group in Link¨oping University for their help. Special thanks go to Professor Thomas Ericson who taught me the art of approaching problems by careful defining, and thus understanding them. Also many thanks to Jonas Olsson and Danyo Danev for our fruitful discussions. Special thanks to Professor Youzhi Xu from J¨onk¨oping University for his valu- able comments and feedback. I would also like to thank Wafaa, my wife, for tolerating my childish tantrums caused by stress during my research. Finally, I would like to thank Muhammad- Ali, my son. The quality time we spent together changing diapers or playing was a much needed distraction that helped me relax after work. v This page intentionally contains only this sentence. To my parents who endure my absence. To my wife who tolerates my presence. vii This page intentionally contains only this sentence. Contents 1 Introduction 1 1.1 Background . 1 1.2 Product Codes and their Advantages . 3 1.3 Advantages of Iterative Decoding . 5 1.4 Related Work . 6 1.5 Scope of the Thesis . 8 2 Product Codes 11 2.1 Definition of Product Codes . 11 2.2 Qualities of Product Codes . 14 2.3 Decoding of Product Codes . 15 2.4 Discussion . 26 3 The Basic Decoding Algorithm 29 3.1 Product codes and their decoding . 30 3.2 Sorting and decoding . 32 3.3 Analysis of performance . 38 4 Suboptimal Low Complexity Decoding 51 4.1 Description of the iterative algorithm . 52 ix x Contents 4.2 Error correction capability of the suboptimal algorithm . 56 5 Complexity 67 5.1 Complexity of Algorithm 3.2 . 67 5.2 Complexity of Algorithm 4.1 . 75 5.3 Outline and comparison . 81 6 Performance 87 6.1 Bit error probability . 88 6.2 Measured complexity . 98 6.3 Comments regarding the complexity of Algorithm 4.1 compared to GMD decoding of product codes . 107 7 Concluding Remarks 109 7.1 Conclusions . 109 7.2 Future research . 111 A Proof of Lemma 3.2 113 A.1 The concept of constructing rectangles . 113 A.2 The suboptimal decoder . 121 References 127 List of Figures 1.1 Channel capacity compared to achievable code rates using BMD decoding on BSC. 3 2.1 Construction of product codes . 12 2.2 Model of the system used in the thesis . 16 2.3 Trellis of the [7; 4; 3] Hamming code. 22 3.1 List decoding of the codes and . 31 A B 3.2 Search tree for finding a list of matrices. 32 3.3 Algorithm that finds a list of combinations of two lists. 35 3.4 The progress of Algorithm 3.1 to solve Example 3.1 . 36 3.5 Decoding algorithm for product codes. 37 3.6 Different terms of bound (3.9) . 48 3.7 Comparison between the new upper bound and half the minimum distance bound. 49 4.1 Decoding stages of the iterative decoder . 52 4.2 The iterative, suboptimal algorithm for decoding product codes. 54 4.3 Correction of burst errors. 58 4.4 Proof of Theorem 4.3. 60 4.5 Using GMD decoders instead of list decoders in the algorithm . 64 xi xii List of Figures 4.6 Decoding of the the received message in Example4.1. 66 dAdB 5.1 Worst case of an error pattern of weight < 2 . 78 5.2 Example of a correctable error pattern . 86 6.1 Average bit error rate of [15; 11; 3] [15; 11; 3] product code. 89 × 6.2 Average bit error rate for [31; 26; 3] [31; 26; 3] product code. 91 × 6.3 Bit error rate for [127; 120; 3] [127; 120; 3] code on AWGN. 93 × 6.4 Bit error rate for [127; 113; 5] [127; 113; 5] code on AWGN. 95 × 6.5 Average bit error rate for the [63; 45; 7] [63; 45; 7] product code. 96 × 6.6 Average bit error rate for the [63; 39; 9] [63; 39; 9] product code. 97 × 6.7 Probability of decoding in i iterations for [127; 113; 5] [127; 113; 5] × code. 99 6.8 Average number of iterations for the [127; 113; 5] [127; 113; 5] prod- × uct code. 101 6.9 Required number of iterations for the [63; 39; 9] [63; 39; 9] code. 102 × 6.10 Average number of iterations for the [63; 39; 9] [63; 39; 9] product × code. 103 6.11 Number of re-decoded rows and columns for the [127; 113; 5] [127; 113; 5] × code. 105 6.12 Number of re-decoded rows and columns for the [63; 39; 9] [63; 39; 9] × code. 106 A.1 Figure illustrating Example A.1. 114 A.2 Figure illustrating the proof of Lemma A.2. 117 A.3 Figure used in the proof of Theorem A.5. 120 List of Abbreviations AWGN Additive White Gaussian Noise BCH Bose-Chaudhuri-Hocquenghem B-M Berlekamp-Massey decoding BMD Bounded Minimum Distance BPSK Binary Phase Shift Keying BSC Binary Symmetrical Channel GMD Generalized Minimum Distance i.i.d. independent identically distributed LDPC Low Density Parity Check MAP Maximum Aposteriori Probability ML Maximum Likelihood MPSK M-ary Phase Shift Keying MDS Maximum Distance Separable OP Number of Operations RM Reed-Muller code RS Reed-Solomon code xiii This page intentionally contains only this sentence. Chapter 1 Introduction 1.1 Background The task of data communication on a noisy channel involves many different prob- lems which can be dealt with more or less separately. One of the main concerns is how to deal with the errors introduced by the communication channel to the received message. Claude Shannon showed in his famous work, see [1], that this problem can be remedied by channel coding in the communication system. This lead to an explosive search for constructions of powerful channel codes, where we mean by powerful, that they have good error correction capability. The concept of product codes is a good way to obtain long and powerful codes by using simple constituent codes. Product codes were first presented by Elias in [2]. In their simplest form, product codes can be represented as a set of matri- ces such that each row in these matrices is a codeword in one constituent code and each column is a codeword in another constituent code. These codes had a very significant role in providing many theoretical results in coding theory. For instance, in [2], Elias constructed multidimensional product codes that, asymptot- ically, have a non-vanishing rate and non-vanishing fractional minimum distance1.