Design and analysis of polar coded cooperation with incremental redundancy for IoT in fading channels

In this study, a coded cooperation scheme using polar codes is explored for high-reliability and low-user complexity applications such as Internet of Things. Firstly, the cooperation way among the users is carefully designed based on systematic polar codes and cooperative decoding, without decode-and-forward protocol at the cooperative user. Meanwhile repetition aided code construction and decoding algorithm of polar code is proposed for the non-cooperative case in terms of imperfect inter-user channel. Performance analysis and numerical simulation demonstrate the bit-error-rate advantages of proposed polar coded cooperation in fading channels, compared to the no-cooperation case and normal coded cooperation schemes. Furthermore, overall rate of proposed polar-coded cooperation is considered to optimize adaptively to increase throughput efﬁciency.


INTRODUCTION
Polar codes [1] can provably achieve the symmetric capacity of binary-input discrete memoryless channels (BI-DMC). They have been adopted into channel coding standards of 5G New Radio. The competitive reliability and low complexity of polar codes will promote their application in high-reliability and lowpower consumption devices for the Internet of Things (IoT), such as autonomous driving, industrial control applications, information monitoring and collection. In these scenarios, a single transmitting antenna and short code lengths are usually used in the sensor-type devices, while reliability requirement and latency constraint are really of concerns. Coded cooperation (CC) proposed in [2] combines cooperation with channel coding to achieve the cooperative diversity as well as coding gains. Since signals carrying the same information are transmitted over uncorrelated channels, virtual multi-input multi-output (MIMO) diversity is obtained among the users employing a single antenna. Hence less hardware complexity is required but capability against the fading is possessed by CC. Based on the two-user CC model, some schemes using rate-compatible punctured convolutional codes, LDPC and distributed Turbo codes were investigated in the slow fading channels [2][3][4]. It was shown that both coding and diversity gains could be attained. The cooperative communication of multiple users or relays were explored in [5,6] based on incremental redundancy or network coding. Nevertheless, the cooperative transmission protocol and performance analysis are complicated for multiple users. Specific code design and simplified cooperation way are needed in practical applications.
Polar codes have been used in cooperative communication over the relay channels [7,8]. It was shown that polar code can achieve the capacity for physically degraded relay channel [7]. Polar coded half-duplex relay system was discussed in [8]. CC of polar codes was introduced in [9] on basis of Plotkin's construction assuming perfect inter-user channel, which provided cooperative gain in an asymmetric additive Gaussian white noise (AWGN) uplink-channels. Additionally, in consideration of the decode-and-forward (DF) protocol for the partitioned codeword, the cooperation degree of [9] is inferred to be low for practical inter-user channels because punctured polar codeword with non-optimal information set was utilized in the first transmission phase. To remedy that, our recent work in [10] optimized dynamically the construction of polar codes for the multi-phase CC.
Motivated by the above observations, a new polar coded cooperation scheme is proposed in this paper. The main contributions of the work are provided as follows.
1. The cooperation method among the users is first designed based on systematic polar codes (SPC) and incremental redundancy transmission instead of DF protocol at the cooperative users. The number of coding and decoding operations of users is decreased. Different cooperative decoding cases at destination are discussed. 2. In terms of non-cooperative case in the imperfect inter-user channel, repetition aided code construction of polar codes along with modified decoding algorithm is proposed accordingly based on the CC protocol, so as to increase coding gains for given overall rates. 3. Error performance analysis and numerical simulation demonstrate the reliability advantage of proposed CC scheme using polar code. Significant cooperative gain is obtained over both slow and fast fading channels. 4. Moreover overall rate optimization of users through maximizing throughput efficiency is capable of achieving an adaptive polar coded cooperation.
The remainder of the paper is organized as follows. In Section 2 we give a brief review of the related work on polar codes and CC models. Section 3 explores in detail the design of a new polar coded cooperation scheme and the repetition-aided polar construction algorithm. Then, the analysis and simulation of reliability performance are presented in Section 4. Section 5 continues to optimize the overall rate of polar-CC for transmission efficiency. Finally, Section 6 concludes the paper.

POLAR CODING AND CODED COOPERATION
In this section, some backgrounds of polar code and basic coded cooperation model of multi-users are introduced.

Polar codes
Provided that vector u N = (u 1 , u 2 , … , u N ) is the source block, the encoding of polar code x N of length N (N = 2 n , n = 1, 2, …) is calculated by where G N denotes the N -dimension polarization generator matrix, F 2 ⊗n denotes the n-th Kronecker power of 2 × 2 ker- , and B N is an N × N permutation matrix. For binary polar code construction, N synthesized binary input bit-channels W (i ) N (i ∈ ℕ = {1, 2, … , N }) are generated by recursive combining and splitting operations on N independent uses of BI-DMC W . Consequently the capacity of each bit-channel varies from each other. Based on efficient construction algorithms, such as density evolution and Gaussian approximation (GA), the most reliable K (K < N ) bit-channels are determined to carry information bits of u N and the remaining bit-channels will be arranged to transmit fixed bits in u N . The coding rate is R = K ∕N . The allocated index sets for information bits and frozen bits are known as information set  and frozen set  , respectively.
The polar code of systematic pattern can be constructed by specifying a set of indices of x N as the locations carrying information bits [11]. If source block u N is split into two parts u  and u  , x N can be rewritten as where G  and G  denote the submatrices of G N , and the row indices are determined by  and  , respectively. Let symbols  and   = ℕ∖ represent the corresponding index sets of systematic and parity parts of x N . The systematic bits x  and parity bits x   is given by in which G  is a submatrix of G N with rows and columns selected by  and . Other submatrices are specified similarly.
To calculate u  ,  = Π(), where Π = ℕB N , is employed intuitively to ensure an invertible G  in [11], such that In terms of decoding of polar code, successive cancellation (SC) decoder estimates the information sequence from u 1 to u N [1]. The complexities of encoding and decoding are both O(N log N ). Unlike SC maintaining only one path at each step of decoding tree, the modified SC-List decoding (SCLD) algorithm [12] and its cycle redundancy check (CRC)-aided version get rid of previous hard decision errors through keeping track of L potential paths. As a result, SCLD increases coding gains considerably for short block lengths.

Coded cooperation model of multi-users
In conventional three-node cooperative relay network [7,8], DF usually works in the cooperative protocol. The relay decodes the received signals, and then re-encodes the estimated message and re-transmits all or part of codeword to the destination. For twouser CC scenarios, the partner user functions as the relay of each other in fact in the CC model [2]. Every user first encodes its message into codeword  and then divides it into two weaker subcode  d (d ∈ {1, 2}). In the first stage, each user broadcasts its subcode frame  1 . It is received and decoded by the destination and its partner user. For the second stage, if User 1 decodes  U 2 1 of its partner successfully, the recovered information is reencoded and the second subcode frame  U 2 2 is sent to destination. Otherwise, User 1 encodes its own message and the subcode  U 1 2 will be transmitted. An identical scenario occurs with regard to User 2.
However, frequent encoding and decoding operations of users maybe not suitable for low-complexity IoT with batteryoperated equipment. On the other hand, cooperative diversity could be realized only for slow fading channels since coded symbols are transmitted over independent uplink channels. It is notable that the cooperation probability depends on the frame error performance of  1 for practical inter-user channels. In Normal CC based on polar code (NCC-polar) [9],  1 is exactly a punctured polar code. Finding optimal puncturing patterns or optimizing the information sets will introduce high complexity.

DESIGN OF NEW POLAR CODED COOPERATION SCHEME
In this section, the proposed multi-user CC mechanism with polar code and incremental redundancy is first described in detail. Then with regard to the non-cooperative case, repetitionaided polar code construction and SCLD algorithm is explored accordingly for polar coded CC system.

Proposed coded cooperation scheme
For a scenario of multiple users and one base station (BS) in Fig. 1, each user will send message to the BS over direct link and to the partner-user cluster through relay links. Specifically assisted by the best single relay (BSR) selection technique [13,14], the best single relay-user can be chosen as the partner user. The coded cooperation framework of two users U d (d ∈ {1, 2}) is presented in Fig. 1. Different from the conventional polar coded CC scheme, in this section the CC scheme using SPC is designed without the DF protocol (or code partitioning) at cooperative users. Here we assume a time-division synchronous system where binary phase shift keying (BPSK) modulation and a coherent receiver are exploited. Additionally, the system model could be extended to any system with orthogonal channels, such that the users' message can be distinguished by the destination receiver. The overall coding rate and code length of users are set as R o , N respectively. In the first timeslot, each user U d first broadcasts a frame including the information bits  d of length K i to its partner user over the inter-user channel C in , and to the BS over the uplink channel C Each information frame includes the CRC's parity bits in practice, so the receivers can check the correctness of the decoded message using the underlying CRC code. The users and BS recover and check the information bits. If no errors are detected by its partner user, these bits fromŪ d (e.g.Ū 1 = U 2 ) are saved; otherwise the user's own information frame is allocated into the reserved memory accordingly.
At the destination, if the information frame modulated by BPSK is directly received and checked successfully, there is no need of the forward error correction using polar code. Otherwise, the destination sends a simple feedback to the user whose information frame fails to be recovered by BS, and incremental redundancy will be transmitted. To this end, in the next FIGURE 1 Proposed CC mechanism using SPC and the decoding cases at the destination, where "Y(Yes)" and "N(No)" represent the first frame is received correctly by the partner user or not, and symbol "×" denotes unsuccessful receiving of information frame at BS timeslot, user U d implements polar encoding of code rate R o by using the saved information frames { d , d } (e.g. d = 1,d = 2) or { d ,  d } as the systematic part, so as to produce the parity bits The parity frame is then transmitted to BS if necessary, in which one additional bit may be sent by each user to indicate its state to the BS. The destination concatenates these information and parity frames for the same user and performs SCLD.
Note that there are four cases at the BS when decoding with these saved systematic part and received parity part, according to the various transmission conditions. The cooperative decodings are as follows. The example of decoding for U 1 (d = 1) is described in Fig. 1 in detail. This paper examines Rayleigh slow fading channels (RSFC). Let s i, j and y i, j denote the symbols sent by end i and signals received by end j , respectively. Then where Rayleigh fading factors between ends satisfy average power gain [h i, j 2 ] = 1; Gaussian noise n i, j is with zero mean and variance 2 . The channel coefficient h i, j keeps constant in the two transmission phases for RSFC. Reciprocal inter-user channels and symmetric CC are assumed between the users. For analysis we suppose perfect error detection and feedback, the rate loss of which is neglected. Under the cooperative cases, diversity can be achieved by the proposed polar-CC since partial coded symbols are rearranged and combined between the two users. Additionally, instead of using DF protocol at users, the latency and power-consumption at users are reduced since there are no polar decoding and frequent re-encoding operations at the partner-user for each transmission round. Most of complexity will be probably transferred to the powerful BS.

Repetition-aided polar code construction and decoding for non-cooperative case
In terms of imperfect inter-user channel, partner userŪ d may fail to recover the information frame  d , so that case 2 or 4 of no-cooperation occurs with a high probability. It is notable that the information bits are repeated in the systematic part of polar coding according to above CC protocol. To enhance the coding gain of receiver in non-cooperative cases, we adopt a repetitionaided code construction and decoding algorithm. The index set is determined for the repeated information bits. In addition, the SCLD is modified accordingly.
A pseudo-code of the code design and decoding algorithm is presented in Algorithm 1 (Fig. 2). First, all elements of the information set  N are sorted in ascending order, and then they are divided into Q segments with equal length as far as possible. The length of each segment is L Q = ⌈| N |∕Q⌉, selecting Q to ensure L Q and L Q ∕2 are integers here. As shown in Fig. 3, each segment is denoted by  q = { i q , i ∈ [1, 2, … , L Q ], q ≤ Q}.  N consists of the index set  I for information bits and the index set  R for the repeated bits. Let  I be constituted by the first half part of each segment, and  R consist of the second half part of each segment, respectively. Then in each segment  q , the sub-block  q I and sub-block  q R are re-sorted separately in descending order of reliability of bit-channel, which is represented by the function ℝ (⋅). Next, the information- , and so on. This operation is denoted by the symbol "Θ" in Algorithm 1. In practice, the outputs of algorithm can be calculated offline and stored in tables at the terminals.
To apply above repetition aided polar coding (RAPC) to the designed CC scheme for the non-cooperative cases, RAPC of systematic pattern should be utilized by suitable permutation for the systematic bit indices. Let  N = [ I , R ], wherẽ  R denotes the reordered  R based on the mapping of I-R pairs with one-to-one correspondence to  I . According to (3) (4),  N = [ I ,  R ] is set, which consists of the indices of systematic bits m, and  N =  N , | I | = | R | = | I |. If frozen bites u  = 0 is assumed, the systematic polar codeword is derived as Taking into account the encoding process of RAPC, it should be satisfied that u  I = u R . According to (6), we have To ensure the existence of a systematic encoder of RAPC, it is necessary that G ′ is invertible. Without permutation operation, the generator matrix G N = F 2 ⊗n is a lower triangular invertible matrix. Hence we set  I = R , which can make G ′ invertible. When considering the permutation matrix, the disposition of  I = Π( R ),  R = Π( I ) is employed for systematic RAPC. With mapping message vector to the codeword bits, systematic RAPC would not increase complexity as indicated in [11].
With regard to the decoding end, L candidate paths are reserved according to the calculation of associated path metrics (PM) in general SCLD. At the step i (i ∈ ℕ) of l -th path in log-likelihood ratio (LLR)-based SCLD, PM is calculated by where LLR (i ) .
If the general SCLD is implemented to decode the received signals, some recovered repeated bits may be opposite to the corresponding information bits. Although the iterative decoding applications are able to improve the performance a little by employing the more reliable repeated bits in [15], the derived complexity of iterative decodings might not adapt to the IoT device requirement. Hence, a direct decoding modification is utilized in the proposed polar-CC. In one decoding process, the repeated bits are frozen progressively.

RELIABILITY PERFORMANCE ANALYSIS AND SIMULATIONS
This section analyzes and demonstrates the reliability advantage of proposed polar-CC scheme in the fading channels. The average bit error rate (BER) performance at the destination is first analyzed. Assume that the information frame is transmitted to BS incorrectly in the first stage. Let P in and P up denote the error probabilities of information frame over inter-user channels and uplink channels, respectively. They are actually the frame error rates (FER) of BPSK in the fading channels. If Pr i c represents the probability of case i occurring at the destination, and BER i denotes the BER corresponding to case i, the average BER for user U d is calculated by 1. For case 1, . Note that the information frame d ofŪ d is received correctly over CŪ d up . Hence, it can work as the frozen bits in SCLD procedure to assist in recovering the remaining information bits. The gain of a lower coding rate is obtained as a result. Additionally, diversity is achieved since the codeword symbol sets { e d ,  U d } and {d } are transmitted over two uplink channels.

For case 3, Pr
Diversity is also achieved between the cooperative users. Since user U d and partner userŪ d employ polar encoding with the same information bits, the parity parts { U d ,  Ud } are combined optimally using maximal ratio combining (MRC). Under this case, the proposed CC scheme could even resist performance damage from fast fading. 3. As for case 2 (Pr 2 c = PŪ d in ⋅ (1 − PŪ d up )) and case 4 (Pr 4 c = PŪ d in ⋅ PŪ d up ), although no cooperative diversity exists between the users, the repetition aided polar coding along with the modified SCLD, i.e. the Algorithm 1, is utilized to produce coding gain.
To see the effect of RAPC, in Fig. 4 BER performance of RAPC versus signal to noise ratio (SNR) is first presented separately using different coding parameters in AWGN channel. Code lengths are N = {128, 512}; rate R o =0.5, segment number Q = {2, 4, 8},  N is constructed by GA and list size of SCLD is L=16. It is seen that a considerable gain of about 1.5 dB is obtained by RAPC (Q=4) at BER=10 −3 compared to the general polar code of (128, 0.5). In RAPC, the information set  N is divided into Q segments. The simulation results suggest the effects of Q on BER. RAPC with a bigger Q achieves more gains in low SNR region (SNR < −1.6dB), while a smaller Q may be preferable for the higher SNR. When code length increases to 512, the gain of RAPC only extends at high SNR range.
For simplicity of analysis, symmetric CC is considered such that the users have same information frame lengths and coding rates. Average received SNRs in two uplink channels are statistically equal. The CC is implemented using a family of SPC with N =128. RAPC uses Q=4.  N is derived by Monte-Carlo construction in RSFC. The SCLD utilizes L=16.
The average BER of cooperative users at BS versus uplink channel SNR is presented in Fig. 5 and Fig. 6 under various qualities of C in . The simulation results of no-cooperation scheme and Normal CC (NCC) using polar code [9] and LDPC code [3] are also provided for comparison. The same code length N and rate R o are employed at cooperative users. In Fig. 5, we consider the conditional probability of BER assuming that systematic transmission fails. The overall BER is just calculated by multiplying it by the FER of information frame in the first stage. The overall rate of users is fixed as R o = 1∕2 uniformly in each scheme. Benefitting from the new CC protocol and cooperative decoding for various cases, the proposed scheme attains reliability advantages. When C in is perfect, we see that the proposed polar-CC of full cooperation achieves significant coding and diversity gains compared to the polar code with (N, R o ) of no-cooperation. Its cooperative gain over NCC-polar and NCC-LDPC gets more obvious as average SNR is increased, up to 4 dB at BER=2 × 10 −4 . In terms of imperfect C in , a little of cooperative gain loss is generated for the proposed polar-CC in C in of SNR in = 20 dB, compared to the full cooperation case; in C in of SNR in = 10 dB, the proposed scheme performs better than the polar code-(N, R o ) with a gain of 4 dB at BER=10 −3 . However, NCC-polar achieves hardly any obvious gain in the practical C in such as SNR in = 10 dB. That is because the first frame  1 is regarded as an incomplete punctured polar codeword. The puncturing pattern may be unmatched with the initial information set of mother code, leading to a catastrophic FER. Thus the cooperation probability between the users will be low.
Furthermore, we provide the overall BER performance of proposed polar-CC in Fig. 6. Here the number of message bits sent by users is the same in each scheme for fair comparison. Thus the overall rate of users for NCC-polar and nocooperation scheme will be half of that of proposed polar-CC, i.e. R o = 1∕4. That is, all the schemes have exactly the same information sending efficiency of users. From Fig. 6, it is observed that NCC-polar with code partitioning works better than proposed polar-CC at low SNR range; nevertheless, the proposed polar-CC shows the advantage of cooperative diversity as the channel quality is improved (SNR > 14dB).
For fast fading channel, where the fading coefficients are independent identically distributed across the whole coded bits, it can be proven that CC of code partitioning does not increase the diversity order with the equal uplink SNRs of two users [2]. That is, normal CC protocol could achieve no cooperative gain in the fast fading channels. We further provide the BER performance of proposed polar-CC along with polar coded NCC over Rayleigh fast fading uplink channels in Fig. 7. The same simulation configurations of polar codes are set as Fig. 5. In view of the perfect inter-user channel, it is seen that NCC-polar obtains no gains although in a full-cooperation case. The proposed polar-CC achieves obvious cooperative gains, outperforming NCCpolar with a lower overall rate of R o = 1∕4. It is capable of combating the fast fading. Particularly it is because the case 1 in the proposed scheme can enjoy decoding with a reduced rate and case 3 attains diversity by MRC of partial codeword of the users.

ADAPTIVE OPTIMIZATION FOR TRANSMISSION EFFICIENCY
Based on the observation of the proposed CC model, the overall rate R o (or the message length K i assuming a constant code length N ) is not necessarily set fixed. It is exactly one key free parameter related to the transmission efficiency of polar-CC system. To determine the adaptive rates for variable channel conditions, throughput-based rate optimization is explored for the polar-CC. Supposing the users' first frames are not both received successfully, the throughput efficiency is calculated by where  i denotes the throughput reward obtained in case i, and FER i is the FER of case i. In detail, for case i (i = Then the optimization policy of overall rate is formulated by In order to estimate the attainable throughput in fading channels, it is worth evaluating each FER i . For case 1, the FER under SCLD could be estimated by approximating the union bound on the performance of polar codes, since SCLD with a large list size (e.g. L > 8) is approaching maximum likelihood decoding. The FER is bounded as where  (t ) denotes the number of error events with low Hamming weight t , P (t | ) is the conditional pairwise error probability, and is the value of uplink channel SNR variable. In terms of slow fading channel, P (t | U d ,Ū d )=Q( √ 2t 1 U d + 2t 2Ū d ). Q(x) denotes the Gaussian Q-function; t 1 and t 2 (t 1 + t 2 = t ) are the portions for the error event bits transmitted over the channels of U d andŪ d , respectively. As for fast fading channel, the fading coefficients are not fixed over the codeword. According to [2], it is formulated as , where set is the portion of t error event bits transmitted over user's channel, and the cardinalities of 1 and 2 are t 1 and t 2 . For other decoding cases, the FER i (i.e. FER 3 , FER 2 = FER 4 ) may be evaluated based on actual simulation curves.
In Fig. 8, we present the throughput efficiency of proposed polar-CC vs. the incremental overall rate over different channel conditions. SNR up = SNR in is set here. It is found that there exactly exists an optimal rate maximizing the throughput for given SNR. When the channel quality is improved, the used rate of user should be increased for higher efficiency. Based on the evaluated throughput, efficient search algorithms, such as golden-section searching method [16], is employed to determine the optimal rates. With the known channel state estimation, adaptive CC of polar code is realized.

CONCLUSION
This paper explores a new coded cooperation scheme using polar codes over fading channels. Without code partitioning, the cooperation way is designed by using SPC and incremental redundancy transmission. Particularly repetition aided polar coding is proposed for the non-cooperative case of new CC protocol. Significant cooperative gain is obtained consequently in both slow and fast fading channels. In contrast to the normal CC with DF, most of the complexity is transferred to the powerful BS. Free overall rate is also optimized adaptively for higher efficiency. To sum up, our proposed polar-CC is able to be a suitable way for IoT scenarios with satisfactory reliability and low user-complexity. The further extensions of this work will take into account the mutually independent inter-user and uplink channels along with the performance optimization.