Low Complexity Belief Propagation Polar Code Decoder

Similar documents
On Path Memory in List Successive Cancellation Decoder of Polar Codes

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

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

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

High-performance Parallel Concatenated Polar-CRC Decoder Architecture

Polar Codes for Magnetic Recording Channels

Capacity-Achieving Rateless Polar Codes

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

ENCODER ARCHITECTURE FOR LONG POLAR CODES

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

Hamming net based Low Complexity Successive Cancellation Polar Decoder

Blind Detection of Polar Codes

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

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

Decoding of Block Turbo Codes

Low Complexity List Successive Cancellation Decoding of Polar Codes

On the Construction and Decoding of Concatenated Polar Codes

Outline. Communications Engineering 1

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

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

DEGRADED broadcast channels were first studied by

Noisy Index Coding with Quadrature Amplitude Modulation (QAM)

An FPGA Implementation Architecture for Decoding of Polar Codes

Performance comparison of convolutional and block turbo codes

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

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

High-Rate Non-Binary Product Codes

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

A Novel High-Rate Polar-Staircase Coding Scheme

THE ever-increasing demand to accommodate various

LDPC Decoding: VLSI Architectures and Implementations

Polar Codes for Probabilistic Amplitude Shaping

Goa, India, October Question: 4/15 SOURCE 1 : IBM. G.gen: Low-density parity-check codes for DSL transmission.

arxiv: v1 [cs.it] 31 Aug 2015

Iterative Joint Source/Channel Decoding for JPEG2000

Multitree Decoding and Multitree-Aided LDPC Decoding

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

Lab/Project Error Control Coding using LDPC Codes and HARQ

THE ERROR correcting code in a magnetic recording

THE idea behind constellation shaping is that signals with

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

Q-ary LDPC Decoders with Reduced Complexity

Lecture 13 February 23

Cooperative Punctured Polar Coding (CPPC) Scheme Based on Plotkin s Construction

CHANNEL polarization, proposed by Arikan, is a method

Observations on Polar Coding with CRC-Aided List Decoding

Digital Television Lecture 5

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

Low Power Error Correcting Codes Using Majority Logic Decoding

A Study of Polar Codes for MLC NAND Flash Memories

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

How (Information Theoretically) Optimal Are Distributed Decisions?

Low-complexity Low-Precision LDPC Decoding for SSD Controllers

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors

MULTIPATH fading could severely degrade the performance

MULTILEVEL CODING (MLC) with multistage decoding

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

Code Design for Incremental Redundancy Hybrid ARQ

Decoding Distance-preserving Permutation Codes for Power-line Communications

Reduced-Complexity VLSI Architectures for Binary and Nonbinary LDPC Codes

Chapter 1 Coding for Reliable Digital Transmission and Storage

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

Coding and Modulation

Polar Codes with Integrated Probabilistic Shaping for 5G New Radio

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

FPGA based Prototyping of Next Generation Forward Error Correction

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

Low-density parity-check codes: Design and decoding

New DC-free Multilevel Line Codes With Spectral Nulls at Rational Submultiples of the Symbol Frequency

FOR applications requiring high spectral efficiency, there

Low-Complexity LDPC-coded Iterative MIMO Receiver Based on Belief Propagation algorithm for Detection

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

Vector-LDPC Codes for Mobile Broadband Communications

Bit-Interleaved Polar Coded Modulation with Iterative Decoding

Linear Turbo Equalization for Parallel ISI Channels

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

Centralized and Distributed Sparsification for Low-Complexity Message Passing Algorithm in C-RAN Architectures

SPATIAL MULTIPLEXING IN MODERN MIMO SYSTEMS

OFDM Transmission Corrupted by Impulsive Noise

LDPC Communication Project

Multiple Input Multiple Output Dirty Paper Coding: System Design and Performance

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

A rate one half code for approaching the Shannon limit by 0.1dB

A Capacity Achieving and Low Complexity Multilevel Coding Scheme for ISI Channels

VLSI Design for High-Speed Sparse Parity-Check Matrix Decoders

Performance Comparison of Short-Length Error-Correcting Codes

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

IN data storage systems, run-length-limited (RLL) coding

Bit-permuted coded modulation for polar codes

A 32 Gbps 2048-bit 10GBASE-T Ethernet Energy Efficient LDPC Decoder with Split-Row Threshold Decoding Method

Punctured vs Rateless Codes for Hybrid ARQ

Adaptive Digital Video Transmission with STBC over Rayleigh Fading Channels

DESIGN & IMPLEMENTATION OF FIXED WIDTH MODIFIED BOOTH MULTIPLIER

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

6. FUNDAMENTALS OF CHANNEL CODER

Design of HSDPA System with Turbo Iterative Equalization

Low-Complexity High-Order Vector-Based Mismatch Shaping in Multibit ΔΣ ADCs Nan Sun, Member, IEEE, and Peiyan Cao, Student Member, IEEE

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

Improving LDPC Decoders via Informed Dynamic Scheduling

Transcription:

Low Complexity Belief Propagation Polar Code Decoder Syed Mohsin Abbas, YouZhe Fan, Ji Chen and Chi-Ying Tsui VLSI Research Laboratory, Department of Electronic and Computer Engineering Hong Kong University of Science and Technology (HKUST), Hong Kong Email: {smabbas, jasonfan, eejichen, eetsui}@ust.hk arxiv:1505.04979v2 [cs.it] 25 Aug 2015 Abstract Since their invention, polar codes have received a lot of attention because of their capacity-achieving performance and low encoding and decoding complexity. Successive cancellation decoding (SCD) and belief propagation decoding (BPD) are two approaches for decoding polar codes. SCD is able to achieve good error-correcting performance and is less computationally expensive as compared to BPD. However SCD suffers from long latency due to the serial nature of the successive cancellation algorithm. BPD is parallel in nature and hence is more attractive for low latency applications. However, since it is iterative, the required latency and energy dissipation increases linearly with the number of iterations. In this work, we borrow the idea of SCD and propose a novel scheme based on sub-factor-graph freezing to reduce the average number of computations as well as the average number of iterations required by BPD, which directly translates into lower latency and energy dissipation. Simulation results show that the proposed scheme has no performance degradation and achieves significant reduction in computation complexity over the existing methods. Index Terms Belief propagation decoding (BPD); successive cancellation decoding (SCD); energy efficiency; iterative decoders; factor graph; polar codes I. INTRODUCTION Shanon proved existence of maximum data transmission rate, called channel capacity [1]. Since then, different capacityapproaching codes have been designed, like Turbo codes [2] and LDPC codes [3]. The first provable capacity-achieving codes, polar codes, were recently invented by Arıkan [4]. Polar codes are considered to be a major breakthrough in coding theory, since they are the first family of codes known to achieve channel capacity with explicit construction. Besides achieving the capacity for binary-input symmetric memoryless channels [4], polar codes were also proved in [5] to be able to achieve the capacity for any discrete and continuous memoryless channel. Moreover, an explicit construction method for polar codes was provided and it was shown that they can be efficiently encoded and decoded with complexity O(n log n), where n is the code length. Since then, polar codes have become one of the most popular topics in information theory and have attracted a lot of attention. Several decoding methods are available for decoding polar codes [6]-[21], SCD and its variants and BPD are two popular methods. SC decoders suffer from long latency due to the serial nature of the SC algorithm. However, the SC algorithm requires less computation as compared to BPD. Based on this property, several high-throughput low-cost SC decoders were reported in [7] [11]. Another advantage of the SC algorithm is its ability to achieve good error-correcting performance for long code lengths. For short code length, based on the SCD, the list-decoding or stack decoding method also achieve good error-correcting performance [12] [15]. On the other hand, polar BP decoders [16]-[21] have the intrinsic advantage of parallel processing. Therefore, compared with their SC counterparts, polar BP decoders are more attractive for low-latency applications. For iterative decoders (such as polar BP decoders), the required latency and energy dissipation increase linearly with the number of iterations. However, the need for a large number of iterations makes BP decoders suffer from high computation complexity, and hence polar BP decoders are still not as attractive as their SC counterparts. To this end, another decoding method, called soft cancellation (SCAN) decoding, is proposed in [22]. By restricting the soft information propagation schedule in the decoding process, the computational complexity of SCAN is much lower than that of BPD. However, different from BPD, the SCAN operation is serial in nature, leading to a much longer decoding latency. Hence, aiming at the low-latency polar codes decoder, we concentrate on the BPD in this work. To address the issues of the large number of iterations and high computation complexity inherent in BP decoders, Yuan et al. [20] proposed a G-matrix-based early stopping scheme, which is based on the fact that iterative decoders normally converge earlier than reaching a fixed maximum number of iterations. The G-matrix-based stopping criterion can then be used to stop the computation if convergence has been reached. To further reduce the computation complexity, in this paper, we propose a method based on the convergence of the sub-factorgraphs, which is reached at a much earlier stage. Borrowing the idea from SCD, some of the sub-factor-graphs are checked during each iteration and if they have converged, they are frozen and do not need to be computed in the subsequent iterations. Also the freezing of these sub-factor-graphs will help to improve the convergence of the decoding process over rest of the factor graph. As a result, the computation complexity and also the average number of iterations are reduced. Experimental results show that our proposed method results in about 40 ~ 46 % lower computation complexity, as well as lower latency, when compared to the previously proposed early stopping scheme [20].

Fig. 1. Encoding signal flow graph of (8.4) polar code Furthermore, the fraction of the noiseless channels tends towards the capacity of the underlying binary symmetric channels [4]. Therefore, an (n, k) polar code can be generated in two steps. First, an n-bit message u is constructed by assigning the k reliable and (n k) unreliable positions as information bits and 0 bits, respectively. The (n k) unreliable positions, which are forced to 0, are called the frozen bits (also known as the frozen set A C ). Then, the n -bit u is multiplied with the generator matrix G = F m to generate an n -bit transmitted codeword [ ] x, where F m is the 1 0 m th Kronecker power of F = and m = log 1 1 2 n. Fig. 1 shows the encoding signal flow graph for n = 8 polar codes, where the sign represents the XOR operation. Fig. 2. BPD Notations (b) (a) (a) Factor graph of (8, 4) polar code. (b) Processing Element for In this paper, the following notation conventions are used. Matrices are denoted in boldface capital letters, and vectors in boldface lowercase letters. The subscript M of a matrix represents an MXM square matrix and v M denotes an MX1 vector. x[i] stands for the i th element of vector x, x t stands for vector x at the t th iteration and x (a:b) represents the subvector of x with the starting and ending index of a and b. The transpose of a vector x is denoted by x T. II. POLAR CODES OVERVIEW Polar codes are based on the phenomenon of channel polarization. More precisely, by recursively combining and splitting individual channels, some of these channels become essentially error-free, while others become completely noisy. A. Belief Propagation Algorithm for Polar Code Decoding As presented in [16], similar to LDPC codes, polar codes can be decoded by applying the belief propagation (BP) algorithm over their factor graphs. For an (n, k) polar code (n = 2 m ), the factor graph is an m-stage network consisting of n.(m 1) nodes, where each node is associated with a right-to-left and a left-to-right likelihood message denoted by (L t i,j ) and (Rt i,j ), respectively. Lt i,j denotes the right to left likelihood message of the i th node at the j th stage and the t th iteration. Fig.2 (a) shows an example of a 3-stage factor graph for n = 8 polar codes. Here each stage consists of n/2 = 4 processing elements (PEs). During the BP decoding procedure, these messages are propagated and updated among adjacent nodes using the min-sum updating rule, as shown by the following equations [20]: L t i2 m j,j = L t 1 i2 m j,j1 α sign(l t 1 i,j1 )sign(rt i,j ) min( Lt 1 i,j1, Rt i,j ) L t i,j = α sign(l t 1 i,j1 )sign(lt 1 i2 m j,j1 Ri2 t m j,j) min( Lt 1 i,j1, Lt 1 i2 m j,j1 Rt i2 m j,j ) Ri,j1 t = α sign(ri,j t )sign(lt 1 i2 m j,j1 Ri2 t m j,j ) min( Rt i,j, Lt 1 i2 m j,j1 Rt i2 m j,j ) Ri2 t m j,j1 = Ri2 t m j,j α sign(l t 1 i,j1 )sign(rt i,j ) min( Lt 1 i,j1, Rt i,j ), (1) α is a scaling parameter introduced in [21] for the improvement of the decoding performance of a BP decoder. According to the decoding procedure of BP algorithm, PEs are activated stage-by-stage from left to right in each iteration. After the number of iterations reaches the specific maximum number (max_iter), node (i, m1) will output the decoded information bit u i based on the hard decision of the messages R max_iter i,m1. III. THE PROPOSED SCHEME Fig. 3(a) shows the scheduling tree of the successive cancellation decoding (SCD) of the (8,4) polar code [9], and Fig. 3(b) depicts the equivalent BPD factor graph of the same (8,4) polar code. At each stage the SCD scheduling tree is split into a number of sub-trees, each of which is responsible for decoding a corresponding constituent code. The size of the sub-tree varies at each level and is reduced by half when moving from one stage to another stage.

Fig. 3. Correspondence between SCD scheduling tree and BPD factor graph (a) SCD Scheduling Tree (b) BPD Factor Graph (c) 2 CSFG s at stage 1 (d) 4 CSFG s at stage 2 Fig. 4. SCD scheduling tree and factor graph of the (8,4) polar code Before presenting the details of our proposed scheme, we first introduce the notion of the connected sub-factor-graph. A connected sub-factor graph (CSFG) is defined as a sub-factorgraph which has the same number of inputs and outputs and where the output nodes are at the stage m 1 and each input is connected to each output through some PEs in the subfactor-graph. Fig. 3(b) shows two examples of CSFGs. It can Fig. 5. Example illustrating the Proposed Scheme (a) Checking first CSFG at stage 1 (b) Checking second CSFG at stage 1 (c) Checking third CSFG at stage 2 be seen that each CSFG has a corresponding sub-tree in the scheduling tree of SCD. Fig. 3 (a) and (b) show examples of the corresponding sub-trees and the connected sub-factorgraph of the (8,4) polar code. The number of CSFGs at each stage is given by 2j, where j is the stage number. For the (8,4) polar code, as shown in Fig. 3 (c) and (d), the numbers of CSFGs at stages 1 and 2 are 2 and 4, respectively.

At each iteration t, the nodes at stage j in the BPD factor graph output left-to-right LLR-based propagating messages R1:n,j1 t, and these are the inputs to the 2j CSFGs at stage j. R1:2 t m j,j1 are the inputs to the first CSFG, while R((k 1)2 t m j 1):(k2 m j ),j1 are those for the kth CSFG. Each CSFG is responsible for the decoding of the corresponding constituent code from its respective input messages. The proposed scheme borrows the idea of successive cancellation decoding (SCD), where the results of the previousdecoded bits are used for the decoding of the current bit. Here we introduce a CSFG freezing concept for a low complexity BPD. At a particular iteration t, when the message passing reaches a certain stage j, if a CSFG at that stage can correctly decode its corresponding constituent code (i.e. the CSFG has reached convergence), it is frozen and no message passing or updating within the CSFG will be needed in the subsequent iterations. The details of how to check whether a CSFG can be frozen will be presented later. One important thing is the checking order for the freezing of the CSFG. A CSFG can only be frozen if all the previous CSFGs (in the order of the decoding bits) at that stage have been frozen. If a CSFG is not frozen, it means the message values inside it will still be changed in the subsequent iterations. Similar to the SCD operation, the message values of this CSFG will be used for the decoding of the constituent codes of the subsequent CSFGs. Therefore the freezing of the CSFGs at a stage has to follow an order based on the decoded bit. When a CSFG at a certain stage is checked for freezing, if it cannot correctly decode its constituent code, then it cannot be frozen and the message passing and updating have to be executed for PEs at that stage. After that, we move to the next stage and check the convergence of the corresponding CSFGs. When we move to the next stage, the number of CSFGs will be doubled. This freezing-checking procedure will continue from stage to stage until the end of the BPD factor graph is reached. Next we will present how we can freeze a CSFG. As discussed above, a CSFG corresponds to a sub-tree in the SCD scheduling tree, which can also be viewed as a constituent code of the original polar code. At the t th iteration and stage j, the left-to-right propagation messages R((k 1)2 t m j 1):(k2 m j ),j1 connected to the kth CSFG can be viewed as the LLR inputs to decode the corresponding constituent code. We can apply Maximum- Likelihood Decoding (MLD) on this constituent code with R((k 1)2 t m j 1):(k2 m j ),j1as input to obtain a decoded output vector (u ((k 1)2 m j 1):(k2 m j )), which is a sub-vector of the source word (u n ) of the original polar code. As will be shown later, if the freezing of the CSFGs follows the proposed order, the input messages of CSFG R((k 1)2 t m j 1):(k2 m j ),j1 are reliable enough and MLD (u ((k 1)2 m j 1):(k2 m j )), based on these input messages, can be taken as the decoded result of the constituent code. The freezing order of the CSFG has to follow the decoded bit order, and the top CSFGs at each stage will be frozen first. Fig. 4 shows the SCD scheduling tree and the factor graph of the (8,4) polar code. We can see that the top CSFGs are actually corresponding to the first few sub-trees that follow the depth-first traversal of the SCD scheduling tree. At the first iteration, the input messages to these CSFGs are the same as the input LLR messages of the corresponding SCD sub-trees. Hence if we can decode the input messages of these CSFGs using MLD, the decoding performance on the corresponding constituent code will achieve or even exceed that of SCD. If the CSFGs cannot be frozen at this iteration, and need further iteration to converge, due to the nature of the iterative decoding, the reliability of the input messages to these CSFGs will become better and hence the input LLR messages of these CSFGs will be more reliable than the input messages to the SCD sub-tree. As a result the MLD performance will not be worse than that of SCD. MLD is based on an exhaustive search and hence it has a huge complexity. To reduce the complexity, novel checking criterion is suggested to efficiently find the MLD result of the constituent code. Let R1:2 t m j,j1 be the left-to-right propagation messages of a CSFG at stage j. We obtain a hard decision vector ˆx 2 m j = [ˆx 1... ˆx 2 m j ] for these messages where { 0 if R ˆx 2 m j = 1:2 m j,j1 0 (2) 1 if R 1:2 m j,j1 < 0 Given ˆx 2 m j as input to the CSFG, the decoded bit vector at its output û 2 m j, which is also a sub-vector of the source word of the original polar code û n, is obtained by the inverse operation of polar code encoding that is given as û T 2 = ˆx T m j 2 (F (m j) ) 1 = m j ˆx T 2 (F (m j) ), (3) m j where (F (m j) ) 1 = (F (m j) ) Fig. 5(a) shows an example of hard decision decoding. The CSFG can be frozen if the sub-source-word vector û 2 m j satisfies the following frozen set criteria: u k = 0, for k A C (4) The following lemma shows that if the frozen set criteria (4) are satisfied, the sub-source-word vector û 2 m j obtained by (3) is indeed the decoding results of the MLD on the corresponding constituent code of the CSFG. Lemma 1. Let R 1:2 m j,j1and ˆx 2 m j be the input LLR messages and hard decision vector based on (2) for the corresponding CSFG at the j th stage. If û 2 m j is obtained from ˆx 2 m j based on (3) and it satisfies the frozen-set criteria of (4), then û 2 m j is the maximum likelihood detection (MLD) result of the corresponding constituent code with input messages R 1:2 m j,j1. Proof: The CSFG at the j th stage represents a short polar (constituent) code of length 2 m j. Its input and output are related by x 2 m j = u 2 m j F (m j). From [6] and [10], given the input LLR R 1:2 m j,j1, the likelihood value of an arbitrary source word u 2 m j is given by 2 m j i=1 (1 2x 2 m j [i])r 1:2 m j,j1[i], where x 2 m j = u 2 m j F (m j). If no source word bit is a frozen bit, i.e., u i can assume both 0 and 1 for 1 i 2 m j, the source word û 2 m j obtained

FER 10 0 BPD Baseline (40 iterations) G-Matrix based early stopping 10-1 Proposed Scheme 10-2 10-3 10-4 1 1.5 2 2.5 3 3.5 (a) Average number of iterations 45 40 35 30 25 20 BPD Baseline (Constant # of iterations = 40) 15 G-Matrix based early stopping Proposed Scheme 10 1 1.5 2 2.5 3 3.5 (b) Normalized average computations 1 0.8 0.6 0.4 0.2 BPD Baseline (Constant # of iterations = 40) G-Matrix based early stopping Proposed Scheme 0 0 1 2 3 4 (c) Normalized saving 0.6 0.5 0.4 0.3 0.2 0.1 Saving over G-Matrix based early stopping 0 0.5 1 1.5 2 2.5 3 3.5 4 Fig. 6. Comparison results for a (1024,512) polar code (a) Error correction performance (b) Average number of iterations (c) Average required computations (d) Computations savings over G-Matrix based early stopping (d) from ˆx 2 m j has a maximum likelihood value which is equal to 2 m j i=1 R 1:2 m j,j1[i]. If a certain source word bit is a frozen bit, the searching space of the valid source word is smaller and 2 m j i=1 R 1:2 m j,j1[i] may not be achieved. However, if û 2 m j satisfies (4), this likelihood value is achievable and the source word û 2 m j is a valid source word. Hence, û 2 m j is the MLD result. When a CSFG at stage j is frozen, the corresponding computations and message updating are not needed for the rest of the iterations. We can also fix its right-to-left feedback propagating messages (L t 1:2 m j,j1) for the rest of the iterations based on its ˆx 2 m j since the output decoding decision for this CSFG has already been made and we have L t {t,t1,...max_iter} 1:2 m j,j1 = ( 1)ˆx 2 m j In one iteration, propagating messages from left to right, for any CSFG, if the frozen set criteria (4) is not satisfied then we cannot freeze this CSFG. We then update the messages at this stage using equation (1), move to the next stage and repeat the same procedure. Fig. 5(b) shows an example. At the second iteration, we check the bottom CSFG at stage 1. û 4 does not satisfy the frozen bit criteria (4) and we cannot freeze this CSFG. So the messages are updated at stage 1 and we move to the next stage (stage 2) to check whether the first unfrozen CSFG can be frozen at stage 2, as shown in Fig. 5(c). A CSFG can only be considered for freezing if all the preceding CSFGs at the same stage have been frozen. This procedure is repeated until all the CSFGs at a stage are frozen or we reach the maximum number of iterations, which corresponds to the completion of the decoding process. With the freezing of CSFGs, computations and message updating operations do not need to be executed for rest of the iterations. Therefore the overall computation complexity, and hence the energy consumption, are reduced. Moreover the

right-to-left feedback propagating messages (L t 1:2 m j,j1 ) are fixed to either - or depending on the value of the harddecision bit when a CSFG is frozen. This boosts the reliability of the feedback messages and will help the rest of the unfrozen CSFGs to converge faster in the subsequent iterations, thus helping to reduce the overall number of iterations for the decoding and hence the average latency. IV. SIMULATION RESULTS To verify the error correcting performance and complexity saving for the proposed frozen-csfg-based BPD scheme, we carry out a simulation on a polar code of length 1024 and rate ½ and compare the result with the original BPD scheme in [16] (which we denote as the baseline BPD) and the BPD using a G-matrix-based stopping criterion in [20]. Fig. 6 shows the simulation results over an AWGN channel with BPSK modulation. For a fair comparison, we use the same set of parameters as [20], where min-sum approximation with scaling parameter (α = 0.9375) and max_iter = 40 were used. As seen in Fig. 6(a), the proposed method has no performance degradation compared with the other two existing BPD schemes. The average number of iterations required for decoding a code word are compared in Fig. 6(b). It can be seen that the proposed method requires the least number of iterations, resulting in lower latency and higher throughput compared to [20]. At SNR = 3dB, the average number of iterations is reduced by 46% and 17% when compared to the baseline BPD and the G-matrix-based early stop method, respectively. We also compare the overall computation complexity of the three BPD schemes. For each PE in the factor graph, we count the number of iterations until its operation is frozen in the proposed scheme. We then sum the number of iterations, for which that PE is active, for all the PEs. For the other two schemes, since every PE needs to be executed in every iteration, the computation complexity just depends on the average number of iterations. Fig. 6(c) shows the normalized average number of computations required for all three schemes. It can be observed that the proposed scheme requires the least number of computations, which translates directly to lower power consumption and latency for the overall decoding process. It can be seen that at SNR = 3dB, the average computation complexity is reduced by 65% and 46% when compared with the baseline scheme and the early-stopping scheme, respectively. As state of the are BPD, computaion savings for the proposed method are comaperd with G-matrix based early stopping method in Fig. 6(d). V. CONCLUSION In this work we have presented a novel scheme to reduce the average number of computations as well as average latency in belief propagation decoding (BPD) for polar codes based on the concept of a frozen connected sub-factor-graph. Simulation results show that there is no performance degradation of the proposed scheme when compared with the original belief propagation algorithm and the G-matrix-based early stopping criterion, while the scheme enjoys a 46 ~ 65 % reduction in computation complexity, and 17 ~ 46% reduction in latency at SNR = 3dB. In future work, the VLSI architecture and a hardware implementation will be developed. REFERENCES [1] C. E. Shannon, A mathematical theory of communication, Bell Syst. Tech. J., vol. 27, pp. 379 423, Jul. Oct. 1948. [2] C. Berrou, A. Glavieux, and P. Thitimajshima, Near Shannon limit error-correcting coding and decoding: Turbo-codes. 1, in Proc. IEEE Int. Conf. Commun. (ICC), May 1993, pp. 1064 1070. [3] R. G. Gallager, Low-Density Parity-Check Codes. Cambridge,MA, USA: MIT Press, 1963. [4] E. Arikan, Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memory less channels, IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051-3073, 2009. [5] E. Sasoglu, E. Telatar, and E. Arikan, Polarization for arbitrary discrete memoryless channels, in Proc. IEEE Inf. Theory Workshop (ITW), pp. 144 148, 2009. [6] A. Alamdar-Yazdi and F. R. Kschischang, A simplified successive cancellation decoder for polar codes, IEEE Commun. Lett., vol. 15, no. 12, pp. 1378 1380, Dec. 2011. [7] C. Leroux, I. Tal, A. Vardy, and W. J. Gross, Hardware architectures for successive cancellation decoding of polar codes, in Proc. IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), pp. 1665 1668, May 2011. [8] 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. 2013. [9] Y. Fan and C.Y. Tsui, "An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation," IEEE Trans. Signal Process., vol.62, no.12, pp.3165,3179, 2014. [10] G. Sarkis and W.J. Gross, "Increasing the throughput of polar decoders," IEEE Commun. Lett., vol.17, no.4, pp.725,728, April 2013. [11] G. Sarkis, P. Giard., A. Vardy, C. Thibeault, W.J. Gross, "Fast polar decoders: algorithm and implementation," IEEE J. Sel. Areas in Commun., vol.32, no.5, pp.946,957, May 2014. [12] I. Tal and A. Vardy, List decoding of polar codes, in Proc. IEEE Int. Symp. Inf. Theory (ISIT), pp. 1 5, 2011. [13] K. Niu and K. Chen, Stack decoding of polar codes, Electron. Lett.,vol. 48, no. 12, pp. 695 696, 2012. [14] J. Lin and Z.Yan, "An efficient list decoder architecture for polar codes," IEEE Trans. Very Large Scale Integration (VLSI) Systems, to be published, arxiv:1409.4744. [15] Y. Fan, J. Chen, C. Xia, C.Y. Tsui, J. Jin, H. Shen and B. Li "Lowlatency list decoding of polar codes with double thresholding" in Proc. IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP),in press, arxiv:1504.03437. [16] E.Arıkan, A performance comparison of polar codes and Reed-Muller codes, IEEE Commun. Lett., vol. 12, no. 6, pp. 447 449, Jun. 2008. [17] Y. Zhang, A. Liu, X. Pan, Z. Ye and C. Gong, "A modified belief propagation polar decoder," IEEE Commun. Lett., vol.18, no.7, pp.1091-1094, July 2014. [18] Y. S. Park, Y. Tao, S. Sun and Z. Zhang, "A 4.68Gb/s belief propagation polar decoder with bit-splitting register file," in Proc. IEEE Int. Symp. VLSI Circuits Digest of Technical Papers, June 2014 [19] B. Yuan and K.K. Parhi, "Architectures for polar BP decoders using folding," in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS 2014), 1-5 June 2014. [20] B. Yuan and K.K. Parhi, "Early stopping criteria for energy-efficient low-latency belief-propagation polar code decoders," IEEE Trans. Signal Process., vol.62, no.24, pp.6496-6506, Dec.15, 2014. [21] B. Yuan and K. K. Parhi, Architecture optimizations for BP polar decoders, in Proc. IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), pp. 2654-2658, May 2013. [22] Fayyaz, U.U.; Barry, J.R., "Low-Complexity Soft-Output Decoding of Polar Codes," Selected Areas in Communications, IEEE Journal on, vol.32, no.5, pp.958-966, May 2014.