Puncturing scheme for polar codes based on channel reliability estimation

The compiled code algorithms for polar codes, which were proposed by Arikan, are of low complexity, with excellent performance for a given code length when using optimized decoding algorithms. They have attracted widespread attention and gained popularity since its inception. The construction of punctured polar codes allows for more flexibility in coding, making them suitable for a greater variety of scenarios. This paper proposes an improved puncturing scheme for polar codes. With the constraints imposed by conventional punctured polar codes, the error probability of each polarized sub-channel is then calculated on the basis of the channel reliability estimation methodology, so as to puncture the less reliable polarized sub-channels. Furthermore, to achieve better decoding performance, this scheme sets the initial log-likelihood rate (LLR) of the punctured bits to infinity (or negative infinity). The simulation outcomes indicate that the improved punctured polar codes as proposed in this paper perform better than the conventional punctured polar codes.


Introduction
In 2009, Arikan first introduced the concept of "Polar Codes" [1] and proved theoretically and rigorously that polar codes can "reach" the Shannon capacity in the binary-input discrete memoryless channel (B-DMC), which is of great significance for the implementation of channel coding and decoding techniques for high-capacity communication transmissions. Nevertheless, due to the changing state of the transmission channel in practice, it is necessary to adjust the code length, coding rate, and other parameters of the polar code flexibly to accommodate such changes. For this reason, it is also essential to puncture the length of the polar code.
The code length puncturing schemes for polar codes can be divided into three major categories: the first category is to modify the constructed matrix [2]of the code word, yet the code length of the polar code remains limited toN = L n (n = 1, 2, ...), where L refers to the dimension of the constructed matrix; the second category is to cascade polar codes with LDPC or other linear grouping codes to construct a class of cascade codes [3][4], which can result in a relatively high complexity of compilation for cascade codes since the compilation of polar codes differs from that of other grouping codes; the third category is to remove the corresponding rows or columns from the generated matrix of polar codes to constitute a new puncturing methodology for linear grouping codes. As this type of grouping code would not change the compilation structure of the polar code, it retains the low complexity of the compilation for polar codes, making it a straightforward and pragmatic solution for puncturing the code length of polar codes.
The reference [5] first investigated the puncturing scheme for polar codes and presented a random puncturing scheme and a stopping-tree puncturing scheme. The random puncturing of polar codes, that is, randomly selecting the coded bits of the code word for puncturing, provides a high degree of randomness and unstable performance, which may lead to either excellent decoding performance or total failure in decoding. The principle of the stopping-tree puncturing for polar codes draws on the structure of the Tanner diagram for LDPC codes, resulting in the scheme being limited to decoding with the belief propagation (BP) decoder corresponding to the Tanner diagram. Using the rest of the decoders does not work well, extending the limitations of such a scheme in practice. Both of these schemes are feasible under certain constraints, yet they do not take advantage of the unique recursive properties of polar codes and are hence not optimal for puncturing. Reference [6] proposed a puncturing scheme based on a simplified polar matrix employing an exhaustive search method, which requires no modification to the decoder structure, and ensures that the polar effect of the polar code is maximized after puncturing, with better performance than the random puncturing of the polar code proposed in reference [5]. However, due to the use of an exhaustive search algorithm, the complexity of the search method of reference [6] is higher than that of reference [5]; moreover, to get the corresponding simplified polar matrix also requires the use of an additional algorithm to calculate the corresponding frozen sequence at the input side before calculating the actual coding structure to be used, and when the construction parameters of the polar code are changed, the amount of calculation required is even greater, making it disadvantageous to implement. Reference [7] demonstrated that to find the optimal puncturing pattern at the code word side, it is equivalent to first find the optimal puncturing pattern at the information sequence side, and then derive the actual puncturing pattern at the code word side from the established mapping relationship, presenting a heuristic algorithm. Specifically, it first selects the puncturing pattern at the information sequence side, and then obtains the actual puncturing bit position at the code word side through the mapping relationship, however, it ignores the impact of the puncturing on the remaining channel, which leads to the loss of polar effect of the polar code. Reference [8] presented a quasi-uniform puncturing (QUP) algorithm, which demonstrated that the performance of the polar code after puncturing is better than that of the turbo code in WCDMA or LTE wireless communication systems. Nevertheless, the QUP algorithm has no prior information on the corresponding punctured bits at the decoding side, and the initial log-likelihood rate at the decoding side can affect the information bits; and the higher the coding rate, the greater the effect of the QUP algorithm on the information bits, hence the algorithm is applicable to low coding rate conditions. Reference [9] suggested a low-complexity polar code puncturing algorithm which is based on the QUP algorithm, yet the complexity is decreased at the expense of the performance of the polar code. The distribution of the puncturing positions in this scheme in turn restricts the location set of information bits on the information sequence side, and the structure of the decoder will most probably need to change accordingly when the number of punctures varies. To preserve the polar effect of the punctured polar code as much as possible while simultaneously reducing the complexity of the search, Rongke Liu et al. presented a novel algorithm [10] that constructs a new punctured polar code employing an algorithm based on a column with a weight of 1. The punctured bits of the polar code are known by the decoder, and by setting the value of the punctured bits to a fixed value of 0 or 1 at coding time, and filling its LLR at the decoding end to positive or negative infinity, the initial LLR at the decoding side of this methodology has less effect on the information bits than the QUP algorithm which is commonly used under high coding rate conditions, and can preserve the polar effect of the polar code to the maximum extent. Hence, this new puncturing scheme [10] has been generally accepted and is widely applied in the rate matching of polar codes.The polarization theory is extended to non-uniform channels (NUC) by the reference [11], and the PC construction of arbitrary code length can be implemented by NUPGA, where the transmission is under an additive white Gaussian noise (AWGN) channel and successive cancellation (SC) decoding. However, better performances can only be achieved by this method when the code rate is under 1/2. The impact of punctured positions on the fixed information set was investigated in the reference [12], and an information set approximate puncturing (ISAP) algorithm was proposed accordingly. This algorithm sets a certain amount of guard bits before the known information bits to calculate the required puncturing pattern based on the actual transmission block length. Similarly, this approach is suitable for code rates below 1/2 to achieve better performance. For each information bit at higher code rates, a metric referred to as reliability score is defined in the reference [13] to determine punctured bit locations by maximizing the minimum reliability score. However, certain limitations are imposed on the application of this approach, and the employment of different weighting factors in the algorithm can lead to various performances.
Once the channel is polarized, the worse sub-channel can have a significant impact on the bit error ratio (BER) performance of the polar code. For this reason, the critical issue to enhance the performance of the punctured polar codes is how to develop a strategy for picking the worst sub-channel into the punctured bits. Rather than addressing this issue, the puncturing scheme [10] is constructed by directly eliminating the last P rows and corresponding columns of the generated matrix G N , and setting the last P bits of the polar code with code length N to frozen bits so as to get a punctured polar code of code length M. When performing the corresponding column deletion on the generated matrix G N , it is unable to effectively select the relatively worse sub-channel for deletion when encountering columns with the same weight. This paper draws on the puncturing method in the reference [10], however, the difference is that this paper introduces a channel reliability estimation method in the puncturing strategy [14], which evaluates the reliability of each polar sub-channel by calculating the error probability of each of them when coding, so that the less reliable sub-channel corresponding to the column selected into the puncturing vector can be added into the frozen set. The simulation outcomes demonstrate that the method can enhance the performance of the obtained punctured polar codes to a certain extent.
This paper is structured as follows: First, some preliminary studies of polar codes are summarized in Sect. 2; Subsequently, an improved approach to reliability estimation and a proposed improved puncturing pattern are presented in Sect. 3. In Sect. 4, the polar code performance of the puncturing pattern is evaluated and compared with existing patterns. Finally, a conclusion for this work is presented in Sect. 5.

Preliminaries
Owing to the polarization effect, the polar code performs channel union and splitting by using N independent copies of the channel W to obtain a new N post-split channel W . As the code length N increases, the post-split channels would develop to two extremes: a part of the sub-channels would converge to perfect channels, that is, develop into noise-free channels with channel capacity converging to 1; while the other part of the sub-channels would converge to completely noisy channels, that is, channels with the capacity converging to 0. Given u = (u 1 , u 2 , ..., u N ) denote the information sequence. For the coding sequence with R as the coding rate, this study selects the (N · R) bits of the sequence u as the information bits and transmits the information in the "good" sub-channel, while the remaining (N − N · R) bits would be selected as the frozen bits and transmitted in the "bad" sub-channel.
When coding polar codes, it is necessary to first distinguish the reliability of the N sub-channels, in other words, whether they are reliable channels or not. The reliability of each polarized channel is measured by three common methods: the Bhattacharyya parameter [1], density evolution (DE) [15], Gaussian approximation methods [16] and Tal-Vardy's algorithm [17]. Originally, the polar code adopted the Bhattacharyya Parameter Z (W ) as a reliability measurement for each sub-channel, with a higher Z (W ) indicating a less reliable channel. Each Z (W i N ) can be calculated recursively with a complexity of O (N log N ) when channel W is a binary erasure channel (BEC). There is, nevertheless, no precise method for calculating Z (W i N ) for other channels, such as the binary-input symmetric channel (BSC) or the binaryinput additive white Gaussian channel (BAWGNC). Hence, Mori et al. proposed a method that employs a DE approach to track the probability density function (PDF) of each subchannel and thus estimate its error probability. This method is applicable to all types of B-DMCs. The transmission channel model for channel coding in most of the research scenarios is the BAWGN channel. The probability density function of the LLR in density evolution can be approximated by a cluster of Gaussian distributions with a variance double the mean under the BAWGN channel, thus simplifying the calculation to a one-dimensional mean and significantly cutting the amount of calculation. This simplified calculation of the DE is referred to as the Gaussian approximation. For any binary-input symmetric channel model, the well-known Tal-Vardy's algorithm makes the original channel a degrading channel and an upgrading channel by a degrading operation and an upgrading operation, respectively. Both are significantly close to each other at various parameter levels and can be used to approximate the original channel to solve the difficulty of direct construction due to the exponential growth of the code length of the polarized channel output code. Once the reliability of each sub-channel has been determined, this research then proceeds to bit mixing, which means that the K sub-channels with the highest reliability are selected to transmit the information bit, while the other sub-channels transmit the frozen bit. For this step, the output is the coded original bit u N 1 . The generated matrix G N of the polar code is a square matrix, which can be described as G N = B N G ⊗n 2 , whereis the Kronecker product, G 2 = 1 0 1 1 ,and B N is the bit-inversion alignment matrix [1]. This yields the coded code word sequence: When Arikan proposed polar codes, a coding algorithm and SC decoding algorithm were presented, while subsequent researchers have improved the SC algorithm by proposing SCL and CA-SCL decoding algorithms, enabling the decoding performance to be enhanced. Nevertheless, all these compiled code algorithms have a restriction on the code length, meaning that the code length must satisfy a power of 2: N = 2 n . Although the information bit length K can be taken arbitrarily when the code length N is fixed and the coding rate R = K /N can be varied freely, it is no longer possible to adjust the coding rate by changing the code length when the information bit length is fixed. From a practical standpoint, this research prefers to design a pair of coders that enable both code length and coding rate to be self-adjusting without changing the basic compiled code structure. Puncturing is a commonly adopted method when designing codes with variable rates. The number of information bits in a coding sequence is denoted by K , with N representing the length of the coding sequence, and M being pattern is denoted by P, whose index indicates the bits being punctured, with | P |= (N − M) indicating the number of bits being punctured. The coding rate of the punctured polar code is R = K /M.
A major factor affecting the performance of polar codes is the worst sub-channel after the channel is polarized. Consequently, it is a critical issue to improve the performance of rate-adapted polar codes by selecting the worst sub-channel into the punctured bits. The traditional puncturing scheme [10] makes no improvement to this issue. Its construction process is to directly delete the last | P | rows and corresponding columns of the generated matrix G N , and set the last | P | bits of the polar code with code length N as frozen bits, so as to obtain a punctured polar code with code length M. By utilizing the principle of the traditional puncturing scheme [10], this paper introduces the channel reliability estimation method [14] to select rows and columns for deletion individually in the generated matrix G N until the number of deletions reaches | P |, enabling it to improve the performance of the polar code to a certain extent.

Improved methods for channel reliability estimation
The Gaussian approximation [18] is a simplified processing approach for DE and has long been extensively used in LDPC codes. It is used in the coding of polar codes for channel reliability estimation [16], that is, to estimate the error probability of individual polarized sub-channels. The fundamental prerequisite for the application of the Gaussian approximation method is the satisfaction of the symmetry condition, since it is the condition that must be satisfied by the DE method. If the probability density function for receiving the signed LLR satisfies: then the mean m and variance σ 2 of the Gaussian distribution possess the following relationship: σ 2 = 2m. As the Gaussian distribution itself can be fully determined on the basis of its mean and variance, it is only required to track the change in the mean of the information to find out the change in probability density under the Gaussian approximation assumption. The equivalent signal-to-noise rate (SNR) of a Gaussian variable is also defined as m 2 /σ 2 , hence the SNR is m/2 and tracking the mean is also equivalent to tracking the SNR. For a BAWGNC channel W with variance σ 2 , the information source bit sequence is modulated with BPSK and its probability density function is The LLR for receiving signs is defined as Since the channel satisfies the symmetry condition at this point, then the decoding error probability is independent of the transmitted code word, and therefore without loss of generality, for which it can be assumed that the code word is sent as all-zero, the LLR is a Gaussian distribution obeying a mean of 2/σ 2 and variance of 4/σ 2 .
When the LLR of each sub-channel obeys a Gaussian distribution with a variance double the mean, that is, The only issue to be considered based on such a Gaussian approximation assumption is how to calculate the mean value. Following the setting in the DE, let α (i) N denote the probability density function of N . Subsequently, the calculation of density evolution is transformed into a recursive calculation of the mean value in accordance with the construction theory of the Gaussian approximation as follows: where the function: is continuous and monotonically decreasing on 0, ∞ , ϕ(0) = 1,ϕ(+∞) = 0, and its inverse function is denoted by ϕ −1 (x). The Gaussian approximation is a simplification of the DE, and as it is a simplification, it would come at the cost of losing a part of the performance. Fortunately, the cost is small enough to be acceptable. However, equation ϕ(x)is extremely complicated to calculate, so Sae-Young Chung proposed an approximation version of the Gaussian approximation (AGA), also known as ϕ (x).
), x ≥ 10 exp(−0.4527x 0.86 + 0.0218), 0 < x < 10 (7) For polar codes, however, when the code length N gets longer, there is a significant performance loss due to the calculation error of ϕ (x). Therefore, Jinchen Dai et al. proposed an improved AGA. the reference [14] employed cumulative-logarithmic error (CLE) to quantitatively evaluate the complementary error of AGA over the logarithmic domain, and proposed A new estimated function for the Csegment: where the critical point a = 7.0633. According to the improved approximation assumptions, the probability of error for each polarized sub-channel is: where the complementary error function is: To better compare the difference and effectiveness of both ϕ (x)and ϕ AG A−2 (x) functions in picking channels, this research conducted simulations of channel polarization under the BAWGN channel with selected code length N = 1024 and under the noise variance σ 2 = 0.5. Of these, Figs. 1 and 2 employ the function ϕ (x) and function ϕ AG A−2 (x) respectively to calculate the error probability of each polarized sub-channel.
The Gaussian approximation construction algorithm shows that the larger the expectation value of the channel LLR, the more reliable the sub-channel is. Therefore, the channel corresponding to the higher value of expectation is selected as the reliable channel. The comparison between Figs. 1 and 2 reveals that when the ϕ (x) function is applied to calculate the error probability of each polarized sub-channel, the points representing the subchannel are more clustered and difficult to distinguish; however, when ϕ AG A−2 (x) is employed for the calculation, channels are with better distribution and can be picked out more precisely. Therefore, in the subsequent algorithms, the ϕ AG A−2 (x) function will be employed for the reliability estimation of sub-channels.

Improved puncturing criteria
In this subsection, this research proposed improved puncturing criteria for ensuring the selection of punctured bits by using the channel reliability estimation method.
Let F denote the set of frozen bits information in the polar code, which contains the information corresponding to the frozen, and let g i denote the i-th column of the generated matrix G N , where i = 1, 2, ..., N . Let Q (g i ) denote the position of "1" in the g i -th column of the generated matrix. Taking a polar code of code length 4 as an example, the generated matrix is: As an example, the third column of the generated matrix is g 3 = (0, 1, 0, 1) T and the position information corresponding to "1" in its column is Q (g 3 ) = {2, 4}. To ensure that the information of the chosen punctured bits c i = ug i is recognized by the decoder, the frozen set F should contain the position information of all the "1" in column g i , which means that the following condition is satisfied: This condition can be deduced intuitively. By letting u Q(g i ) denote the position of the information bits in Q (g i ), and the code word information c i being affected solely by the information in u Q(g i ) , when all the information in u Q(g i ) belongs to the frozen bits, the information can be transmitted to the decoder when decoding, indicating that the information of the bits belongs to both the punctured and frozen bits.
For practical applications, to construct polar codes with code length M in this research, it is necessary to select | P |= (N − M) punctured bits and let Q (P) be the complementary frozen set, which, from the above principle, can be introduced by Eq. (9) when i ∈ P: Naturally, since P is limited by the range of values, there is a lower bound on the number of locations containing "1" in the supplementary frozen set Q (P), viz.
This can be proved by the structural relationship of the generated matrix of the polar code, since the generated matrix G N = B N G ⊗n 2 , where G ⊗n 2 is a lower triangular matrix and meets all elements of "1" on the diagonal, and B N is only a reverse sorted permutation matrix, which only affects the ordering of the columns in the generated matrix, not the construction of the matrix columns. When choosing the last (N − M) column of the matrix G ⊗n 2 as the punctured vector, the number of | Q (P) | is minimized and i ∈ Q (P) when i ∈ P. Reference [10] makes use of the principle of minimization of | Q (P) | for the selection of punctured bits, and the paper is also an improvement on this basis.

Puncturing scheme on the basis of reliability estimation
For the conventional puncturing algorithm [10] mentioned above, its selection of the supplementary frozen set Q (P) of the punctured vector P is not done by the reliability of the channel, but only by making use of the principle of | Q (P) |-minimum. In this case, some well-polarized subchannels may be selected into the supplementary frozen set Q (P), thus affecting the performance of the polar code. The proposed algorithm in this paper firstly satisfies the | Q (P) | minimum principle and selects the punctured vector P and the supplementary frozen set Q (P) in the generated matrix of the polar code by comparing the reliability of each polarized sub-channel, thus allowing the "poor" polarized sub-channel to be selected in the frozen set as far as possible. The simulations reveal that better performance can be achieved based on this improved approach.
The improved algorithm steps are as follows:

Improved Puncturing Algorithm
Input: Actual transmission code length M, channel parameterσ 2 1: Calculate the mother code length N = 2 log M 2 of the polar code based on the actual transmission code length M and construct the generated matrix G N .

2: Calculate the Gaussian approximation auxiliary parameter
Pe N 1 based on the channel parameter σ 2 with the use of equations (1) to (6) 3: Perform the following steps when i = 1 : N − M 4: Calculate the column weight of each column in the generated matrix G N . Record the column number g i and the number n for which the column weight is 1. 5: Add the column with column number g i to the punctured vector P and add Q (g i ) to the supplementary frozen set Q(P) when n = 1. 6: Delete the column with column number g i in G N and the row corresponding to the position information of 1 in Q (g i ) ( which corresponds to n = 1). 7: Judge the size of Pe (Q (g i )) for n columns when n > 1, add the column number g i of the largest column of Pe (Q (g i )) to the punctured vector P and add Q (g i ) to the supplementary frozen set Q(P). 8: Delete the column with column number g i in G N and the row corresponding to the position information of 1 in Q (g i )( which corresponds to n > 1). Output: Get the punctured vector P and the supplementary frozen set Q(P) .
The difference between the construction algorithm proposed in this paper based on Gaussian approximation as assistance to screen the punctured bits and that of reference [10] can be seen in steps 5 to 8 in this algorithm. When the number of columns to be selected in the generated matrix is greater than 1, the algorithm in this paper makes the selection by using Pe (Q (g i )) of the columns that are to be picked, and selecting the largest of them into the punctured vector and adding its corresponding Q (g i ) into the supplementary frozen set Q(P). This measure can reduce the possibility of some well-polarized sub-channels being eliminated, thus enhancing performance.
In the present research, for example, if a polar code of code length M = 5 needs to be constructed in practice, it is necessary to have a generated matrix G 8 of polar codes of the mother code with code length N = 8, and it is also required to calculate the error probability Pe 8 1 of the polarized subchannel, where the generated matrix G 8 is: In this case, it is necessary to pick | P |= N − M = 3 punctured bits to add to the punctured vector P by applying the method proposed in this paper, that is: in the first step, traversing the column weights of the generated matrix G 8 , with only the 8th column having a column weight of 1, adding g 8 to the punctured vector P, adding Q(g 8 ) to the supplementary frozen set Q(P), and deleting the 8th column and its corresponding row in the generated matrix G 8 . In the second step, traversing the column weights of the remaining generated matrix G 8 and find that three columns have a column weight of 1 (i.e. columns 4,6,7), followed by determining the size of its corresponding column Pe (Q (g i )) and finding that Pe (Q (g 7 )) is the largest. As a result, adding g 7 to the punctured vector P, adding Q (g 7 ) to the supplementary frozen set Q(P), and deleting the 7th column and its corresponding row in the remaining generated matrix G 8 . In the third step, after traversing the column weights of the remaining generated matrix G 8 , two columns are found to have a column weight of 1 (i.e. 4,6 columns), its corresponding column Pe (Q (g i )) is determined, and it is found that Pe (Q (g 6 )) is the largest, adding g 6 to the punctured vector P, adding Q (g 6 ) to the supplementary frozen set Q(P), and deleting the sixth column and its corresponding row in the generated matrix G 8 . Up to this point, the punctured vector P = [6,7,8] and the supplementary frozen set Q(P) = [4,6,8] can be obtained. After obtaining the punctured vector P and the supplementary frozen set Q(P) with the algorithm in this paper, the remaining frozen bits and information bits are selected and punctured with the punctured vector P after coding, and finally, the LLR reception value of the corresponding punctured bits is set to infinity (or negative infinity) according to the transmission value of "0" (or "1") set for the frozen bits during decoding.

Performance simulation
This section would demonstrate the decoding performance of the puncturing scheme based on channel reliability esti- mation proposed in this paper by using the successive cancellation (SC) decoding algorithm in BAWGNC. The total number of frames simulated is F total = 10 6 . The stop condition of the simulation experiment is that the total number of frames in error is larger than 100 or the number of frames sent reaches F total .
Taking the mother code of the polar code with code length N = 1024, the punctured code with code length M = 896, the coding rate R = 3/4, the information bits K = 672, and the punctured vector size | P |= N − M = 28, under the same conditions, the performance of the polar code can be compared with that of the method propoed in references [6,8,10,12] and [13] as shown in Figs. 3 and 4. As can be observed from the figures, the method proposed in this paper can achieve a gain of about 0.15dB compared with the method proposed in reference [10] when the BER is 10 −5 . And the proposed method obtains a gain of about 0.2 dB compared with the method proposed in reference [13] when the BER is 10 −5 .The method proposed in this paper can obtain a gain of about 0.1dB compared with the method proposed in reference [10] when the frame error rate (FER) is 10 −4 . Figures 5 and 6 demonstrate the performance of polar codes with code length M = 640. The coding rates R are 1/2 and 4/5. At R = 1/2, the scheme proposed in this paper performs similarly to the scheme in reference [13]. The outcomes indicate that the proposed method in this paper provides better performance than other coding methods. For R of 4/5, the proposed method is able to achieve a gain of about 0.2dB compared to the method proposed in reference [10] when the BER is 10 −5 ;and the proposed method obtains a gain of about 0.1 dB compared with the method proposed in reference [13] when the BER is 10 −6 .
For the quasi-uniform puncturing scheme proposed in reference [8], and the generated matrix-based puncturing scheme proposed in reference [10], the former introduces a bit-reversal rearrangement algorithm based on the puncturing algorithm, through which the punctured bits are able to present a quasi-uniform arrangement, and provides a simple construction scheme, that is, by simply taking the first | P | bits of the punctured vector as the punctured bits, and then calculating its corresponding inverse order punctured vector. This can be achieved in just one step and the complexity of the scheme is O (1). While the latter ingeniously makes use of the principle of code word construction by taking advantage of the morphology of the lower triangular form presented by the non-bit-flipped generated matrix and gives a simple construction scheme, that is, by simply taking the {M + 1, M + 2, ..., N }, and then selecting the last | P | bits of the code word sequence into the punctured vector, which can be achieved in just one step, and the complexity of the scheme is O(1). The scheme proposed in this paper, on the other hand, requires selecting the punctured bits individually, by using the generated matrix of the polar code, which starts from the last column, and selects the columns with the same weight each time, and then compares the error probability of the polarized sub-channel for selection, and it needs to select | P | bits as the punctured bits. Therefore, it takes | P | times to complete the selection, making the complexity O(| P |).

Conclusions
This paper proposes an improved method to construct punctured polar codes. When selecting the punctured vector and supplementary frozen set for a given arbitrary code length M, reference [10] may select some good polarized channels into the punctured vector, thus affecting the decoding performance. The algorithm presented in this paper is based on reference [10], which selects the punctured vectors and supplementary frozen sets in the generated matrix of the polar code, and applies the channel reliability estimation method in reference [14] to the selection of punctured bits. This allows the poorly polarized sub-channels to be selected into the punctured vector as much as possible. The simulation outcomes indicate that the improved punctured polar codes proposed in this paper provide better performance than the conventional punctured polar codes.
written by TH and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Funding This work was supported by 2020YFB1805800. Author Meiling Zhang has received research support from the Ministry of Science and Technology of the People's Republic of China.
Data availability Enquiries about data availability should be directed to the authors.

Conflict of interest
The authors have no relevant financial or nonfinancial interests to disclose.

Code availability
The codes generated during the current study are available from the corresponding author on reasonable request.