# An efficient construction of polar codes based on the general partial order

- 118 Downloads

## Abstract

Traditionally, the construction of polar codes requires intense computations to sort all bit channels. In previous works, two types of partial orders (POs) of polar codes were proposed to decrease the computations in the construction process. In this paper, a procedure is presented to employ POs with complexity *O*(*N*^{2}), which is lower than the existing procedures, where *N*=2^{n} is the code length (*n*≥1). To further reduce the computation complexity, in this paper, we propose a general partial order (GPO), which works at a lower dimension (*n*_{u}<*n*) to sort bit channels. The principle of the GPO is to divide the binary expansion of bit channels into two parts: the upper part and the lower part. First, the relationships among bit channels formed from the upper part (with length *n*_{u}) are completely determined. Existing algorithms are called in this new level *n*_{u} when needed. Second, we prove that the ordering at this lower dimension *n*_{u} can be combined with the PO ordering of bit channels formed from the lower part. Therefore, more intrinsic relationships among bit channels are obtained. Working at the lower dimension *n*_{u}<*n*, the complexity of GPO is inherently smaller than the existing sorting algorithms. The studies show that for *n*=10 and the code rate *R*=0.5 (the worst code rate from the empirical studies), the GPO can order 82% of bit channels, which is 32% larger than that obtained from using only POs. The proposed GPO in this paper can significantly reduce computations in the construction of polar codes.

## Keywords

Polar code Polar code construction Partial orders## Abbreviations

- AWGN
Additive white Gaussian noise

- BEC
Binary erasure channels

- BMS
Binary-input, memoryless, output-symmetric

- GA
Gaussian approximations

- GPO
General partial order

- IR
Indirect relationships

- PO
Partial order

- POI
Partial order indicator

- SC
Successive cancelation

## 1 Introduction

Polar codes [1] have attracted researchers from around the world since their introduction in [1]. As proven in [1], polar codes can achieve the channel capacity at a low encoding and decoding complexity of \(\mathcal {O}(N \log N)\) for binary-input, memoryless, output-symmetric (BMS) channels (here, *N* is the code length). A successive cancelation (SC) decoder was proposed to decode *N* synthesized bit channels \(W_{N}^{(i)}, i=1, 2,\cdots, N\). The theoretical analysis of the polarization rate of bit channels is reported in [1, 2, 3, 4]. The performance of polar codes with practical code lengths is investigated in [5, 6, 7, 8] and their references.

The construction problem of polar codes is as follows: for the given code rate *R*, how to select the *K*=⌊*NR*⌋ best bit channels from all bit channels \(\left \{W_{N}^{(i)}\right \}_{i=1}^{N}\) to transmit information bits. The inputs of the remaining bit channels are frozen and are made known to the transmitter and the receiver. The quality of a bit channel \(W_{N}^{(i)}\) can be measured, for example, by the error probability \(P_{e}\left (W_{N}^{(i)}\right)\). However, determining the quality of the bit channels is not an easy task with the exception of binary erasure channels (BECs). Note that the channel input alphabet size is assumed to be two. Non-binary input alphabets in [9, 10, 11] are not discussed in this paper.

Let \(\mathcal {I}\) denote the set containing *K* indices of the good bit channels, and let \(\mathcal {F}\) denote the set containing the indices of the frozen bit channels. Let \(W: \mathcal {X} \rightarrow \mathcal {Y}\) be the underlying channel with a transition probability *W*(*y*|*x*). Sorting the bit channels is difficult because of the large number of output alphabets \(|\mathcal {Y}|^{N}\). Evaluating this large number of transition probabilities for each bit channel is beyond the reach of a practical system. Monte-Carlo simulations are proposed in [1] to sort the bit channels, with a high complexity of \(\mathcal {O}(M N \log N)\) (*M* denotes the iterations of the Monte-Carlo simulations). Density evolution is used in [12] to construct polar codes. The density evolution process involves function convolutions whose numerical calculation precisions are limited by the complexity. In [13], bit channel approximations are proposed with a controlled complexity of \(\mathcal {O}\left (N \cdot \mu ^{2} \log \mu \right)\) (*μ* represents a user-defined parameter to limit the number of output alphabet at each approximation stage). Another family of polar code construction is to use Gaussian approximation (GA) on additive white Gaussian noise (AWGN) channels [14, 15, 16]. The GA method is inherently limited by the approximation function [16] and may not be applicable to all block lengths. Partial order (PO) relations are reported in [12, 17, 18]. We borrow the notations from [17] to denote the two types of POs: ≼_{1} and ≼_{2}. The first type of PO, ≼_{1}, is investigated in [17] and [18]; it orders the bit channels with the same Hamming weight (here, the Hamming weight is the Hamming weight of the binary expansions of the bit channel indices). The second type of PO, ≼_{2}, is stated in [12], which orders the channels with different Hamming weights. These two POs are channel independent: the orders are universal for all types of underlying channels. In [17], the authors show that the two POs can be used to simplify the encoding construction. However, no algorithm is presented to employ these two POs; therefore, no detailed results are provided there in [17] to quantify the exact savings.

In this paper, an efficient procedure is proposed to employ the two POs ≼_{1} and ≼_{2}. Theoretical foundation enabling this efficient procedure is provided in Proposition 1 and Lemma 1–Lemma 3. Compared with the work in [19], the proposed procedure to find the relationships determined by the two POs has a lower complexity: our proposed algorithm has a complexity of \(\mathcal {O}\left (N^{2}\right)\) while the complexity in employing the two POs is at least \(\mathcal {O}\left (N^{5/2}\right)\) in [19]. Although both procedures can be performed off-line, the proposed procedure in this paper is more efficient in employing POs. Note that the proposed procedure in the paper can be refined by exploring the nesting and symmetric properties of POs in [20].

For a given channel *W*, to reduce the computation complexity of the construction of polar codes, we introduce a general partial order (GPO), which works by dividing the binary expansion of bit channels into two parts: the upper part with *n*_{u}≥1 bits and the lower part with *n*_{l}=*n*−*n*_{u} bits (here, *n*= log2*N*). Considering the upper part as a set of new bit channels with *n*_{u} bits, the ordering of these new bit channels at this smaller level \(\phantom {\dot {i}\!}N_{u} = 2^{n_{u}}\) can either be derived from the two POs or from calling any sorting algorithm [12, 13]. Since the channel independent ordering of *N*_{u} bit channels is part of POs, we only consider their new channel-dependent ordering obtained from the existing sorting procedures such as [12, 13]. This paper proves that this channel-dependent ordering of *N*_{u} bit channels can be combined with ≼_{1} and ≼_{2} to obtain the ordering for the given underlying channel *W* and block length *N*. The POs and GPO aim to find the intrinsic relationship between any two bit channels. After applying POs and GPO, additional intrinsic relationships can be identified when considering the transitivity of bit channel degradation (or upgradation). These transitive relations are termed indirect relations. Algorithms to explore PO ≼_{1}, PO ≼_{2}, GPO, and the transitivity of bit channel degradation (or upgradation) are provided to quantify the savings of each. The choice of the dimension *n*_{u} is also discussed in the paper. A quasi-analytical equation that can be used to estimate the optimal *n*_{u}, which produces the most efficient construction of polar codes, is provided. The calculations in our study indicate that for *n*=10 and the code rate *R*=0.5 (the worst code rate), incorporating PO relations can determine 50% of the bit channels, which produces only 50% of the sorting calculations. With our proposed GPO, the determined portion of the channels increases to 82%, which causes a significant complexity reduction in the construction of polar codes.

Note that portions of this work are presented in [21], where three lemmas of the procedure to find relationships determined by POs are not introduced. The theorem of GPO is not proven and the indirect relationships are not considered due to the limited space of [21]. The main contributions of this current paper are as follows: (1) The three lemmas related to POs are introduced. These lemmas are the basis for the proposed procedure in finding relationships determined by PO ≼_{1} and PO ≼_{2}. The complexity of the proposed procedure is lower than the existing procedure when employing the two POs. (2) A complete proof of the proposition related to GPO is given. The procedures of GPO are channel-independent while the ordering obtained from GPO is channel dependent. (3) A proposition to find all indirect relationships is presented and proven. (4) The GPO parameter is optimized. The simulated construction time follows the prediction of the construction time and shows a construction time around 30% of the original Tal-Vardy’s construction time for code lengths up to *N*=1024. (5) The algorithms for implementing POs and GPO are refined with specific mathematical expressions due to new introduced mathematical details compared with [21].

The remainder of the paper is organized as follows. Section 2 introduces the basics of polar codes and the partial orders we employed in this paper. The GPO is proposed in Section 3, with algorithms and proofs presented in this section. The discussion of the selection of the low dimension *n*_{u} is also provided in Section 3. Section 4 provides the numerical results that quantify the savings of the proposed construction algorithms. Conclusion remarks are presented at the end in Section 5.

## 2 Polar code and partial orders

The first part of this section includes the relevant basics of polar codes from [1]. For other details of polar codes, please refer to the materials in [1]. The second part restates some results of partial orders from [12, 17].

### 2.1 Notation specification

The notations in this paper are as follows: The notation \(v_{1}^{N}\) is used to represent a row vector with elements (*v*_{1},*v*_{2},...,*v*_{N}). The *n*-bit binary expansion of the integer *i* is written as *i*=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b}. Given the vector \(v_{1}^{N}\), the vector \(v_{i}^{j}\) is a subvector (*v*_{i},...,*v*_{j}) with 1≤*i,j*≤*N*. For a set \(\mathcal {A} \in \{1,2,...,N\}, v_{\mathcal {A}}\) denotes a subvector with elements in \(\left \{v_{i}, i \in \mathcal {A}\right \}\).

### 2.2 Polar codes

*W*be any BMS channel with the transition probability

*W*(

*y*|

*x*). The input alphabet \(\mathcal {X}\) takes values in {0,1}, and the output alphabet is \(\mathcal {Y}\). The generator matrix is

*G*=

*BF*

^{⊗n}, where

*B*is a bit-reversal permutation matrix and \(F=\left [\begin {array}{ll} 1&0 \\ 1&1 \end {array}\right ]\). The operation

*F*

^{⊗n}is the

*n*th Kronecker power of

*F*over the binary field \(\mathbb {F}_{2}\). Polar codes synthesize

*N*=2

^{n}(

*n*≥1) bit channels, \(\left \{W_{N}^{(i)}\right \}_{i=1}^{N}\), out of

*N*independent copies of

*W*. The transformation has a tree structure in [1], which has a basic one-step channel transformation defined as \(\phantom {\dot {i}\!}(W,W) \mapsto \left (W^{'},W^{''}\right)\), where

*i*with

*i*−1=(

*i*

_{n},

*i*

_{n−1},...,

*i*

_{1})

_{b}(1≤

*i*≤

*N*, the left most bit is the MSB) is transformed in each tree level according to the bit of

*i*−1 at that level: at tree level 1≤

*k*≤

*n*, bit channel

*i*takes \(\phantom {\dot {i}\!}W^{'}\) if

*i*

_{k}=0. Otherwise,

*W*

^{′′}is taken at level

*k*. The Bhattacharyya parameters of \(\phantom {\dot {i}\!}W^{'}\) and

*W*

^{′′}satisfy the following conditions:

*i*is defined as

where *W*^{N}(·) is the underlying vector channel (*N* copies of the channel *W*).

### 2.3 Channel degradation

*W*if there exists an intermediate channel \(P: \mathcal {Y} \rightarrow \mathcal {Z}\) such that

for all \(x \in \mathcal {X}\) and \(z \in \mathcal {Z}\). In this case, we write *Q*≼*W* (or *W*≽*Q*) as in [13].

*P*

_{e}(

*W*) denote the error probability when transmitting a single bit over the channel

*W*. Let

*Q*and

*W*be two BMS channels and

*Q*is stochastically degraded with respect to

*W*:

*Q*≼

*W*. Then, from ([22], p. 207) and [13], the following statements hold:

Note that in [1], Arıkan suggested choosing bit channels with the smallest Bhattacharyya parameters as the good channel indices, that is, if the set \(\mathcal {I}\) contains the good bit channels, then for any \(i \in \mathcal {I}\) and any \(j \notin \mathcal {I}\): \(Z\left (W_{N}^{(i)}\right) \le Z\left (W_{N}^{(j)}\right)\). In [13], the error probabilities of all approximated bit channels are calculated. The information set \(\mathcal {I}\) therein contains all the bit channels with the smallest error probabilities. In summary, [1, 13] utilize (9) and (8), respectively, as criterions to select the good bit channels.

### 2.4 Partial orders

Consider two bit channels *i* and *j* with binary expansions *i*−1=(*i*_{n},*i*_{n−1},...,1)_{b} and *j*−1=(*j*_{n},*j*_{n−1},...,1)_{b}. In [17], if the binary expansion of *j*−1 can be obtained from the binary expansion of *i*−1 by switching some higher position 1s with some lower position 0s, then \(W_{N}^{(j)}\) is stochastically degraded with respect to \(W_{N}^{(i)}\). This order is written as ≼_{1}, which is equivalent to ≼. The PO ≼_{1} is transitive. Here, is an example of this PO ≼_{1}. Let *N*=2^{4}=16. Consider bit channels *i*=13 and *j*=11 with binary expansions *i*−1=13−1=(1100)_{b} and *j*−1=11−1=(1010)_{b}. From the binary expansion of *i*−1, it can be seen that switching value 1 at position 3 with value 0 at position 2 results in the binary expansion of *j*−1. Therefore, bit channel *j* is degraded with respect to bit channel *i*, irrespective of the underlying channels.

The second PO is from [12], which is denoted as ≼_{2}. For the two bit channels *i* and *j*, if every bit of the binary expansion of *i*−1 is greater than or equal to every bit of the binary expansion of *j*−1, then \(W_{N}^{(j)} \preceq _{2} W_{N}^{(i)}\). With a symmetric underlying channel *W*, \(W_{N}^{(j)} \preceq _{2} W_{N}^{(i)} \implies W_{N}^{(j)} \preceq W_{N}^{(i)}\) is proven in [12]. Therefore, the second partial order ≼_{2} can also be employed to order the bit channels. The PO ≼_{2} is also transitive. An example of this PO ≼_{2} also adopts *N*=2^{4}=16. Consider bit channels *k*=15 and *i*=13, with binary expansions of *k*−1=15−1=(1110)_{b} and *i*−1=13−1=(1100)_{b}. It can be seen that for these two bit channels, the two ones of the binary expansion of *i*−1 are the same as those of *k*−1 at the same positions. However, at position 2, the value of the binary expansion of *k*−1 (value 1) is greater than that of *i*−1 (value 0). This is exactly PO ≼_{2}. Therefore, bit channel *i* is degraded with respect to bit channel *k*. Combining the example in PO ≼_{1}, it can be concluded that \(W_{16}^{(11)} \preceq W_{16}^{(13)} \preceq W_{16}^{(15)}\), irrespective of the underlying channels.

The constructions in [12, 13, 14, 15, 16] sort all *N* bit channels. The inherent ordering of polar codes from ≼_{1} and ≼_{2} is not utilized before sorting all bit channels. Therefore, the amount that we can save in the construction by applying POs is not clear. In this paper, we apply ≼_{1} and ≼_{2} before sorting all *N* bit channels and to quantify the savings in this process. Three sets, which correspond to the good bit channels (\(\mathcal {I}\)), the frozen bit channels (\(\mathcal {F}\)), and the undetermined bit channels (\(\mathcal {U}\)), are selected by applying the two POs. If the number of bit channels in \(\mathcal {I}\) is smaller than *K*, then a sorting algorithm, for example, the approximation in [13], can be applied to sort the bit channels in \(\mathcal {U}\) to select \(K-|\mathcal {I}|\) best bit channels from \(\mathcal {U}\) and place those \(K-|\mathcal {I}|\) best bit channels in \(\mathcal {I}\). (Note that by fixing the number of information bits *K* in one code block, it is always that |*I*|≤*K* since the bit channels are compared among themselves, and at most the best *K* can be selected.) The smaller is the size of \(\mathcal {U}\), the larger are the savings. The POs are channel independent and universal for all BMS channels. Therefore, the sets \(\mathcal {I}, \mathcal {U}\), and \(\mathcal {F}\) for the given block length *N* and the code rate *R* need to be calculated only once and can be calculated off-line. Note that the final *K* best bit channels that are selected from applying the two POs before calling any sorting algorithm from [12, 13, 14, 15, 16] should be the same as calling the sorting algorithm since the good bit channels selected from the POs are channel independent.

## 3 Construction combining POs and GPO

In this section, the definition of the partial order indicator (POI) and the implementation of the POs is first introduced. The detailed theory and a proof of the general partial order (GPO) are presented in Section 3.2. Then, indirect relationships after applying POs and GPO are discussed in Section 3.3. The optimal choice of the parameter *n*_{u}<*n*, on which the GPO works, is discussed in 3.4. At last, a top-level algorithm of the proposed general partial order (GPO) is provided.

Given the three sets defined in Section 2.4, the following proposition can be used to determine whether a bit channel should be in \(\mathcal {I}, \mathcal {F}\), or \(\mathcal {U}\).

### **Proposition 1**

If a bit channel *i* is stochastically upgraded with respect to at least *N*−*K* bit channels, then \(i \in \mathcal {I}\). If a bit channel *j* is stochastically degraded with respect to at least *K* bit channels, then \(j \in \mathcal {F}\). All other bit channels are in the undetermined set \(\mathcal {U}\).

Because the proof of this proposition is straightforward, it is omitted here.

### 3.1 Definition of POI matrix and implementation of POs

*O*is defined as an

*N*×

*N*matrix whose element (

*i,j*) is the partial order indicator (POI) between bit channel

*i*and bit channel

*j*(

*i*>

*j*). The matrix

*O*is a lower triangular matrix (excluding the diagonal), and the POIs of

*O*can be written as:

In practical implementations, the unused part of *O* (the upper triangular part) can be saved. Algorithm 1 finds the POIs when applying PO ≼_{1} and PO ≼_{2}.

To explain Algorithm 1, the following lemma is introduced first.

### **Lemma 1**

For a polar code with the code length *N*, consider two bit channels 1≤*i,j*≤*N* with *j*<*i*. Then, purely from PO ≼_{1} and PO ≼_{2}, it is impossible for bit channel *j* to be stochastically upgraded with respect to bit channel *i*.

### *Proof*

The proof is straightforward. The binary expansions of the two bit channels are *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b} and *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b}. With *i*>*j*, there must be a position *k* (1≤*k*≤*n*) at which (1) *i*_{k}=1 but *j*_{k}=0; (2) for positions larger than *k*, (*i*_{n},*i*_{n−1},...,*i*_{k+1})=(*j*_{n},*j*_{n−1},...,*j*_{k+1}). There is no requirement for positions smaller than *k*. These two conditions are the basic requirements for *i*>*j*. With these two conditions, PO ≼_{1} cannot be applied to *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b} to reach any intermediate channel *v* equal or upgraded with respect to bit channel *i*: with (*i*_{n},*i*_{n−1},...,*i*_{k+1})=(*j*_{n},*j*_{n−1},...,*j*_{k+1}), there is not a larger position *k*^{′}>*k* so that \(\phantom {\dot {i}\!}i_{k'} = 1\) and \(\phantom {\dot {i}\!}j_{k'} = 0\) to switch with position *k* in order to make *j*_{k}=1. With *i*_{k}=1 and *j*_{k}=0 and PO ≼_{1} not applicable, PO ≼_{2} naturally is not valid: *j*_{k}<*i*_{k}. Therefore, for *j*<*i*, with PO ≼_{1} and PO ≼_{2}, it is impossible for bit channel *j* to be stochastically upgraded with respect to bit channel *i*. □

### **Remark 1**

Lemma *1* does not mean that bit channel *j* cannot be stochastically upgraded with respect to bit channel *i* when *j*<*i*. Lemma *1* has a condition: from the POs point of view, bit channel *j* cannot be stochastically upgraded with respect to bit channel *i*, indicating that *O*_{i,j}≠−1 according to the definition of ( *10* ). POs are channel independent. When it comes to any specific channel, the relationship between bit channel *j* and bit channel *i* with *j*<*i* can be evaluated using an existing sorting procedure. For example, with *N*=16, consider the two bit channels *i*−1=10−1=(1001)_{b} and *j*−1=8−1=(0111)_{b}. From the two POs, bit channel *i* is not stochastically upgraded with respect to bit channel *j* and bit channel *j* cannot be stochastically upgraded to bit channel *i* either from Lemma 1. However, consider an AWGN channel with a SNR of 1 dB, bit channel *j* is found to be stochastically upgraded with respect to bit channel *i*.

*i*−1=(

*i*

_{n},

*i*

_{n−1},...,

*i*

_{1})

_{b}and

*j*−1=(

*j*

_{n},

*j*

_{n−1},...,

*j*

_{1})

_{b}, denote the following two sets:

Let \(p=|\mathcal {P}|\) and \(m=|\mathcal {M}|\). At all the other positions except those specified by \(\mathcal {P}\) and \(\mathcal {M}\), the binary expansions of *i*−1 and *j*−1 share the same values zeros or ones. Assume the sets \(\mathcal {P}\) and \(\mathcal {M}\) are in descending order.

The following two lemmas state the conditions when PO ≼_{1} and PO ≼_{2} can (or cannot) be applied.

### **Lemma 2**

For a polar code with the block length *N*=2^{n}, consider two bit channels *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b} and *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b} with *i*>*j*. The sets \(\mathcal {P}\) and \(\mathcal {M}\) are defined in ( *11* ) and ( *12* ), respectively. When \(m=|\mathcal {M}| = 0\), then from PO ≼_{2}, bit channel *j* is stochastically degraded with respect to bit channel *i*.

### *Proof*

When \(m=|\mathcal {M}| = 0\), it means there is no position *k* (1≤*k*≤*n*) at which *j*_{k}=1 and *i*_{k}=0. In other words, all values of the binary expansion of *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b} are equal or smaller than that of *i*−1. With *i*>*j*, invoking the definition of PO ≼_{2}, it can be concluded that bit channel *j* is stochastically degraded with respect to bit channel *i*. □

Before introducing the following lemma, let us define that \(\mathcal {P}_{1}^{m}\) contains element one to element *m* of the set \(\mathcal {P}\). Also, the expression \(\mathcal {P}_{1}^{m} > \mathcal {M}_{1}^{m}\) indicates the element-wise comparison between \(\mathcal {P}_{1}^{m}\) and \(\mathcal {M}_{1}^{m}\).

### **Lemma 3**

For a polar code with the block length *N*=2^{n}, consider two bit channels *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b} and *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b} with *i*>*j*. The sets \(\mathcal {P}\) and \(\mathcal {M}\) are defined in ( *11* ) and ( *12* ), respectively, and are in descending order. If \(p=|\mathcal {P}| \ge m=|\mathcal {M}|\) (*m*>0) and \(\mathcal {P}_{1}^{m} > \mathcal {M}_{1}^{m}\), then PO ≼_{1} can be applied to achieve that bit channel *j* is stochastically degraded with respect to bit channel *i*.

### *Proof*

It can be first observed that when *p*<*m*, PO ≼_{1} cannot be applied to *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b} to obtain any intermediate channel equal or stochastically upgraded with respect to *j*−1=(*j*_{n},*j*_{n−1},...,*j*_{1})_{b}: there are not enough positions with values ones in *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b} (denoted by the set \(\mathcal {P}\)) to switch to positions in \(\mathcal {M}\) because *p*<*m*. Therefore, to apply PO ≼_{1},*p*≥*m* is necessary. Consider the definition of PO ≼_{1}: for a bit channel *i*, switching a higher position with value one with a lower position with value zero resulting in a channel which is degraded with respect to bit channel *i*. Therefore, with the descending sets \(\mathcal {P}\) and \(\mathcal {M}\), when \(\mathcal {P}_{1}^{m} > \mathcal {M}_{1}^{m}\), PO ≼_{1} can be performed to *i*−1=(*i*_{n},*i*_{n−1},...,*i*_{1})_{b}: for each element in \(\mathcal {M}\), there is a larger element in \(\mathcal {P}\) to switch with. Bit channel *j* is therefore stochastically degraded with respect to bit channel *i*. □

### **Remark 2**

Lemma *3* is actually a combination of PO ≼_{1} and PO ≼_{2}. There is an inherent PO ≼_{2} in Lemma *3* as explained below. Let the intermediate channel after switching \(\mathcal {P}_{1}^{m}\) with \(\mathcal {M}_{1}^{m}\) of bit channel *i* as bit channel *v*. Then, bit channel *j* is stochastically degraded with respect to bit channel *v*. If *p*=*m*, then *v*=*j*, which is the case of PO ≽_{1}. If *p*>*m*, there are remaining elements in \(\mathcal {P}\) after switching with elements in \(\mathcal {M}\). Comparing bit channel *j* and bit channel *v*, the new set \(\mathcal {M} = \emptyset \) (*m*=0). From Lemma *2*, bit channel *v* is stochastically upgraded with respect to bit channel *j* by invoking PO ≼_{2}. But for our purpose of determining the relationship between bit channel *i* and bit channel *j*, the proof of Lemma *3* is sufficient.

Algorithm 1 implements Lemmas 1 to 3. For any given bit channel *i*, bit channel *j*<*i* is compared with it (line 6 in Algorithm 1). In Algorithm 1, −1s do not exist in *O* seen from Lemma 1. After running Algorithm 1, bit channels can be assigned to sets \(\mathcal {I}, \mathcal {F}\), and \(\mathcal {U}\) according to Proposition 1. As discussed in Section 2.4, the smaller is the size of \(\mathcal {U}\), the smaller the number of remaining computations is.

### 3.2 General partial order (GPO)

The relationship between some bit channels cannot be determined from POs ≼_{1},≼_{2}, or their combinations. Here is an example: For *N*=2^{8}, consider bit channel *i*−1=(10011110)_{b} and *j*−1=(01101011)_{b}. Applying the two POs and their combinations yields no decision regarding whether \(W_{N}^{(i)}\) is stochastically upgraded or degraded with respect to \(W_{N}^{(j)}\). For general BMS channels, the relationship between bit channel *i* and bit channel *j* cannot be determined: \(W_{N}^{(i)} \preceq W_{N}^{(j)}\) holds for one given underlying channel *W*; however, this relationship may not hold for another underlying channel *W*^{′}. For a specific channel BMS channel *W*, we can further reduce the size of \(\mathcal {U}\). Let us consider the two bit channels in the previous example. Let \(\mathcal {Z}_{u}\) denote the upper part of the descending set \(\mathcal {Z}_{n}=\{n,n-1,\dots, 1\}\) with \(n_{u} = |\mathcal {Z}_{u}|\). Then, \(\mathcal {Z}_{u}\) is \(\mathcal {Z}_{u}=\{n,n-1,\dots, n-n_{u}+1\}\). Similarly, \(\mathcal {Z}_{l}\) represents the lower parts of \(\mathcal {Z}_{n}\) with \(n_{l} = |\mathcal {Z}_{l}|\), and \(\mathcal {Z}_{l}=\{n_{l},n_{l}-1,\dots, 1\}\). The sizes satisfy 0≤*n*_{u},*n*_{l}≤*n* and *n*_{u}+*n*_{l}=*n*. Divide the binary expansion of *i*−1 into two consecutive parts: \(i-1=(i_{\mathcal {Z}_{u}}, i_{\mathcal {Z}_{l}})_{b}\). The upper part \(i_{\mathcal {Z}_{u}}\) defines a new bit channel at the block length \(\phantom {\dot {i}\!}N_{u} = 2^{n_{u}} \le N=2^{n}\): \(\phantom {\dot {i}\!}W_{N_{u}}^{(i_{u})}\) (here, *i*_{u}−1 = \(\phantom {\dot {i}\!}(i_{\mathcal {Z}_{u}})_{b}\)). For the lower part, there is similarly a new bit channel. For this specific example, *n*_{u}=5 and *n*_{l}=3. One of the two new bit channels can be determined: \(W_{N_{l}}^{(j_{l})} \preceq _{1} W_{N_{l}}^{(i_{l})}\). Only the relationship between the two upper channels cannot be determined.

For a given BMS channel *W*, if the upper bit channels are \(W_{N_{u}}^{(j_{u})} \preceq W_{N_{u}}^{(i_{u})}\) by any sorting algorithm, then the following proposition of general partial order (GPO) can be used to determine more intrinsic relationships among bit channels.

### **Proposition 2**

*W*, consider bit channels

*i*and

*j*(1≤

*i,j*≤

*N*) with

*i*−1=(

*i*

_{n},

*i*

_{n−1},...,

*i*

_{1})

_{b}and

*j*−1=(

*j*

_{n},

*j*

_{n−1},...,

*j*

_{1})

_{b}. Divide the binary expansions of

*i*−1 and

*j*−1 into two parts: \(i-1=(i_{\mathcal {Z}_{u}}, i_{\mathcal {Z}_{l}})_{b}\) and \(j-1=(j_{\mathcal {Z}_{u}}, j_{\mathcal {Z}_{l}})_{b}\). If the relationship between \(W_{N_{u}}^{(i_{u})}\) and \(W_{N_{u}}^{(j_{u})}\) is obtained for the given underlying channel

*W*and the relationship between \(W_{N_{l}}^{(i_{l})}\) and \(W_{N_{l}}^{(j_{l})}\) is channel independent, then

### *Proof*

*[*23

*]*(Lemma 4.7), the following is proven:

*i*

_{l}=

*j*

_{l}, the following statement is true:

For notational convenience, denote \(Q = W_{N_{u}}^{(i_{u})}\) and \(Z=W_{N_{u}}^{(j_{u})}\). Then, the left-hand side of (15) means that channel *Z* is stochastically degraded with respect to channel *Q*. From the channel polarization process in [1], it is known that each bit channel goes through *n* levels of one-step transformation defined in (1) and (2). The two channels *Q* and *Z* are the output channel of the first *n*_{u} levels of bit channel *i* and bit channel *j*, respectively. These two channels are the input to the remaining levels denoted by *i*_{l} and *j*_{l}. Then, \(W_{N}^{(i)}=Q_{N_{l}}^{(i_{l})}\) and \(W_{N}^{(j)}=Z_{N_{l}}^{(j_{l})}\). Since *Z* is stochastically degraded with respect to channel *Q*, then invoking (14), channel \(Z_{N_{l}}^{(j_{l})}\) is stochastically degraded with respect to channel \(Q_{N_{l}}^{(i_{l})}\). This proves (15).

*i*

_{u}=

*j*

_{u}, the following statement holds:

In this case, \(Q=W_{N_{u}}^{(i_{u})}=W_{N_{u}}^{(j_{u})}\). The final bit channels *i* and *j* are obtained as \(W_{N}^{(i)}=Q_{N_{l}}^{(i_{l})}\) and \(W_{N}^{(j)}=Q_{N_{l}}^{(j_{l})}\). Because \(W_{N_{l}}^{(i_{l})} \succeq W_{N_{l}}^{(j_{l})}\) and the relationship between \(W_{N_{l}}^{(i_{l})}\) and \(W_{N_{l}}^{(j_{l})}\) is channel independent (the condition of this proposition), we can conclude that no matter what the condition of *Q* is, \(W_{N}^{(i)} \succeq W_{N}^{(j)}\) holds.

Finally, we prove that

\(W_{N_{u}}^{(i_{u})} \succeq W_{N_{u}}^{(j_{u})}\) and \(W_{N_{l}}^{(i_{l})} \succeq W_{N_{l}}^{(j_{l})} \Rightarrow W_{N}^{(i)} \succeq W_{N}^{(j)}\)

To prove this statement, let us define an intermediate channel *k*: \(k-1=(k_{\mathcal {Z}_{u}}, k_{\mathcal {Z}_{l}})_{b}=(i_{\mathcal {Z}_{u}}, j_{\mathcal {Z}_{l}})_{b}\). From (16), we have \(W_{N}^{(i)} \succeq W_{N}^{(k)}\). From (15), we have \(W_{N}^{(k)} \succeq W_{N}^{(j)}\). From the transitivity of the degradation relationship [13], it can be concluded that \(W_{N}^{(i)} \succeq W_{N}^{(j)}\). □

The procedure to implement GPO is provided in Algorithm 2. From the definition of the matrix *O* in (10), POIs are stored in the lower triangular part (excluding the diagonal). Therefore, in line 12 of Algorithm 2, POI *O*_{ij}=1 if condition (13) holds and if *i*>*j*. When condition (13) holds and *i*<*j,O*_{ij} cannot set to be one as line 12 does, because only the lower triangular part of *O* is defined. Instead, we put *O*_{ji}=−1 in line 15 to express the same thing: bit channel *j* is stochastically degraded with respect to bit channel *i*.

### **Remark 3**

The GPO obtained from Proposition 2 works for a given underlying channel *W* and can be used to order the bit channels constructed from *W*. Any existing construction procedure (Tal-Vardy’s [13], GA [14*–*16], or density evolution [12]) can be called to order the bit channels at level *n*_{u}≤*n*. For example, if the underlying channel *W* is a binary symmetric channel (BSC), GPO works by first obtaining the relationships determined from POs (Algorithm 1). Then, *n* is divided as *n*=*n*_{u}+*n*_{l}. Any sorting algorithm can be applied at level *n*_{u} to sort the bit channels in the range of \(\phantom {\dot {i}\!}[1,~N_{u}=2^{n_{u}}]\). In this case, Tal-Vardy’s merging procedure can be applied. The channel-dependent sorting at the level *n*_{u} is combined with the PO ordering at level *n*_{l} to produce more relationships among bit channels at level *n*. In this case, GA does not work since the underlying channel is not an AWGN channel.

### **Remark 4**

The procedures of the GPO are not channel dependent: they are universal for all supported channel types. But the ordering obtained from the GPO is dependent on *W*; therefore, the resulted ordering obtained from the GPO is not universal, such as that of the POs. For any given channel *W*, GPO can be used to reduce the construction complexity of polar codes because of the operation at a smaller level *n*_{u} instead of level *n*. It can be easily shown that the relationship obtained from Proposition *2* is also transitive. The final *K* best bit channels that are selected when applying GPO are the same as calling any sorting algorithm [12*–*16]: In a GPO, the upper bit channels are determined from the given sorting algorithm, and the lower part is channel independent.

### 3.3 Indirect relationships

For the given underlying channel *W*, the direct use of GPO and POs sometimes cannot determine the relationship between two bit channels. Instead, some relationships can be obtained from several intermediate channels. Here, is an example. For *N*=2^{9}, consider the bit channels *i*−1=(100110000)_{b} and *j*−1=(000111001)_{b}. Applying the two POs and GPO yields no decision regarding whether \(W_{N}^{(i)}\) is stochastically upgraded or degraded with respect to \(W_{N}^{(j)}\). Let us take a look at a bit channel *k*−1=(011000001)_{b}. We can determine that bit channel *i* is stochastically upgraded with respect to bit channel *k* for an AWGN channel with SNR = 1 dB because bit channel “1001” is stochastically upgraded with respect to bit channel “0110” from the Tal-Vardy algorithm and bit channel “10000” is statistically upgraded with respect to bit channel “00001” from the POs. We can determine that bit channel *k* is stochastically upgraded with respect to bit channel *j* because bit channel “011000” is stochastically upgraded with respect to bit channel “000111” from the Tal-Vardy algorithm for the same AWGN channel and bit channel “001” is the same as bit channel “001.” Therefore, we have \(W_{N}^{(i)} \succeq W_{N}^{(k)}\) and \(W_{N}^{(k)} \succeq W_{N}^{(j)}\), resulting in \(W_{N}^{(i)} \succeq W_{N}^{(j)}\).

If the relationship between bit channel *i* and bit channel *j* can be obtained from one intermediate bit channel, we must be able to obtain the relationship between bit channel *i* and bit channel *j*. There can be several intermediate bit channels between bit channel *i* and *j* before we can obtain the relationship between bit channel *i* and bit channel *j*. Let us refer to these POIs as indirect relationships. Proposition 3 can identify all indirect relationships in the matrix *O* after applying the POs and GPO.

### **Proposition 3**

For a bit channel *k* (1≤*k*≤*N*), if there are bit channels *i* and *j* (whose relationship is undetermined from POs and GPO) such that \(W_{N}^{(i)} \succeq W_{N}^{(k)}\) and \(W_{N}^{(k)} \succeq W_{N}^{(j)}\), then \(W_{N}^{(i)} \succeq W_{N}^{(j)}\) is newly identified. When *k* is searched from 1 to *N* and *i* and *j* is also looped from 1 to *N* under the loop of *k*, then ALL indirect relationships between ALL bit channels can be identified.

### *Proof*

The first half of this proposition is the direct use of the transitive property of the POs and GPO. According to the second half of the proposition, when the intermediate channel *k* goes from 1 to *N* and the bit channels *i* and *j* are also looped from 1 to *N* (within the loop of *k*), all indirect relationships among all bit channels can be identified. In the following, the second part of this proposition is proven.

*O*), pick any two bit channels

*i*and

*j*(1≤

*i,j*≤

*N*) whose relationship is undetermined:

*O*

_{ij}=0 and

*O*

_{ji}=0. However, from the relationship matrix

*O*, the following relationships can be determined:

*k*

_{1},

*k*

_{2},...,

*k*

_{m}≤

*N*. Let \(\mathcal {K} = \{k_{1},k_{2},...,k_{m}\}\). Define \(k_{l} = \min ({\mathcal {K}})\). When

*k*goes from 1 to

*N*, the first transitive relationship \(W_{N}^{(k_{l-1})} \succeq W_{N}^{(k_{l})} \succeq W_{N}^{(k_{l+1})}\) is encountered. Then, the POI between bit channel

*k*

_{l−1}and

*k*

_{l+1}can be updated in the matrix

*O*. The remaining set of \(\mathcal {K}\) becomes \(\mathcal {K} = \{1,2,...,k_{l-1},k_{l+1},...,k_{m}\}\) with the corresponding relationship

Compared with the relationship in (17), the relationship in (18) has one less bit channel \(W_{N}^{(k_{l})}\). The transitive relationship \(W_{N}^{(k_{l-1})} \succeq W_{N}^{(k_{l})} \succeq W_{N}^{(k_{l+1})}\) is replaced by the direct relationship \(W_{N}^{(k_{l-1})} \succeq W_{N}^{(k_{l+1})}\). This process continues with one new direct POI updated in each step until the last step, where \(W_{N}^{(i)} \succeq W_{N}^{(j)}\) is reached. As the intermediate channel *k* goes from 1 to *N* and *i* and *j* also goes from 1 to *N* within the loop of *k*, any indirect relationship between bit channel *i* and *j* (1≤*i,j*≤*N*) can be identified during the three loops. □

### 3.4 GPO parameter optimization

*n*

_{u}. In this paper, the sorting algorithm in [13] is employed. The parameter

*n*

_{u}is estimated based on this sorting algorithm. In the

*l*th (1≤

*l*≤

*n*) approximation stage, different calculations are called according to “0” or “1” of the

*l*th bit of the binary expansion of a bit channel. Denote

*t*

_{0}and

*t*

_{1}as the calculation time that corresponds to 0 and 1. Then, the calculating time for any channel is

*x*×

*t*

_{0}+

*y*×

*t*

_{1}(

*x*,

*y*is the number of 0s and 1s of the binary expansion of this channel). Assume that the average Hamming weight of the channels in \(\mathcal {U}\) is

*w*

_{u}. From the two POs, we can easily show that the three bit channels with the smallest indices are the worst, and the three bit channels with the largest indices are the best. Therefore, the ordering of these six bit channels can be saved for all sorting algorithms. The approximate calculation time to sort the bit channels at level

*n*

_{u}and to sort the bit channels at \(\mathcal {U}\) is:

where \(K_{u} = |\mathcal {U}|\) is cardinality of the set \(\mathcal {U}\).

From (19), the calculation time of GPO is dependent on the size of the set \(\mathcal {U}, K_{u}\), and the average Hamming weight of the binary expansion of the elements in \(\mathcal {U}\). Therefore, a theoretical estimation of the optimal selection of *n*_{u} is unavailable. However, any selection of 3≤*n*_{u}≤*N*−1 can achieve an advantage in terms of the construction time given the nature of the GPO. In Section 4, a quasi-analytical estimation of *n*_{u} for *n* up to 10, which produces the most efficient construction of polar codes, is performed. Estimation of *n*_{u} with larger block lengths is readily achievable.

### 3.5 Outline of the overall GPO algorithm

Algorithm 3 is a top-level algorithm that implements PO ≼_{1}, PO ≼_{2}, GPO, and the indirect relationships presented in Proposition 3.

The original POI matrix *O* is obtained from Algorithm 1 (PO ≼_{1}, PO ≼_{2}). Then, the POI matrix *O* is updated by Algorithm 2 (GPO). As stated in Proposition 3, some intrinsic relationships exist between bit channels that cannot be obtained from POs and GPO, but can be obtained from several intermediate channels. This type of intrinsic relationship is obtained from Proposition 3, whose algorithm is clear; therefore, it is omitted here.

Once the POI matrix *O* is updated by Proposition 3 (line 7 of Algorithm 3), we can obtain the two vectors \(v_{1}^{N}\) and \(w_{1}^{N}\): the entry *v*_{i} of \(v_{1}^{N}\) corresponds to the number of bit channels that are stochastically degraded with respect to bit channel *i*, and the entry *w*_{j} of \(w_{1}^{N}\) corresponds to the number of bit channels that are stochastically upgraded with respect to bit channel *j* (line 11 of Algorithm 3). Then, Proposition 1 can be applied to assign elements to the sets \(\mathcal {I}, \mathcal {F}\), and \(\mathcal {U}\) (line 12-13 of Algorithm 3).

## 4 Numerical results

In this section, the efficiency of applying POs and GPO is quantified. The underlying channel is the AWGN with a SNR of 1 dB. When applying the GPO, the algorithm called to sort the lower dimension channels is from [13]. We use PO to refer to the results obtained after applying the two POs. The legend PO+GPO indicates that POs (Algorithm 1) and GPO (Algorithm 2) are all employed. If indirect relationships (IR) from Proposition 3 is also applied after PO and GPO, the legend is PO+GPO+IR. All construction results in this section match the constructions in [13]. Therefore, in the following, we show only the efficiency results.

_{1}, PO ≼

_{2}, GPO, and indirect relationships work, the elements of the matrix

*O*are plotted in Fig. 1, where a black or a red dot at

*O*

_{ij}denotes that the relationship between bit channel

*i*and bit channel

*j*is determined, and the white space indicates that the corresponding relations are not determined. In Fig. 1, the polar code has the block length

*N*=2

^{9}, and the underlying channel is AWGN with a SNR of 1 dB. In Fig. 1a, the black dots indicate that the relationship is determined from the two POs, and the red dots in Fig. 1b indicate the additional intrinsic relationships obtained from the GPO and the indirect relationships. The application of GPO and indirect relationships fills some portion of the white space in Fig. 1a, which indicates that additional relations are identified.

*n*

_{u}of the GPO needs to be quantified. Let us consider

*n*=9,

*N*=2

^{n}=512,

*R*=0.5, and SNR =1 dB as an example to show the optimal selection of the dimension

*n*

_{u}. Among all code rates,

*R*=0.5 is the worst case, which produces the largest size of \(\mathcal {U}\). When

*R*=0.5, we assume that the set \(\mathcal {U}\) has the same property of the entire set {1,2,..,

*N*}: the average weight of the binary expansion of the bit channels in \(\mathcal {U}\) is \(w_{u} \approx \frac {n}{2}\). From (19), we have \(T_{n_{u}}=\left (\frac {(N_{u}-6)n_{u}}{2}+\frac {K_{u}n}{2}\right)(t_{0}+t_{1})\). If the upper dimension is

*n*

_{u}=6,

*K*

_{u}=104 elements exist in the undetermined set \(\mathcal {U}\) (obtained from the algorithm of POs). Note that the quality of 58 bit channels needs to be calculated on the smaller dimension

*n*

_{u}=6 (removing the largest six bit channels and the smallest six bit channels). In this example, \(T_{6}=\left (\frac {(64-6) \times 6}{2}+\frac {104 \times 9}{2}\right)(t_{0}+t_{1})=642(t_{0}+t_{1})\) must be satisfied to select the best

*K*bit channels. As a comparison, the original complete sorting based on

*n*=9 requires \(T_{9}=2^{9} \times \frac {9}{2}(t_{0}+t_{1})=2304(t_{0}+t_{1})\) to select the

*K*best bit channels. Table 1 lists the theoretical calculation times based on different dimensions

*n*

_{u}. The expression

*n*

_{u}=6 produces the most efficient construction of polar codes. Table II lists the comparison of the theoretical calculation time and the real implementation time relative to the complete construction of polar codes. In Table 2, the ratio is \(T_{n_{u}}/T_{n}\). As shown in Table 2, the approximation of the calculation time in (19) is similar for

*R*=0.5.

The theoretical time of the *n*=9 for different *n*_{u}

| 4 | 5 | 6 | 7 | 9 |
---|---|---|---|---|---|

| 212 | 150 | 104 | 68 | 0 |

\(T_{n_{u}}/(t_{0}+t_{1})\) | 974 | 740 | 642 | 733 | 2304 |

The ratio of \(T_{n_{u}}/T_{n}\) to select the *K* best bit channels for *n*=8,*n*=9 and *n*=10

| Simulated ratio | Theoretical ratio |
---|---|---|

8 | 0.307 | 0.306 |

9 | 0.286 | 0.279 |

10 | 0.270 | 0.262 |

Note that the running time of POs in Algorithm 1 can be negligible compared with the running time of the construction of [13] because Algorithm 1 involves only simple operations (no real multiplications). With the relationship matrix *O* obtained from Algorithm 1, the set \(\mathcal {U}\) can be determined. Then, a theoretical estimation of an optimal *n*_{u} can be obtained based on \(T_{n_{u}}\) in (19). In this section, all examples consider *n*_{u}=*n*−3, which works for *n* up to 10.

*K*

_{u}determines the number of callings of the Tal-Vardy algorithm [13]. In Fig. 2, the ratio

*γ*=

*K*

_{u}/

*N*is plotted for

*N*=2

^{9}as a function of the code rate

*R*(the solid circled line), which shows that the combinations of the two POs can determine 91% of the bit channels with

*γ*=9

*%*for

*R*=0.1. For

*R*=0.5, which is the worst case, the two POs determine 50% of the bit channels, which is still a significant saving, considering the complexity of the sorting algorithms [12,13]. A small

*γ*is desired since it indicates a low sorting effort. The dash-dotted line in Fig. 2 is

*γ*when applying POs and GPO (without running the search for the indirect relationships). The legend for this line is “PO+GPO.” The dotted line in Fig. 2 is

*γ*after applying POs, GPO, and Proposition 3 (searching for indirect relationships). The gap between PO+GPO and PO+GPO+IR shows that after running PO+GPO, there are indirect relationships imbedded in the POI matrix

*O*. As shown in Fig. 2, the value of

*γ*decreases with

*R*when

*R*>0.5 and increases with

*R*when

*R*<0.5. At the code rate

*R*= 0.5, all three lines (PO, PO+GPO, and PO+GPO+IR) have the largest value of

*γ*. However, the savings of applying GPO and Proposition 3 is the largest at

*R*=0.5. For the small code rate

*R*≤0.1, less than 10% of the remaining channels are in the undetermined set \(\mathcal {U}\).

*γ*and the block length for two fixed code rates

*R*=0.5 and

*R*=0.1. The three circled lines represent

*R*=0.5: the solid line denotes POs, the dashed-dotted line denotes PO+GPO, and the dotted line is PO+GPO+IR. Similarly, the three lines with stars are values of

*γ*for

*R*=0.1. As shown in Fig. 3, the number of undetermined channels slowly increases with the block length when applying POs. For PO+GPO and PO+GPO+IR, the trend is the opposite: the portion of undetermined bit channels decreases with the block length. This is caused by the following facts: with the increase of the block length

*N*=2

^{n}, there are more positions for bits 0 and 1 to choose from, producing more combinations of bit channels whose binary expansions cannot be characterized by the two POs. This in turn causes the increase of the size of the undetermined set \(\mathcal {U}\), leading to a slow increase of

*γ*when applying POs only, as seen in Fig. 2. By applying GPO, these undetermined relationships are revealed from calling any existing sorting procedure (Tal-Vardy’s algorithm in our work). Therefore, the portion of relationships being newly discovered increases with

*n*, resulting in a decreasing

*γ*with

*n*. From Fig. 3, it can be seen that GPO+PO+IR can produce approximately 82% of the savings in terms of the computation time for polar code construction with a code rate

*R*=0.5 and

*N*=1024.

## 5 Conclusion

In this paper, partial orders of polar codes for reducing the construction complexity are investigated. Detailed quantification of the existing partial orders, which displays a clear potential of combining partial orders in the construction of polar codes, is provided. To further reduce the computation complexity, a general partial order, which works at a lower block length than the given block length, is proposed. In addition to the relationships obtained from the existing partial orders and the proposed general partial order, indirect relationships are also discussed in the paper. Detailed algorithms for implementing all the partial orders and finding indirect relations are provided to quantify their savings. Substantial savings are observed when combining all the partial orders in the paper for polar code construction.

## Notes

### Funding

This work was supported in part by National Natural Science Foundation of China through grant 61501002, in part by Natural Science Project of Ministry of Education of Anhui through grant KJ2015A102, and in part by Talents Recruitment Program of Anhui University.

### Availability of data and materials

Not applicable.

### Authors’ contributions

LL proposed the polar code construction reduction in the paper. WW implemented it and proved the theorems in the paper. KN provided format and logic structures of the paper. All authors read and approved the final manuscript.

### Competing interests

The authors declare that they have no competing interests.

### Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## References

- 1.E. Arıkan, Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels. IEEE Trans. Inf. Theory.
**55**(7), 3051–3073 (2009).MathSciNetCrossRefGoogle Scholar - 2.E. Arıkan, I. E. Telatar, in
*IEEE International Symposium on Information Theory (ISIT)*. On the rate of channel polarization, (2009), pp. 1493–1495.Google Scholar - 3.S. B. Korada, E. Sasoglu, R. Urbanke, Polar codes: characterization of exponent, bounds, and constructions. IEEE Trans. Inf. Theory.
**56**(12), 6253–6264 (2010).MathSciNetCrossRefGoogle Scholar - 4.S. H. Hassani, R. Mori, T. Tanaka, R. L. Urbanke, Rate-dependent analysis of the asymptotic behavior of channel polarization. IEEE Trans. Inf. Theory.
**59**(4), 2267–2276 (2013).MathSciNetCrossRefGoogle Scholar - 5.N. Hussami, S. Korada, R. Urbanke, in
*IEEE International Symposium on Information Theory (ISIT)*. Performance of polar codes for channel and source coding, (2009), pp. 1488–1492.Google Scholar - 6.A. Eslami, H. Pishro-Nik, in
*48th Annual Allerton Conference on Communication, Control, and Computing (Allerton)*. On bit error rate performance of polar codes in finite regime, (2010), pp. 188–194.Google Scholar - 7.J. Guo, M. Qin, A. G. i Fabregas, P. H. Siegel, in
*2014 IEEE International Symposium on Information Theory Proceedings (ISIT)*. Enhanced belief propagation decoding of polar codes through concatenation, (2014), pp. 2987–2991.Google Scholar - 8.U. U. Fayyaz, J. R. Barry, in
*2013 IEEE International Conference on Communications (ICC)*. Polar codes for partial response channels, (2013), pp. 4337–4341.Google Scholar - 9.E. Sasoglu, E. Telatar, E. Arikan, in
*IEEE Information Theory Workshop(ITW)*. Polarization for arbitrary discrete memoryless channels, (2009).Google Scholar - 10.R. Mori, T. Tanaka, in
*IEEE Information Theory Workshop(ITW)*. Non-binary polar codes using Reed-Solomon codes and algebraic geometry codes, (2010), pp. 1–5.Google Scholar - 11.A. G. Sahebi, S. S. Pradhan, in
*2011 49th Annual Allerton Conference on Communication, Control, and Computing (Allerton)*. Multilevel polarization of polar codes over arbitrary discrete memoryless channels, (2011), pp. 1718–1725.Google Scholar - 12.R. Mori, T. Tanaka, Performance of polar codes with the construction using density evolution. IEEE Commun. Lett.
**13**(7), 519–521 (2009).CrossRefGoogle Scholar - 13.I. Tal, A. Vardy, How to construct polar codes. IEEE Trans. Inf. Theory.
**59**(10), 6562–6582 (2013).MathSciNetCrossRefGoogle Scholar - 14.P. Trifonov, Efficient design and decoding of polar codes. IEEE Trans. Commun.
**60**(11), 3221–3227 (2012).CrossRefGoogle Scholar - 15.D. Wu, Y. Li, Y. Sun, Construction and block error rate analysis of polar codes over AWGN channel based on Gaussian approximation. IEEE Commun. Lett.
**18**(7), 1099–1102 (2014).CrossRefGoogle Scholar - 16.J. Dai, K. Niu, Z. Si, J. Lin,
*Evaluation and optimization of Gaussian approximation for polar codes*, (2016). https://arxiv.org/abs/1511.07236. - 17.C. Schurch, in
*IEEE International Symposium on Information Theory (ISIT)*. A partial order for the synthesized channels of a polar code, (2016), pp. 220–224.Google Scholar - 18.M. Bardet, V. Dragoi, A. Otmani, J. -P. Tillich,
*Algebraic properties of polar codes from a new polynomial formalism*, (2016). https://arxiv.org/abs/1601.06215. - 19.M. Mondelli, S. H. Hassani, R. Urbanke, in
*IEEE International Symposium on Information Theory (ISIT)*. Construction of polar codes with sublinear complexity, (2017).Google Scholar - 20.G. He, J. -C. Belfiore, I. Land, G. Yang, X. Liu, Y. Chen, R. Li, J. Wang, Y. Ge, R. Zhang, W. Tong,
*β-expansion: a theoretical framework for fast and recursive construction of polar codes*, (2017). https://arxiv.org/abs/1704.05709. - 21.W. Wang, L. Li, in
*IEEE International Wireless Communications and Mobile Computing Conference*. Efficient construction of polar codes, (2017), pp. 1594–1598.Google Scholar - 22.T. Richardson, R. Urbanke,
*Modern coding theory*(Cambridge University Press, Cambridge, 2008).CrossRefGoogle Scholar - 23.S. B. Korada,
*Polar codes for channel and source coding. PhD Thesis*, (2009).Google Scholar

## Copyright information

**Open Access** This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.