Decoding of LDPC Codes Over Channels with Binary Additive Markov Noise
Total Page:16
File Type:pdf, Size:1020Kb
Decoding of LDPC Codes Over Channels with Binary Additive Markov Noise by Christopher Michael Nicola A thesis submitted to the Department of Mathematics and Statistics in conformity with the requirements for the degree of Master of Science (Engineering) Queen's University Kingston, Ontario, Canada September 2005 Copyright c Christopher Michael Nicola, 2005 Abstract Error-correcting coding schemes using low-density parity-check (LDPC) codes and be- lief propagation decoders based on the sum-product algorithm (SPA) have recently achieved some of the highest performance results in the literature. In particular, the performance of irregular LDPC codes over memoryless channel models is unrivaled. This thesis explores LDPC decoding schemes which are capable of exploiting the memory of channels based on Markov models to achieve performance gains over systems which use interleaving and assume the channel is memoryless. To this end, we present a joint channel-state estimation decoder for binary additive M th-order Markov noise channels (BAMNCs) using the SPA. We then apply this decoder to the queue-based channel (QBC), which is a simple BAMNC with only four channel parameters. The QBC enjoys closed form equations for the chan- nel capacity and the block transition distribution. The QBC is a versatile model which has been shown to be able to effectively model other channels with memory including the Gilbert-Elliot channel (GEC) and Rayleigh and Rician fading channels. In particular, it is a good model for slow fading phenomena, which is difficult to model using channel models like the GEC. We obtain simulation results that compare SPA decoding of LDPC codes over the QBC to SPA decoding over the memoryless binary symmetric channel (BSC) rel- ative to their respective Shannon limits. These results demonstrate that the performance of the QBC decoding scheme scales well with the QBC's higher Shannon limit and that the decoder effecively exploits the channel memory. We also use the QBC and BAMNC to model the GEC by attempting to match its M th-order channel noise statistics. Simulations are run using the QBC and the more general BAMNC to model the GEC for decoding data transmitted over the simulated GEC. The results show us the effectivenes of this technique. Finally, we examine the performance of irregular LDPC codes over the QBC model. Using irregular codes designed for the GEC and the additive white Gaussian noise (AWGN) chan- i nel we simulate their performance over two different QBCs as well as over the BSC and GEC they were designed for. We measure their performance relative to the performance of regular LDPC codes over the same channels and examine the effect of using irregular LDPC codes over channels they were not designed for. We find that the `memorylessness' of the channel affects the performance of these two codes more than the type of channel model used. The overall goals of this work are to develop tools and obtain results that allow us to better understand the relationship between LDPC/SPA based error-correcting coding schemes and their performance over channel models with memory. In real-world communication systems channel noise is rarely, if ever, memoryless. Even so, the major- ity of coding systems use random interleaving to compensate for the burstiness of typical communication channels rather than exploiting the channel's memory. The primary goal of this work is to aid in the design of practical error-correcting coding schemes that can outperform traditional memoryless-model-based schemes through exploiting the memory of the channel. ii Acknowledgments I would like to sincerely thank both of my advisors, Dr. Fady Alajaji and Dr. Tamas Linder, for their guidance and input, as well as their significant contribution to my work and the writing of this thesis. I am most grateful for their patience and time and for agreeing to supervise my research. I would also like to acknowledge my colleague Dr. Libo Zhong for her help with the queue-based channel, Dr. Radford Neal of the University of Toronto, who's software for decoding LDPC codes was an invaluable tool and Dr. Andrew Eckford, who provided advice on the decoding of LDPC codes over the Gilbert-Elliot channel. I would like to thank all those in the Department of Math and Statistics at Queen's who have made this such a wonderful place to work and learn. I have thoroughly enjoyed my time here; thanks to all of you. Finally, a very special thanks goes to my parents for supporting me in my continuous endeavor to be a perpetual student and to my wonderful fiancee for her love and support. iii Contents Abstract i Acknowledgments iii List of Figures viii List of Tables ix List of Acronyms x 1 Introduction 1 1.1 Description of the Problem . 1 1.2 Review of Literature . 6 1.3 Overview of this Work . 11 2 Information Theory and Channel Modeling 14 2.1 Information Theory and Channel Coding . 15 2.1.1 Information Measures . 15 2.1.2 Shannon's Channel Coding Theorem . 18 iv 2.1.3 Capacity of Additive Binary Symmetric Channels . 21 2.1.4 The Rate-Distortion Shannon Limit . 26 2.2 Binary Symmetric Channels with Markov Memory . 28 2.2.1 Binary Additive (Mth-order) Markov Noise Channels . 29 2.2.2 Binary Channels Based on Hidden Markov Models . 31 2.2.3 Specific Implementations . 32 2.2.4 Binary Additive Mth-order Markov Approximations . 41 3 LDPC Codes and SPA Decoding 45 3.1 Low-Density Parity-Check Codes . 45 3.1.1 Linear Block Codes . 46 3.1.2 Regular LDPC Codes . 49 3.1.3 Irregular LDPC Codes . 52 3.2 The Sum-Product Algorithm . 54 3.2.1 Factor Graphs . 54 3.2.2 Message Passing . 58 3.2.3 SPA Decoder for LDPC Codes . 61 4 System Design 70 4.1 Overview of the System . 72 4.2 LDPC Encoder Design . 74 4.2.1 Regular LDPC Codes . 74 4.2.2 Irregular LDPC Codes . 76 v 4.3 SPA Decoder Design . 79 4.3.1 Tanner Graph Messages (Decoding) . 79 4.3.2 Markov Graph Messages (Estimation) . 83 4.4 Channel Model Simulations . 86 4.5 Step-by-Step . 87 4.6 Algorithm Parallelization . 89 5 Results 90 5.1 Performance of the QBC vs. BSC . 91 5.2 Using the QBC to Model GEC Statistics . 94 5.3 Using Additive Markov Approximations to Model GEC Statistics . 97 5.4 Performance of Irregular LDPC Codes . 100 6 Conclusion 106 6.1 Significance of the Results . 107 6.2 Future Work . 109 Bibliography 110 vi List of Figures 1.1 Diagram of a basic communication system utilizing an encoder and decoder to correct errors. 2 1.2 Channel transition diagram for the BSC. 4 2.1 Queue diagram for the QBC . 35 2.2 Finite state machine model for the GEC . 41 3.1 Tanner graph for the Hamming code from (3.1). 49 3.2 Example of a length 10 (2,4)-regular LDPC code in both parity-check and Tanner graph forms. 50 3.3 Example of a length 4 cycle in a Tanner graph. 51 3.4 Factor graph for (3.9). 55 3.5 Factor graph for the state sequence of a Markov process . 57 3.6 A factor graph for the state-sequence of a hidden Markov model (Wiberg- type graph). 58 3.7 The messages passed between variable nodes and factor nodes by the SPA from Def'n. 3.2.2. 59 vii 3.8 Factor graph of (3.15) for decoding parity-check codes over memoryless channels. 63 3.9 Factor graph of (3.16) for decoding parity-check codes over finite-state Markov channels. 64 3.10 All the local messages passed for the extended SPA decoder . 69 4.1 Block diagram of an error-correcting coding communication system with an additive noise channel. 72 4.2 Parity-check matrix with a 4-cycle (a) and then with it removed (b). 75 4.3 Graphs showing the messages and factor nodes associated with the parity- check factors (a) and the channel factors (b). 80 5.1 Comparison of the QBCs from Table 5.1 and the BSC. For these simula- tions a length 105, rate-1/2, (3,6)-regular code was used with a maximum of 200 iterations for decoding. 93 5.2 BER performance of the BAMNC based decoder (M = 1; 2; 3) and the GEC based decoder over a simulated GEC (Pb = 0:5, g = 0:02, b = 0:002) 5 and Pg varies. For these simulations a length 10 , rate-1/2, (3,6)-regular code was used with a maximum of 200 iterations for decoding. 99 5.3 Comparison of decoding of the QBC 1 and 2 and the BSC using Code 1 from [26]. 102 5.4 Comparison of decoding of the QBC 1 and 2 and a GEC using Code 2 from [7]. GEC parameters are Pg = g = b = 0:01 and Pb varies. 103 5.5 Comparison of Code 1 from [26] and Code 2 from [7] on the BSC, GEC and QBC 1. GEC parameters are again Pg = g = b = 0:01 and Pb varies. 104 viii List of Tables 5.1 Table of parameters for the three QBC channels used in the simulations shown in Fig. 5.1 . 92 5.2 Results from the comparison of decoding over two GECs and two QBCs that approximate those GECs. We show performance over the GEC using the QBC decoder and vice-versa compared with the BSC and correctly matched decoders. For these simulations a length 105, rate-1/2, (3,6)- regular code was used with a maximum of 200 iterations for decoding.