I Introduction
Polar codes, proposed by Arıkan in [1], are a class of errorcorrecting codes first proved to achieve the symmetric capacity of an arbitrary binaryinput discrete memoryless channel (BDMC) under lowcomplexity decoding. It was also shown in [2, 3] that polar codes achieve practically good finitelength performance under successivecancellation list (SCL) decoding when they are concatenated with an outer code. For this reason, the 3rd Generation Partnership Project (3GPP) recently agreed to adopt polar codes for control information in the 5G New Radio (NR) access technology [4].
In the construction of a polar code, the polarization kernel matrix is generally considered, and the length is fixed to a power of two. In order to make the length arbitrary for practical applications, ratematching schemes such as puncturing, shortening, and repetition are applied to the encoder output. They change the effective bitwise channels that the encoder output bits experience, and thereby alter overall channel polarization. Therefore, the code construction and rate matching for polar codes need to be simultaneously taken into account to achieve good ratecompatible performance.
Numerous ratematching schemes for polar codes have been widely studied in the literature [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]. Among them, puncturing and shortening have been commonly studied. First, puncturing is a classical modification method that reduces the length of a code, while maintaining its dimension. In polar coding, puncturing coded bits changes overall channel polarization considerably, so that some polarized split channels become incapable of delivering information. Practical puncturing schemes such as random and stoppingtree puncturing for polar codes were firstly studied in [5]. A quasiuniform puncturing scheme was proposed in [6] to design punctured polar codes with a good minimum rowweight property, while a method to construct lengthcompatible polar codes by reducing polarizing matrices was studied in [7]. Especially in [7], an important term, incapable bits resulting from puncturing, was first introduced. Search algorithms by density evolution or Gaussian approximation were introduced in [8, 9] to design an optimal puncturing pattern. An interesting ratematching scheme via puncturing and extending intermediate coded bits was investigated for incrementalredundancy hybrid auotmaticrepeatandrequest (IRHARQ) in [10]. In [11], a class of symmetric puncturing patterns is introduced, and a method to efficiently generate symmetric puncturing patterns is proposed. More recently, Hong et al. [12, 13] showed the existence of capacityachieving punctured polar codes, and ElKhamy et al. [14] designed a circularbuffer rate matching (CBRM) based on twostage polarization.
Shortening is another approach to modifying polar codes for rate matching. In shortened polar codes, the values of some encoder output bits are fixed to a deterministic value, typically zero, by shortening some encoder input bits. Although these fixed encoder output bits are not transmitted, the decoder is aware of their values and is able to use the information for decoding. A shortened polar code can be seen as a subcode of a given mother code. Wang and Liu [15] proposed a general way of constructing shortened submatrices by recursively eliminating a singleweight column in the mother matrix. Recently, an efficient algorithm for finding good shortening bit patterns was proposed in [16], and a ratematching scheme designed to combine both puncturing and shortening was investigated in [17].
As a practical application, the polar coding scheme in 3GPP NR [4] exploits a single nested ratematching pattern based on a subblockwise permutation, which is commonly applied to puncturing, shortening, and repetition. The encoder output bit sequence is divided into 32 subblocks, and they are subblockwise interleaved in a predetermined pattern, regardless of the ratematching technique employed. The interleaved bit sequence is then stored in a circular buffer, and as many bits as desired are selected from the buffer for transmission. Note that the starting point for extracting the desired bits from the buffer is set differently, depending on the applied ratematching scheme. When either shortening or repetition is configured, the bits from the front of the buffer are selected for transmission. On the other hand, when puncturing is set, the starting point is determined so that the bits located at the head of the buffer are not transmitted. This CBRM in conjunction with an additional adjustment, socalled prefreezing [4], shows stable performance over a wide range of code rates.
In this paper, we study the fundamentals of puncturing and shortening for binary polar codes. We show that binary domination, formally introduced by Sarkis et al. in [18], plays an important role in determining puncturing and shortening bit patterns in polar coding. The binary domination relation gives a partial order between two integers, based on their binary representation. Some properties of binary polar codes constructed from the polarization kernel can be easily analyzed by the binary representation of the synthetic channel indices. In fact, the binary domination relation was found to determine a partial order on the reliabilities of the polarized split channels [19, 20]. Also, it provides guidance on the order of the bits to be punctured or to be shortened. We first prove that the encoder input bits to be made incapable by puncturing are determined with the partial order by binary domination. Then, we show that there are puncturing bit patterns identical to or ‘reverse’ to a given incapable bit pattern. Also, in the shortened polar codes introduced in [15], we show that the shortening bit patterns in the encoder input obey the partial order by binary domination.
It has been believed in the literature [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] that shortening of polar codes inevitably starts from highindexed bits, whereas puncturing begins from lowindexed bits. Even in the CBRM in 3GPP NR [4], puncturing is performed from the head of the buffer, whereas shortening is done from the tail of the buffer. This means that the buffer for puncturing needs to be differently managed from that for shortening. Unlike such a conventional approach, we show that puncturing does not need to begin from an encoder output bit with low index, but it may start from an encoder output bit with high index. In addition, we show that puncturing and shortening bit patterns can be aligned by binary domination at the encoder output, so puncturing can be performed in exactly the same order as shortening. Finally, we propose a practical CBRM scheme that exploits a unified bit pattern and a unified buffer to support all the ratematching methods including puncturing, shortening, and repetition. This scheme can be simply and efficiently implemented for a practical ratecompatible polar coding chain.
The contributions of this work are summarized as follows:

Fundamentals of punctured polar codes: We identify a necessary and sufficient condition for an encoder input bit to be made incapable by puncturing in Theorem 11. We show that binary domination completely determines an incapable bit pattern. We then find all puncturing bit patterns that result in the same incapable bit pattern in Theorem 14. Theorems 15 and 16 identify two important patterns – identical and reverse patterns, respectively, among these puncturing bit patterns. In particular, the reverse puncturing bit pattern is obtained by bitwise complement of the desired incapable bit pattern. This enables us to begin puncturing from a highindexed encoder output bit, in constrast to the conventional ratematching schemes for polar codes.

Fundamentals of shortened polar codes: We prove in Theorem 17 that any fixed bit pattern at the encoder output, resulting from shortening, is also constrained by binary domination. In Corollary 18, we verify that the corresponding shortening bit pattern in the encoder input is identical to the fixed bit pattern. We also identify a necessary and sufficient condition for an encoder output bit to be fixed by shortening in Theorem 19.

Unified rate matching for polar codes: We propose a unified circularbuffer rate matching scheme to align the puncturing bit pattern and the fixed bit pattern by shortening via binary domination. The proposed scheme reduces the implementation complexity of the ratematching scheme in 3GPP NR and makes the coded modulation chain much simpler, while keeping the same good performance.
The rest of this paper is organized as follows. Section II describes the preliminaries to polar coding and rate matching. Sections III and IV, respectively, reveal that both puncturing and shortening bit patterns for a polar code are related to binary domination. Section V designs a unified ratematching scheme to support puncturing, shortening, and repetition. Finally, Section VI describes future works, and concludes the paper.
Ii Preliminaries
Iia Notation
Throughout the paper, we write calligraphic letters (e.g. ) to denote sets. Conventionally, we use to denote the complementary set of . Given and , we write to denote the relative complement of with respect to . Given an integer set and an integer , we write to denote . For example, . Let , , and be the set of natural numbers, integers, and real numbers, respectively. For a positive integer , we write to denote the set of integers from 0 to , that is, . Given two integers , we use to denote the set of consecutive integers from to , i.e., .
We use boldface lowercase letters (e.g. ) and boldface uppercase letters (e.g.
) to denote vectors and matrices, respectively. Given
and , we write to denote the subvector , where the order of the entries in is the same as that in .We write italic boldface uppercase letters (e.g. A) to denote sequences. Given a sequence , we write to represent that the set is constituted by taking the elements of A, that is, . Here, the order of elements no longer matters in .
IiB Encoding of Polar Codes
Fig. 1 shows a general bitinterleaved coded modulation (BICM) system with an polar code, where and denote the length and the dimension (or the information length), respectively. The polar code is obtained via puncturing, shortening, and repetition from a mother code of length and has rate .
Let denote the vector of information bits, where is the binary field. Generally, is a codeword of an outer code such as cyclic redundancy check (CRC) codes [2, 3], extended BCH codes [21], and paritycheck codes [22]. The outer code increases the minimum distance of the resultant concatenated code, thereby improving the decoding performance when near maximumlikelihood (ML) decoding such as SCL decoding [2] and SCstack (SCS) decoding [23] is employed.
We assume that and are given first, and the other code parameters including are determined according to and . We consider a polar code constructed by the binary polarization kernel as a mother code, so for some integer . Usually, is chosen to be the smallest power of two greater than or equal to , that is, . However, if is rather close to half of , a polar code of length would be a good option in terms of performance and complexity. For example, the NR polar coding scheme chooses if and ; and , otherwise [4].
Given , the information vector is mapped to a subvector of an encoder input vector . This bit mapping is carefully done by considering the quality of each polarized synthetic channel and is called the split channel allocation. The vector is divided into three disjoint subvectors , , , where are the index sets of information bits, frozen bits, and zerocapacity bits, respectively. First, is determined by which bits are to be punctured or to be shortened in the rate matcher. This procedure will be introduced in detail in the next subsection. Among , the indices corresponding to the most reliable split channels constitute , while the remaining indices comprise . In the split channel allocation, is mapped to , and both and are generally set to the zero vector.
As an example of the split channel allocation, a single sequence of indices, , is used for any combination of and in the NR polar coding scheme [4]. We call this sequence the NR polar code sequence. Given , a subsequence is extracted from while keeping the relative order of elements. Next, the index set of zerocapacity bits, , is determined by punctured or shortened bits in the rate matcher. The complementary index set is then given by , where the relative order of elements still remains unchanged. Finally, and .
After the split channel allocation, an encoder output vector
is obtained by the linear transformation,
, where is the generator matrix of a polar code of length . In Arıkan’s original polar coding scheme [1], the linear transformation is considered as , where denotes the th Kronecker power of , and is the dimensional bitreversal permutation matrix. Since just reorders either or , we consider(1) 
for simple description throughout the paper, as in the NR polar coding system [4].
A codeword is finally obtained from via rate matching. In the rate matcher, bits are punctured from if , while bits are additionally selected from and appended to to generate if . In wireless communication systems, a CBRM scheme with bit interleaving is generally adopted for simple implementation so that encoder output bits are always circularly extracted in order from a buffer. In the CBRM, the bit rearranging order is unified for all the ratematching operations such as puncturing, shortening, and repetition. For example, NR exploits a CBRM scheme with subblockwise permutation [4]. It achieves stable performance over all the lengths and rates of interest. The bits in are generally interleaved to improve the performance of BICM, and finally, they are modulated and transmitted over a physical channel.
An important feature of polar coding is that the split channel allocation and the rate matching are closely related to each other. More specifically, the overall channel polarization is affected by which and how many bits are punctured or repeated, and some split channels even become incapable of delivering any information due to puncturing.
IiC Rate Matching
Polar codes based on the polarization kernel have a power of two as their length. Thus, rate matching is applied to modify the length and adjust the rate. There are three major types of ratematching techniques for polar codes: puncturing, shortening, and repetition. These ratematching schemes alter overall channel polarization. In particular, when puncturing or shortening occurs, some encoder input bits are not available to deliver information since their symmetric capacity becomes zero. Fig. 2 briefly describes a subsequent consequence that appears on the opposite side, due to puncturing or shortening a polar code.
IiC1 Puncturing
Puncturing removes bits from to make a codeword of length , and these punctured bits are not transmitted. The decoder on the receiver side does not have any stochastic information about them, so their initial loglikelihood ratios (LLRs) are set to zero. The impact of puncturing on channel polarization is more significant, compared with other rate matching schemes. In particular, when coded bits are punctured, the symmetric capacities of some split channels are degraded to zero. The encoder input bits in that correspond to the zerocapacity synthetic channels due to puncturing are called the incapable bits [7]. The values of these incapable bits are typically set to zero. Let be the index set of punctured bits in , and let denote the index set of the corresponding incapable bits in . It was shown in [7] that any puncturing bit pattern with punctured bits in leads to exactly the same number of incapable bits in , and hence, .
IiC2 Shortening
In [15], a shortening technique for polar codes was introduced. Due to the lowertriangular form of , if the encoder carefully chooses bits in and fixes their values to zero, then there are exactly bits in whose values are zero. These bits in are not transmitted, but the decoder on the receiver side is aware that their values are zero. Thus, the LLR values corresponding to these fixed bits with shortening are initially set to infinity before decoding. The change in channel polarization due to shortening is totally different from that due to puncturing. It was empirically observed that when the code rate is high, shortening leads to better performance than puncturing. The bits in whose values are set to zero are called the shortened bits, and the corresponding bits in whose values are fixed to zero by shortened bits are called the fixed bits. The shortened bits also belong to a class of zerocapacity bits because they do not convey any information. Let be the index set of shortened bits in , and let be the index set of the corresponding fixed bits with deterministic values in . It was shown in [15] that a greedy selection method with the weightone column criterion makes and have the same cardinality, that is, . While determines in puncturing, identifies in shortening.
IiC3 Repetition
If is slightly larger than , then it would be a good option to exploit a polar code of length and repetition. Compared with the case of choosing a polar code of length , the performance degradation due to excessive puncturing can be avoided; and as well, the encoding and decoding complexity can be reduced to about half. At the transmitter, bits in are generated by repeating some bits in ; and before decoding at the receiver, the LLRs of the repeated bits are combined with those of the corresponding original bits. LLR combining improves the effective bitwise channels corresponding to the repeated bits, so the choice of a repetition pattern affects the decoding performance.
IiD Binary Domination
For an integer , let denote the binary representation of where for . Let be the Hamming weight of , that is, . We write to denote the bitwise complement of , which is obtained by inverting for all . Clearly, .
Definition 1 (Binary domination [18]):
For any two integers , we say that dominates or is dominated by , denoted by (or ), if for all . Furthermore, we say that strictly dominates or is strictly dominated by , denoted by (or ), if but . The relations and are called the binary domination relation and the strict binary domination relation, respectively.
The binary domination relations give a partial order on . For example, in , we have since and . However, and are not comparable because and . Note that the binary domination relation is reflexive, antisymmetric, and transitive, while the strict binary domination relation is irreflexive, asymmetric, and transitive [24]. In addition, it is clear that if .
Mori and Tanaka observed a channelindependent phenomenon that guarantees that the reliability of is usually better and never worse than that of in channel polarization [19]. That is, the binary domination relation defines a partial order on the reliabilities of the polarized split channels, regardless of the channel statistics. This ordering is found without any complicated analysis such as density evolution [19, 20]. Welldesigned sequences defining polar codes should adhere to the partial order by binary domination. The binary domination relation was also used in the efficient implementation of systematic polar codes [18].
Based on binary domination, we define a dominated integer set and a dominating integer set as follows.
Definition 2 (Dominated integer set):
The dominated integer set of is defined as . The strictly dominated integer set of is defined as .
Definition 3 (Dominating integer set):
The dominating integer set of is defined as . The strictly dominating integer set of is defined as .
Clearly, , , , and by definitions. The partial order by binary domination plays a decisive role in determining puncturing and shortening bit patterns for polar codes, as will be shown in the next sections. For a clear presentation, we define a partiallyordered sequence on , called a posequence for short, as a sequence whose entries follow the partial order by binary domination.
Definition 4 (posequence):
A sequence is called a posequence if it is a permutation on such that there is no pair of and in with , that is, either , or and are not comparable for any .
For example, for , is a posequence whereas is not since . Within any posequence, all the integers dominated by appear ahead of , whereas all the integers that dominate are behind .
Definition 5:
A set is said to comply with binary domination if either for all or for all .
Definition 6:
A set is called a puncturing (incapable, shortening, and fixed, respectively) bit pattern if the bits with indices in are punctured (incapable, shortened, and fixed, respectively), while the other bits remain unchanged.
Iii Puncturing and Incapable Bit Patterns
The relation between puncturing bit patterns and their corresponding incapable ones may be well understood by exploring the operation of SC decoding. To reveal this, this section first reviews SC decoding. Readers may refer to [1, 25, 26, 2] for better comprehension of SC and SCL decoding. Based on the SC decoding operation, the possible incapable bit patterns and their corresponding puncturing ones are then investigated.
Iiia SuccessiveCancellation Decoding
SC decoding for a polar code can be regarded as beliefpropagation (BP) over the bipartite graph corresponding to the generator matrix in (1). Fig. 3 depicts an example of the decoding of a polar code of length over the corresponding bipartite graph. The graph consists of variable nodes (circles), check nodes (squares), and edges. A variable node corresponds to a single bit, while a check node represents a linear constraint that the binary sum of the values of all neighbor variable nodes is equal to zero.
Let denote the graph corresponding to the polar code of length . The graph is divided into stages indexed from (leftmost) to (rightmost). Let and denote the th variable node and the th check node at stage , respectively. Then, the graph consists of the sets of variable nodes for , the sets of check nodes for , and the edges connecting these nodes, where and denote the set of variable nodes at stage and the set of check nodes at stage , respectively. In particular, and correspond to an encoder input vector and an encoder output vector , respectively.
For , variable nodes in and are connected to check nodes in , and the connections are determined by the nonzero entries of . Due to the recursive construction of , the connection of the graph can be characterized by a simple rule with respect to the binary representation of the corresponding check node index. Recall that denotes the th component of the binary representation of . Note that with is connected to three variable nodes , , and , while with is connected to two variable nodes and .
In SC decoding over the graph, an LLR and a harddecision value are calculated for each
. The LLR values are calculated from right to left in the graph, while the harddecision values based on the currently estimated encoding input bits are passed from left to right. We focus only on the update of LLR values. Let
denote the intrinsic LLR for , which is calculated from the corresponding received symbol. While if is punctured, if is fixed by shortening. The intrinsic LLRs are fed into the variable nodes at stage such that for all , and then, the LLRs are calculated from stage to stage . In each LLR calculation, one of two functions is adaptively used depending on the variable node index. At stage , with is updated by the function as(2) 
Note that in (2) if any one of and is equal to zero. On the other hand, with is updated by the function as
(3) 
where is the harddecision value of , previously estimated by the successive cancellation procedure. Clearly, in (3) only if both and are zero.
IiiB Incapable Bit Patterns
An encoder input bit is said to be incapable if its corresponding LLR becomes zero when SC decoding is employed for a punctured polar code. Throughout this section, consider puncturing a polar code of length . For and , we write to denote the index set of variable nodes with LLR zero at stage restricted to , that is, . In particular, and , where and denote the index set of incapable bits and the index set of punctured bits, respectively. An interesting fact shown in [7] is that the number of incapable split channels is exactly the same as the number of punctured bits, i.e., , regardless of the puncturing bit pattern. In the following theorem, we show that complies with binary domination.
Theorem 7:
For any , if , then . In other words, complies with binary domination.
Proof.
Let denote the symmetric capacity of the th synthetic channel in the polar code of length when SC decoding is applied. It was shown in [19] that if , regardless of the channel statistics. If for some reason, then for all . The symmetric capacity of an incapable bit due to puncturing is zero. Thus, if is made incapable, then is also made incapable for all . ∎
The following three lemmas present some additional properties of puncturing a polar code.
Lemma 8:
For any and any , we have
Proof.
For , let and denote the set of variable nodes and the set of check nodes at stage , respectively. For and , we write to denote the subgraph restricted to . Due to the recursive construction of a polar code, can be viewed as the graph corresponding to an independent polar code of length . Hence, by applying the result in [7] to this code, we conclude that the number of variable nodes with LLR zero at each stage is the same as the number of punctured bits to this code. ∎
Note that in Lemma 8 when and . Therefore, Lemma 8 is a generalized version of the related result in [7].
Lemma 9:
For any and , we have .
Proof.
See Appendix A. ∎
Lemma 10:
Assume that for at stage after SC decoding. Then, there exists an index such that additional puncturing of (i.e., ) results in , regardless of how the polar code is currently punctured.
Proof.
See Appendix B. ∎
Based on the above lemmas, we give a necessary and sufficient condition for an encoder input bit to be made incapable by additionally puncturing a single output bit.
Theorem 11:
Let . The encoder input bit can be made incapable by additionally puncturing a single encoder output bit if and only if .
Proof.
If is additionally made incapable, then by Theorem 7. Therefore, we have .
The converse is proved by mathematical induction. First, note that can be decomposed into . Clearly, can be made incapable by puncturing a single encoder output bit by Lemma 10 even if no bits have been made incapable earlier. We prove that for with , can be made incapable by additionally puncturing a single encoder output bit if .
For , it suffices to consider only because . By assumption, we have . Since and , one of and is zero and the other is nonzero. By Lemma 10, the nonzero one, either or , can be made zero by additionally puncturing a single encoder output bit since .
Assume that for any with , can be made incapable by additionally puncturing a single encoder output bit if . Then, by Lemma 8, there exists such that leads to making incapable. Furthermore, it follows from Lemma 10 that can be made zero for any by puncturing an additional encoder output bit.
Now, consider . Then, by assumption and . As defined in the Proof of Lemma 8, and represent identical and independent component polar codes of length , respectively. In the component polar code represented by , the zeroLLR pattern is involved in generating the incapable bit pattern . On the other hand, the zeroLLR pattern contributes to making the incapable bit pattern in the component polar code corresponding to . At stage , we have by Lemma 9. Because the zeroLLR pattern does not make incapable in , the induction hypothesis guarantees that there exists such that leads to making incapable in . In , we have caused by the identical zeroLLR pattern , as in . Due to the same structure of and , can be made incapable by additionally setting . Since and , one of and is zero and the other is nonzero. Clearly, can be made zero by setting the nonzero one, either or , to zero. Since , the nonzero one can be made zero by additionally puncturing a single encoder output bit by Lemma 10. Hence, the statement holds for any by mathematical induction. ∎
It is shown in Theorem 7 that for an index , all the indices dominated by are ahead of in , while the indices dominating appear behind of in . This is the property that any posequence has. Thus, the set is an achievable incapable bit pattern of length . In addition, Theorem 11 demonstrates that the order of the encoder input bits to be made incapable is restricted only by binary domination. Definitely, is the first encoder input bit to be incapable since is dominated by any nonzero integer in with respect to binary domination.
IiiC Puncturing Bit Patterns
In this subsection, we investigate puncturing bit patterns that result in a given incapable bit pattern. First, we identify the sets of encoder output bits required to be punctured to make a certain single encoder input bit incapable.
For clear presentation, we introduce some set notations. Given two ordered sets and with the same cardinality , we define as the elementwise addition of these sets, that is, . In addition, given a set , let denote the family of the ordered sets obtained by taking elements from with repetition, i.e., . For example, .
Lemma 12:
For and , let denote the family of minimal sets of variable node indices with LLR zero at stage , which are required to make incapable. Then, and is obtained by recursively performing
(4) 
for .
Proof.
See Appendix C. ∎
In particular, is simply called the family of minimal puncturing bit patterns required to make incapable. The cardinalities of and its element sets can be found by Lemma 12. For and , let denote an element set of . Starting with , we have
by Lemma 12. Thus, , and accordingly,
Setting , we also have
by Lemma 12. Hence,
The following theorem shows that there are two simple and important element sets in that comply with binary domination.
Theorem 13:
For any , we have and , where for .
Proof.
See Appendix D. ∎
Bit index  Minimal puncturing bit pattern 

, , , , , , ,  
, , , ,
, , , , , , , , , , , 

, , , ,
, , , 

, , , ,
, , , , , , , , , , , 

, , ,  
, , ,  
,  
When , Table I shows the minimal puncturing bit patterns that make each encoder input bit incapable. They are determined by the recursive formula in Lemma 12. Note that for , the boldfaced sets indicate and , which are given in Theorem 13.
Now we find all puncturing bit patterns inducing a given incapable bit pattern. If two puncturing bit patterns give the same symmetric capacity for each bit channel, they are said to be equivalent [11]. In this paper, we relax the equivalence concept. If two puncturing bit patterns give the same incapable bit pattern, they are said to be widely equivalent. Based on Theorem 7 and Lemma 12, it is further possible to find all the widely equivalent puncturing bit patterns for a given incapable bit pattern.
Given two families and of sets, we write to denote the crossunion of these families, defined as . For a subset such that complies with binary domination, let denote the family of widely equivalent puncturing bit patterns making the bits with indices in incapable. We say that is a most dominant integer in if there does not exist such that .
Theorem 14:
Let be an incapable bit pattern. Then,
where is the set of most dominant integers in .
Proof.
See Appendix E. ∎
As an example, assume that is given for a polar code of length
Comments
There are no comments yet.