Rate-compatible systematic polar codes

Puncturing and shortening are two common ways to achieve rate-compatible non-systematic polar codes (NSPCs). Systematic polar codes (SPCs) have been shown to outperform NSPCs with the same encoding and decoding complexity. However, rate-compatible SPCs have never been comprehensively studied in previous work. In this paper, two rate-compatible algorithms for SPCs are ﬁrst proposed: uniform puncturing (UP) algorithm and uniform shortening (US) algorithm, which are referred to as SPC-UP and SPC-US, respectively. In order to effectively estimate the maximum likelihood decoding performance of punctured and shortened polar codes, subsequently, a distance spectrum calculation algorithm based on successive cancellation list (SCL) decoder for rate-compatible polar codes is proposed. Simulation results show that rate-compatible SPCs yield better bit error rate performance than rate-compatible NSPCs while they have the same frame error rate performance under different code rates and decoding algorithms. Eventually, union bounds that are obtained by the distance spectrum to provide the theoretical explanation for the superiority of rate-compatible SPCs are utilised.


INTRODUCTION
Polar codes are the first provable codes to achieve the symmetric capacity of the binary-input discrete memoryless channels (B-DMCs) with the successive cancellation (SC) decoding algorithm [1]. For short and moderate lengths, the performance of polar codes with SC decoding is not satisfactory, so a novel SC list (SCL) decoding algorithm was proposed to improve decoding performance [2,3]. Within the ongoing 5th generation (5G) New Radio (NR) standardisation process of the 3rd generation partnership project (3GPP), polar codes have been adopted as the uplink and downlink control channel coding scheme for the enhanced mobile broadband (eMBB) communication service [4].
The Kronecker product construction of conventional polar codes limits their code length N to only powers of 2, i.e. N = 2 n (n = 1, 2, …). For rate-compatibility in practical applications where codes of arbitrary length M (M ≠ 2 n ) are required, ratematching schemes like puncturing or shortening are deemed indispensable [5][6][7][8][9][10][11]. In puncturing, one or more coded bits are not transmitted, which are treated as erased at the decoder. In shortening, those untransmitted bits are restricted to a fixed value, typically zero, so that they are known at the decoder.
Punctured and shortened polar codes can be decoded in a similar way to conventional polar codes, except that the loglikelihood ratios (LLRs) of punctured bits are set to zeros while that of shortened bits are set to infinity. It has been observed that puncturing tends to yield superior performance to shortening at low code rates, while the opposite is true for high code rates [12]. For this reason, the 5G NR rate-matching scheme considers either method depending on the code rate and the threshold is set to be 7∕16 [12].
The polar codes originally proposed by Arikan in [1] are nonsystematic polar codes (NSPCs), and systematic polar codes (SPCs) were subsequently proposed by Arikan in [13]. Unlike NSPCs, the information bits of SPCs appear as part of the codeword transparently. Simulation results show that NSPCs and SPCs have the same frame error rate (FER) performance while SPCs have advantages in bit error rate (BER) performance [13]. However, the precise explanation of these phenomenons was not given. Later, the authors in [14] utilised the distance spectrum to obtain the FER and BER union bound of SPCs and NSPCs, by which the reason for the performance difference between SPCs and NSPCs was well explained. It comes naturally to us that punctured and shortened SPCs are expected to show better performance than their corresponding NSPCs.
In this paper, we investigate and study the rate-compatible SPCs and compare their performance with rate-compatible NSPCs. The contributions of this paper are summarised below: 1. We propose two rate-compatible algorithms for SPCs: uniform puncturing (UP) algorithm and uniform shortening (US) algorithm, which are referred to as SPC-UP and SPC-US, respectively. 2. We propose a distance spectrum calculation algorithm based on SCL decoder for rate-compatible polar codes. The distance spectrum can be used to estimate the maximum likelihood (ML) decoding performance of punctured and shortened polar codes. 3 The rest of this paper is organised as follows. Section 2 reviews some basic concepts of polar codes, puncturing, shortening, systematic polar codes and distance spectrum. In Section 3, we give a detailed description of the three proposed algorithms: SPC-UP, SPC-US, and the distance spectrum calculation algorithm. Simulation results for performance comparison of rate-compatible NSPCs and SPCs are provided in Section 4. Utilising the distance spectrum, the analysis of FER and BER union bound of rate-compatible polar codes is given in Section 5. Finally, Section 6 concludes this paper.

Polar codes
Let the code length be N = 2 n (n = 1, 2, …) and the information bits length be K , then the code rate be R = K ∕N . After applying the channel combining and splitting operations on N independent uses of B-DMC W , such as binary-input additive white Gaussian noise (BI-AWGN) channel, we obtain N interrelated polarised subchannels W (i ) The calculation of the reliability order of N subchannels, i.e. code construction can adopt density evolution (DE) [15] or Gaussian approximation (GA) method [16].
We denote the binary field as 2 . The message vector u N 1 ∈ N 2 contains two parts: information bits vector u  ∈ K 2 and frozen bits vector u  c ∈ N −K 2 . Note that frozen bits are always set to zeros. The information set  consists of indices of the K most reliable subchannels while the frozen set  c is the complementary set of , i.e.  c ={1, 2, … , N } ⧵ . The codeword x N 1 ∈ N 2 can be computed as where ⊗ denotes the Kronecker product, F 2 = [ 1 0 1 1 ] and B N is the bit-reversal permutation matrix. The encoding process can be implemented at a low time complexity O(N log N ).
The codeword x N 1 is modulated and then transmitted over a B-DMC W . Let y N 1 be the channel output, W (y i |x i ) be the transition probability of W , then the LLR of y i , i = 1, 2, … , N is computed as The SC decoder [1] calculates the LLR of the ith message bit u i as Here,û i−1 1 denotes the estimate of u i−1 for the transition probability of the ith subchannel. Decoding judgement should be implemented to getû i as followsû The SC decoder has a low time complexity O(N log N ). Nonetheless, at each decoding time the SC decoder keeps only one path, which leads to error propagation and limits its performance. Instead of keeping only one survival path, the SCL decoder keeps L survival paths [2,3]. At each decoding time, the SCL decoder extends each candidate path into two paths withû i = 0 andû i = 1 if u i is an information bit; otherwise each candidate path is extended withû i = 0. When the number of paths grows beyond L, the SCL decoder discards the worst (least probable) paths, and only keeps the L best paths. Simulation results show that the SCL decoder performs much better than the SC decoder and can achieve almost the same performance as the optimal ML decoder [2]. However, the SCL decoder increases the time complexity to O(LN log N ).

Puncturing
In puncturing, codes (N − P, K ) are obtained from mother codes (N , K ) and thus the code rate is increased to . Without loss of generality, we assume that P < N ∕2 and P < N − K . We denote the indices set of punctured bits as , and consequently the encoder transmits the vector x  c ∈ N −P 2 . At the decoder side, the channel LLRs for the P punctured coded bits are set to zeros, and then the decoder of the mother codes is applied.
We observe that punctured bits are completely unreliable for the decoder. According to channel polarisation [1], this unreliability is eventually projected to u N 1 , creating incapable bits, i.e. message bits that are completely unreliable. In [17], the authors have proved that the number of incapable bits is equal to the number of punctured bits. The indices set of the incapable bits, denoted as , can be found by the modified GA algorithm for BI-AWGN channel [10], i.e. the means of LLRs of P punctured bits are set to zeros while that of the other N − P coded bits are set to the value corresponding to the signal to noise (SNR) of the BI-AWGN channel. As the value of incapable bits cannot be resolved by SC decoding, all incapable bits must be frozen to avoid an error floor, which gives the condition  ∈  c in the design of the punctured polar code.
Puncturing algorithms that have been proposed in previous work include uniform puncturing (UP), natural puncturing (NP) and mapping puncturing (MP), which are demonstrated as follows: • UP: Puncturing the first P bits of x N 1 in the bit-reversal order [5,7,8].
• NP: Puncturing the first P bits of x N 1 [8]. • MP: Puncturing the P bits of x N 1 corresponding to the P least reliable message bits [10].

Shortening
In shortening, codes (N − S , K ) are obtained from mother codes (N , K ) and thus the code rate is increased to R s = K ∕(N − S ). Without loss of generality, we assume that S < N ∕2 and S < N − K . We denote the indices set of shortened bits as , and consequently the encoder transmits the vector The difference between puncturing and shortening is that the untransmitted shortened coded bits (typically zeros) can be known at the decoder by carefully selecting the frozen bits. At the decoder side, the S shortened bits are known to be zeros. Therefore, their LLRs are set to infinity (or in practice sufficiently large values) and then the decoder of the mother codes is applied.
In fact, if S coded bits are linear combinations of frozen bits only, they can be shortened since they are all zeros. The carefully selected frozen bits are called overcapable bits [7]. The authors in [6] have proved that at least S message bits need to be frozen in order to make S coded bits frozen. Denote the indices set of overcapable bits as , and then we have  ∈  c . Other frozen bits can be found by the modified GA algorithm for BI-AWGN channel [11], i.e. the means of LLRs of S shortened bits are set to infinity while that of the other N − S coded bits are set to the value corresponding to the SNR of the BI-AWGN channel.
Shortening algorithms that have been proposed in previous work include uniform shortening (US), natural shortening (NS) and mapping shortening (MS), which are demonstrated as follows: • US: Shortening the last S bits of x N 1 in the bit-reversal order [6][7][8].
• NS: Shortening the last S bits of x N 1 [8,9]. • MS: Shortening the S bits of x N 1 corresponding to the S most reliable message bits [11].

Systematic polar codes
In Section 2.1, the K information bits are assigned to message bits u  , so the original format of polar codes in [1] is nonsystematic. However, as to SPCs, the information bits appear as part of the codeword x N 1 . We split the codeword x N 1 into two parts , and then we can get where G  denotes the submatrix of G N consisting of the array of elements G i, j with i ∈  and j ∈ , and similarly for the other submatrices. Given a non-systematic encoder (, u  c ), there is a systematic encoder (, u  c ) where x  carries the information bits and u  c carries the frozen bits. We can see from (6) that the vector u  can be obtained by then we insert u  into (7) and obtain x  c . It is clear that x  ↦ u  is one-to-one if (and only if)  and  have the same number of elements and G  is an invertible matrix. In [13], Arikan has shown that all these conditions are satisfied if  is the image of  under the bit-reversal permutation represented by B N . In the rest of the paper, the encoding of SPCs adopts this relationship. Similar to NSPCs, the encoding of SPCs can also be implemented at a low time complexity O(N log N ) [13,18,19].
Simulations results show that SPCs achieve better BER performance compared to NSPCs, while they have the same FER performance [13].

Distance spectrum
Given linear block codes (N , K ) denoted by , the weight enumerating function (WEF) [20] of  can be written as where A d denotes the number of codewords with output weight d . The input-output weight enumerating function (IOWEF) [20] of  is given by where A m,d denotes the number of codewords with output weight d and input weight m. It is obvious that The distance spectrum of  can be represented by the set of coefficients of WEF or IOWEF, which is a powerful tool used to estimate the ML decoding performance of linear block codes.
Since the first terms in the distance spectrum determine the performance of , we call the set of these terms as partial distance spectrum. In this paper, we do not distinguish distance spectrum and partial distance spectrum deliberately. The author in [21] first presented the method based on SCL decoder to calculate the distance spectrum of polar codes. Then the authors in [14] utilised the distance spectrum to explain the phenomenon that SPCs have better BER performance than NSPCs while they have the same FER performance. More discussion about distance spectrum calculation for polar codes can be found in [22,23].

PROPOSED ALGORITHMS
In this section, we first propose two rate-compatible algorithms for SPCs: SPC-UP and SPC-US. For SPCs, information bits should not be punctured or shortened to ensure a reasonable performance. We prove that our proposed algorithms have this property indeed. Subsequently, in order to obtain the FER and BER union bound of punctured and shortened polar codes, we subsequently propose a distance spectrum calculation algorithm based on SCL decoder for rate-compatible polar codes. The distance spectrum can be used to estimate the ML decoding performance of punctured and shortened polar codes.

SPC-UP
The proposed SPC-UP algorithm for the BI-AWGN channel is described as Algorithm.
In the following, we give an example to illustrate the proposed SPC-UP algorithm. Consider a punctured SPC(6,3), which means that N = 8, K = 3, P = 2. The initial puncturing vector is p 8 1 = (00111111). After bit-reversal permutation, the puncturing vector is p 8 1 = (01110111). Now we can obtain the puncturing set  = {i|p i = 0, 1 ≤ i ≤ 8} = {1, 5}. Next we implement code construction using the modified GA algorithm [10], i.e. the means of LLRs of P = 2 punctured bits are set to zeros while that of the other N − P = 6 coded bits are set to the value corresponding to the SNR of the ALGORITHM 1 Uniform puncturing algorithm for systematic polar codes (SPC-UP) Input: length of mother polar code N , number of information bits K , number of punctured bits P Output: puncturing set , incapable set , information set , frozen set  c 1: Initialise the puncturing vector p N 1 as all ones, and set the first P bits of p N 1 as zeros. 2: Perform bit-reversal permutation on p N 1 , and then obtain the 3: Implement code construction using the modified GA algorithm [10] to obtain the indices sequence Q N 1 of N polarised subchannels in ascending order of reliability.

4: Obtain the incapable set
5: Perform the bit-reversal permutation on  to obtain the information set .

FIGURE 1
The UP algorithm for SPC (6,3). The red circle, red square, blue circle, blue square represent the incapable set , the puncturing set , the set  and the information set , respectively BI-AWGN channel. Then the indices sequence of N = 8 polarised subchannels in ascending order of reliability is obtained as Q 8 1 = {1, 2, 3, 5, 4, 6, 7, 8}, which exhibits that the  Figure 1. The red circle, red square, blue circle, blue square represent the incapable set , the puncturing set , the set  and the information set , respectively. Proposition 1. The proposed SPC-UP algorithm can ensure that information bits will never be punctured, i.e.  ∩  = ∅.
Proof. The modified GA algorithm [10] ensures that the P message bits belonging to the incapable set form a subset of the frozen set, i.e.  ∈  c , because they are the least reliable and 3: Implement code construction using the modified GA algorithm [11] to obtain the indices sequence Q N 1 of N polarised subchannels in ascending order of reliability.

4: Obtain the overcapable set
5: Perform the bit-reversal permutation on  to obtain the information set .
have no capability to send any information. Therefore, the intersection of  and  is an empty set, i.e.  ∩  = ∅. In [8] we have known that for UP algorithm, the puncturing set  is the bit-reversal permutation of the incapable set . In addition, to realise the encoding of SPC, the information set  is selected as the bit-reversal permutation of the set  [13]. Since  ∩  = ∅, we can deduce that the intersection of  and  is also an empty set, i.e.  ∩  = ∅. From the above we can see that information bits will never be punctured for the SPC-UP algorithm. □

SPC-US
The proposed SPC-US algorithm for the BI-AWGN channel is described as Algorithm.
In the following, we give an example to illustrate the proposed SPC-US algorithm. Consider a shortened SPC(6,3), which means that N = 8, K = 3, S = 2. The initial shortening vector is s 8 1 = (11111100). After bit-reversal permutation, the shortening vector is s 8 1 = (11101110). Now we can obtain the shortening set  = {i|s i = 0, 1 ≤ i ≤ 8} = {4, 8}. Next we implement code construction using the modified GA algorithm [11], i.e. the means of LLRs of S = 2 shortened bits are set to a sufficiently large value (theoretically infinity) while that of the other N − S = 6 coded bits are set to the value corresponding to the SNR of the BI-AWGN channel. Then the indices sequence of N = 8 polarised subchannels in ascending order of reliability is obtained as  The US algorithm for SPC (6,3). The green circle, green square, blue circle, blue square represent the overcapable set , the shortening set , the set  and the information set , respectively , the shortening set , the set  and the information set , respectively.

Proposition 2. The proposed SPC-US algorithm can ensure that information bits will never be shortened, i.e.  ∩  = ∅.
Proof. The modified GA algorithm [11] ensures that the S message bits belonging to the overcapable set form a subset of the frozen set, i.e.  ∈  c , because they must be frozen to make S shortened bits frozen. Therefore, the intersection of  and  is an empty set, i.e.  ∩  = ∅. In [8] we have known that for US algorithm, the shortening set  is the bit-reversal permutation of the overcapable set . In addition, to realise the encoding of SPC, the information set  is selected as the bit-reversal permutation of the set  [13]. Since  ∩  = ∅, we can deduce that the intersection of  and  is also an empty set, i.e.  ∩  = ∅. From the above we can see that information bits will never be shortened for the SPC-US algorithm. □

Distance spectrum calculation algorithm
As mentioned in Section 2.5, distance spectrum is a powerful tool used to estimate the ML decoding performance of linear block codes. Clearly, the distance spectrum can also be used to estimate the ML decoding performance of rate-compatible linear block codes, such as punctured and shortened linear block codes, which can also be considered as linear block codes. To effectively analyse the upper bound of FER and BER under ML decoding of punctured and shortened polar codes, we propose a distance spectrum calculation algorithm based on SCL decoder for rate-compatible polar codes. The detailed steps of the proposed algorithm are listed in Algorithm.
The principle of this algorithm is that if an all-zero codeword is transmitted over the BI-AWGN channel, the output of SCL decoder is most likely to include only the least weight codewords set. Therefore, the distance spectrum for rate-compatible ALGORITHM 3 Distance spectrum calculation algorithm based on SCL decoder for rate-compatible polar codes Input: length of mother polar code N , number of information bits K , number of punctured (shortened) bits P (S ), number of lists L Output: distance spectrum for rate-compatible polar codes 1: Transmit an all-zero codeword x  c (x  c ) over the noiseless (SNR → ∞) BI-AWGN channel based on the puncturing (shortening) set  ().
2: Take L estimates ofû N 1 from the corresponding L (L is very large) paths obtained by SCL decoding for punctured (shortened) polar codes.
3: Performx N 1 =û N 1 G N on each of these resultingû N 1 to getx N 1 . The L estimatedx  c (x  c ) and correspondingû  are the codewords and information bits of rate-compatible NSPCs, respectively. If polar codes are systematic, the estimated information bitsx  should be taken out ofx  c (x  c ). Then the estimation of L codewordsx  c (x  c ) and corresponding information bitsx  of rate-compatible SPCs are obtained.
4: Calculate the output and input weights of the L codewords and obtain the distance spectrum. polar codes can be effectively approximated using the obtained codewords set. It should be noted that a larger L will lead to a more complete distance spectrum, while the complexity increases sharply simultaneously. Union bounds, including FER union bound [24] and BER union bound [20] can be obtained by the distance spectrum, which can estimate the upper bound of ML decoding. In Section 5, we utilise union bounds to analyse the theoretical FER and BER performance for rate-compatible polar codes.

SIMULATION RESULTS
In this section, we show the FER and BER performance comparison of four rate-compatible algorithms for polar codes: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-US. The existing UP [5,7,8] and US algorithm [6][7][8] for NSPCs are referred to as NSPC-UP and NSPC-US, respectively. The proposed SPC-UP and the proposed SPC-US adopt Algorithm 1 in Section 3.1 and Algorithm 2 in Section 3.2, respectively. The NSPC-UP (NSPC-US) and SPC-UP (SPC-US) have the same way of selecting the puncturing set  (shortening set ) and implementing code construction to obtain the set  c and . However, for NSPCs  c is the frozen set and  is the information set, while for SPCs  c is also the frozen set but the information set  should be obtained by performing the bit-reversal permutation on .
For all simulations, we adopt the binary phase shift keying (BPSK) modulation and the transmission takes place over the BI-AWGN channel. It is known that polar codes are nonuniversal [25], i.e. different polar codes are generated depending on the specified value of the SNR, known as design-SNR. To ensure good performance for rate-compatible polar codes in all SNRs of interest, we adopt the design-SNR equal to zero in this paper. The maximum number of simulation frames for each SNR is 10 6 . We stop the simulation if there are 1000 error frames or total 10 6 frames have been transmitted. We measure FER and BER performance of the four rate-compatible algorithms against E b ∕N 0 in dB, where E b denotes the bit energy and N 0 denotes the power spectral density of the BI-AWGN noise. Three different code rates: high code rate (R p = R s > 1∕2), low code rate (R p = R s < 1∕2) and medium code rate (R p = R s = 1∕2), and two different decoding algorithms: SCL and SC, are implemented.

High code rate (R p = R s > 1∕2)
First we provide the FER and BER performance comparison of four rate-compatible polar codes at high code rate. The FER and BER simulation results of four rate-compatible algorithms: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-US with N = 128, K = 80, P = S = 28 based on SCL decoder (L = 8) are given in Figure 3. Under this parameter setting, R p = R s = 4∕5. It is observed that NSPC-UP and SPC-UP have the same FER performance, and so do NSPC-US and SPC-US, as shown in Figure 3(a). However, Figure 3(b) presents that SPC-UP gives better BER performance than NSPC-UP and obtains a gain of about 0.5 dB at BER 10 −3 . Likewise, SPC-US can also obtain the same gain over NSPC-US with respect to the BER performance. The above phenomenon shows that SPCs are superior to NSPCs under the same ratecompatible algorithm, i.e. UP or US, at high code rate. It is worthwhile mentioning that for NSPCs, shortening tends to have superior performance to puncturing at high code rate [12]. As depicted in Figure 3, this conclusion also applies to SPCs. For example, SPC-US outperforms SPC-UP by up to 0.3 dB at FER 10 −2 and 0.2 dB at BER 10 −4 .

Low code rate (R p = R s < 1∕2)
Then we provide the FER and BER performance comparison of four rate-compatible polar codes at low code rate. The FER and BER simulation results of four rate-compatible algorithms: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-US with N = 256, K = 60, P = S = 16 based on SCL decoder (L = 32) are given in Figure 4. Under this parameter setting, R p = R s = 1∕4. It is observed that NSPC-UP and SPC-UP have the same FER performance, and so do NSPC-US and SPC-US, as shown in Figure 4(a). However, Figure 4(b) presents that SPC-UP gives better BER performance than NSPC-UP and obtains a gain of about 0.25 dB at BER 10 −4 . Likewise, SPC-US can also obtain the same gain over NSPC-US with respect to the BER performance. The above phenomenon shows that SPCs are still superior to NSPCs under the same rate-compatible algorithm, i.e. UP or US, at low code rate. As depicted in Figure 4, puncturing tends to have superior performance to shortening at low code rate for SPCs, just as NSPCs [12]. For example, SPC-UP outperforms SPC-US by up to 0.2 dB at FER 10 −3 and 0.15 dB at BER 10 −4 .

Medium code rate (R p = R s = 1∕2)
Finally we provide the FER and BER performance comparison of four rate-compatible polar codes at medium code rate. The FER and BER simulation results of four rate-compatible algorithms: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-US with N = 512, K = 200, P = S = 112 based on SC decoder are given in Figure 5. Under this parameter setting, R p = R s = 1∕2. It is observed that the four algorithms have almost the same FER performance, as shown in Figure 5(a). Furthermore, Figure 5(b) presents that SPC-UP gives better BER performance than NSPC-UP and obtains a gain of about 0.3 dB at BER 10 −4 . Likewise, SPC-US can also obtain the same gain over NSPC-US with respect to the BER performance. The above phenomenon shows that SPCs are still superior to NSPCs under the same rate-compatible algorithm, i.e. UP or US, at medium code rate. For NSPCs, the code rate 1∕2 is an approximate threshold of the performance difference between puncturing and shortening [12]. Likewise, the SPC-UP and SPC-US tend to show similar FER and BER performance at medium code rate, as depicted in Figure 5.

UNION BOUND
In this section, to theoretically explain the reason why ratecompatible SPCs outperform rate-compatible NSPCs in BER performance while their FER performance is completely identical, we first adopt Algorithm 3 in Section 3.3 to obtain the distance spectrum of rate-compatible NSPCs and SPCs. Subsequently we utilise the distance spectrum to obtain their FER and BER union bound. The parameter setting at high code rate in Section 4.1, i.e. N = 128, K = 80, P = S = 28, R p = R s = 4∕5, is taken for example.

FER bound
In Table 1 Table 1, the WEFs   mitted. Union bound [24] gives an upper bound of P f {} formulated as where  d denotes the event that there exists at least one codeword of Hamming weight d ≥ 1 that is nearer to the received codeword y N 1 than the all-zero codeword x N (0) 1 , and Q( √ d ∕ ) is the pair-wise error probability with Q(x) defined as The FER bounds of four rate-compatible algorithms: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-US with N = 128, K = 80, P = S = 28 based on SCL decoder (L = 2 × 10 6 ) are given in Figure 6. The four FER bounds are obtained by substituting Tables 1 and 2 into (14). Since NSPC-UP and SPC-UP have the same WEF, they have the same FER bound. Likewise, the same WEF makes the FER bound of NSPC-US and SPC-US consistent. Comparing Figures 6 and  3(a), we note that the FER performance of simulation results and union bounds keep exactly the same trend, while union bounds are the upper bounds of their corresponding simulation results.

BER bound
In Table 3   with input weight m and output weight d . As shown in Table 3, when d = 4 is fixed, SPC-UP restrains the input weight m to m ≤ d = 4 while m ≥ d = 4 is allowed to the input weight m of NSPC-UP. Similar phenomena can be observed for NSPC-US and SPC-US in Table 4: The IOWEF of NSPC-US and SPC-US with N = 128, K = 80, S = 28, L = 2 × 10 6 and d = 4. The upper bound of BER is obtained using union bound in [20] The BER bounds of four rate-compatible algorithms: NSPC-UP, NSPC-US, the proposed SPC-UP and the proposed SPC-

Explanation of difference in BER bound
In the following we explain the reason for the difference of BER bounds. Given an output weight d , the distribution of input weight m can be calculated as The expectation E d which denotes the average input weight of the codewords with output weight d is defined as Then (16) can be equivalently expressed as The distribution p d (m) of NSPC-UP and SPC-UP with d = 4 is shown in Figure 8. The E 4 of NSPC-UP and SPC-UP can be computed as 10.8803 and 3.1589, respectively. We can draw a conclusion that it is the more concentrated distribution of input weights that results in a smaller E d of SPC-UP. In addition, when d is fixed, the parameter A d ∕K and Q( √ d ∕ ) in (21) are the same towards NSPC-UP and SPC-UP. Therefore, SPC-UP has a lower BER bound than NSPC-UP. The distribution p d (m) of NSPC-US and SPC-US with d = 4 shown in Figure 9 can also explain the phenomenon that SPC-US is superior to NSPC-US in BER bound.

CONCLUSIONS
In this paper, we first propose two rate-compatible algorithms for SPCs: SPC-UP and SPC-US. Furthermore, in order to effectively estimate the ML decoding performance of punctured and shortened polar codes, we subsequently propose a distance spectrum calculation algorithm based on SCL decoder for rate-compatible polar codes. The simulation results for ratecompatible SPCs and NSPCs show that SPC-UP is superior to NSPC-UP in BER performance while they have identical FER performance under different code rates and decoding algorithms, and so do SPC-US and NSPC-US. Finally, we utilise the distance spectrum to obtain the FER and BER union bound of rate-compatible polar codes, which theoretically illustrates the reason for performance difference between rate-compatible SPCs and NSPCs. We focus on SPC-UP and SPC-US in this paper, and it is foreseeable that SPC-NP, SPC-MP, SPC-NS and SPC-MS can also give better performance than their corresponding algorithms of NSPCs. More researches will be conducted in the future work. In addition, in our work we adopt the modified GA algorithm to obtain satisfactory performance because the modified GA algorithm takes into consideration the effect of puncturing and shortening. Other code construction algorithms that are universal for all SNRs, such as polarisation weight (PW) algorithm [26], can also be applied to rate-compatible polar codes with low complexity. However, slightly performance degradation may be incurred.
Recently, a novel rateless scheme based on polar codes is proposed to achieve the capacity of a sequence of successively degraded channels [27]. In this scenario, existing puncturing and shortening algorithms are proved to be effective to achieve rate-compatible polar codes [28,29]. Combined with the rateless scheme for SPCs [30], we believe that our proposed algorithms, namely SPC-UP and SPC-US will surely obtain more satisfactory performance. Corresponding results will appear in the future work.
The mother SPCs outperform the mother NSPCs in BER performance, while the subcodes of SPCs under puncturing and shortening have the same performance superiority. It should be noted that SPCs and NSPCs have the same encoding and decoding complexity, and so do rate-compatible SPCs and NSPCs. For the reasons above, we believe that SPCs will be the future direction for polar codes in the next generation of mobile communications.