Design of Polar Codes in 5G New Radio
11 Design of Polar Codes in 5G New Radio
Valerio Bioglio,
Member, IEEE,
Carlo Condo,
Member, IEEE,
Ingmar Land,
Senior Member, IEEE
Abstract —Polar codes have attracted the attention of academiaand industry alike in the past decade, such that the 5 th generationwireless systems (5G) standardization process of the 3 rd genera-tion partnership project (3GPP) chose polar codes as a channelcoding scheme. In this tutorial, we provide a description of theencoding process of polar codes adopted by the 5G standard. Weillustrate the struggles of designing a family of polar codes ableto satisfy the demands of 5G systems, with particular attentionto rate flexibility and low decoding latency. The result of theseefforts is an elaborate framework that applies novel codingtechniques to provide a solid channel code for NR requirements. I. I
NTRODUCTION
Polar codes are a class of capacity-achieving codes intro-duced by Arıkan [1]. In the past decade, the interest andresearch effort on polar codes has been constantly rising inacademia and industry alike. Within the ongoing 5 th genera-tion wireless systems (5G) standardization process of the 3 rd generation partnership project (3GPP), polar codes have beenadopted as channel coding for uplink and downlink controlinformation for the enhanced mobile broadband (eMBB) com-munication service. 5G foresees two other frameworks, namelyultra-reliable low-latency communications (URLLC) and mas-sive machine-type communications (mMTC), for which polarcodes are among the possible coding schemes.The construction of a polar code involves the identificationof channel reliability values associated to each bit to beencoded. This identification can be effectively performed givena code length and a specific signal-to-noise ratio. However,within the 5G framework, various code lengths, rates and chan-nel conditions are foreseen, and having a different reliabilityvector for each parameter combination is unfeasible. Thus,substantial effort has been put in the design of polar codesthat are easy to implement, having low description complexity,while maintaining good error-correction performance overmultiple code and channel parameters.The majority of available literature does not take intoaccount the specific codes designed for 5G and their encodingprocess; given their upcoming widespread utilization, the re-search community would benefit from considering them withinerror-correction performance evaluations and encoder/decoderdesigns. Both the encoding and the decoding process can infact incur substantial speed and complexity overhead, while theperformance of decoders is tightly bound to the characteristicsof the polar code. Works focusing on hardware and softwareimplementations can effectively broaden their audience byincluding compliance to the 5G standard.An industry standard is a document providing specificationsfor delivering a service agreed upon by a group of competingcompanies. This agreement allows different manufacturersto create products that are compatible with each other, so u u d = u ⊕ u d = u Fig. 1: Basic polarization kernel G .that standard details are often the result of a quid pro quo among companies. The outcome of the endless discussionsand struggles among different agendas is a patchwork oftechniques, whose mixture provides acceptable performance;for this reason, a standard usually represents the state-of-the-art of a field more than its pinnacle.In this paper, we provide a tutorial for the polar codeencoding process foreseen by 5G in [2], from the code con-catenation, through interleaving functions, to the polar-codespecific subchannel allocation and rate-matching schemes.The purpose of this work is to provide the reader with astraightforward, self-contained guide to the understanding andimplementation of 5G-compliant encoding of polar codes.While this work does not claim to substitute the reading of thestandard, we aim at assisting the reader in its comprehension,restructuring its presentation and reformulating some of thecontents to improve readability.The remainder of the paper is organized as follows. SectionII introduces the basics on polar codes, while Section IIIdetails more advanced design features, along with conceptsused in the 5G encoding process, such as interleaving andrate-matching. Section IV details a step-by-step guide to 5Gpolar code encoding. Decoding considerations are addressedin Section V, while conclusions are drawn in Section VI.II. P RELIMINARIES
In this section, we describe the fundamental concepts nec-essary to familiarize with the structure, the encoding and thedecoding of polar codes. This section can be skipped byreaders having basic knowledge on the field, while we referreaders interested in further details and examples to [3].
A. Channel polarization
The channel polarization phenomenon, introduced in [1],consists of a transformation which produces N syntheticbit-channels from N independent copies of a binary-inputdiscrete memoryless channel (B-DMC). The new syntheticchannels are then polarized in the sense that each of themcan transmit a single bit at a different reliability , i.e. with adifferent probability of being decoded correctly. If N is largeenough, the mutual information of the synthetic channels iseither close to 0 (completely noisy channels) or close to 1(perfectly noiseless channels), resulting in channels of extreme a r X i v : . [ c s . I T ] J a n bit channel index c a p a c i t y Fig. 2: Virtual bit-channels capacities over a BEC / .capacities. Polar codes provide a low-complexity scheme toconstruct polarized channels, where the fraction of noiselesschannels tends to the capacity of the original B-DMC.The mathematical foundations of polar codes lie in the dis-covery of the polarization phenomenon of matrix G = [ ] ,also known as basic polarization kernel . This matrix enablesthe encoding of a two-bits input vector u = [ u , u ] intocode word d = [ d , d ] as d = u · G , namely having d = u ⊕ u and d = u . The polarization effect broughtby G is more evident for binary erasure channels (BECs),where the transmitted bit is either received correctly or lostwith probability δ . If the input bits are decoded sequentially,bit u cannot be recovered as u = d ⊕ d if any ofthe code bits has not been received, hence with probability δ = (2 − δ ) δ > δ . After u has been correctly decoded, inputbit u can be decoded either as u = d or u = u ⊕ d ,hence it is sufficient that at least one of the two code bitshas been received: consequently, failed decoding of this bithappens with probability δ = δ < δ . As a result, input bit u is transmitted over a degraded synthetic BEC with erasureprobability δ > δ , while u is transmitted over an enhancedsynthetic BEC with erasure probability δ < δ . B. Code design
Polar codes are based on the concatenation of several basicpolarization kernels, creating a cascade reaction that speedsup the synthetic channels polarization while limiting encod-ing and decoding complexity. This concatenation generatesa channel transformation matrix of the form G N = G ⊗ n ,defined by the n -fold Kronecker product of G , and that canbe recursively calculated as G N = (cid:104) G N / G N / G N / (cid:105) . While for n → ∞ this construction creates channels that are eitherperfectly noiseless or completely noisy, for smaller valuesof n the synthetic channels polarization may be incomplete,generating intermediary channels that are only partially noisy.Figure 2 shows the bit-channels polarization enabled by theconcatenation of n = 10 basic polarization kernels for a BECwith erasure probability δ = 1 / .By construction, polar codes only allow for code lengthsthat are powers of two, in the form N = 2 n ; on the otherhand the code dimension K , i.e. the number of informationbits transmitted, can take any arbitrary value. The goal of code δ = 0 . δ = 0 . δ = 0 . δ = 0 . δ = 0 . δ = 0 . δ = 0 . δ = 0 . u = 0 u = 0 u = 0 u = 1 u = 0 u = 0 u = 1 u = 1 d = 1 d = 0 d = 1 d = 0 d = 0 d = 1 d = 0 d = 1 step 1 step 2 step 3 Fig. 3: Encoder of an (8 , polar code.design of an ( N, K ) polar code is to identify the K bestsynthetic channels, namely the channels providing the highestreliability, and use them to transmit the information bits. Theestimation of the reliability of each synthetic channel allowsto sort them in reliability order and assign the K informationbits to the most reliable channels, whose indices constitute the information set I of the code. The remaining N − K indicesform the frozen set F = I C of the code, and the respectivechannels are frozen, not carrying any information. C. Encoding An ( N, K ) polar code is defined by its channel transfor-mation matrix G N = G ⊗ n and its information set I . Thegenerator matrix of the code is given by the sub-matrix of G N composed by the rows whose indices are stored in I . However,the recursive structure of G N allows to reduce the encodingcomplexity with the introduction of an auxiliary input vector u of length N . This input vector u = [ u , u , . . . , u N − ] is generated by assigning u i = 0 if i ∈ F , and storingthe information bits in the remaining entries. Codeword d =[ d , d , . . . , d N − ] is then calculated as d = u · G N . (1)This matrix multiplication can be performed by processingmultiple G matrix multiplications in parallel, reducing theencoding complexity to O ( log ( N )) . In fact, thanks to therecursive structure of G N , the decoding can be performed in log ( N ) steps, each one composed by N/ identical basicpolarization kernels. Figure 3 shows the structure of theencoder of a polar code of length N = 8 ; moreover, itdetails the erasure probabilities of the synthetic BECs whenthe code is designed for a BEC of erasure probability δ = 1 / ,along with the frozen set F = { , , , } obtained for acode of dimension K = 4 . This structure is used to encodemessage c = [1 , , , in n = 3 steps with the assistanceof input vector u = [0 , , , , , , , to obtain codeword d = [1 , , , , , , , . D. Decoding
In [1], the decoding algorithm native to polar codes, calledsuccessive cancellation (SC), has been proposed as well. Itcan be represented as a depth-first binary tree search with ˆ u = 0 ˆ u = 0 ˆ u = 0 ˆ u = 1 ˆ u = 0 ˆ u = 0 ˆ u = 1 ˆ u = 1 t = 3 t = 2 t = 1 t = 0 [ e, , e, , e, , , [ e , , e , ][ , , , ] [ e , , , ] [ e , ][ , ] [ , ][ e , ] [ , ] [ e , ][ , ] [ e ][ ] [ ][ ] [ e ][ ] [ ][ ] [ ] [ ][ ] [ ][ ] [ e ][ ] Fig. 4: SC decoding of an (8 , polar code over a BEC; white and black dots represent frozen and information bits. t + 1 tt − α β α (cid:96) β (cid:96) β r α r Fig. 5: SC decoding node.priority to the left branch, where the leaf nodes are the N bitsto be estimated, and soft information on the received codebits is input at the root node, with a decoding complexityof O ( N log ( N )) . Figure 4 shows the decoding tree of the (8 , polar code depicted in Figure 3, with black leaf nodesrepresenting information bits and white ones frozen bits.Taking a node at stage t as a reference, the message flow canbe recursively described as shown in Figure 5. The node usesthe t soft inputs α received from its parent node to calculate t − soft outputs α (cid:96) as α (cid:96)i = f ( α i , α i +2 t − ) to be transmittedto its left child; later, it will combine the t − hard decisions β (cid:96) received from its left child with α to calculate t − softoutputs α r for its right child as α ri = g ( α i , α i +2 t − , β (cid:96)i ) .Finally, the t − hard decisions β r received from its rightchild are combined with β (cid:96) to calculate t hard decisions β to be transmitted to its parent node as β i = β (cid:96)i ⊕ β ri if i < t − and β i = β ri − t − otherwise. When a leaf node is reached, thesoft information is used to take a hard decision on the value ofthe information bits; frozen bits are always decoded as zeros.Update rules f and g for left and right child nodes re-spectively depend on the channel model. In the case of BEC,soft values belong to the set { , , e } , with e representing anerasure, while hard decisions can only take values and .Update rules are f ( α , α ) = α ⊕ α and g ( α , α , β ) = α ∨ ( α ⊕ β ) ; the erasure algebra imposes that e ⊕ • = e and e ∨ • = • . Continuing with the example of Figure 3, Figure 4shows the flux of soft and hard messages passed along thedecoding tree if soft vector y = [ e, , e, , e, , , has beenreceived, allowing to correctly decode the message.III. A DVANCED DESIGN
In this section, we introduce more advanced polar codeingprinciples. The discussion is not limited to frozen set calcu-lation and encoding/decoding algorithms including techniquesfor rate matching and assistant bits design for 5G applications.
A. Frozen set design
In general, the reliability order of the bit-channels dependson the channel condition and on the code length, and thereforeis not universal. This non-universality poses huge practicalproblems in the construction of polar codes when a largerange of code lengths and rates is envisaged. Many methods todesign the frozen sets on-the-fly with limited complexity havebeen proposed [4]. Along with Bhattacharyya parameter track-ing, Arıkan initially proposed to use Monte-Carlo simulationsto estimate bit-channel reliabilities [1]. The density evolution(DE) method, initially proposed in [5] and improved in [6],can provide theoretical guarantees on the estimation accuracy,however at a high computational cost. A bit-channel reliabilityestimation method for AWGN channels based on Gaussianapproximation (GA) of density evolution, termed as DE/GAmethod, has been proposed in [7], giving accurate resultswith limited complexity. However, on-the-fly design increasescoding latency too much to meet the 5G requirements.Recent studies on the partial reliability order imposed bythe polarization effect on bit-channels [8]–[10] opened newopportunities in the generation of an universal reliability se-quence to be used independently on channel conditions. Thesestudies and intensive simulations lead the 5G standardizationto propose a unique universal bit-channel reliability sequenceto be used as a basis to extract the individual reliabilitysequence for each polar code considered in 5G. This sequence,composed by 1024 bit-channel indices sorted in reliabilityorder, can be used regardless the channel conditions to designthe frozen set of any polar code of length smaller or equal to1024: it is in fact possible to extract sub-sequences for shortercodes directly from the universal reliability sequence, hencereducing the sequence storing space. This nested reliabilitystructure represents a real breakthrough in polar code design,and it is probably the most lasting legacy of the standardizationprocess. This impressive result has been achieved by takinginto account also distance properties in short polar codesdesign [11], [12], the use of list decoders and the presenceof assistant bits in the code [13].
B. SC-based decoding
Polar codes have been specifically conceived for SC de-coding [1], with which they achieve channel capacity atinfinite code length. Even if other decoding algorithms like
BP [14] and SCAN [15] have been proposed, their poor errorcorrection performance convinced 3GPP to focus the designenvisaging an SC-based decoder at the receiver side. In theoriginal formulation of SC, soft information was describedin terms of likelihoods [1], that are numerically unstable andnot suitable for hardware implementations. This instabilityhas been reduced using log-likelihoods first [16], and finallyeliminated with log-likelihood ratios (LLRs) [17]. The SCalgorithm can be implemented in both software and hardwarewith low complexity [18], [19], however its error-correctionperformance is mediocre at practical code lengths. Thus, manyattempts have been made to overcome this issue [20], [21].Eventually, a list-based decoding approach to polar codes(SCL) was introduced in [22]. The idea is to let a group ofSC decoders work in parallel, maintaining different codewordcandidates, or paths, at the same time. Every time a leaf nodeis reached, the bit is estimated as both 1 and 0, doubling thenumber of codeword candidates; a path metric for each candi-date is then calculated to discard less likely candidates, hencelimiting the number of paths. SCL substantially improves theerror-correction performance of SC at moderate code lengths,especially when the code is concatenated to an outer codeacting as a genie, e.g. a cyclic redundancy check (CRC), atthe cost of an augmented complexity. CRC-assisted (CA) SCLhas been used as a baseline in 5G error-correction performanceevaluations, in particular with a list size equal to 8 [23].While the effectiveness of SCL improves as the list sizeincreases, its implementation complexity increases as well.To limit the rise in complexity, various approaches have beenproposed for software and hardware decoders alike. PartitionedSCL [24] and its evolutions [25], [26] consider different listsizes at different stages of the SC tree, reducing the memoryrequirements at higher stages. SC-Stack decoding [27] expandsonly the most probable candidate thanks to a priority queue.Adaptive SCL decoding [28] foresees increasing list sizes incase of failed decoding, while a hardware decoder with flexiblelist size has been proposed in [29].
C. Rate matching
By definition, the polar code length N is limited to powersof two, while any number K of bit-channels can be includedin the information set. This code length constraint representsa limitation for typical 5G applications, where the amount ofinformation A is fixed and a codeword of length E is neededto achieve the desired rate R = A/E . Rate matching for polarcodes becomes thus a length matching problem, and has beensolved for 5G through classical coding theory techniques aspuncturing, shortening and extending [30].Both puncturing and shortening reduce the length of amother code by not transmitting code bits in a predeterminedpattern, called matching pattern ; the difference lies in themeaning of the code bits belonging to the matching pattern. Inpuncturing, the untransmitted code bits are treated as erased atthe decoder, while shortening introduces a sub-code imposingthe untransmitted code bits to assume a fixed value, typicallyzero, such that their value is already known by the decoder.It has been observed that for polar codes, shortening worksbetter for high rates, and puncturing for low rates [31]. Puncturing U code bits deteriorates the bit-channel reliabili-ties, additionally causing U bit channels, termed as incapablebits , to be completely unreliable; the position of these bitscan be calculated on the basis of the matching pattern [32].In order to avoid catastrophic error-correction performancedegradation under SC decoding, incapable bits must be frozento prevent random decisions at the decoder. Shortening, on thecontrary, improves the bit channel reliabilities by introducingovercapable bits, i.e. bits with conceptually infinite reliabilitythat are always correctly decoded [31]. However, code bits inthe matching pattern must depend on frozen bits only, whichforces to freeze the most reliable bit-channels worsening theerror correction capabilities of the code.Rate matching alters the code reliability sequence so thatbit-channel reliabilities need to be recalculated to find theoptimal frozen set; DE/GA method is used to evaluate new bit-channel reliabilities in [33] for shortening and in [32], [34] forpuncturing. The latency increase due to on-the-fly reliabilitycalculation brought 3GPP to prefer an alternative approach,namely to design the matching pattern on the basis of thefrozen set [35], [36]. This significantly reduces the code designcomplexity, albeit at the cost of an increased block error rate(BLER). The joint optimization of frozen set and matchingpattern, as proposed in [37], has been evaluated too, howeverit has been discarded due to its excessive complexity.When the code length E is slightly larger than a powerof two, a large number of bits would not be transmittedif puncturing or shortening were to be applied, since themother polar code length would have to be selected as thesuccessive power of two. In this case, extending a smaller polarcode, i.e. retransmitting some code bits, may be preferable interms of decoding latency and error correction performance[38] since a smaller mother polar code decoder can be usedcombining the likelihoods of retransmitted bits. The presenceof repeated code bits due to retransmission alters the bit-channels reliability, however without giving restrictions tocode design as for puncturing or shortening [36]. This allowed3GPP to focus on the design of puncturing and shorteningmechanism while leaving the repetition scheme as simple aspossible. As a result, a circular buffer rate matching [39]scheme has been adopted incorporating all three techniquesin an elegant and simple way. D. Assistant bits design
Assistant bits can be broadly defined as additional bits thathelp the decoding of the polar code, usually improving itserror-correction performance. Their introduction dates back tothe conception of SCL decoding, for which it has been noticedthat the introduction of an outer CRC code improved the error-correction performance of the code [22], [40]. In general, it hasbeen proven that the minimum distance of polar codes can bedramaticaly improved by adding an outer code [41], and SCLdecoders can fully exploit this improved code spectrum [42].Parity-checks (PC) have emerged as an alternative to CRC dueto their simplicity and flexibility [41], [43]. Introducing PC bitsin the middle of the decoding instead of a single CRC checkat the end makes it easier to tune the polar code spectrum; a A
Code-BlockSegmentation I seg a (cid:48) A (cid:48) CRCEncoder L cK Input BitsInterleaver I IL c (cid:48) K SubchannelAllocation uN Polar CodeEncoding dN Sub-BlockInterleaver y N
Rate MatchingCircular Buffer eE ChannelInterleaver I BIL fE Code-BlockConcatenation I seg g G Fig. 6: 5G polar codes encoding chain; yellow, red and orange blocks are implemented in downlink, uplink and both respectively.bit-channels corresponding to minimum weight rows are thebest candidates to host parity checks [44]. 3GPP decided toadopt a low complexity PC design based on shift registers [45]in conjunction with a classical CRC, as proposed in [46], toimprove the code design flexibility.The insertion of an interleaver between the CRC encoderand the polar encoder may have a positive impact on theperformance of the code due to the induced change in thenumber of minimum weight codewords [47]. The interleaveris used to turn the CRC into a distributed CRC, in that aCRC remainder bit is assigned to a bit-channel as soon as allthe information bits involved in its parity check have beenassigned as well. This feature is used in 5G polar codesto reduce the decoding complexity by early terminating thedecoding if an incorrect check is met, providing an additionalfalse alarm rate (FAR) mitigation mechanism [48].
E. Polar coded modulation
If low-order modulation schemes like quadrature phase shiftkeying (QPSK) are used, the bit-channels polarization is notaffected since all modulated symbols have uniform reliability.When larger constellations are used, as envisaged by 5G stan-dard, polar-coded modulation (PCM) [49] can be used to fullyexploit the polarization effect at higher-order modulation [50].However, canonical PCM requires an additional polarizationmatrix whose size depends on the modulation scheme used[51], resulting in an increased decoding latency [52].A channel interleaver has been introduced by 3GPP as alow-complexity alternative to PCM; this technique, termedas bit-interleaved polar-coded modulation (BIPCM) [53], im-proves the diversity gain under high-order modulation withoutincreasing the code complexity [54]. In BIPCM, the channelis considered as a set of parallel bit channels which can becombined with polar coded bits. Carefully mapping codedbits to modulation symbols offers a certain gain over theconventional random interleaving [55], which can be furtherimproved designing interleavers adaptive to channel selectivity[56]. Finally, the correlation among coded bits mapped into the same symbol allows to combine the demapping and deinter-leaving units with the SC decoder to perform the decodingdirectly on the LLRs of the received symbols [57].IV. P
OLAR C ODE E NCODING IN A , isfixed and a codeword of length E is created to achieve thedesired rate R = A/E required by upper communicationlayers. To accommodate polar codes to this requirement, amother polar code of length N = 2 n is initially constructed,and the desired code length E is matched via puncturing,shortening or repetition. The mother code length N is lowerbounded by N min = 32 , while the value of the upper bound N max depends on the channel used, being N max = 512 fordownlink and N max = 1024 for uplink. An ulterior upperbound is imposed by the minimal accepted code rate of .Figure 6 portrays the set of encoding operations envisagedby the 5G polar codes framework. Vector a contains the A information bits to be transmitted using a payload of G codebits. Depending on code parameters, the message may be splitand segmented into two parts, which are encoded separatelyand transmitted together. Each segmented vector a (cid:48) of length A (cid:48) will be encoded into an E -bit polar codeword. To every A (cid:48) -bit vector, an L -bit CRC is attached. The resulting vector c , constituted of K = A (cid:48) + L bits, is passed through an inter-leaver. On the basis of the desired code rate R and codewordlength E , a mother polar code of length N is designed, alongwith the relative bit channel reliability sequence and frozen N = 32N = 64N = 128N = 256N = 512N = 1024 ShorteningPuncturingRepetitionSegmentation GA (a) PUCCH/PUSCH
16 32 64 128 256 512
N = 64N = 128N = 256N = 512ShorteningPuncturingRepetition GA (b) PDCCH/PBCH Fig. 7: Mother polar code length N and rate matching scheme for admitted values of message length A and payload length G .set. The interleaved vector c (cid:48) is assigned to the informationset along with possible parity-check bits, while the remainingbits in the N -bit u vector are frozen. Vector u is then encodedas d = u · G N , where G N = G ⊗ n is the generator matrixfor the selected mother code. After encoding, a sub-blockinterleaver divides d into equal-length blocks, scramblesthem and creates y , that is fed into the circular buffer. Forrate matching, puncturing, shortening or repetition are appliedto change the N -bit vector y into the E -bit vector e . Achannel interleaver is finally applied to compute the vector f , that is now ready to be modulated and transmitted as g after concatenation, if required.Parameters A and E are bounded according to the channelused, obviously having A ≤ E . In the uplink, ≤ A ≤ ,while for A ≤ different block codes are used. The agreedcodeword length range is ≤ E ≤ , however thepayload length G can be larger since G ≤ : in this case,the information bits may be divided into two polar codewordsthrough segmentation. In the downlink, A is upper boundedby 140 for PDCCH, however in this case if A ≤ themessage is padded with zeros to reach A = 12 . Due tothe presence of the CRC, E is lower bounded by 25, while E ≤ as for uplink. For PBCH, only one code is acceptedwith parameters A = 32 and E = 864 . The flags I IL and I BIL refer to the activation of the input bits interleaver andthe channel interleaver, respectively. The number of the twotypes of assistant PC bits are given by n P C and n wmP C (seeSection IV-E for details). Table I summarizes the encodingchain parameters, while Figure 7 shows with a line patternthe rate matching scheme and mother polar code length usedfor different combinations of payload length G and numberof information bits A for both uplink and downlink channels;segmentation for PUCCH is identified by area darkening. A. Message segmentation
Given message length A and payload length G , the informa-tion may be decomposed in two blocks and encoded separately. Segmentation is activated by flag I seg , and in particular itmay be activated for PUCCH and PUSCH UCIs ( I seg = 1 )while it is always bypassed for PBCH payloads and PDCCHDCIs ( I seg = 0 ). Segmentation is necessary for the uplinkwhen message or payload lengths are longer than maximummother polar code length and shortening or puncturing is usedas rate matching mechanism; this is not necessary for thedownlink since the message length is always shorter thanmother polar code length and repetition is used for largepayload sizes. When code parameters satisfy the condition ( A ≥ ∨ ( A ≥ ∧ G ≥ , segmentation isactivated. In this case, the message is divided into two parts oflength A (cid:48) = (cid:100) A/ (cid:101) ; if A is odd, the first message is composedby the first (cid:98) A/ (cid:99) bits with the addition of a zero padding atthe beginning. The code length, usually set to E = G , has tobe changed accordingly, namely setting E = (cid:100) G/ (cid:101) . B. Mother polar code length and rate matching selection
The mother polar code length N = 2 n is a crucial parameterin the encoding process. Its logarithm n is selected as n = max(min( n , n , n max ) , n min ) , (2)where n min and n max give a lower and an upper bound onthe mother code length, respectively. In particular, n min =5 , while n max = 9 for the downlink control channel, and n max = 10 for the uplink. Parameter n gives an upper boundon the code based on the minimum code rate admitted by theencoder, i.e. ; as a consequence, n = (cid:100) log (8 K ) (cid:101) . Finally,the value of n is bound to the selection of the rate-matchingscheme. It is in fact usually calculated as n = (cid:100) log ( E ) (cid:101) , sothat n is the smallest power of two larger than E . However,a correction factor is introduced to avoid a too severe ratematching: if { log ( E ) } < . , i.e. if the smallest powerof two larger than E is too far from E , the parameter is set { x } = x − (cid:98) x (cid:99) represents the fractional part of a real number x . TABLE I: Code parameters and bounds for different channels gathered from [2].
Uplink DownlinkPUCCH/PUSCH PDCCH PBCH A ≥
20 12 ≤ A ≤ A ≥ ∨ ( A < ∨ E − A ≤ E − A > A ≥ ∧ G ≥ A < ∧ G <
Max polar code exponent n max
10 9Input bits inter. flag I IL I BIL I seg G max G min
31 18 25 864Max message length A max A min
12 1 32CRC length L
11 6 24 n PC n wmPC to n = (cid:98) log ( E ) (cid:99) , and an additional constraint on the codedimension is added, namely K < E , to assure that K < N .If a mother polar code of length
N > E is selected, themother polar code will be punctured or shortened, dependingon the code rate, before the transmission. In particular, if KE ≤ , the code will be punctured, otherwise it will be shortened.On the contrary, if N < E , repetition is applied and someencoded bits will be transmitted twice; in this case, the codeconstruction assures that
K < N . C. CRC encoding
A CRC of L bits is appended to the A (cid:48) message bits storedin a (cid:48) , resulting in a vector c of A (cid:48) + L bits. The possible CRCgenerator polynomials are the following: g ( x ) = x + x + 1 g ( x ) = x + x + x + x + 1 g ( x ) = x + x + x + x + x + x + x + x ++ x + x + x + x + 1 The polynomial g ( x ) is used for the payload in PBCHand DCIs in the PDCCH, where a larger number of assistantbits are necessary to enable early termination in the case offailures. Polynomials g ( x ) and g ( x ) are used for UCIs, inthe case ≤ A ≤ and A ≥ , respectively. The CRCshift register is initialized by all zeros for UCIs and for thePBCH payloads, and to all ones for the DCIs. Moreover, forDCIs, the CRC parity bits are “scrambled” according to a radionetwork temporary identifier (RNTI) x rnti , x rnti , ..., x rnti , i.e.the RNTI is masked in the last 16 CRC bits calculated by g ( x ) as c A +8+ k = c A +8+ k ⊕ x rntik for k = 0 , . . . , . D. Input bits Interleaver
The K bits obtained from the CRC encoder are interleavedbefore being inserted into the information set of the motherpolar code. This feature can be used to reduce the decodingcomplexity by early terminating the decoding if an incorrectcheck is met, providing an additional false alarm rate (FAR)mitigation. The interleaver is selected through the flag parame-ter I IL , being activated for PBCH payloads and PDCCH DCIs( I IL = 1 ) and bypassed in the case of PUCCH and PUSCH Kcc’
Fig. 8: Input bits interleaver design.UCIs ( I IL = 0 ); early decoding termination has been in factconsidered crucial for downlink, to reduce the computationeffort of mobile devices, while higher computation capabilitiesof base stations made it a less attracting feature for uplink.By construction, the number of interleaved bits is upperbounded by K maxIL = 164 . The K bits from the previousstep are padded to reach the length of 164 bits and permutedaccording to the sequence Π maxIL presented in Table II. It isworth noticing that last bits are not interleaved to maintainthe majority of CRC bits at the end of the message. In moredetail, the parameter h = K maxIL − K is calculated. Startingfrom the entry at index , all elements of Π maxIL are comparedto h , and in the case that they are larger, they are stored in Π .Finally, h is subtracted from all the entries of Π , such that Π contains all the positive integers smaller than K in permutedorder. The interleaving function is applied to c , and the K -bitvector c (cid:48) = { c Π(0) , . . . , c Π( K − } is obtained. This interleaverenables early termination since every CRC remainder bit isplaced after its relevant information bits. Its functioning isdepicted in Figure 8: the K information bits are stored at theend of the fixed scrambler mixing them, while c (cid:48) is obtainedextracting the green squares from left to right. E. Subchannel allocation and PC bits calculation
At this step, vector c (cid:48) is expanded in the N -bit input vector u with the addition of assistant and frozen bits. To begin with, n P C parity-check bits are inserted within the K informationand CRC bits. The mother polar code is hence a ( N, K (cid:48) ) code,with K (cid:48) = K + n P C . To create the input vector u to beencoded, the frozen set of subchannels needs to be identified.The number and position of frozen bits depend on N , E , TABLE II: Input bits interleaver pattern sequence Π maxIL (boldintegers represent CRC bit indices).
611 16 22 30 33 36 44 47 64 74 79 8597 100 103 117 125 131 136
12 17 23 3748 75 80 86 137
13 18 38
147 148 149 150 151 152 153 154 155156 157 158 159 160 161 162 163 and the selected rate-matching scheme. Initially, the frozen set ¯ Q NF and its complementary set, the information set ¯ Q NI , arecomputed based on the universal reliability sequence Q N max − [58] and the rate matching strategy. Later, information bitsare assigned to u according to the information set. Finally,assistant PC bits are calculated and stored in u , if necessary.The universal reliability sequence Q N max − is the list of allpositive integers smaller than sorted in reliability order,from the least reliable to the most reliable; indices smallerthan N are extracted neatly in the creation of the frozen setof a mother polar code of length N . The full sequence canbe found in [2] and is depicted in Figure 9 to illustrate thebit-channels distribution. The squares represent all thebit-channels row-by-row from the least reliable in the top-leftcorner to the most reliable in the bottom-right corner. Thereare 32 magenta subchannels, that are relative to the bit indices0 to 31, and 32 red subchannels, referring to bit indices 32 to63. The 64 yellow ones are relative to bit indices 64 to 127,the 128 green ones to bits 128 to 255, the 256 azure ones tobits 256 to 511, and the 512 blue ones to bits 512 to 1023.Darker shades of each color represent larger indices, whilelighter shades are smaller ones. As an example, if N = 512 ,the red, yellow, green and azure entries of the sequence areextracted maintaining their relative order, for a total of 512ordered indices. In the case that N = 256 is selected, only thered, yellow and green ones are extracted, and so on.
1) Frozen set ¯ Q NF : The first bits identified in the frozen setcorrespond to the indices of the U = N − E untransmittedbits, i.e. the bits eliminated from the codeword by the rate-matching scheme. These indices correspond to the first U or the last U codeword bits in the case of puncturing andshortening, respectively, as explained in Section IV-H. Due tothe presence of sub-block interleaver J , the actual indices tobe included in the frozen set correspond to the first or the lastafter interleaving; details on this sub-block interleaver can befound in Section IV-G. If KE ≤ and hence the mother polarcode has to be punctured, additional indices are included inthe frozen set such that { , . . . , T } ⊂ ¯ Q NF , with T = (cid:40)(cid:6) N − E (cid:7) − if E ≥ N (cid:6) N − E (cid:7) − otherwise (3)This extra freezing is necessary to prevent bits in the informa-tion set to become incapable due to puncturing. Finally, new Fig. 9: Universal reliability sequence Q N max − . Magenta, red,yellow, green, cyan and blue squares represent entries smallerthan 32, 64, 128, 256, 512 and 1024 respectively. Brightnessindicates reliability in the color interval.indices are added to the frozen set from the universal reliabilitysequence, starting from the least reliable, until | ¯ Q NF | = N − K (cid:48) .To summarize, the frozen set ¯ Q NF is designed in three steps:1) Pre-freezing: Q = { J ( γ ) , . . . , J ( γ + U − } where γ = 0 if KE ≤ and γ = E otherwise.2) Extra freezing: Q = { , . . . , T } where T is calculatedaccording to (3) if KE ≤ , otherwise Q = ∅ .3) Reliability freezing: Q contains the first N − K (cid:48) −| Q ∪ Q | elements of Q N max − smaller than N not alreadyincluded in Q ∪ Q .The frozen set is then ¯ Q NF = Q ∪ Q ∪ Q ; the correspondingbits of u are set to zero, i.e. u i = 0 for all i ∈ ¯ Q NF .
2) Subchannel allocation:
The information set ¯ Q NI is calcu-lated as the complement of ¯ Q NF , and contains K (cid:48) = K + n P C elements, corresponding to the bit indices that will contain themessage bits and the parity check (PC) bits. The subchannelsto be assigned to PC bits are calculated according to twodifferent strategies: n wmP C bits are selected subject to the weightof the rows of the generator matrix, while n lrP C = n P C − n wmP C are bound to the subchannel reliability. The set of the PCindices is called Q NP C , with Q NP C ⊂ ¯ Q NI . To begin with, n lrP C bit indices are initially selected as the n lrP C least reliablesubchannels in ¯ Q NI . The index of the remaining n wmP C PC bitis selected as the subchannels corresponding to the row ofminimum weight in the transformation matrix among the K most reliable bit indices in ¯ Q NI . In the case of uncertainty dueto the presence of too many rows with the same weight, theindex with the highest reliability is selected. The row weight w ( g i ) of subchannel i corresponds to the number of ones ofthe i -th row g i of the transformation matrix G N , and it can beeasily calculated as w ( g i ) = 2 o i , where o i denotes the numberof ones in the binary expansion of i [59]. After the subchannels dy Fig. 10: Design of the sub-block interleaver J .have been allocated, the K message bits are stored in vector u , i.e. the message is stored in the K indices of ¯ Q NI \ Q NP C ,and the values of the remaining n P C indices are calculated.
3) PC bit calculation:
The calculation of the PC bits isperformed through a cyclic shift register of length 5, initializedto 0. Each PC bit is calculated as the XOR of the messagebits assigned to preceding subchannels, modulo 5, excludingthe previously calculated parity check bits. To summarize, aPC bit u i , with i ∈ Q NP C , is calculated as u i = q − (cid:77) j = (cid:98) i PC / (cid:99) u j + p , (4)where q = (cid:98) i/ (cid:99) , p = i mod 5 and i P C ∈ Q NP C is the highestindex smaller than i for which i P C mod 5 = p . If no suchindex exists, i P C = 0 . F. Encoding
The encoding is performed by the multiplication in F d = u · G N , (5)where G N = G ⊗ n , with G = [ ] . Encoding complexitycan be proved to be O ( N log ( N )) [1]. However, the recursivestructure of the transformation matrix suggests the possibil-ity to have parallel implementation [60]. If N/ processingunits are available, the encoding latency can be reduced to O (log ( N )) ; a tradeoff between hardware complexity andencoding latency can be found in between these extremes. G. Sub-block interleaver
The N encoded bits are then interleaved before performingthe rate matching. This interleaver J divides the N encodedbits stored in d into 32 blocks of length B = N bits,interleaving the blocks according to a list of 32 integers P andobtaining the vector y as illustrated in Figure 10. Encoded bit d i is assigned to interleaved bit y j , where i = J ( j ) = B · P ( (cid:98) j/B (cid:99) ) + q, (6)and q = j mod B , for all j = 0 , . . . , N − . H. Rate matching
Rate matching is performed by a circular buffer, and thecodeword e of length E bits is calculated. As previouslymentioned, three possible rate-matching schemes are foreseen: • Puncturing: if E ≤ N and R ≤ , the mother code ispunctured. In this case, the first U = N − E bits are nottransmitted, hence e i = y i + U for i = 0 , . . . , E − . Fig. 11: Circular buffer design for rate-matching. • Shortening: if E ≤ N and R > , the mother code isshortened. In this case, the last U = N − E bits are nottransmitted, hence e i = y i for i = 0 , . . . , E − . • Repetition: if
E > N , the first U = N − E bits aretransmitted twice, with e i = y i mod N for i = 0 , . . . , E − .The operating principle of the rate-matcher based on thecircular buffer is illustrated in Figure 11. I. Channel interleaver
Before passing the rate-matched codeword to the modulator,the bits in e are interleaved one more time using a triangularbit interleaver. This interleaver has been considered necessaryto improve the coding performance of the coding scheme forhigh-order modulation; it is not applied for every use case,hence it is triggered by a parameter I BIL . In particular, thechannel interleaver is activated for PUCCH and PUSCH UCIs( I BIL = 1 ), while it is bypassed in the case of PBCH payloadsand PDCCH DCIs ( I BIL = 0 ).The channel interleaver is formed by an isosceles triangularstructure of length T bits, where T is the smallest integersuch that T ( T +1)2 ≥ E ; its value can be be calculated as T = (cid:108) √ E +1 − (cid:109) . The encoded bits in e are written into therows of the triangular structure, while the interleaved vector e Tf Fig. 12: Channel interleaver design. f is obtained by reading bits out of the structure in columns.The construction of the interleaving pattern is illustrated inFigure 12. In more detail, an auxiliary T × T matrix V iscreated on the basis of e with V i,j = (cid:40) NULL if i + j ≥ T or r ( i ) + j ≥ Ee r ( i )+ j otherwise (7)where r ( i ) = i (2 T − i +1)2 . The interleaved vector f is createdby appending the columns of V while skipping the NULLentries. This triangular interleaver has been proposed in 5Gstandardization because of the practical advantages providedby its high parallelism factor, due to its maximum contention-free property, and its high flexibility. J. Block concatenation
If segmentation has been activated at the beginning of theprocess, the two codewords of length E are appended in orderto obtain a unique block of length G . If G = 2 E + 1 , a zerobit is appended at the end of the second codeword.V. D ECODING CONSIDERATIONS
Even if 3GPP does not provide any suggestion on the decod-ing, the final code structure gives to the reader some guidanceon decoding strategies for polar codes standardized in 5G.Decoding can be easily performed inverting the encoding chainpresented in Figure 6. The received encoded symbols, aftera further block segmentation and deinterleaving step for theuplink, are padded and deinterleaved to reach the mother polarcode length. The nature of the padding depends on the ratematching strategy employed; zeros are appended in the case ofpuncturing, saturated symbols for shortening, while repeatedsymbols are combined in the case of repetition. After padding,the number of coded symbols is a power of two, so they can bedecoded through common polar code decoders [1], [14], [15],[22]; the handling of the assistant bits included in the codeis crucial in this phase and will be discussed in detail. In the following, we delve into SCL-based decoding of polar codes,which is today the de-facto standard decoder for these codes,describing how this algorithm takes advantage of assistant bitsin several ways. Then, bits are possibly deinterleaved andconcatenated according to code and channel parameters beforebeing passed to the upper communication layer.Assistant bits in CA-SCL decoders can be used in threedifferent ways: ( i ) they can provide an early terminationmechanism, or ( ii ) reduce the FAR by decreasing undetectederrors probability, or ( iii ) improve the overall BLER of thecode. Two different kind of assistant bits, namely CRC and PCbits, were originally introduced to be used differently duringthe decoding: distributed CRC bits targeted early terminationand FAR mitigation, while PC bits were designed to improvethe error correction performance of the code. Eventually, thisdistinction vanished during standard development, leaving themanagement of these bits to the designer of the decoder.The input bits interleaver introduced for DCI induces adistributed CRC to the polar codeword, whose bits becomeanalogous to the PC bits present in the UCI. The presence ofthese checks along the decoding can be used either for earlytermination, namely stopping the decoding if the check is notpassed by any of the paths of SCL, or to improve BLER if usedas dynamically frozen bits [43]. CRC bits at the end of thecodeword can be either used the reduce the FAR or to improveerror correction capability of the code. A decoder can tradeoff among these effects depending on current requirements.More in detail, the early decoding termination propertyis triggered by the failure of the check for all active pathswithin the list decoder; the decoding process continues whenat least one path passes the check. However, how a decodershould manage failing paths may alter BLER performance ofthe code [61]. The straightforward approach is to maintainthe failing paths in the list to keep the number of activepaths constant, simplifying the decoder implementation. Analternative is to deactivate failed paths immediately after eachbit estimation. This improves BLER performance while re-ducing the computational complexity and power consumptionof the decoder, however making the number of survivingpaths varying [45]. Finally, distributed assistant bits can beconsidered as dynamically frozen bits, assigning to the bit thevalue imposed by the check. This technique and the failedpath deactivation yield comparable BLER performance. Asdynamically frozen bits, however, assistant bits do not improvethe computational complexity and power consumption of thedecoder, and prevent early-termination since all survivingpaths are guaranteed to pass the check [61].Figure 13 shows the Signal-to-Noise Ratio (SNR) E s /N required by the 5G polar code to achieve a BLER of − as a function of the message length A for different payloadlengths G . Binary phase-shift keying (BPSK) modulation overAWGN channel has been used for the simulations. Polar codesare decoded through SCL decoding with a list size of ,as proposed by 3GPP for baseline. Dotted lines represent O ( n − ) approximation of the Polyanskyi-Poor-Verd`u (PPV)meta-converse bound for the finite blocklength regime [62].Figure 13a considers the PUCCH case, where PC bits intro-duced for A ≤ are considered as dynamic frozen bits.
16 32 64 128 256 512 1024 A -20-15-10-505 E s / N G = 160G = 240G = 480G = 960G = 1920G = 3840 (a) PUCCH
16 32 64 128 A -20-15-10-505 E s / N G = 160G = 240G = 480G = 960G = 1920 (b) PDCCH
Fig. 13: SNR required to achieve BLER of − .Their presence brings a noticeable performance improvement,observed by the sudden jump in the BLER curves at A > .Figure 13b presents the PDCCH case, where early terminationis enabled and the SCL decoder maintains failing paths in thelist. The BLER performance is degraded compared to PUCCHdue to the larger CRC inserted, however with a better FARmitigation and a more efficient early termination mechanism.VI. C ONCLUSION
In this work, we have detailed the polar code encodingprocess within the th generation wireless systems standard,providing the reader with a user-friendly description to un-derstand, implement and simulate 5G-compliant polar codeencoding. This encoding chain showcases the successful ef-forts of the 3GPP standardization body to meet the variousrequirements on the code for the eMBB control channel:low description complexity and low encoding complexity,while covering a wide range of code lengths and code rates.Throughout this work, we hinted that the standardizationprocess also took the receiver side into account. Typical formodern channel coding, the encoder was designed such thatthe decoder can be implemented with feasible complexityand operate at the required latency, assuming state-of-the-artdecoders and hardware. New decoding principles or decodingarchitectures, however, may now be developed to optimizedecoding complexity or improve error-rate performance.With the 5G eMBB control channel, polar codes have foundtheir first adoption into a standard only 10 years after theirinvention. This standardization has triggered further academicand industrial research into polar coding, and adoption infuture standards and systems can be foreseen, given theflexibility of code and decoder design that polar codes offer.Our detailed description of the 5G polar codes, including theindividual components of the encoding chain, may serve as areference to further development of polar codes.R EFERENCES[1] E. Arıkan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,”
IEEE Transactions on Information Theory , vol. 55, no. 7, pp. 3051–3073, July 2009.[2] rd Generation Partnership Project (3GPP), “Multiplexing and channelcoding,” , 2018.[3] K. Niu, K. Chen, J. Lin, and Q. T. Zhang, “Polar codes: Primary conceptsand practical decoding algorithms,”
IEEE Communications magazine ,vol. 52, no. 7, pp. 192–203, July 2014.[4] H. Vangala, E. Viterbo, and Y. Hong, “A comparative study ofpolar code constructions for the AWGN channel,” in arXiv preprintarXiv:1501.02473 , Jan. 2015.[5] R. Mori and T. Tanaka, “Performance of polar codes with the construc-tion using density evolution,”
IEEE Communications Letters , vol. 13,no. 7, pp. 519–521, July 2009.[6] I. Tal and A. Vardy, “How to construct polar codes,”
IEEE Transactionson Information Theory , vol. 59, no. 10, pp. 6562–6582, Oct. 2013.[7] P. Trifonov, “Efficient design and decoding of polar codes,”
IEEETransactions on Communications , vol. 60, no. 11, pp. 3221–3227, Nov.2012.[8] M. Mondelli, S. H. Hassani, and R. Urbanke, “Construction of polarcodes with sublinear complexity,” in
IEEE International Symposium onInformation Theory (ISIT) , Aachen, Germany, June 2017.[9] G. He, J. C. Belfiore, I. Land, G. Yang, X. Liu, Y. Chen, R. Li, J. Wang,Y. Ge, R. Zhang, and W. Tong, “Beta-expansion: a theoretical frameworkfor fast and recursive construction of polar codes,” in
IEEE GlobalCommunications Conference (GLOBECOM) , Singapore, Dec. 2017.[10] C. Condo, S. A. Hashemi, and W. J. Gross, “Efficient bit-channel reli-ability computation for multi-mode polar code encoders and decoders,”in
IEEE International Workshop on Signal Processing Systems (SiPS) ,Lorient, France, Oct. 2017.[11] M. Mondelli, S.H. Hassani, and R.L. Urbanke, “From polar to Reed-Muller codes: A technique to improve the finite-length performance,”
IEEE Transactions on Communications , vol. 62, no. 9, pp. 3084–3091,Sept. 2014.[12] V. Bioglio, F. Gabry, I. Land, and J.-C. Belfiore, “Minimum-distancebased construction of multi-kernel polar codes,” in
IEEE GlobalCommunications Conference (GLOBECOM) , Singapore, Dec. 2017.[13] M. Mondelli, S. H. Hassani, and R. L. Urbanke, “Scaling exponent oflist decoders with applications to polar codes,”
IEEE Transactions onInformation Theory , vol. 61, no. 9, pp. 4838–4851, Sept. 2015.[14] J. Guo, M. Qin, A. Guill`en i F´abregas, and P. H. Siegel, “Enhanced beliefpropagation decoding of polar codes through concatenation,” in
IEEEInternational Symposium on Information Theory (ISIT), 2014 , Honolulu,HI, USA, June 2014.[15] U. U. Fayyaz and J. R. Barry, “Low-complexity soft-output decodingof polar codes,”
IEEE Journal on Selected Areas in Communications ,vol. 32, no. 5, pp. 958–966, May 2014.[16] A. Balatsoukas-Stimming, A. J. Raymond, W. J. Gross, and A. Burg,“Hardware architecture for list successive cancellation decoding of polarcodes,”
IEEE Transactions on Circuits and Systems II: Express Briefs ,vol. 61, no. 8, pp. 609–613, Aug. 2014. [17] A. Balatsoukas-Stimming, M. Bastani Parizi, and A. Burg, “LLR-basedsuccessive cancellation list decoding of polar codes,” IEEE Transactionson Signal Processing , vol. 63, no. 19, pp. 5165–5179, Oct. 2015.[18] C. Leroux, A.J. Raymond, G. Sarkis, and W.J. Gross, “A semi-parallelsuccessive-cancellation decoder for polar codes,”
IEEE Transactions onSignal Processing , vol. 61, no. 2, pp. 289–299, Jan. 2013.[19] B. L. Gal, C. Leroux, and C. Jego, “Software polar decoder on anembedded processor,” in
IEEE Workshop on Signal Processing Systems(SiPS) , Belfast, UK, Oct. 2014.[20] O. Afisiadis, A. Balatsoukas-Stimming, and A. Burg, “A low-complexityimproved successive cancellation decoder for polar codes,” in
IEEEAsilomar Conference on Signals, Systems and Computers , Pacific Grove,CA, USA, Nov. 2014.[21] C. Condo, F. Ercan, and W. J. Gross, “Improved successive cancellationflip decoding of polar codes based on error distribution,” in
IEEE Wire-less Communications and Networking Conference (WCNC) , Barcelona,Spain, Apr. 2018.[22] I. Tal and A. Vardy, “List decoding of polar codes,”
IEEE Transactionson Information Theory , vol. 61, no. 5, pp. 2213–2226, May 2015.[23] “Final report of 3GPP RAN1 ad-hoc NR1 meeting,” Tech. Rep., 3GPP,Spokane, WA, US, Jan. 2017.[24] S. A. Hashemi, A. Balatsoukas-Stimming, P. Giard, C. Thibeault, andW. J. Gross, “Partitioned successive-cancellation list decoding of polarcodes,” in
IEEE International Conference on Acoustics, Speech andSignal Processing (ICASSP) , Shanghai, China, Mar. 2016.[25] S. A. Hashemi, M. Mondelli, S. H. Hassani, R. L. Urbanke, and W. J.Gross, “Partitioned list decoding of polar codes: Analysis and improve-ment of finite length performance,” in
IEEE Global CommunicationsConference (GLOBECOM) , Singapore, Dec. 2017.[26] S. A. Hashemi, C. Condo, F. Ercan, and W. J. Gross, “Memory-efficientpolar decoders,”
IEEE Journal on Emerging and Selected Topics inCircuits and Systems , vol. 70, no. 4, pp. 604–615, Apr. 2017.[27] K. Niu and K. Chen, “Stack decoding of polar codes,”
ElectronicsLetters , vol. 48, no. 12, pp. 695–697, June 2012.[28] B. Li, H. Shen, and D. Tse, “An adaptive successive cancellationlist decoder for polar codes with cyclic redundancy check,”
IEEECommunications Letters , vol. 16, no. 12, pp. 2044–2047, Dec. 2012.[29] C. Condo, S. A. Hashemi, A. Ardakani, F. Ercan, and W. J. Gross,“Design and implementation of a polar codes blind detection scheme,”
IEEE Transactions on Circuits and Systems II: Express Briefs , vol. 66,no. 6, pp. 943–947, June 2018.[30] T. Richardson and R. Urbanke,
Modern Coding Theory , CambridgeUniversity Press, 2008.[31] V. Bioglio, F. Gabry, and I. Land, “Low-complexity puncturing andshortening of polar codes,” in
IEEE Wireless Communications andNetworking Conference (WCNC) , San Francisco, USA, Mar. 2017.[32] D. M. Shin, S. C. Lim, and K. Yang, “Design of length-compatible polarcodes based on the reduction of polarizing matrices,”
IEEE Transactionson Communications , vol. 61, no. 7, pp. 2593–2599, July 2013.[33] R. Wang and R. Liu, “A novel puncturing scheme for polar codes,”
IEEE Communications Letters , vol. 18, no. 12, pp. 2081–2084, Dec.2014.[34] L. Chandesris, V. Savin, and D. Declercq, “On puncturing strategiesfor polar codes,” in
IEEE International Conference on Communications(ICC) , Paris, France, May 2017.[35] L. Zhang, Z. Zhang, X. Wang, Q. Yu, and Y. Chen, “On the puncturingpatterns for punctured polar codes,” in
IEEE International Symposiumon Information Theory (ISIT) , Honolulu, HI, USA, July 2014.[36] H. Saber and I. Marsland, “An incremental redundancy hybrid ARQscheme via puncturing and extending of polar codes,”
IEEE Transactionson Communications , vol. 63, no. 11, pp. 3964–3973, Nov. 2015.[37] V. Miloslavskaya, “Shortened polar codes,”
IEEE Transactions onInformation Theory , vol. 61, no. 9, pp. 4852–4865, Sept. 2015.[38] K. Chen, K. Niu, and J. Lin, “A hybrid ARQ scheme based on polarcodes,”
IEEE Communications Letters , vol. 17, no. 10, pp. 1996–1999,Oct. 2013.[39] M. El-Khamy, H. P. Lin, J. Lee, and I. Kang, “Circular buffer rate-matched polar codes,”
IEEE Transactions on Communications , vol. 66,no. 2, pp. 493–506, Feb. 2017.[40] K. Niu and K. Chen, “CRC-aided decoding of polar codes,”
IEEECommunications Letters , vol. 16, no. 10, pp. 1668–1671, Oct. 2012.[41] T. Wang, D. Qu, and T. Jiang, “Parity-check-concatenated polar codes,”
IEEE Communications Letters , vol. 20, no. 12, pp. 2342–2345, Dec.2016.[42] P. Yuan, T. Prinz, and G. Bocherer, “Polar code construction forlist decoding,” in
IEEE International ITG Conference on Systems,Communications and Coding (SCC) , Rostock, Germany, Feb. 2019. [43] P. Trifonov and V. Miloslavskaya, “Polar codes with dynamic frozensymbols and their decoding by directed search,” in
IEEE InformationTheory Workshop (ITW) , Sevilla, Spain, Sept. 2013.[44] J. Park and H. Y. Kim, I.and Song, “Construction of parity-check-concatenated polar codes based on minimum Hamming weight code-words,”
Electronics Letters , vol. 53, no. 14, pp. 924–926, July 2017.[45] H. Zhang, R. Li, J. Wang, S. Dai, G. Zhang, Y. Chen, H. Luo, andJ. Wang, “Parity-check polar coding for 5G and beyond,” in
IEEEInternational Conference on Communications (ICC) , Kansas City, MO,USA, May 2018.[46] M. Xu, P. Chen, B. Bai, and S. Tong, “Distance spectrum and optimizeddesign of concatenated polar codes,” in
International Conference onWireless Communications and Signal Processing (WCSP) , Nanjing,China, Oct. 2017.[47] G. Ricciutelli, M. Baldi, F. Chiaraluce, and G. Liva, “On the error proba-bility of short concatenated polar and cyclic codes with interleaving,” in
IEEE International Symposium on Information Theory (ISIT) , Aachen,Germany, June 2017.[48] J. Chen, Y Chen, K. Jayasinghe, D. Du, and J. Tan, “Distributing CRCbits to aid polar decoding,” in
IEEE Global Communications Conference(GLOBECOM) , Singapore, Dec. 2017.[49] M. Seidl, A. Schenk, C. Stierstorfer, and J. B. Huber, “Polar-codedmodulation,”
IEEE Transactions on Communications , vol. 61, no. 10,pp. 4108–4119, Oct. 2013.[50] G. Bocherer, T. Prinz, P. Yuan, and F. Steiner, “Efficient polar codeconstruction for higher-order modulation,” in
IEEE Wireless Commu-nications and Networking Conference (WCNC) , San Francisco, USA,Mar. 2017.[51] P. Chen, M. Xu, B. Bai, and X. Ma, “Design of polar coded 64-QAM,” in
IEEE International Symposium on Turbo Codes and IterativeInformation Processing (ISTC) , Brest, France, Sept. 2016.[52] H. Mahdavifar, M. El-Khamy, J. Lee, and I. Kang, “Polar codingfor bit-interleaved coded modulation,”
IEEE Transactions on VehicularTechnology , vol. 65, no. 5, pp. 3115–3127, May 2016.[53] H. Afser, N. Tirpan, H. Delic, and M. Koca, “Bit-interleaved polar-coded modulation,” in
IEEE Wireless Communications and NetworkingConference (WCNC) , Istanbul, Turkey, Apr. 2014.[54] K. Chen, K. Niu, and J. R. Lin, “An efficient design of bit-interleavedpolar coded modulation,” in
IEEE Personal Indoor and Mobile RadioCommunications (PIMRC) , London, UK, Sept. 2013.[55] D. M. Shin, S. C. Lim, and K. Yang, “Mapping selection and code con-struction for m -ary polar-coded modulation,” IEEE CommunicationsLetters , vol. 16, no. 6, pp. 905–908, June 2012.[56] T. Koike-Akino, Y. Wang, S. C. Draper, K. Sugihara, and W. Matsumoto,“Bit-interleaved polar-coded OFDM for low-latency M2M wireless com-munications,” in
IEEE International Conference on Communications(ICC) , Paris, France, May 2017.[57] K. Tian, R. Liu, and R. Wang, “Joint successive cancellation decodingfor bit-interleaved polar coded modulation,”
IEEE CommunicationsLetters , vol. 20, no. 2, pp. 224–227, Feb. 2016.[58] 3GPP TSG RAN WG1
IEEETransactions on Communications , vol. 61, no. 3, pp. 919–929, Mar.2013.[60] G. Sarkis, I. Tal, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross,“Flexible and low-complexity encoding and decoding of systematic polarcodes,”
IEEE Transactions on Communications , vol. 64, no. 7, pp. 2732– 2745, July 2016.[61] C. Pillet, V. Bioglio, and C. Condo, “On list decoding of 5G-NR polarcodes,” in arXiv preprint arXiv:1907.00784 , July 2019.[62] T. Erseghe, “Coding in the finite-blocklength regime: bounds basedon Laplace integrals and their asymptotic approximations,”