Decoder-tailored Polar Code Design Using the Genetic

Ahmed Elkelesh, Moustafa Ebada, Sebastian Cammerer and Stephan ten Brink

Abstract—We propose a new framework for constructing a slight negligible performance degradation. The concatenation polar codes (i.e., selecting the frozen bit positions) for arbitrary with an additional high-rate Cyclic Redundancy Check (CRC) channels, and tailored to a given decoding algorithm, rather than code [4] or parity-check (PC) code [6] further improves the based on the (not necessarily optimal) assumption of successive cancellation (SC) decoding. The proposed framework is based code performance itself, as it increases the minimum distance on the Genetic Algorithm (GenAlg), where populations (i.e., and, thus, improves the weight spectrum of the code. This collections) of sets evolve successively via evolu- simple concatenation renders polar codes into a powerful tionary transformations based on their individual error-rate coding scheme. For short length codes [7], polar codes were performance. These populations converge towards an information recently selected by the 3GPP group as the channel codes for set that fits both the decoding behavior and the defined channel. Using our proposed algorithm over the additive white Gaussian the upcoming 5th generation mobile standard noise (AWGN) channel, we construct a polar code of length (5G) uplink/downlink control channel [8]. 2048 with code rate 0.5, without the CRC-aid, tailored to plain On the other hand, some drawbacks can be seen in their high successive cancellation list (SCL) decoding, achieving the same decoding complexity and large latency for long block lengths error-rate performance as the CRC-aided SCL decoding, and 6 under SCL decoding due to their inherent sequential decoding leading to a coding gain of 1dB at BER of 10− . Further, a belief propagation (BP)-tailored construction approaches the SCL manner (see [9] and references therein), which currently limits error-rate performance without any modifications in the decoding the usage of polar codes in several practical applications. algorithm itself. The performance gains can be attributed to Although several other decoding schemes such as the iter- the significant reduction in the total number of low-weight ative belief propagation (BP) decoding [10] and the iterative codewords. To demonstrate the flexibility, coding gains for the belief propagation list (BPL) decoder [11] exist, they are cur- Rayleigh channel are shown under SCL and BP decoding. Besides improvements in error-rate performance, we show that, rently not competitive with CRC-aided SCL decoding in terms when required, the GenAlg can be also set up to reduce the of error-rate performance [12]. However, they promise more decoding complexity, e.g., the SCL list size or the number of BP efficient decoder architectures in terms of decoding latency iterations can be reduced, while maintaining the same error-rate and parallelism. The partitioned successive cancellation list performance. (PSCL) decoder [13] was introduced achieving almost the Index Terms—Polar Codes, Channel Polarization, Polar Code Construction, Reed–Muller Codes, Genetic Algorithm, Evolution- same performance of the SCL decoder with a significantly ary , Artificial Intelligence. lower memory requirement. Therefore, a good polar code design tailored to an explicit decoder may change this situation I.INTRODUCTION as it promises either an improved error-rate performance or Polar codes [2] are the first family of codes proven to be savings in terms of decoding complexity for a specific type capacity achieving for any Binary Input Discrete Memoryless of decoder. In this work, we show that both can be achieved Channel (BI-DMC) and with an explicit construction method by considering the decoding algorithm throughout the code under low complexity successive cancellation (SC) decoding. construction phase instead of constructing the code based on However, for finite lengths, both the SC decoder and the polar the typical assumption of SC decoding. An intuitive example arXiv:1901.10464v1 [cs.IT] 28 Jan 2019 code itself (i.e., its maximum likelihood (ML) performance) why a design for SC is sub-optimal for other decoding schemes are shown to be sub-optimal when compared to other state- can be given by considering the girth of the graph under BP of-the-art coding schemes such as low-density parity-check decoding, which strongly depends on the frozen positions of (LDPC) codes [3]. Later, Tal and Vardy introduced a succes- the code. Thus, freezing additional nodes can even result in a sive cancellation list (SCL) decoder [4] enabling a decoding degraded decoding performance under BP decoding although performance close to the ML bound for sufficiently large list the ML performance indeed gets better (see Fig. 9 in [14]). sizes. A complexity reduced version was proposed in [5] with In a strict , one may argue that polar codes are inherently connected with SC decoding and only a design Manuscript submitted September 20, 2018; revised January 28, 2019; date based on the concept of channel polarization results in a true of current version January 28, 2019. The authors are with the Institute of Telecommunications, Pfaffen- “polar” code (cf. Reed–Muller (RM) codes). However, from a waldring 47, University of Stuttgart, 70569 Stuttgart, Germany (e-mail: more practical point of view, we seek to find the most efficient elkelesh,ebada,cammerer,[email protected]). coding scheme for finite length constraints and, with slight This work has been supported by DFG, Germany, under grant BR 3205/5-1. Parts of this work have been accepted in the International ITG Conference abuse of notation, we regard the proposed codes as polar codes. on Systems, and Coding (SCC), Feb. 2019 [1]. Thus, a design method that considers the decoder and improves the overall performance is an important step for future polar II.POLARCODES code applications. Polar codes [2] are based on the concept of channel po- Except for the Binary Erasure Channel (BEC), existing larization, in which N = 2n identical copies of a channel W polar code constructions rely either on analytic approxima- are combined and N synthesized bit-channels are generated. tions/bounds such as the Bhattacharyya parameter [2], density These synthesized bit-channels show a polarization behavior, evolution [15] and Gaussian approximation [16], [17] or in the sense that some bit-channels are purely noiseless and heuristics [18]–[20], including Monte-Carlo-based simulations the rest are completely noisy. A recursive channel combination for specific decoding algorithms [21]–[23]. Additionally, sev- provides the polarization matrix eral concatenation schemes of polar codes and other coding techniques have been proposed [24]–[28] to improve the finite n 1 0 G = B F⊗ , F = length performance under different decoders. However, an N N · 1 1   explicit design tailored to SCL or BP decoding turns out to be n cumbersome due to the many dependencies in the decoding where BN is a bit-reversal permutation matrix and F⊗ denotes graph and the high dimensionality of the optimization problem. the n-th Kronecker power of F. Extensions for kernels other than the 2 2 kernel exist, but are not considered in this work. Polar code construction (or design), throughout this paper, × refers to selecting an appropriate frozen bit position vector. However, the results from this work can be applied straight- forwardly. The polar codewords x are given by x = u G , In this work, we propose a new framework for polar code · N where u contains k information bits and N k frozen bits, construction matched to a specific decoding algorithm em- − bedded in the well-understood Genetic Algorithm (GenAlg) w.l.o.g. we set the frozen positions to “0”. The information set A contains the k most reliable positions of u in which the context. As a result, the optimization algorithm works on a ¯ specific error-rate simulation setup, i.e., it inherently takes k information bits are transmitted and A denotes the frozen into account the actual decoder and channel. This renders positions (i.e., the complementary set to A). The conventional generator matrix, denoted by G, is constructed as the rows r the GenAlg-based polar code optimization into a solid and { i} of GN with i A. The task of the polar code construction, powerful design method. Furthermore, to the best of our ∈ knowledge, the resulting polar codes in this work outperform in its original form, is to find the information set A which any known design method for plain polar codes under SCL maximizes the code performance (under SC decoding) for a decoding without the aid of an additional CRC (i.e., CRC- specific channel condition. More details on the problem of aided SCL performance could be achieved without the aid of polar code construction is provided in Sec. III. a CRC). Additionally, the BP decoder of the proposed code In this work, a polar code with codeword length N and k achieves (and slightly outperforms) the SCL decoding perfor- information bits is denoted by P (N,k), i.e., the information set has the cardinality A = k and the code rate Rc = k/N. mance of the conventional code without any required decoder | | modifications. We noticed that the performance gains can be Systematic polar encoding [29] can be applied which en- attributed to the significant reduction in the total number of hances the bit error rate (BER) performance with the same low-weight codewords. Furthermore, the decoding complexity, block error rate (BLER) performance, when compared to non- latency and memory requirements can be reduced for a fixed systematic polar codes. Throughout this work, we use non- target error-rate after carefully constructing the polar code systematic polar encoding. However, it is straightforward to using GenAlg. We make the source code public and also use the GenAlg to construct systematic polar codes. provide the best polar code designs from this work online1. The basic polar decoding algorithms are: [2]; the first proposed decoder for polar Other optimization algorithms (e.g., differential evolution) can • SC decoding be used to solve the polar code design problem. However, due codes, where all information bitsu ˆi are sequentially to the hard-decision nature of the problem (i.e., a bit-channel hard-decided based on the previously estimated bits, can be either frozen or non-frozen) GenAlg seems to be more uˆ1,...,uˆi 1 and the channel information y, where i { − } ∈ suitable. 1,...,N . Obviously, it suffers from unavoidable error { } The paper is organized as follows. In Sec. II, we briefly propagation (i.e., decision error at decided bitu ˆi cannot review the fundamental concepts of polar codes. In Sec. III, be corrected later and will eventually affect all next bit the problem of polar code construction is presented along with decisions). [4]; denoted by SCL (L), utilizes a list the most relevant work. Sec. IV introduces the GenAlg and dis- • SCL decoding cusses its preliminary concepts. The GenAlg-based polar code of L most likely candidate paths during SC decoding; construction is then presented in Sec. V. Results are presented at every decision the decoder branches into two paths in Sec. VI and Sec. VII for additive white Gaussian noise (u ˆi = 0 andu ˆi = 1) instead of the hard decision in the SC (AWGN) and Rayleigh fading channels, respectively. In Sec. decoder. To limit the exponential growth of complexity, VIII, we show that the improved code construction method can only the L most reliable paths are kept sorted in the list lead to significant reduction in decoding complexity, latency according to a specific path metric. [4]; denoted by SCL+CRC- and memory requirements. Sec. IX depicts some conclusions. • CRC-aided SCL decoding r (L), where an additional high-rate CRC of r bits is 1Link-will-be-Available-After-Review concatenated to the polar code, to help in selecting the final codeword from the L surviving candidates, yielding codes d is equal to the minimum weight of the rows r min { i} significant performance gains in competing with the state- in the GN-matrix with indices in A (i.e., i A) [32, Lemma 3]. ∈ of-the-art error correcting codes. Choosing the best k bit positions for information transmis- [10]; denoted by BP (N , ) is an iterative sion is even more crucial for short length polar codes. This can • BP decoding it max message passing decoder based on the encoding graph of be attributed to the fact that the bit-channels of short length the polar code. Log-likelihood ratio (LLR) messages are polar codes are not fully polarized, and the portion of semi- iteratively passed along the encoding graph until reaching polarized bit-channels (which would be normally unfrozen) a maximum number of iterations (Nit,max) or meeting an leads to high error-rates. Although efficient polar code con- early stopping condition. It can be inherently parallelized struction only exists for the BEC case [2], many algorithms and allows soft-in/soft-out decoding. However, the error- were devised for the AWGN channel case. A survey on the rate performance of polar codes under BP decoding effect of the design SNR and the effect of the specific polar is typically not competitive with state-of-the-art SCL code construction algorithm used on the error-rate performance decoding. Throughout this work, we use the G-matrix- of SC decoding is presented in [33]. based early stopping condition (“re-encoding”), where In [2], Arıkan uses the symmetric capacity I(Wi) or the decoding terminates when xˆ = uˆ G [30]. Bhattacharyya parameter Z(W ) of the virtual channel W · N i i to assess the reliability of the bit-channels (i.e., denoted as III.POLAR CODE CONSTRUCTION “conventional construction” throughout this work). However, The polar code construction phase is about deciding the the Bhattacharyya parameters are preferred because of being most reliable k bit positions that are set as the information connected with an explicit bound on the block error proba- bit positions, while the remaining N k bit positions are bility under SC decoding. A Monte-Carlo-based polar code − set as frozen bit positions. Thus, ranking the bit-channels construction was also proposed by Arıkan in [2]. according to their reliabilities is of major significance in the In [15], a density evolution-based polar code construction polar code construction phase. The information set A is the algorithm was proposed. A Gaussian approximation of the outcome from the polar code construction phase specifying density evolution for polar code construction was proposed the indices of the information bit positions. A corresponding in [16]. In [17], with the help of Gaussian approximation, the logical A-vector can be used such that A = [a1,a2,...,aN], approximated BLER is used to assess the reliabilities of the where a 0,1 and 1 i N. Bit position i is frozen if bit-channels instead of the upper bound on the BLER (i.e., i ∈ { } ≤ ≤ ai = 0, while bit position j is non-frozen (i.e., can be used for Bhattacharyya-based design), assuming SC decoding. information transmission) if a j = 1. For instance consider the It is important to keep in mind that polar codes that are P (8,4)-code, the information set A = 4,6,7,8 can thus be constructed based on the mutual information or the Bhat- { } represented by the logical vector A = [00010111]. tacharyya parameters of the bit-channels, as proposed by The code construction can be considered as an optimization Arıkan, are tailored to hard-output SC decoders. Thus, they problem, where the objective is to find the (sub-) optimal set are not necessarily optimum when using other decoders such of k good positions in a set of indices 1,...,N , as shown as the soft-output BP decoder [23], [32], [34] or the SCL { } in (1). The reliability measure is the main difference between decoder [23], [34], [35]. various code construction algorithms, e.g., upper bound on the In [32], the authors observed that picking the frozen bit BLER, exact BLER or BER as shown in (1). positions according to the RM rule enhances the error-rate performance significantly under maximum a posteriori (MAP) Aopt = arg min BER(A) or BLER(A) decoding due to the fact that the RM rule maximizes the A minimum distance dmin of the code. An RM code can be N (1) viewed as a polar code with a different frozen/non-frozen bit subject to ∑ ai = k, i=1 ! selection strategy [32], where both codes are based on the same polarization matrix G = F n. However, the k information bit a 0,1 . N ⊗ i ∈ { } positions of RM codes are the positions corresponding to the where A = [a1,a2,...,aN], Rc = k/N and i = 1,2,...,N. k row indices with the maximum weights in the GN-matrix. The information set A (or, equivalently, the A-vector) is Consequently, the RM code construction phase is channel channel dependent, meaning that it depends on the respective independent as it merely depends on the row weights of the channel parameter (e.g., design SNR for AWGN channel, GN-matrix. A hybrid polar and RM code construction [24] or design ε for BEC). Thus, polar codes are non-universal. results in significant error-rate improvement gains under SCL However, techniques are proposed in [31] to devise universal decoding without the CRC-aid, by improving the minimum polar codes. In [10], Arıkan introduced adaptive polar codes, distance of the resultant code. This underlines the benefits or channel-tailored polar codes, in which the polar code is of improving the minimum distance of the code and also designed using a channel-specific condition, i.e., setting the the need of an improved construction algorithm tailored to design SNR equal to the SNR of the transmission channel. It the decoder. Similarly, improved error-rate performance of is worth mentioning that the minimum distance of polar codes multi-kernel polar codes under SCL decoding was achieved dmin depends on the polar code construction (i.e., A). Polar by optimizing the distance properties of polar codes as shown in [36]. A family of codes that interpolates between polar and Initialize Compute Start RM codes was introduced in [34]. These codes pass smoothly Population Fitness from a polar to an RM code, for a fixed codelength and rate, by changing a design parameter α. These codes provide significant error-rate performance gains under BP and SCL Compute decoding. Terminate Crossovers In [23], an LLR-based polar code construction is proposed, Fitness and in which the LLRs of the non-frozen bits are tracked during Mutations BP decoding to identify weak information bit-channels, and then the information set A is modified by swapping these yes weak information bit-channels with strong frozen bit-channels. Return Stopping The resulting code shows an enhanced error-rate performance fittest condition Selection under both BP and SCL decoding due to the resultant reduction in the number of low weight codewords. no Furthermore, some work has been done to construct polar Fig. 1: An abstract view of the genetic algorithm (GenAlg). codes which are tailored to a specific decoder, e.g., polar code construction assuming SCL decoding [19] and assuming BP decoding [21], [22], where a Monte-Carlo-based construction Furthermore, researchers from other research fields (e.g., is proposed similar to [2]. channel coding, signal processing) worked on adapting the As the output alphabet size grows exponentially with the GenAlg to some of their specific problems that lacked enough codelength N, it is computationally of high complexity to theoretical basis for solving. This lead to improvements over the existent theoretical methods of dealing with the same precisely calculate I(Wi) or Z(Wi) per bit-channel. However, a quantization can be used to closely approximate them [37]. problems. One of the earliest applications of GenAlg in the A recent discovery which reduces the complexity of the field of channel coding was proposed in [42] where the polar code construction is the partial order for synthesized GenAlg was used to find maximal distance codes. Besides, channels [38], that is independent of the underlying binary- it was used in [43] for decoding linear block codes. input channel. According to [39], it suffices to compute the Later, it was proposed in [41] to enable discarding the Bhattacharyya parameter (or any other reliability parameter) systematic bits at the encoder side and help reconstructing of a sub-linear number of bit-channels, if we take advantage them at the decoder side using the GenAlg and, thus, enabling of the partial order. Later an heuristic closed-form algorithm rate adjustments without puncturing. Also, a GenAlg-based called polarization weight (PW) [18] was proposed to deter- LDPC decoder was developed [44] where the SNR value is mine the reliability of bit-channels based on their indices and not required at the receiver side. Furthermore, a GenAlg-based a carefully chosen parameter β [20], resulting in a significant decoder for convolutional codes was introduced in [45]. complexity reduction in the polar code construction. An abstract view of the GenAlg setup is depicted in Fig. 1. To the best of our knowledge, no analytical polar code We briefly review the GenAlg, revisit the most significant construction rule exists thus far which would be optimized definitions relevant to the scope of this work and refer the for BP or SCL decoding and, thus, the nature of the iterative interested reader to [46] for more details. GenAlg is inspired or list decoding is not usually taken into account while by the natural evolution where populations of offsprings, designing the information set of a polar code [35]. Thus, the resulting from parents, keep evolving and compete, while only problem of taking the type of decoding into consideration the fittest offsprings are the ones that survive. while constructing the polar code is, thus far, an open problem. GenAlg tries to mimic the evolution of natural organisms In this work, we propose a method which always converges where it typically starts with an initial population of candidate to a “good enough” solution, i.e., leads to a better error-rate individuals and the fittest of them survive and give birth to new performance when compared to the state-of-the-art polar code offsprings which represent the new population. The criterion construction techniques available nowadays. of fitness is, therefore, critical for the GenAlg so that the offsprings keep evolving towards the fittest. If the size of population and the number of evolution stages are sufficiently IV. GENETIC ALGORITHM large, the GenAlg converges to an ultimate (sub-) optimal GenAlg was first introduced by Holland in 1975 [40] as an solution. The most important GenAlg fundamentals are briefly efficient tool that helps in achieving (good) solutions for high- introduced in the following subsections. dimensional optimization problems which are computation- ally intractable. Beside finding (good) local minima, a well- A. Population parametrized GenAlg is known for converging to these minima The population, in the GenAlg context, is the collection very quickly [41]. Due to that merit, GenAlg has attracted a of individuals that sample the search space at any arbitrary lot of research in the Artificial Intelligence (AI) field leading search instance. Each individual (also called “chromosome”) to improved and adaptive variants of it. is, for instance, a binary vector of bits (hence called “”). These individuals represent the candidate solutions to the point. The simplest choice of the crossover point is a single objective function of the optimization problem. Each of the midpoint crossover. The resultant vectors are to undergo individuals is tagged with its own fitness value according competition with other offsprings for survival (i.e., survival of to some fitness function. One important parameter of the the fittest). Typically, crossover occurs at a user-defined rate GenAlg is the (allowed) population size which impacts the called “crossover rate” pc. optimization problem significantly. The larger the size, the better solution the optimization yields and, however, the slower F. Mutation the convergence speed. Mutation is the other evolutionary transformation where a small random perturbance is caused to the individual vector B. Fitness function offsprings. This perturbance is, in its most common and The fitness function, which is most commonly the objective simplest form, a bit flip in a random position. Mutation, function to be optimized, provides the baseline on which the thus, provides more diversity and broadens the search space. individuals of a population are to be evaluated and, thus, al- Furthermore, mutation helps in reducing the occurrence of lowed to survive. It provides a fitness value for each individual a famous phenomenon called premature convergence, where which serves as guideline for the GenAlg in the direction early convergence to a sub-optimal solution occurs due to of the optimal solution. The precise choice of the fitness the reduced population diversity [48]. For instance, if all function, thus, plays an important role in the quality of the individuals in a population converged to a bit 0 at position final solution and the speed of converging to it. One important i while the optimal solution has bit 1 at this position, only property of the fitness function is its speed of computation as mutation can find a way back towards this optimal solution. it is extensively executed in a typical optimization problem. Similar to crossover, mutation occurs at a user-defined rate A more accurate estimation (or computation) of the fitness called “mutation rate” pm. function usually enhances the quality of the final solution. V. GENETIC ALGORITHM-BASEDPOLARCODE C. Initialization CONSTRUCTION GenAlg typically starts with a randomly generated popu- As mentioned earlier, polar code construction can be viewed lation of candidate individuals where each of them compete as an optimization problem (see (1)) searching for the optimum against each other and only the few fittest of them survive. information set A that has the minimum (possible) cost func- The surviving individuals will then encounter evolutionary tion. This optimization problem can be solved using GenAlg. transformations (namely: mutations and crossovers) to gen- The BER has been selected as the cost function throughout erate offsprings which would represent the new population. this work for optimization conducted on AWGN channels, in However, a much faster and, possibly, better convergence is order to be consistent with the results in [4]. Whereas BLER often achieved by an initial population of estimates that are has been selected for optimization conducted on Rayleigh good enough according to their fitness values. It is worth- fading channels, in order to be consistent with the results mentioning that a more diverse initial population can enhance in [49]. Moreover, the complexity can be considered as the the quality of the acquired solution (i.e., widened search cost function (e.g., minimum list size in SCL decoding or space). minimum number of BP iterations, to achieve a target error- rate). All presented results throughout this work are simulated D. Selection on GPUs to accelerate our error-rate simulations [50]. Next, we Selection indicates how the GenAlg selects the parents discuss the polar code construction scheme based on GenAlg, of the next offsprings at each evolution stage, where fitter Algorithm 1. The whole setup is depicted in Fig. 2. individuals are forwarded as parents for the upcoming off- springs and the weak ones perish. Many selection strategies A. Population exist [47], where they mainly differ in the criterion of parent In this work, the population P = Ai , for i = 1,...,S, is a { } selection and offspring proportion dedicated for each of the collection of S candidate information sets represented by their selected parents. The selection strategy applied in this work binary A-vectors, each with its own fitness value (e.g., BER is called “Truncation selection” strategy where the population or BLER), that represent the search space. is truncated to the fittest T individuals and selected to be the parents of the next offsprings. B. Initialization As it turns out, GenAlg converges faster, and probably to E. Crossover a better solution, if its population Pinit is initialized with a Crossover is the most significant operation to which sufficiently good collection of estimated A-vectors. For that GenAlg’s evolution towards the (sub-) optimal solution is purpose, the population is initially filled with a collection mostly attributed. Two parent vectors among the population of A-vectors, all based on the Bhattacharyya construction are subjected to crossover, by selecting a random crossover [2] obtained for BECs with various erasure probabilities (see point (or, generally, several points), such that the two parent Algorithm 2). Besides, we considered having the A-vectors vectors exchange their genes (i.e., bits) up to the crossover constructed according to [24] among the initial population, ) . init SNR ) P , GenAlg c A ... R input GenAlg , init P N -vector rep- P ( A SNR is the result of (see Algorithm ) ) Y A BERs -vectors or equivalently -vector under GenAlg A GenAlg A init -vectors in leading to the minimum P A SNR SNR , A , S A ( init P ( or any other reasonable metric as dB | i do init } BERs P 5 , desSNR do LLR | input construction according to [2] over a specific channel @ various BEC erasure probabilities simulate a specific desired decoder (e.g., BP, SCL, design SNRs of design SNR of the GenAlg BER-vector corresponding to design SNR of thepopulation GenAlg size initial population input population of codelength code rate to 1 ··· P in to ...... , = N i 0 in polarDecode ∑ A , , initializePopulation computeBERs SNR BER computeBERs ← ← { -vectors is, thus, selected to be the inverse of BhattacharyyaConstruction select fittest A ← . ← , ← GenAlg GenAlg . add A add BER , , init init input c , P end for BERs for each end for initialize an empty population initialize anfor empty each vector A BERs S desSNR SNR P P N R SNR Mutation guarantees more diversity and acts against pre- 8: 6: 7: 5: 3: 4: 4: 5: 2: 1: 2: 3: 1: Output: Output: Input: The fitness functionindividual that decidesthe error-rate. the In rank othererror-rate , of is the announced each to3). of be We the the noticed optimum thatcantly an improves the accurate quality error-rate of simulation the signifi- acquired solution the fitness function. This is left asD. an open Mutation research point. mature convergence at awardly, certain a bit position. bit Itresenting flip is, of a straightfor- a frozen-to-non-frozenswitch random (or at position a that in respective non-frozen-to-frozen) shown the in bit Fig. position. 3a, A where the mutation offspring example vector is Algorithm 2 Input: Algorithm 3 Alternatively, one mightLLR-reliability consider using mutual information, . )  S

BERs = ComputeBERs i,SNRGenAlg ,

P P

c  GenAlg R GenAlg init SNR ) x y P SNR ) T N , c , R AWGN, Channel Initialize Rayleigh) (e.g., , ) Population of the GenAlg 2 N GenAlg Polar Encoder Polar Decoder (Systematic or ( (e.g., BP, SCL) ( Non-systematic) ) BERs 0 , -vector from N GenAlg P SNR A / ( remarkably. Furthermore, 1 , b + P i E SNR ( ( P -vector A GenAlg BERs ? do A 1 + i max , yes P max , pop ) N pop T codelength code rate design SNR Population size, see maximum number of populations number of truncated parents optimum N crossover) < 3 i ...... computeBERs + 2 Update Population (selection, mutation, select fittest ,..., , T ← max Genetic Algorithm-based Polar Codes 2 , ( updatePopulation , · , ← initializePopulation pop 1 . no 5 N A . GenAlg ← = P max 0 ← , GenAlg A i BERs P An abstract view of the genetic algorithm (GenAlg)-based , ← , GenAlg GenAlg pop , init c : Select fittest N R SNR P S for end for A N T A Terminate The cost function chosen in this work is the error-rate (i.e., 2: 1: 3: 5: 6: 7: 4: BER or BLER) at a user-defined design SNR C. Fitness function one can possibly usepopulation to the ensure codes sufficient from populationquick diversity convergence. [23], needed [34] for in the initial in the SCL-tailored polarproved code the acquired construction solution phase, which im- Input: Algorithm 1 Fig. 2 polar code construction. Output: mutation, see Fig. 3a X 00010111 X 00010111 00001111 W Algorithm 5 Mutation Crossover Input: Ainput , . input A-vector m C Output: Aout . . output A-vector after swapping a frozen Y 01010111 Y 00011111 . and a non-frozen bit position Adjust rate Adjust rate . we assume pm = 1 Z 01000111 Z 00011101 1: A A . initialize out ← input (a) Mutation or swapping (b) Crossover 2: idxs ones indices of 1’s in A ← out 3: idxs zeros indices of 0’s in A Fig. 3: Examples of GenAlg’s evolutionary transformations in the ← out 4: i random index from idxs ones polar code construction context. Inputs (X and/or W) and output (Z) ← satisfy the constraints in (1). 5: j random index from idxs zeros ← 6: A [i] 0 . random bit flip 1 to 0 at position i out ← 7: Aout [ j] 1 . restore code rate Rc bit flipping the 2nd bit of the parent vector X. However, the ← polar code construction problem has the constraint that the number of non-frozen bit positions (i.e., number of ones) is constant Rc = k/N). To restore the code rate Rc, sequential equal to k to maintain the code rate Rc = k/N. To restore the bit flipping operations are applied to the resultant vector until code rate Rc, one further mutation is applied to the resultant reaching the k ones in the binary A-vector (Z in Fig. 3b). The offspring vector Y yielding the vector Z. Thus, the overall pseudo algorithm of the crossover is shown in Algorithm 6. operation is a “swap” of a frozen and a non-frozen bit position. Similar to mutation, the crossover rate pc was chosen to be 1 The pseudo algorithm of the mutation (i.e., swapping) is shown (i.e., one crossover always occurs for each pair of parents per in Algorithm 5. It can be clearly seen that for this specific evolutionary step). problem the mutation rate pm was chosen to be 1 (i.e., one mutation always occurs for each parent per evolutionary step). Algorithm 6 crossover, see Fig. 3b updatePopulation Input: Algorithm 4 st Ainput1 , . 1 input A-vector i.e., parent 1 Input: nd Ainput2 , . 2 input A-vector i.e., parent 2 Pinput , . input population of A-vectors Output: BERs, . BER-vector corresponding to input P Aout . . output A-vector T, . number of truncated parents . we assume pc = 1 Output: Pout . . new population after GenAlg length of 1: N Ainput1 . transformations ← 1 N 2: R ∑ (A ) initialize empty population c ← N · i=1 input1 1: Pout N/2 N 3: Aout concat [Ainput ] ,[Ainput ] 2: newParents fittest T A-vectors from Pinput ← 1 1 2 N/2+1 ← . concatenate two halves of 3: add newParents to Pout   . and 4: for each A in newParents do Ainput1 Ainput2 4: R 1 ∑N (A ) 5: m mutation(A) cout ← N · i=1 out ← 5: while R = R do 6: add m to Pout cout c bit flip6 in 7: end for 6: Aout 7: R 1 ∑N (A ) 8: for each pair A1,A2 in newParents do cout ← N · i=1 out 9: c crossover(A ,A ) 8: end while ← 1 2 10: add c to Pout 11: end for F. Selection and population update In this context, by the terms selection and population update E. Crossover we mean picking the fittest A-vectors and then applying The crossover applied throughout this work is a single the evolutionary transformations (namely: mutations/swapping midpoint crossover (see Fig. 3b), where the 1st half of the and crossovers) in order to generate the new population. We first parent vector X is combined with the 2nd half of the applied the following scheme in order to generate the new second parent vector W to generate the vector Y. This often population: leads to a change in the number of ones in the resulting vector The fittest T -vectors are always pushed forward as • A Y (i.e., remember from (1) that the total number of ones in members of the new population (i.e., self-offsprings). Al- the A-vector should be equal to k and thus the code rate stays though this could be slowing down the convergence, this, Decoder Construction @ design SNR Decoder Construction @ design SNR

SC Bhattacharyya [2] @ 3dB BP (Nit,max = 200) Tal and Vardy [37] @ 2dB SC Tal and Vardy [37] @ 2dB BP (Nit,max = 200) GenAlg @ 2dB SC β-expansion [20] @ β = 20.25 BP (Nit,max = 200) GenAlg @ Adaptive SC GenAlg @ 2dB SCL (L = 32) Tal and Vardy [37] @ 2dB 100

2 1 10− 10−

BER 2 10−

BER 4 10−

3 10− . . 1 2 1.6 2 2 4 6 10− Eb/N0 [dB] 1 1.4 1.8 2.2 2.6 3 E /N [dB] Fig. 4: BER performance of the GenAlg-based P(2048,1024)-code b 0 under SC decoding over the AWGN channel and no CRC is used. (a) BER performance

3 10− however, ensures convergence to the (local) optimum and guarantees a monotonic behaviour of the cost function through evolving populations which facilitates observing the candidate solutions. @ 2dB Crossovers are applied between each pair of the fittest T min • A-vectors, resulting in new T offsprings. 2 BER 4 Mutations (i.e., swapping operations) are applied on the 10− •  fittest T A-vectors, resulting in new T mutated offsprings. Population index i Consequently, the size of the new population S is (b) Evolution of the BER at SNRGenAlg (Eb/N0) = 2dB T T 2 + 3T S = T + + T = (2) Fig. 5: GenAlg-based construction of a P(2048,1024)-code under 2 2 T fittest   mutation BP Nit,max = 200 decoding over the AWGN channel and no CRC crossover is used. |{z} |{z}  The pseudo algorithm of| the{z }selection and population update scheme followed in this work is shown in Algorithm 4. For B. BP decoder all simulation results using the GenAlg as discussed next, we We use the GenAlg to design polar codes tailored to BP de- set S = 20 and T = 5. coding over AWGN channel. Fig. 5a shows a BER comparison VI.SIMULATION RESULTS OVER AWGN CHANNEL between a code constructed via the method proposed in [37] at a design SNR (Eb/N0) = 2dB and a code constructed using In this section, we show the results of designing polar codes our proposed GenAlg at SNRGenAlg (Eb/N0) = 2dB under using the GenAlg method over the AWGN channel. To be BP (Nit,max = 200) decoding. The GenAlg-based construction 4 coherent with the results shown in [4], we use codes of length yields a 0.5dB net coding gain at BER of 10− when compared N = 2048 and code rate Rc = 0.5 in the AWGN channel to the construction proposed in [37]. It is worth mentioning simulations. that the only difference between the two codes is the selection of the frozen/non-frozen bit positions, i.e., both use exactly the A. SC decoder same decoder. Fig. 5b shows the evolution (or enhancement) All of the known polar code construction (i.e., frozen bit of the BER per population (i.e., we plot the minimum BER position selection) algorithms assume that the SC decoder is per population). Note that minor fluctuations in the BERs per used. Thus, they all are tailored to hard-output SC decod- population index can be explained by the Monte-Carlo output. ing. As shown in Fig. 4, all construction algorithms yield The dmin of the BP-tailored polar code using GenAlg was codes having similar error-rate performance over the AWGN found to be 8, while the dmin of the polar code constructed channel, including the GenAlg-based construction. A similar via [37] is 16. This is due to the fact that the performance independent observation supporting our results was presented of a under iterative decoding is dominated by the in [33]. structure of the stopping sets in the Tanner graph of the code Decoder Construction @ design SNR Decoder Construction @ design SNR SCL (L = 32) Tal and Vardy [37] @ 2dB SCL+CRC-16 (L = 32) Tal and Vardy [37] @ 2dB SCL (L = 32) RM-Polar [24] @ 2dB SCL+CRC-16 (L = 32) β-expansion [20] @ β = 20.25 SCL (L = 32) GenAlg @ 2dB SCL+CRC-16 (L = 32) GenAlg @ 2dB SCL+CRC-16 (L = 32) Tal and Vardy [37] @ 2dB 2 10− 2 10−

4

BER 10− 4 BER 10−

6 10− 6 1 1.2 1.4 1.6 1.8 2 10− 1 1.4 1.8 2.2 2.6 3 Eb/N0 [dB] Eb/N0 [dB] Fig. 7: BER performance of the GenAlg-based P(2048,1024)-code Fig. 6: BER performance of the GenAlg-based P(2048,1024)-code under CRC-aided SCL decoding over the AWGN channel. The CRC- under SCL decoding over the AWGN channel. The CRC-aided polar aided polar code: N = 2048, k = 1024, r = 16 and, thus, the polar code ( ): N = 2048, k = 1024, r = 16 and, thus, the polar code code is a P(2048,1040)-code. is a P(2048,1040)-code. where again the only difference between the two codes is the and not its dmin [51]. Thus, dmin is not the only parameter to be frozen/non-frozen bit positions. maximized in order to design linear codes tailored to iterative The GenAlg-optimized polar code without CRC-aid under decoding. A fact supporting this claim is that the RM code SCL decoding ( ) performs equally well as the CRC-aided has a larger (maximum) dmin but worse error-rate performance polar code under CRC-aided SCL decoding ( ), with the under iterative decoding when compared to polar codes [10]. same list size L = 32 and the same code rate Rc = 0.5, as In the following, we assess the robustness of the GenAlg- shown in Fig. 6. The dmin of the SCL-tailored polar code using based polar code design against inaccuracy in SNR estimation GenAlg is 16 which is exactly the same as the dmin of the (i.e., having a mismatch between the design SNR and the polar code constructed via [37]. However, the RM-Polar code operating SNR). We use the GenAlg to design an “adaptive” ( ) has a dmin = 32. Thus, dmin is not the only parameter to polar code, in which the A-vector is channel-tailored, or SNR be maximized in order to design polar codes tailored to SCL (Eb/N0)-tailored (i.e., the frozen set is optimized separately decoding. Note that maximizing dmin will lead to an RM code. for each value of the SNR of the transmission channel). The BER performance of this GenAlg-based adaptive polar code D. CRC-aided SCL decoder ( ) is very close to the polar code designed by the GenAlg In this section, we use the GenAlg to design polar codes at 2dB ( ) in the high SNR region as shown in Fig. 5a. tailored to CRC-aided SCL decoding over AWGN channel. This means that GenAlg at a specific SNRGenAlg yields a polar Fig. 7 shows a BER comparison between a code constructed code which might be good enough for a certain wider range via the method proposed in [37] at SNR (Eb/N0) = 2dB and of SNRs. a code constructed using our proposed GenAlg at SNRGenAlg Note that the BER performance of the BP-tailored polar (Eb/N0) = 2dB under CRC-aided SCL decoding with list code ( ) is very close to the performance of a polar size L = 32. The GenAlg-based construction yields a slight code constructed via the method proposed in [37] under SCL improvement in terms of BER performance when compared (L = 32) decoding ( ), as also shown in Fig. 5a. to the construction proposed in [37]. We want to emphasize that all BER simulations are performed in the same decoding framework and, thus, the gains are real gains caused by the C. SCL decoder code design. Next, the GenAlg is applied to construct polar codes tailored to SCL (L = 32) over the AWGN channel. Fig. 6 E. A-vector Analysis shows a BER comparison between a code constructed via The distribution of frozen bit-channels over the N syn- the method proposed in [37] at SNR (Eb/N0) = 2dB and a thesized virtual channels is shown in the “Frozen channel code constructed using our proposed GenAlg at SNRGenAlg chart” in Fig. 8. Every square (or pixel) in Fig. 8 corresponds (Eb/N0) = 2dB under SCL decoding with list size L = 32. to a bit-channel (i.e., we show N = 2048 pixels per sub- The GenAlg-based construction shows significant performance figure). If a pixel is white, then the corresponding bit-channel improvements, yielding a 1dB net coding gain at BER of is used for information transmission (i.e., included in the 6 10− when compared to the construction proposed in [37], information set). If a pixel is colored, then the corresponding SCL decoding should take the list decoding nature into con- (a) Frozen channel chart based on Arıkan’s Bhattacharyya bounds [2] @ 3.6dB sideration and, thus, a different frozen bit-channel distribution 1 2033 as shown in Fig. 8d. By comparing Fig. 8a with Fig. 8c and 8d, in a pixel-by-pixel manner, one can see the differences in 16 2048 the frozen/non-frozen sets due to the assumption of a different decoder other than the SC decoder (i.e., BP and SCL) while (b) Tal and Vardy [37] @ 2dB constructing the code. 1 2033 Furthermore, Table I investigates the effect of a mismatch between the polar code design and the polar decoder used. It 16 2048 is shown that this mismatch can lead to a rather high error- rate. Mismatch in this context means that a polar code which (c) GenAlg BP-tailored @ 2dB is designed tailored to decoder X is decoded with another 1 2033 different decoder Y. Table I shows that for SC decoding, the best construction method is [37] • 16 2048 for BP decoding, the best construction method is our • proposed GenAlg (d) GenAlg SCL-tailored @ 2dB for SCL decoding, the best construction method is our • 1 2033 proposed GenAlg. Thus, the best case (i.e., achieving a target BER with the 16 2048 minimum SNR) is to have a polar code tailored to the used Fig. 8: Frozen channel chart (i.e., frozen bit position pattern) of a decoder. It should be emphasized that no additional CRC was P(2048,1024)-code over the AWGN channel with different polar used for the results in Table I. code construction algorithms. The 2048 bit positions are plotted over a 16 128 matrix. Note that the bit-channels are sorted with de- TABLE I: Illustration of polar design and decoder architecture × creasing Bhattacharyya parameter value. White: non-frozen; colored: mismatch by evaluating the minimum Eb/N0 required to achieve a 4 frozen. target BER of 10− for a P(2048,1024)-code over AWGN channel

Decoder bit-channel is a frozen bit position (i.e., included in the frozen Construction @ design SNR set). In Fig. 8a, we show the result of the Bhattacharyya- SC BP (Nit,max = 200) SCL (L = 32) Bhattacharyya [2] @ 3.6dB 2.7 dB 2.45 dB 1.8 dB based construction at a specific channel parameter. For the Tal and Vardy [37] @ 2dB 2.65 dB 2.45 dB 2 dB sake of reproducibility, the frozen/non-frozen set constructed GenAlg BP-tailored @ 2dB > 9 dB 2 dB > 7 dB using the Bhattacharyya bounds [2] at design SNR 3.6dB GenAlg SCL-tailored @ 2dB > 6 dB 2.55 dB 1.65 dB is equivalent to the frozen/non-frozen set constructed using the Bhattacharyya parameter for a BEC with ε = 0.32. The F. Weight enumerators Ad N k bit-channels with the highest Bhattacharyya value are The weight enumerator A is the number of codewords − d set to frozen (i.e., black pixel). The k bit-channels with the with weight d. There is no closed-form expression for the smallest Bhattacharyya value are set to non-frozen (i.e., white weight enumerators of polar codes [23]. However, an algo- pixel). Then the bit-channels are sorted according to their rithm proposed in [52] can be used to find the number of Bhattacharyya value in descending order (i.e., the N k frozen minimum-weight codewords (i.e., A ). Table II shows the − dmin bit-channels followed by the k non-frozen bit-channels). And number of low-weight codewords in polar codes constructed we use this ordering to represent the other three constructions with different methods. Comparing the number of minimum- (Fig. 8b, 8c and 8d), which clearly highlights the differences weight codewords provides one explanation for the improved between the output of different construction algorithms. error-rate performance of the GenAlg-based polar codes. It The conventional construction techniques (e.g., [2], [37]) can be seen that the genetic algorithm significantly reduces the assume that an SC decoder is used. Thus, these construction number of minimum-weight codewords and the total number techniques yield very similar A-vectors having a very similar of low-weight codewords, as shown in Table II. distribution as shown in Fig. 8a and 8b. Our proposed GenAlg- based construction tailors the A-vector (or the code) to a TABLE II: The number of low-weight codewords for a specific decoder (e.g., BP or SCL decoder). The BP decoder P(2048,1024)-code over AWGN channel has an iterative (i.e., non-sequential) decoding nature when Construction @ design SNR dmin A8 A16 compared to SC decoding. Thus, the A-vector tailored to BP Tal and Vardy [37] @ 2dB 16 0 11648 decoding has a much different frozen bit-channel distribution GenAlg BP-tailored @ 2dB 8 8 773 GenAlg SCL-tailored @ 2dB 16 0 1 as shown in Fig. 8c. Note that the A-vector tailored to BP decoding contains a significant number of non-frozen bits in the first half part of the code, which is not the case in Fig. 6 shows curves with the same slope for different polar the conventional code construction algorithms assuming SC codes with different dmin. This observation can be attributed decoding. Similarly, the GenAlg-based construction tailored to to the fact that the SCL (L = 32) decoder is a sub-optimal Decoder Construction @ design SNR Decoder Construction @ design SNR BP (N = 200) Bhattacharyya [2] @ 3.6dB it,max Sequential (L = 32) Gaussian Approximation [49] @ 5dB 0.25 BP (Nit,max = 200)SCLβ-expansion(L = 32) [20] @ β =Bhattacharyya2 [2] @ 3.6dB ( = ) BP Nit,max 200 SCL5G(L specification= 32) of 3GPPβ-expansion [8] [20] @ β = 20.25 BP (Nit,max = 200)SCL (L =GenAlg32) @ 4.5dB5G specification of 3GPP [8] SCL (L = 32) SCL5G(L specification= 32) of 3GPP [8]GenAlg @ 5dB SCL+CRC-24 (L = 32) 5G specification of 3GPP [8] 1 10− 100 Decoder Construction @ design SNR Decoder Construction @ design SNR

BP (Nit,max = 200) Bhattacharyya [2] @ 3.6dB Sequential (L = 32) Gaussian Approximation [49] @ 5dB 0.25 BP (Nit,max = 200) β-expansion [20] @ β = 2 SCL (L = 32) Bhattacharyya [2] @ 3.6dB 0.25 BP (Nit,max = 200) 5G specification of 3GPP [8] SCL (L = 32) β-expansion [20] @ β = 2 2 BP (Nit,max = 200) GenAlg @ 4.5dB SCL (L = 32) 5G specification of 3GPP [8] 10− SCL (L = 32) 5G specification of 3GPP [8] SCL (L = 32) GenAlg @ 5dB 3 SCL+CRC-24 (L = 32) 5G specification of 3GPP [8] 1 100

BLER 10 − 10−

2 10− 3

BLER 10− 4 4 10− 10− BLER

BLER 5 6 10− 10− 3 4 5 6 7

Eb/N0 [dB] 2 3 4 5 6 7 5 E /N [dB] 10 Fig. 9: BLER performance of the GenAlg-based P(1024,512)-code b 0 − under BP decoding over the Rayleigh fading channel and no CRC is 6 Fig. 10: BLER performance of the GenAlg-based P(1024,512)-code used. 10 under SCL decoding over the Rayleigh fading channel. The CRC- − = = = decoder for RM-Polar codes [24] and CRC-aided polar codes aided polar code ( ): N 1024, k 512, r 24 and, thus, the 3 4 5 6 polar code is a P(1024,536)-code.7 [52] (i.e., a larger list size is needed to exploit the benefits of the enhanced dmin). Furthermore, the GenAlg SCL-tailored via Arıkan’s Bhattacharyya bounds [2] at 3.6dB, a code polar code has dmin = 16 with only one codeword with weight constructed based on the 5G specification of 3GPP [8] and 16 (i.e., A = 1). Thus, most of the decoding block errors are Eb/N016 [dB] a code constructed using our proposed GenAlg at SNRGenAlg attributed to the weight-32 codewords, if we consider the case (Eb/N0) = 4.5dB under BP decoding with Nit,max = 200 2 of transmitting the all-zero3 codeword. 4iterations and the G-matrix-based5 early stopping condition. 6 7 The GenAlg-based construction yields a 0.8dB net coding VII.RESULTS FOR THE RAYLEIGH FADING CHANNEL 4 gain at BLER of 10− when compared to the constructions The problem of designing or constructing polar codes for proposed in [2], [8], [20]. The above mentioned four A-vectors the Rayleigh fading channel was tackled in [49], [53]. ToE /N [dB] yieldb different0 polar codes with dmin = 16. It is remarkable to demonstrate the flexibility of the GenAlg-based design, we observe that the BLER performance of the BP-tailored polar optimize polar codes for Rayleigh fading channels and outline code ( ) outperforms the performance of the proposed 5G some performance comparisons. To be coherent with the polar code [8] under SCL (L = 32) ( ) starting from 4.5dB, results shown in [49], we use codes of length N = 1024 and as shown in Fig. 9. code rate Rc = 0.5 in the Rayleigh fading channel simulations. Following the notation in [54], the system model is given by B. SCL decoder y = α x + n In this section, polar codes are tailored to SCL (L = 32) · decoding over the Rayleigh fading channel using the GenAlg. where y is the channel output, n is the Gaussian noise Fig. 10 shows a BLER comparison between a code constructed attributed to the channel such that n N (0,σ 2 ) and α > 0 ∼ ch via [20], a code constructed via Arıkan’s Bhattacharyya is the fading coefficient which follows a Rayleigh distribution bounds [2] at 3.6dB, a code constructed based on the 5G 2 with E[α ] = 1. Assuming perfect Channel State Information specification of 3GPP [8] and a code constructed using our (CSI) (i.e., α is known to the receiver at each received bit proposed GenAlg at SNRGenAlg (Eb/N0) = 5dB under SCL position), the corresponding channel LLRs, namely Lch, are (L = 32) decoding. GenAlg-based construction yields a 2dB computed as 6 net coding gain at BLER of 10− when compared to the P(y α,x = +1) 2 constructions proposed in [2], [8], [20]. It is worth mentioning L (y) = = α y. ch log | 2 that our proposed SCL-tailored polar code ( ) performs P(y α,x = 1) σch · · | − equally well, in terms of error-rate, as the best polar code A. BP decoder with dynamic frozen in [49, Fig. 4] for the same We now design polar codes tailored to BP decoding over the list size L = 32. Also, our proposed code without the aid of Rayleigh fading channel. Fig. 9 shows a BLER comparison a CRC performs equally well, in terms of error-rate, as the between a code constructed via [20], a code constructed proposed 5G polar code [8] under CRC-aided SCL decoding Decoder Construction @ design SNR Decoder Construction @ design SNR

BP (Nit,max = 200) Tal and Vardy [37] @ 2dB SCL (L = 32) Tal and Vardy [37] @ 2dB

BP (Nit,max = 30) Tal and Vardy [37] @ 2dB SCL (L = 4) Tal and Vardy [37] @ 2dB

BP (Nit,max = 30) GenAlg @ 2dB SCL (L = 4) GenAlg @ 2dB 2 10− 2 10− 4 10− 3 10− BER BER 6 4 10− 10−

5 8 10 10− − 1.5 1.8 2.1 2.4 2.7 3 1.5 1.8 2.1 2.4 2.7 3

Eb/N0 [dB] Eb/N0 [dB]

Fig. 11: BER performance of the GenAlg-based P(2048,1024)-code Fig. 12: BER performance of the GenAlg-based P(2048,1024)-code under BP decoding with reduced Nit,max over the AWGN channel and under SCL decoding with reduced list size L over the AWGN channel no CRC is used. and no CRC is used.

( ). The GenAlg constructed polar code tailored to SCL B. SCL decoder has a dmin = 32. The GenAlg-based SCL-tailored polar code only requires a Note that the above shown gains come “for free”, since list size of 4 to outperform, in terms of error-rate, the polar optimizing the A-vector is done offline and it does not affect code constructed via [37] under SCL with list size 32, as the decoding complexity, latency or memory requirements. shown in Fig. 12. Thus, an 87.5% reduction in the decoding However, for a fixed target error-rate, the decoding complexity, complexity and memory requirements with an improved error- latency and memory requirements can also be reduced using rate performance can be achieved just by tailoring the set of GenAlg as shown in the next section. frozen/non-frozen bit positions to the decoder. Note that a larger list size tends to cause higher decoding latency [55], VIII.DECODING COMPLEXITY REDUCTION [56] and thus, the optimized polar code construction also Besides error-rate performance, also the decoding complex- reduces the decoding latency. It should be emphasized that ity, memory requirements and latency are of major significance no additional CRC was used for the results in Fig. 12. when selecting the best channel coding scheme for a certain Despite the offline construction complexity added by the application. Further investigations are conducted to study the GenAlg, the resulting polar codes can be decoded with state- impact of the polar code construction using the GenAlg on of-the-art decoders with much lower decoding complexity, the decoding complexity. This problem can be formulated as latency and memory requirements at a fixed target error-rate, follows. We try to construct a polar code using the GenAlg when compared to polar codes constructed via other state-of- such that, for a given fixed target error-rate level, the decoder the-art polar code construction techniques (e.g., [37]). Thus, used to decode the GenAlg-designed polar code is significantly it is a trade-off between offline complexity (i.e., polar code less complex than the conventional polar code decoder. This construction complexity) and online complexity (i.e., polar complexity reduction is of potential importance when it comes decoding complexity). to practical applications with constraints on the decoding According to [39], 80% of the channel (i.e., bit-channel complexity, latency and memory requirements. reliability) computations can be saved for moderate block length polar codes (e.g., N 1000). Thus, we believe that ≈ A. BP decoder the GenAlg-based polar code construction complexity can The GenAlg-based BP-tailored polar code only requires 30 be significantly reduced by fixing some good bit-channels BP iterations to achieve the same error-rate performance as as “for sure non-frozen” and some bad bit-channels as “for the polar code constructed via [37] under 200 BP iterations, sure frozen”, leading to obvious speed-ups in the convergence as shown in Fig. 11. Thus, an 85% reduction in the worst speed of the GenAlg. The needed prior knowledge can be case decoding complexity and latency (remember the early easily derived from [20], [38], [39]. stopping condition used) can be achieved with the same error- rate performance just by changing the set of frozen/non-frozen IX.CONCLUSION bit positions. Furthermore, at Eb/N0 = 2dB a 5% reduction As pointed out in [4], the best error-rate performance of in the average number of BP iterations is achieved with the finite length polar codes (i.e., under ML decoding without same error-rate performance, reducing the average decoding CRC concatenation) is not competitive with the state-of-the-art complexity and latency by 5%. coding schemes. Thus in this work, we focus on polar code construction (i.e., changing the code itself which is defined [9] P. Giard, G. Sarkis, A. Balatsoukas-Stimming, Y. Fan, C. y. Tsui, by the A-vector) in order to boost the error-rate performance A. Burg, C. Thibeault, and W. J. Gross, “Hardware Decoders for Polar Codes: An Overview,” in IEEE Inter. Symp. on Circuits Syst. (ISCAS), under the state-of-the-art feasible practical decoders (e.g., BP, May 2016, pp. 149–152. SCL). We propose a Genetic Algorithm-based polar code [10] E. Arıkan, “A Performance Comparison of Polar Codes and Reed-Muller design where the channel type and the nature of the decoder Codes,” IEEE Commun. Lett., vol. 12, no. 6, pp. 447–449, June 2008. [11] A. Elkelesh, M. Ebada, S. Cammerer, and S. ten Brink, “Belief Prop- are taken into consideration, yielding significant performance agation List Decoding of Polar Codes,” IEEE Commun. Lett., vol. 22, gains in terms of error-rate. This also shows the importance no. 8, pp. 1536–1539, Aug. 2018. of a proper design algorithm and provides an estimate of the [12] K. Niu, K. Chen, J. Lin, and Q. T. Zhang, “Polar Codes: Primary Concepts and Practical Decoding Algorithms,” IEEE Commun. Mag., capabilities of well-suited polar codes. For a polar code of vol. 52, no. 7, pp. 192–203, July 2014. length 2048 and code rate 0.5 over the binary input AWGN [13] S. A. Hashemi, M. Mondelli, S. H. Hassani, C. Condo, R. L. Urbanke, channel under plain SCL decoding, approximately a 1dB and W. J. Gross, “Decoder Partitioning: Towards Practical List Decoding 6 of Polar Codes,” IEEE Trans. Commun., vol. 66, no. 9, pp. 3749–3759, coding gain at BER of 10− is achieved when compared to the Sep. 2018. conventionally constructed polar codes. This enables achieving [14] A. Elkelesh, S. Cammerer, M. Ebada, and S. ten Brink, “Mitigating the same error-rate performance of polar codes under state-of- Clipping Effects on Error Floors under Belief Propagation Decoding of Polar Codes,” in Inter. Symp. Wireless Commun. Syst. (ISWCS), Aug. the-art CRC-aided SCL decoding with plain SCL decoding 2017. without the aid of a CRC. Furthermore, GenAlg is used to [15] R. Mori and T. Tanaka, “Performance of Polar Codes with the Construc- construct polar codes tailored to flooding BP decoding, finally tion using Density Evolution,” IEEE Commun. Lett., vol. 13, no. 7, pp. 519–521, July 2009. closing the performance gap between conventional iterative BP [16] P. Trifonov, “Efficient Design and Decoding of Polar Codes,” IEEE decoding and conventional SCL decoding. Trans. Commun., vol. 60, no. 11, pp. 3221–3227, Nov. 2012. GenAlg was used to reduce the decoding complexity, la- [17] D. Wu, Y. Li, and Y. Sun, “Construction and Block Error Rate Analysis of Polar Codes Over AWGN Channel Based on Gaussian Approxima- tency and memory requirements of the BP and SCL decoders. tion,” IEEE Commun. Lett., vol. 18, no. 7, pp. 1099–1102, July 2014. Thus, after GenAlg-based A-vector optimization, a few num- [18] “3GPP, R1-167209, Polar code design and rate matching, Huawei, ber of BP iterations or a small list size is needed, in order to HiSilicon.” [19] P. Yuan, T. Prinz, and G. Bocherer,¨ “Polar Code Construction for List achieve a fixed target error-rate. Decoding,” ArXiv e-prints, July 2017. In addition, for a polar code of length 1024 and code rate [20] G. He, J. C. Belfiore, I. Land, G. Yang, X. Liu, Y. Chen, R. Li, J. Wang, 0.5, GenAlg is used to optimize polar codes over Rayleigh Y. Ge, R. Zhang, and W. Tong, “β-expansion: A Theoretical Framework for Fast and Recursive Construction of Polar Codes,” in IEEE Global fading channels, yielding a 2dB performance gain under SCL Commun. Conf. (GLOBECOM), Dec. 2017, pp. 1–6. 6 decoding at BLER of 10− when compared to conventional [21] J. Liu and J. Sha, “Frozen bits selection for polar codes based on polar design methods. The results suggest that the improved simulation and BP decoding,” IEICE Electronics Express, Mar. 2017. [22] S. Sun and Z. Zhang, “Designing Practical Polar Codes Using performance is due to the significant reduction in the total Simulation-Based Bit Selection,” IEEE J. Emerging and Sel. Topics number of low-weight codewords. It is worth mentioning that Circuits Syst., vol. 7, no. 4, pp. 594–603, Dec. 2017. the achieved gains come “for free”, since optimizing the A- [23] M. Qin, J. Guo, A. Bhatia, A. G. i Fabregas, and P. Siegel, “Polar Code Constructions Based on LLR Evolution,” IEEE Commun. Lett., vol. 21, vector is done once and offline. no. 6, pp. 1221–1224, June 2017. [24] B. Li, H. Shen, and D. Tse, “A RM-Polar Codes,” ArXiv e-prints, July X.ACKNOWLEDGMENT 2014. The authors would like to thank Alexander Vardy and Ido [25] P. Trifonov and V. Miloslavskaya, “Polar Subcodes,” IEEE J. Sel. Areas Commun., vol. 34, no. 2, pp. 254–266, Feb. 2016. Tal for providing their set of frozen/non-frozen bit positions [26] A. Elkelesh, M. Ebada, S. Cammerer, and S. ten Brink, “Flexible Length as a baseline for comparison. Polar Codes through Graph Based Augmentation,” in IEEE Inter. ITG Conf. on Syst., Commun. and Coding (SCC), Feb. 2017. REFERENCES [27] J. Guo, M. Qin, A. G. i Fabregas,` and P. H. Siegel, “Enhanced Belief Propagation Decoding of Polar Codes through Concatenation,” in IEEE [1] A. Elkelesh, M. Ebada, S. Cammerer, and S. ten Brink, “Genetic Inter. Symp. Inf. Theory (ISIT), June 2014, pp. 2987–2991. Algorithm-based Polar Code Construction for the AWGN Channel,” in [28] A. Elkelesh, M. Ebada, S. Cammerer, and S. ten Brink, “Improving IEEE Inter. ITG Conf. on Syst., Commun. and Coding (SCC), Feb. 2019. Belief Propagation Decoding of Polar Codes Using Scattered EXIT [2] E. Arıkan, “Channel Polarization: A Method for Constructing Capacity- Charts,” in IEEE Inf. Theory Workshop (ITW), Sep. 2016, pp. 91–95. Achieving Codes for Symmetric Binary-Input Memoryless Channels,” [29] E. Arikan, “Systematic Polar Coding,” IEEE Commun. Lett., vol. 15, IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051–3073, July 2009. no. 8, pp. 860–862, Aug. 2011. [3] A. Balatsoukas-Stimming, P. Giard, and A. Burg, “Comparison of [30] B. Yuan and K. K. Parhi, “Early Stopping Criteria for Energy-Efficient Polar Decoders with Existing Low-Density Parity-Check and Turbo Low-Latency Belief-Propagation Polar Code Decoders,” IEEE Trans. Decoders,” in IEEE Wireless Commun. and Networking Conf. (WCNC), Sig. Process., vol. 62, no. 24, pp. 6496–6506, Dec. 2014. Mar. 2017. [31] E. S¸as¸oglu˘ and L. Wang, “Universal Polarization,” IEEE Trans. Inf. [4] I. Tal and A. Vardy, “List Decoding of Polar Codes,” IEEE Trans. Inf. Theory, vol. 62, no. 6, pp. 2937–2946, June 2016. Theory, vol. 61, no. 5, pp. 2213–2226, May 2015. [32] N. Hussami, S. B. Korada, and R. Urbanke, “Performance of Polar Codes [5] V. Miloslavskaya and P. Trifonov, “Sequential Decoding of Polar Codes,” for Channel and Source Coding,” in IEEE Inter. Symp. Inf. Theory (ISIT), IEEE Commun. Lett., vol. 18, no. 7, pp. 1127–1130, July 2014. June 2009, pp. 1488–1492. [6] T. Wang, D. Qu, and T. Jiang, “Parity-Check-Concatenated Polar Codes,” [33] H. Vangala, E. Viterbo, and Y. Hong, “A Comparative Study of Polar IEEE Commun. Lett., vol. 20, no. 12, pp. 2342–2345, Dec. 2016. Code Constructions for the AWGN Channel,” ArXiv e-prints, Jan. 2015. [7] G. Liva, L. Gaudio, T. Ninacs, and T. Jerkovits, “Code Design for Short [34] M. Mondelli, S. H. Hassani, and R. L. Urbanke, “From Polar to Reed- Blocks: A Survey,” ArXiv e-prints, Oct. 2016. Muller Codes: A Technique to Improve the Finite-Length Performance,” [8] “Technical Specification Group Radio Access Network,” 3GPP, 2018, IEEE Trans. Commun., vol. 62, no. 9, pp. 3084–3091, Sep. 2014. TS 38.212 V.15.1.1. [Online]. Available: http://www.3gpp.org/ftp/Specs/ [35] V. Bioglio, C. Condo, and I. Land, “Design of Polar Codes in 5G New archive/38 series/38.212/ Radio,” ArXiv e-prints, Apr. 2018. [36] V. Bioglio, F. Gabry, I. Land, and J.-C. Belfiore, “Minimum-Distance Based Construction of Multi-Kernel Polar Codes,” in IEEE Global Commun. Conf. (GLOBECOM), Dec. 2017. [37] I. Tal and A. Vardy, “How to Construct Polar Codes,” IEEE Trans. Inf. Theory, vol. 59, no. 10, pp. 6562–6582, Oct. 2013. [38] C. Schurch,¨ “A Partial Order For the Synthesized Channels of a Polar Code,” in IEEE Inter. Symp. Inf. Theory (ISIT), July 2016, pp. 220–224. [39] M. Mondelli, S. H. Hassani, and R. Urbanke, “Construction of Polar Codes with Sublinear Complexity,” IEEE Trans. Inf. Theory, 2018. [40] J. H. Holland, Adaptation in Natural and Artificial Systems: An Intro- ductory Analysis with Applications to , Control and Artificial Intelligence. Cambridge, MA, USA: MIT Press, 1992. [41] L. Hebbes, R. R. Malyan, and A. P. Lenaghan, “Genetic algorithms for turbo codes,” in EUROCON - The Inter. Conf. on Computer as a Tool, vol. 1, Nov. 2005, pp. 478–481. [42] K. Dontas and K. D. Jong, “Discovery of maximal distance codes using genetic algorithms,” in IEEE Inter. Conf. on Tools for Artificial Intelligence, Nov. 1990, pp. 805–811. [43] H. Maini, K. Mehrotra, C. Mohan, and S. Ranka, “Genetic Algorithms for Soft-decision Decoding of Linear Block Codes,” Evol. Comput., vol. 2, no. 2, pp. 145–164, June 1994. [44] A. Scandurra et al., “A Genetic-Algorithm Based Decoder for Low Density Parity Check Codes,” Latin American Applied Research, vol. 36, no. 3, pp. 169–172, July 2006. [45] H. Berbia, M. Belkasmi, F. Elbouanani, and F. Ayoub, “On the decoding of convolutional codes using genetic algorithms,” in Inter. Conf. on Computer and Commun. Engineering, May 2008, pp. 667–671. [46] M. Srinivas and L. M. Patnaik, “Genetic algorithms: a survey,” Com- puter, vol. 27, no. 6, pp. 17–26, June 1994. [47] T. Blickle and L. Thiele, “A Comparison of Selection Schemes Used in Evolutionary Algorithms,” Evolutionary Computation, vol. 4, no. 4, pp. 361–394, Dec. 1996. [48] L. Juan, C. Zixing, and L. Jianqin, “Premature convergence in ge- netic algorithm: analysis and prevention based on chaos operator,” in Proc. 3rd World Congress on Intelligent Control and Automation (Cat. No.00EX393), vol. 1, June 2000, pp. 495–499 vol.1. [49] P. Trifonov, “Design of Polar Codes for Rayleigh Fading Channel,” in Inter. Symp. Wireless Commun. Syst. (ISWCS), Aug. 2015, pp. 331–335. [50] S. Cammerer, B. Leible, M. Stahl, J. Hoydis, and S. ten Brink, “Com- bining Belief Propagation and Successive Cancellation List Decoding of Polar Codes on a GPU Platform,” in IEEE Inter. Conf. on Acoustics, , and Sig. Process. (ICASSP), Mar. 2017, pp. 3664–3668. [51] M. Schwartz and A. Vardy, “On the Stopping Distance and the Stopping Redundancy of Codes,” IEEE Trans. Inf. Theory, vol. 52, no. 3, pp. 922– 932, Mar. 2006. [52] B. Li, H. Shen, and D. Tse, “An Adaptive Successive Cancellation List Decoder for Polar Codes with Cyclic Redundancy Check,” IEEE Commun. Lett., vol. 16, no. 12, pp. 2044–2047, Dec. 2012. [53] A. Bravo-Santos, “Polar Codes for the Rayleigh Fading Channel,” IEEE Commun. Lett., vol. 17, no. 12, pp. 2352–2355, Dec. 2013. [54] S. ten Brink, “Convergence Behavior of Iteratively Decoded Parallel Concatenated Codes,” IEEE Trans. Commun., vol. 49, no. 10, pp. 1727– 1737, Oct. 2001. [55] A. Balatsoukas-Stimming, A. J. Raymond, W. J. Gross, and A. Burg, “Hardware Architecture for List Successive Cancellation Decoding of Polar Codes,” IEEE Trans. Circuits Syst. II, Exp. Briefs, vol. 61, no. 8, pp. 609–613, Aug. 2014. [56] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, “Fast List Decoders for Polar Codes,” IEEE J. Sel. Areas Commun., vol. 34, no. 2, pp. 318–328, Feb. 2016.