Error Patterns in Belief Propagation Decoding of Polar Codes and Their Mitigation Methods

Similar documents
Low Complexity Belief Propagation Polar Code Decoder

XJ-BP: Express Journey Belief Propagation Decoding for Polar Codes

High-performance Parallel Concatenated Polar-CRC Decoder Architecture

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume VIII /Issue 1 / DEC 2016

Polar Codes for Magnetic Recording Channels

LDPC Decoding: VLSI Architectures and Implementations

Low Complexity List Successive Cancellation Decoding of Polar Codes

Performance of Combined Error Correction and Error Detection for very Short Block Length Codes

Multiple-Bases Belief-Propagation for Decoding of Short Block Codes

On Path Memory in List Successive Cancellation Decoder of Polar Codes

Short-Blocklength Non-Binary LDPC Codes with Feedback-Dependent Incremental Transmissions

FOR THE PAST few years, there has been a great amount

Observations on Polar Coding with CRC-Aided List Decoding

Blind Detection of Polar Codes

ENCODER ARCHITECTURE FOR LONG POLAR CODES

Lab/Project Error Control Coding using LDPC Codes and HARQ

Performance comparison of convolutional and block turbo codes

Low-complexity Low-Precision LDPC Decoding for SSD Controllers

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter

Performance Evaluation of Low Density Parity Check codes with Hard and Soft decision Decoding

Design of Rate-Compatible Parallel Concatenated Punctured Polar Codes for IR-HARQ Transmission Schemes

A Novel High-Rate Polar-Staircase Coding Scheme

Outline. Communications Engineering 1

Iterative Joint Source/Channel Decoding for JPEG2000

Design and Analysis of Partially Parallel Encoder for 16-Bit Polar Codes

Polar Codes for Probabilistic Amplitude Shaping

Definition1. Given δ 1,δ 2 R such that 0 < δ 1 δ 2 < 1, for all i [N], we call a channelw (i)

The throughput analysis of different IR-HARQ schemes based on fountain codes

MULTILEVEL CODING (MLC) with multistage decoding

Volume 2, Issue 9, September 2014 International Journal of Advance Research in Computer Science and Management Studies

Soft Channel Encoding; A Comparison of Algorithms for Soft Information Relaying

Project. Title. Submitted Sources: {se.park,

Digital Television Lecture 5

Hamming net based Low Complexity Successive Cancellation Polar Decoder

A Study of Polar Codes for MLC NAND Flash Memories

High-Rate Non-Binary Product Codes

FPGA-BASED DESIGN AND IMPLEMENTATION OF A MULTI-GBPS LDPC DECODER. Alexios Balatsoukas-Stimming and Apostolos Dollas

Code Design for Incremental Redundancy Hybrid ARQ

On Error-Correction Performance and Implementation of Polar Code List Decoders for 5G

Decoding of Block Turbo Codes

THE ever-increasing demand to accommodate various

Chapter 1 Coding for Reliable Digital Transmission and Storage

Power Efficiency of LDPC Codes under Hard and Soft Decision QAM Modulated OFDM

Study of Turbo Coded OFDM over Fading Channel

Reduced-Complexity VLSI Architectures for Binary and Nonbinary LDPC Codes

THE ERROR correcting code in a magnetic recording

p J Data bits P1 P2 P3 P4 P5 P6 Parity bits C2 Fig. 3. p p p p p p C9 p p p P7 P8 P9 Code structure of RC-LDPC codes. the truncated parity blocks, hig

Vector-LDPC Codes for Mobile Broadband Communications

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

Low Power Error Correcting Codes Using Majority Logic Decoding

Linear Turbo Equalization for Parallel ISI Channels

LDPC Communication Project

Bridging the Gap Between Parallel and Serial Concatenated Codes

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

Bit-Interleaved Polar Coded Modulation with Iterative Decoding

FOR applications requiring high spectral efficiency, there

Basics of Error Correcting Codes

Reduced Complexity by Incorporating Sphere Decoder with MIMO STBC HARQ Systems

FPGA-Based Design and Implementation of a Multi-Gbps LDPC Decoder

On the Construction and Decoding of Concatenated Polar Codes

THE idea behind constellation shaping is that signals with

IEEE C /02R1. IEEE Mobile Broadband Wireless Access <

Introduction to Error Control Coding

Capacity-Achieving Rateless Polar Codes

Polar Codes with Integrated Probabilistic Shaping for 5G New Radio

Improving LDPC Decoders via Informed Dynamic Scheduling

Channel Estimation by 2D-Enhanced DFT Interpolation Supporting High-speed Movement

LOW-density parity-check (LDPC) codes have been

DEGRADED broadcast channels were first studied by

Lecture 13 February 23

A System-Level Description of a SOQPSK- TG Demodulator for FEC Applications

Combining Modern Codes and Set- Partitioning for Multilevel Storage Systems

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

3GPP TSG RAN WG1 Meeting #85 R Decoding algorithm** Max-log-MAP min-sum List-X

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

REVIEW OF COOPERATIVE SCHEMES BASED ON DISTRIBUTED CODING STRATEGY

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

SOURCE CONTROLLED CHANNEL DECODING FOR GSM-AMR SPEECH TRANSMISSION WITH VOICE ACTIVITY DETECTION (VAD) C. Murali Mohan R. Aravind

POLAR codes [1] received a lot of attention in the recent. PolarBear: A 28-nm FD-SOI ASIC for Decoding of Polar Codes

An FPGA Implementation Architecture for Decoding of Polar Codes

ITERATIVE decoding of classic codes has created much

CHANNEL polarization, proposed by Arikan, is a method

Digital Fountain Codes System Model and Performance over AWGN and Rayleigh Fading Channels

Receiver Design for Noncoherent Digital Network Coding

Multi-user Two-way Deterministic Modulo 2 Adder Channels When Adaptation Is Useless

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

Performance and Complexity Tradeoffs of Space-Time Modulation and Coding Schemes

AN IMPROVED NEURAL NETWORK-BASED DECODER SCHEME FOR SYSTEMATIC CONVOLUTIONAL CODE. A Thesis by. Andrew J. Zerngast

FPGA based Prototyping of Next Generation Forward Error Correction

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

ECE 6640 Digital Communications

The Case for Optimum Detection Algorithms in MIMO Wireless Systems. Helmut Bölcskei

LDPC Decoders with Informed Dynamic Scheduling

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Combined Modulation and Error Correction Decoder Using Generalized Belief Propagation

Performance Comparison of Short-Length Error-Correcting Codes

Implementation of Block Turbo Codes for High Speed Communication Systems

Decoding Turbo Codes and LDPC Codes via Linear Programming

EXIT Chart Analysis for Turbo LDS-OFDM Receivers

Transcription:

Error Patterns in Belief Propagation Decoding of Polar Codes and Their Mitigation Methods Shuanghong Sun, Sung-Gun Cho, and Zhengya Zhang Department of Electrical Engineering and Computer Science University of Michigan, Ann Arbor, MI, 489-2122 Abstract Belief propagation (BP) is a high-throughput decoding algorithm for polar codes, but it is known to underperform successive cancellation (SC) decoding and list decoding in errorcorrecting In this work, we study the error patterns of BP decoding of polar codes to uncover the error mechanisms, as well as the influence of channel condition, code design, and decoder implementation. Based on the insights, we design new ways to detect, prevent and overcome BP decoding errors. I. INTRODUCTION Polar codes are the first provably capacity-achieving errorcorrecting codes for any binary-input discrete memoryless channels (B-DMC) [1], and the error-correcting capability of polar code holds high promise. The two main decoding algorithms are successive cancellation (SC) [1] and belief propagation (BP) [2]. SC exhibits a better error-correcting performance than BP [], and list decoding [4], viewed as an enhanced SC, further improves the performance but with an increased complexity. BP on the other hand, provides a higher throughput and a reduced latency, but it sacrifices errorcorrecting BP is an iterative message passing algorithm operating on a factor graph. The same BP decoding algorithm has been widely used in decoding low-density parity-check (LDPC) codes. Despite the impressive performance seen in decoding LDPC codes, BP has shown a weakness known as the error floor phenomenon [5]. Error floors occur at moderate to high SNR levels, preventing the waterfall-like improvement in error rate with increasing SNR. In the error floor region, decoding errors are dominated by a small number of fixed patterns known as trapping sets [5]. In this work, we analyze the error patterns in the BP decoding of polar codes. The decoding errors are classified and the factors affecting decoding, including channel SNR, code design, decoding algorithm, and implementation, are analyzed. Based on the insights, we provide preliminary ideas of how the decoding errors can be mitigated. II. BACKGROUND A polar code of block length N 2 n has a generator matrix G that is the n-th Kronecker power of matrix F [ ] 1 0 1 1, i.e., G N F n [1]. Fig. 1 is the factor graph of an N 8 polar code, where the plus sign represents XOR, and the equal sign represents pass-through. To encode, a message u is placed on the left side of the factor graph, and the codeword x ug is obtained on the right side. The subchannel seen by each bit (0,0) (0,1) (0,2) (0,) (0,4) (0,5) (0,6) (0,7) (1,0) (1,1) (1,2) (1,) (1,4) (1,5) (1,6) (1,7) (2,0) (2,1) (2,2) (2,) (2,4) (2,5) (2,6) (2,7) Fig. 1. Factor graph of N8 polar (,0) (,1) (,2) (,) (,4) (,5) (,6) (,7) exhibits a polarization phenomenon when the code length is sufficiently long and decoded using the SC algorithm. Reliable bits are used to transmit information, and the unreliable ones are fixed to known values, normally 0. The frozen set A denotes the set of unreliable bits [1]. In SC decoding, the message bits û 0 to u N 1 ˆ are obtained one bit after another based on the channel output y and the previously decoded bits. If i A, û i 0; otherwise û i is decoded by the maximum likelihood decision rule: û i { 0 if P (y,ûi 1 0 u i0) P (y,û i 1 0 u i1) > 1 1 otherwise where P (y, û i 1 0 u i b) refers to the probability that the received vector is y and the previously decoded bits being û 0 through û i 1, given the current bit being b, where b {0, 1} [6]. The SC decoding latency is O(N). BP decoding operates message passing on the factor graph. Frozen set information is propagated from left to right on the factor graph, and channel output y is propagated from right to left. The estimated message û is obtained on the left side. The decoding accuracy can be improved by running more iterations. The BP decoding latency is O(log N). III. ERROR CLASSIFICATION To understand how decoding fails, we obtain hard decisions û at the end of each BP decoding iteration. Due to the lack of a definitive convergence check in polar decoding, we use hard decisions from consecutive iterations to decide whether decoding has converged. If hard decisions over consecutive iterations agree, we consider it has converged. 97886954-2/16/$1.00 2016 IEEE 1199 Asilomar 2016

iteration 27 iteration 28 iteration 1 iteration 2 iteration 29 iteration 0 iteration iteration 4 Fig. 2. Soft decisions of an error in BP decoding of a (256, 128) Fig.. Soft decisions of a converged error in BP decoding of a (256, 128) A. Unconverged Error If hard decisions fail to agree within a maximum allowed iteration limit, and there is no defined pattern of error, we call it an error. Unconverged errors are most common at a low SNR level where the channel is noisy and the decoder is unable to resolve the errors. Assume an all-zero codeword is transmitted using binary phase-shift keying (BPSK) modulation; and a bit u i is decoded correctly if the soft decision of û i > 0 and incorrectly otherwise. A plot of the soft decisions of û is shown in Fig. 2, illustrating an error for a (256, 128) The decision is 0. The soft decisions keep flipping across the decision, and incorrect soft decisions hover around the decision. There is no obvious pattern in the decisions, and more iterations do not help to find correct convergence. B. Converged Error As SNR increases, errors start to disappear, and errors of systematic patterns start to emerge. The majority of systematic error patterns we found are attributed to converging to wrong codewords, or falling to local minima of BP decoding operating on loopy factor graphs. The factor graphs of polar codes contain loops, so a flooding BP decoder is not immune to local minima problems. If hard decisions are stable and agree over consecutive iterations, but the decoded message is incorrect, i.e., û u, we call it a converged error. Converged errors are most common at moderate to high SNR, and it usually takes only a small number of iterations to reach a state, as illustrated in Fig. for a converged error in the decoding of a (256, 128) In this example, within two or three iterations, the soft decisions of a small number of bits are found to be trapped in wrong decisions, and they cannot be recovered using more iterations. The particular case illustrated in Fig. represents a local minimum state in BP decoding. The few incorrect bits reinforce the wrong decisions among themselves through loops in the factor graph, making it impossible to make any progress towards convergence, which is similar to a trapping set found in the BP decoding of LDPC codes. iteration 12 iteration 1 iteration 14 iteration 15 Fig. 4. Soft decisions of an oscillation error in BP decoding of a (256, 128) C. Oscillation Error Loops in the factor graph allow the propagation of incorrect messages through BP decoding, causing oscillations. As incorrect messages travel around a loop, the decisions also go through a round of changes. If hard decisions are unstable and change periodically over iterations, we call it an oscillation error. Although an oscillation error is also an error, an oscillation error features a pronounced pattern of periodic changes. An example of the oscillation error is shown in Fig. 4. The illustrated error has an oscillation period of 2 iterations. A group of bits are incorrect in iteration 12; the incorrect bits all turn correct in iteration 1, but they turn incorrect again in iteration 14. If decoding is terminated in iteration 1, decoding would be done correctly. However, there is no way for the decoder to decide when to terminate in the absence of a definitive convergence detector in polar codes. Relying on checking hard decisions over consecutive iterations does not help terminate an oscillation error in the right iteration. D. Error Distribution In Fig. 5, we show the statistical breakdown of errors at each SNR point for the BP decoding of a (256, 128) At a low SNR level, errors dominate; as SNR increases, converged errors and oscillation errors become dominant. The error breakdown demonstrates the importance of fixing the loopy behavior of BP decoding and of designing polar codes with a large minimum distance to improve the error-correcting 1200

0% 80% N256 FER N256 BER N24 FER N24 BER 60% 40% 20% 0% EbSNR /N converged oscillation 1E- 5 7 Fig. 5. Error distribution for BP decoding of a (256, 128) 5 7 FER Q5.1 Q6.0 Q7. 1E- Fig. 6. Error distribution and error rate for BP decoding of a (256, 16) N24 FER FER N256 FER 1E- and Fig. 7. Error distribution error rate for BP decoding of a (24, 512) Rc0.5 FER Rc0.5 BER Rc0.5 FER Rc0.5 BER Q6.0 Q7. Q8.-2 1E- Fig. 8. Error rate for BP decoding of a (256, 128) code and a (24, 512) code that are implemented in different quantization schemes. IV. FACTORS A FFECTING D ECODING To gain an insight into decoding errors, we adjust code and decoder design parameters and analyze the corresponding changes in error rate and error breakdown. A. Code Design Take the rate-0.5 (256, 128) code in Fig. 5 as reference. We increase the rate of the 256-bit code from 0.5 to 0.5 and plot the error distribution and error rate of the rate-0.5 code in Fig. 6. The axes and markers of the distribution in Fig. 6 are identical to those in Fig. 5, so they are omitted in Fig. 6 for simplicity. All the later plots follow the same convention, unless they are explicitly marked. The error rate of a higher rate code is worse as expected. The number of converged errors at a high SNR level is noticeably higher. More converged errors can be explained by more free bits in a higher rate code resulting in more codewords, or a more crowded codeword space, making it more likely to converge to a wrong codeword. As we increase the block length from 256 to 24 while keeping the code rate of 0.5, the error distribution and error rate of the (24, 512) code are shown in Fig. 7. The error rate of the (24, 512) code improves over the (256, 128) code, but it suffers from an error floor at FER below 7. Compared to the (256, 128) code, the (24, 512) code has fewer converged errors but more oscillation errors. The (24, 512) code has a larger minimum distance and a sparser codeword space, so it is expected to outperform the (256,128) However, with two more stages in the factor graph, the factor graph of the (24, 512) code contains more loop configurations than the (256, 128) code, resulting in more oscillation errors. We also note that with more processing stages in a larger factor graph, numerical saturation occurs more easily. When reliable bits are saturated, they are less pronounced and cannot effectively prevent incorrect bits from propagating. Allocating more bits to cover a larger numerical range is expected to alleviate the problem. B. Decoder Implementation The choice of fixed-point quantization affects the decoding performance [7]. In the above simulations, the Q7. (6 bits covering the range of -64 to 62 with a resolution of 2) fixedpoint quantization was used. Keeping the same 6-bit word length, the Q6.0 quantization covers the range of 2 to 1 with a resolution of 1; and the Q5.1 quantization covers the range of 6 to 15.5 with a resolution of 0.5. The quantizations used in Fig. 8, Q5.1, Q6.0, Q7., Q8.-2, all share the same 6-bit wordlength, but they result in different error-correcting At a low SNR level, a quantization with a finer resolution improves numerical accuracy; and at a high SNR level, a quantization with a larger range prevents clipping and yields better The comparison between the two codes in Fig. 8 shows that a longer code requires a higher range to obtain the expected performance, and a larger range also alleviates the error floor problem. 1201

0 1E00 w/o offset FER w/ offset FER without offset correction 2.6-4 with offset correction 22 22 2.6 2.6-2 2 b0 0 b1 0 b2 0 b u0 b4 0 b5 u1 b6 u2 b7 u channel b0 0 b1 c0 b2 0 b u0 b4 0 b5 u1 b6 u2 b7 u w/o offset BER w/ offset BER polar encoder EbSNR /N 1E- Fig. 9. Error distribution and error rate for BP decoding of a (24, 512) code at low SNR with and without offset correction. CRC encoder Rc0.5 FER Rc0.5 BER Rc0.51 FER Rc0.51 BER polar decoder Eb/N Fig. 11. Error rate for BP decoding of a (24, 512) code before and after CRC concatenation. with CRC termination CRC decoder ĉ0 û0 û1 û2 û parity check result 5 7 5 7 Fig. 12. Error distribution for BP decoding of a (24, 522) code without and with CRC-based termination. Fig.. Illustration of concatenation of polar code with CRC. Min-sum approximation is often applied to simplifying the log-likelihood ratio calculations. The associated min-sum approximation error can be compensated by offset correction. Offset correction is especially effective at a low SNR level, as illustrated in Fig. 9. The number of errors is reduced, as offset correction reduces approximation errors and improves the decoding V. E RROR D ETECTION As discussed above, a BP polar decoder is unaware of whether decoding has converged. An iteration-by-iteration hard decision check detects errors, but it fails to detect converged errors, which account for 20% to 90% of the errors. An iteration-by-iteration hard decision check detects oscillation errors, but it fails to find the right iteration to terminate decoding and stop oscillations. Therefore, we add a low-cost error detection scheme to catch the majority of the undetected errors. The error detection scheme is based on concatenating polar code with cyclic redundancy check (CRC) that consumes only a small number of parity bits but provides a good detection capability. A CRC codec is added outside the polar codec, illustrated in Fig.. The CRC encoder generates parity bits for an input message. The message bits along with the parity bits are remapped to the free bits of the polar On the decoder side, the CRC decoder checks if the hard decisions obtained by the polar decoder is a valid CRC codeword at the end of each decoding iteration. A CRC-n code generates n parity bits, which covers up to 2n 1 n message bits. We employed CRC-8 in the rate0.5 256-bit polar code and CRC- in the rate-0.5 24-bit polar Our simulation shows that more than 99% of the previously undetected errors are detected by CRC. Note that CRC concatenation increases the code rate. If the overall code rate is kept the same, CRC concatenation results in a slight performance loss. In the 256-bit code and the 24-bit code, CRC concatenation increases the code rates from 0.5 to 0.5 and 0.5 to 0.51, respectively. The performances are compared in Fig. 6 and Fig. 11. The coding gain of the 256-bit code is reduced by approximately 0. to 0.5 db, but the loss is much smaller in the 24-bit code due to the neglible number of parity bits relative to the block length. VI. E RROR M ITIGATION In this study, we make use of CRC to reliably determine when to terminate decoding, i.e., if CRC passes, the iterative decoding is terminated. The effect of CRC-based termination in the BP decoding of a (24, 522) polar code is shown in Fig. 12, where the white space above the bars represents the percentage of errors being resolved with the proper termination based on CRC. We observe that BP decoding is able to produce error-free messages in some iterations even if the decoding itself is not stable, as in the cases of errors and oscillation errors. The CRC-based termination helps to lock in the correct codeword before decoding diverges. CRC-based termination helps resolve most of the errors and a portion of oscillation errors. The remain- 1202

ing errors are dominated by converged errors and oscillation errors. One approach to fix the remaining errors is via post-processing by perturbation. Prior work in LDPC postprocessing points out that perturbation is especially beneficial when a BP decoder is trapped in a local minimum [8]. From a cost standpoint, post-processing can be implemented as part of BP decoding with biased messages. We are in the process of completing a full experimentation and analysis of postprocessing methods. VII. CONCLUSION In this work, we classify BP decoding errors into three categories: errors, converged errors, and oscillation errors. We analyze the important factors affecting decoding, including code design and decoder implementation. While errors and oscillation errors are detectable by checking the hard decisions in each iteration for consistency, converged errors are undetected. Concatenation of polar codes with CRC enables the detection of undetected errors and the proper termination of BP decoding. CRC-based termination helps to remove a large portion of errors and oscillation errors. REFERENCES [1] E. Arikan, Channel polarization: A method for constructing capacityachieving codes for symmetric binary-input memoryless channels, IEEE Trans. Inf. Theory, vol., no. 7, pp. 051 07, July 2009. [2] A. Pamuk, An FPGA implementation architecture for decoding of polar codes, in Int. Symp. Wireless Commun. Syst., Nov 2011, pp. 47 1. [] B. Yuan and K. K. Parhi, Architecture optimizations for BP polar decoders, in IEEE Int. Conf. Acoustics, Speech and Signal Process., May 201, pp. 2654 2658. [4] I. Tal and A. Vardy, List decoding of polar codes, in IEEE Int. Symp. Inf. Theory, July 2011, pp. 1 5. [5] T. Richardson, Error floors of LDPC codes, in Proc. Annu. Allerton Conf. Commun. Control and Computing, vol. 41, no., 200, pp. 1426 145. [6] C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, A semi-parallel successive-cancellation decoder for polar codes, IEEE Trans. Signal Process., vol. 61, no. 2, pp. 289 299, Jan 201. [7] S. Sun and Z. Zhang, Architecture and optimization of high-throughput belief propagation decoding of polar codes, in 2016 IEEE Int. Symp. Circuits Syst. (ISCAS), May 2016, pp. 165 168. [8] Z. Zhang, L. Dolecek, B. Nikolic, V. Anantharam, and M. J. Wainwright, Lowering LDPC error floors by postprocessing, in 2008 IEEE Global Telecommunications Conf., Nov 2008, pp. 165 168. 120