Wireless Communications and Mobile Computing

Volume 2018, Article ID 7286909, 8 pages

https://doi.org/10.1155/2018/7286909

## Performance Analysis of CRC Codes for Systematic and Nonsystematic Polar Codes with List Decoding

Department of Electrical and Computer Engineering, Yokohama National University, 79-5 Tokiwadai, Hodogaya, Yokohama, Kanagawa 240-8501, Japan

Correspondence should be addressed to Takumi Murata; pj.uny@fw-imukat-atarum

Received 24 November 2017; Revised 22 February 2018; Accepted 20 March 2018; Published 8 May 2018

Academic Editor: Qin Huang

Copyright © 2018 Takumi Murata and Hideki Ochiai. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Successive cancellation list (SCL) decoding of polar codes is an effective approach that can significantly outperform the original successive cancellation (SC) decoding, provided that proper cyclic redundancy-check (CRC) codes are employed at the stage of candidate selection. Previous studies on CRC-assisted polar codes mostly focus on improvement of the decoding algorithms as well as their implementation, and little attention has been paid to the CRC code structure itself. For the CRC-concatenated polar codes with CRC code as their outer code, the use of longer CRC code leads to reduction of information rate, whereas the use of shorter CRC code may reduce the error detection probability, thus degrading the frame error rate (FER) performance. Therefore, CRC codes of proper length should be employed in order to optimize the FER performance for a given signal-to-noise ratio (SNR) per information bit. In this paper, we investigate the effect of CRC codes on the FER performance of polar codes with list decoding in terms of the CRC code length as well as its generator polynomials. Both the original nonsystematic and systematic polar codes are considered, and we also demonstrate that different behaviors of CRC codes should be observed depending on whether the inner polar code is systematic or not.

#### 1. Introduction

Polar codes, proposed by Arıkan [1], are known to achieve the symmetric capacity for any given binary-input memoryless channels (B-MCs) with low complexity at both encoder and decoder. Polar codes are characterized by* channel polarization* which is caused by channel splitting and channel combining, and information bits are transmitted over good channels. To identify those channels accurately, first Arıkan proposed a technique which recursively updates mutual information of the channels. However, complete estimation of mutual information can be performed over the binary erasure channel only. Therefore, several researchers proposed channel estimation techniques such as density evolution [2], Gaussian approximation [3], and channel upgrading/degrading [4]. Their performance, however, turn out to be inferior to modern capacity approaching codes such as turbo and low-density parity-check (LDPC) codes when they are compared under the constraint of the same block length.

Various types of decoding algorithms have been proposed for polar codes, such as successive cancellation list (SCL) [5, 6], belief propagation [7], and linear program [8]. In particular, it is well known that the SCL decoder can significantly improve the performance of the polar codes. Furthermore, based on the observation that the correct codeword is in the list but not necessarily the most likely one, Tal and Vardy proposed the use of error detecting codes, such as cyclic redundancy-check (CRC) codes, in order to identify the correct codeword from the list. The effectiveness of such CRC-assisted SCL decoder has been subsequently recognized by several other researchers [9, 10]. Software implementation of its fast decoder has been also developed in [11].

The performance of the polar codes concatenated with CRC code as its outer code, together with the list decoding and CRC code detection (or list-CRC decoding [11]), depends on the length of the CRC code and its generator polynomial. To date, however, little attention has been paid to the structure of CRC codes themselves. Most of the preceding studies employ the CRC codes with 16 bits or longer and their length has been determined empirically. Otherwise, perfect error detection capability is assumed for simulation purpose, assuming that* ideal* CRC codes are employed. Nevertheless, if the block length of the code is short, the relative redundancy associated with CRC codes becomes dominant and thus reduces the overall efficiency of the concatenated code. The CRC code design for convolutional codes has been recently studied in [12], where the optimal CRC codes are identified by developing the equivalent composite convolutional codes based on combination of the original convolutional codes and CRC codes. More recently, an optimal CRC search algorithm for polar codes by using SCL decoder is developed in [13]. However, identifying the best CRC code length for the concatenated polar coding system has remained unknown. In this work, therefore, we attempt to analyze the effect of the CRC code length on the resulting frame error rate (FER) performance of the concatenated polar codes with list-CRC decoding. We first show that the miss-detection error probability of the CRC codes that depends on their* length* directly leads to degradation in terms of the FER performance. We also demonstrate that even if the length of CRC codes is identical, the performance of the list-CRC decoding may be affected by the generator polynomials of CRC codes employed.

Systematic polar coding, also proposed by Arıkan [14], is an effective approach to improve the performance of the conventional polar codes in terms of* bit* error rate (BER). However, the price of the systematic polar codes is their additional processing complexity that requires the SC decoding at the encoder side. Later, a simpler encoding scheme has been proposed in [15], where the conventional polar encoding is employed twice, instead of the SC decoder. Other efficient encoding schemes are proposed more recently in [16], where the three encoding implementations are described based on the trade-off between time and space complexity. In this work, we also address the CRC code property requirement for systematic polar codes. Based on the fact that the distance spectrum property of the systematic polar codes is different from that of the nonsystematic ones [17], we demonstrate that the CRC code structure suitable for systematic polar codes is different from that for the original nonsystematic codes.

This paper is organized as follows. In Section 2, the system model considered throughout the paper is described. Section 3 develops the relationship between the CRC code length and the resulting FER performance of the concatenated polar codes with the list-CRC decoder. In Section 4, the analytical results developed are compared with the corresponding simulations. Finally, Section 5 concludes the paper. We note that our initial results on the conventional nonsystematic polar codes are reported in the conference paper [18]. This paper is its considerable extension including the systematic polar codes and their distance spectrum properties.

#### 2. System Model

We consider the binary polar codes concatenated with a binary CRC code at the transmitter, together with their SCL decoding at the receiver. Information bits of length are first encoded by CRC encoder to generate bits, where the parity bits of length are appended by the cyclic encoder for the purpose of correct information identification at the decoder. This output sequence (i.e., CRC codeword) is encoded by the inner polar encoder to generate the binary codeword of length . This is modulated by binary phase-shift keying (BPSK) and transmitted over an additive white Gaussian noise (AWGN) channel. At the receiver, the likelihood is calculated from the received signal and then passed to the list-CRC decoder, where survived paths (codeword candidates) from the list decoder are tested by CRC detector starting from the most likely path. When the candidate codeword is determined to be correct by the CRC detector, the corresponding information bits are considered as the transmitted information bits.

##### 2.1. Polar Codes

Following the notation of [1], let denote a binary-input memoryless channel (B-MC) with input alphabet and output alphabet . We denote the corresponding channel transition probability as , where and .

The polar encoding is denoted by , where is the codeword, is the information block, and is the generator matrix of the polar codes, which is the mapping function of [1]. The generator matrix is represented by the following recursive form:where , denotes the th Kronecker power of *,* and is the bit-reversal permutation matrix.

Polar codes combine the input binary channels at the encoder and then split them at the decoder. After the channel combining and splitting processes, the set of binary-input coordinate channels, referred to as* bit channels* and commonly denoted by for , can be expressed aswhere the set of the vectors corresponds to the output of the channel and is its input.

Due to the channel combining and splitting operation, the mutual information of the bit channel, , polarizes to either 0 or 1. Polar codes select out of bit positions as information bits based on their channel reliabilities. We denote the set of the selected channels for information transmission as . Its complement contains the* frozen bits* that are known to the receiver a priori and thus are not transmitted. The code rate of the polar codes is thus given by .

##### 2.2. Concatenated Encoder

As an outer code, the CRC sequence of length bits is added to the information sequence. This CRC code is of rate and thus the effective rate of the polar code is but only bits represent information. Therefore, increasing for better error detection performance may lead to increased code rate and thus reduction of the error correcting capability of the inner polar code. Hence, the redundancy introduced by the CRC code should be designed carefully, especially when the block length is relatively short.

##### 2.3. List-CRC Decoding

Polar codes with SC decoding are proved to achieve channel capacity for any binary-input memoryless channels. For a given channel index with , the estimated bit that corresponds to is expressed aswhere is the received symbol vector and is the previously estimated bit vector with respect to the th bit.

SCL decoding searches a limited number of paths that correspond to the input bits in a tree diagram; that is, it retains at most candidates in parallel [5, 6] for some positive integer that represents the list size.

When the most likely paths are determined at the final stage, the path that holds the highest likelihood is chosen as the most reliable path and its information sequence is tested by CRC detector (which is referred to as a* CRC test* in what follows). If the CRC test indicates that the most likely candidate is incorrect, the candidate with the second highest likelihood will be tested. This process is iterated until any of the candidates that pass the CRC test is found, or all the candidates are tested.

Although the use of CRC codes should improve the performance, increasing the length of CRC bits should reduce the efficiency as mentioned in the previous subsection. On the other hand, if the CRC code length is not sufficient, it may erroneously detect the incorrect candidate as correct one. Therefore, there should be a trade-off in the length of CRC code, which will be elaborated in the next section.

##### 2.4. Systematic Encoding

For a systematic code, each codeword can be explicitly formed by the information bits and parity bits. In many conventional block codes, a systematic encoding structure is adopted for its practical advantage upon retrieval of information bits from the decoded codeword. On the other hand, the original polar codes described in Section 2.1 have a nonsystematic structure. However, it has been shown that systematic polar coding [14] outperforms the original polar codes in terms of BER even though the FER performance remains identical.

For systematic polar encoding, there are largely two encoding approaches. The first approach is the basic technique for general linear codes where the parity bits are identified from the generator matrix, and the second one is to employ the SC decoder as a part of encoding process, which is briefly described as follows: let be a codeword vector, where denotes a part of the codeword corresponding to information index and denotes the corresponding parity bits. First, information sequence is set as and all the bits in are set as erased bits, and then decoding of the codeword is performed by the SC decoder. Consequently, we obtain a temporary information sequence , and then is determined by encoding the temporary sequence .

#### 3. Performance Analysis of List-CRC Decoding

The exact performance analysis of SC decoding is challenging due to correlation between codeword bits. For a binary erasure channel (BEC), Parizi and Telatar have shown that the correlations between the erasure events decay fast and thus the union bound on the frame error probability becomes tight as the codeword length increases [19]. More recently, Shuval and Tal have derived an improved lower bound for a binary memoryless symmetric channel based on the correlation between the codeword bits [20].

In this section, we analyze the performance of the list-CRC decoding for a given length of CRC bits , provided that the statistical distribution of the correct candidate in the list is available. We note that the distribution itself is difficult to analyze, and thus we simply assume that it is obtained by resorting to Monte-Carlo simulation based on the conventional list decoding without concatenation of error detecting codes.

##### 3.1. Ideal Decoding Error Probability

Let denote the polar code as our inner code and let denote a set of the codewords encoded by -bit CRC encoder as our outer code.

For a given information sequence , represents the corresponding CRC codeword. Likewise, we denote the codeword of polar codes by .

For a given received sequence , the estimated codeword of list decoder is expressed bywhere and are the vectors corresponding to information and frozen bits, respectively, and the resulting estimated information sequence is denoted bywhere is the decoding operation of which maps .

Let denote the number of the candidate codewords generated by the list decoder, let be a set of indices in the list, and let denote the list index which corresponds to the correct codeword. Here, without loss of generality we assume that smaller indices correspond to more likely candidates. If the correct codeword is not in the list, that is, , we assume that . Moreover, let = the probability conditioned on , that is, denote the distribution of , that is, the probability that the index agrees with at a given SNR over an AWGN channel.

If we assume the ideal case where the correct codeword in the list can be identified without error, the ideal decoding error probability is expressed as

##### 3.2. Undetected Error Probability of CRC Codeword

The CRC test may fail with a certain probability (i.e., undetected error probability of the CRC codeword). As increases, the error correcting performance of the concatenated polar codes may be degraded.

In general, the undetected error probability of the code over a binary symmetric channel (BSC) with crossover probability is given by [21]where is the weight distribution of . We note that the CRC code may be called* good* if the relationshipholds for all [21]. The upper bound of (8) may be also achieved if all the binary sequences of length ; that is, all the elements of may appear in the list with equal probability [22] (in other words, the candidates in the list are modeled as* completely random strings* [22]).

The major challenge in analyzing the probability in the case of polar codes with list-CRC decoding is that, due to the correlation among the codewords, the binary sequences in the list may be also correlated. Nevertheless, as mentioned in [22], the upper bound of in (8) would be a good estimate of the probability of the undetected error, provided that the minimum distance of CRC code is much lower than that of the candidates in the list.

##### 3.3. Approximate Upper Bound on Decoding Error Probability

Given the above undetected error probability model of CRC code, the probability of correct detection by the CRC test is lower bounded as

On the -candidate list decoding, if the th estimate codeword is correct, all the codewords up to the th list should be incorrect. In other words, all the codewords must be correctly detected as invalid codewords by the CRC test and each probability is bounded by (9). Hence, the correct decoding probability is expressed aswhere is the th estimate vector of polar codes in the list and the term corresponds to the number of remaining binary sequences of length prior to the th CRC test. Since , we may expressThus, the approximate upper bound of the decoding error probability for the list CRC-concatenated system with the candidates of* completely random strings* is expressed asWe observe that the first term in (13) corresponds to the ideal error performance when CRC test is perfect and is derived in (6), whereas the second term in (13) is the performance degradation associated with the imperfect CRC code, which can be reduced by increasing the redundant bit length . Therefore, we should select such that is negligible compared to .

#### 4. Simulation Results

In this section, we investigate the FER performance of the CRC-concatenated nonsystematic and systematic polar codes with list-CRC decoding through various simulations with emphasis on the difference in the CRC code length as well as its generator polynomials. Throughout simulations, we employ BPSK for modulation and the channel model is AWGN. The polar codes simulated are designed according to [2] with design-SNR dB (as proposed in [23]), where is the rate of the inner polar codes. The list size of the SCL decoding is chosen as . We also consider the fixed spectral efficiency scenario where the code rate of the entire system is . This is achieved by setting the parameters of polar codes as with and representing the code length of the polar code and the redundant bits imposed by the CRC code, respectively. Therefore, increasing CRC code length (for better list-CRC decoding performance) leads to an increment of the code rate of polar codes with no effective increase of information bits, which in turn reduces the error correction capability. Therefore, it should reveal the trade-off relationship.

##### 4.1. Comparison of CRC Code Length

We first examine the trade-off between the CRC code length and the code rate of polar codes. In what follows, we describe the generator polynomial of CRC encoders by the hexadecimal representation; for example, the notation 0x8810 for 16-bit CRC encoder indicates in binary representation, which corresponds to , and addition of the implicit “” term specifies the generator polynomial of [24].

Figures 1 and 2 compare the FER performance of the conventional nonsystematic polar codes with code lengths and 2048, respectively, where the CRC code length is chosen from 4, 8, 10, and 16. In this example, only the results with the CRC polynomials that are found to be best among those compared for each are shown.