Cooperative Punctured Polar Coding ( CPPC ) Scheme Based on Plotkin ’ s Construction

A new cooperative punctured polar coding (CPPC) scheme with multi joint successive cancellation (MJSC) decoding at the destination is proposed, which may be obtained by applying puncturing algorithm to cooperative polar coding scenario. In this proposed algorithm we generate a cooperative scheme for punctured polar codes with various code lengths by employing the reduction of the general polarizing matrix combined with the cooperative construction to match the multilevel characteristics of polar codes. Punctured polar codes which are a class of polar codes can support a wide range of lengths for a given rate. Hence in our CPPC scheme, the punctured polar codes can be first constructed by eliminating some of the frozen bits such that the values of the punctured bits are known to the decoder. Then the proposed coded cooperative construction is employed to match the Plotkin’s construction between the two relay nodes. This scheme has low encoding and decoding complexity since it can be encoded and decoded in a similar way as a classical polar code. The CPPC scheme offers a cooperative coding which not only improves the data rate of the cooperative system, but also improves the overall bit error rate performance. Numerical results show that cooperative punctured polar codes constructed by our approach perform much better than those by the conventional direct approach.


Introduction
The coded cooperation is a combination of the coding and relaying [1] diversity techniques within one system.Coded cooperative diversity has been shown to provide significant enhancement of data rate or link reliability.In a typical coded cooperative diversity schemes based on the relay channel, encoding process is distributed among cooperating nodes to construct a new coding characteristics at the destination node providing better coding gain as well as diversity gain.Different coding techniques have been studied in the literature that provides coded cooperative diversity.In particular, authors of [2][3][4] proposed different schemes to combine turbo codes with cooperative diversity, while designing LDPC cooperative codes have been done in [5], [6].
Polar coding, recently introduced by Erdal Arikan in [7], is the first provably low encoding and decoding complexity codes that theoretically achieve symmetric capacity of binary-input discrete memoryless channels (BDMCs).However, its Kronecker power construction limits the possible code lengths such that the codes are inflexible in terms of code length (N = 2 n , n = 1, 2, 3 …).Punctured polar codes (PPC) which are a class of polar codes can support a wide range of lengths for a given rate.
The PPC can be encoded and decoded in a similar way as the conventional polar codes such that it can adapt both different code lengths and different code rates without changing their basic structure.Recently, many research works have been done to construct the PPC.The first algorithm for rate-compatible PPC is proposed in [8] to match arbitrary code length by puncturing some coded bits.In this algorithm a stopping-tree puncturing is used for polar codes to improve the performance of rate-compatible codes.In the proposed algorithm in [9], the puncturing pattern can be found by searching the large exponent matrices using a suboptimal method.Another class of a universal coding scheme for rate-compatible punctured polar codes was proposed in [10] based on the cyclic redundancy check concatenated polar encoder and SC list/stack decoders.
In our cooperative punctured polar coding (CPPC) scheme, the punctured polar codes can be constructed by eliminating some of the frozen noisy channels such that the values of the punctured bits are known to the decoder.Then, the proposed coded cooperative construction is employed to match the Plotkin's construction [11][12][13] between the two relay nodes.
As polar coding enjoys the freedom to pick a multilevel code from an ensemble of such codes so as to suit any channel, the main contribution of our two relays CPPC scheme is to match this special multilevel uu + v structure of polar codes.
In this paper, a PPC algorithm is first proposed based on removing some of the frozen bits.Then we apply this puncturing algorithm in the relay channel where we design a CPPC scheme for time-division half-duplex relay systems where each relay node is either a transmitter or a receiver in different time slots of each transmitting period.We found that the advantage of using two relay nodes is that two sub polar codes at relay nodes can cooperate with each other to match the Plotkin's construction at the destination node.Another advantage of using two relay nodes in our scheme is that at the destination node a MJSC decoder can be established so that signals received from the source and each relay node can be decoded simultaneously and considered as a single received codeword.The CPPC scheme offers a cooperative coding which not only improves the data rate of the cooperative system but also improves the overall bit error rate performance with flexible code lengths.Our numerical results show that the cooperative punctured polar codes constructed by our approach perform much better than those by the conventional direct approach.
The paper is organized as follows.First in Sec. 2 we illustrate the construction principles for polar coding system identifying its encoding scheme and decoding principles.In Sec. 3, we present the special multi-level construction of polar codes.The main contribution of this paper in the form of the designing algorithm for the proposed PPC scheme is introduced in Sec. 4. By the analysis of both the row capacity and column weight property, this algorithm can be seen as an empirically good puncturing scheme.The designing algorithm for the proposed CPPC scheme is introduced in Sec. 5. Section 6 will be devoted to discuss system numerical analysis and bit error rate (BER) performance results over a binary-input AWGN channel showing that the performance of PPC codes can be equal to or exceed that of the matched rates classical polar code.Moreover, we will explore simulation performances of our proposed CPPC scheme compared with other cooperative and direct polar coding schemes illustrating its gain when matching the Plotkin's construction of polar codes.Finally, some concluding remarks are provided in Sec. 7.

Notations and Useful Facts
Let and be sets of input alphabets and output alphabets.In this paper, we assume that is a finite set and is at most a countable set.A BDMC is defined as a conditional probability distribution W(yx) over for all ∈ .For channel , we write : → to mean a BDMC with a set of input alphabets and a set of output alphabets .Let x 1 N and x i j denote a row vector (x 1 ,…, x N ) and its subvector (x i ,…, x j ), respectively.Two important parameters of symmetric BDMC are defined as: the symmetric capacity and the Bhattacharyya parameter.
The symmetric capacity of a BDMC with input alphabet = {0,1} is defined as.
Note that the capacity of a symmetric BDMC equals the mutual information between the input and output of the channel with uniform distribution on the inputs.I(W) is a measure of rate in a channel where I(W) [0,1].It is well known that reliable communication is possible over a symmetric BDMC at any rates up to I(W).
On the other hand, the Bhattacharyya parameter of a channel is defined as.
The Bhattacharyya parameter is a measure of the reliability of a channel since Z(W) is an upper bound to maximum likelihood decoding error probability of a single use of the channel W. Note that the relations between both symmetric capacity and Bhattacharyya parameter can be formulated as

Channel Polarization
Channel polarization can be recursively implemented by transforming multiple independent copies of a given BDMC into a set of successive uses of synthesized binary input channels such that the new parallel channels are polarized in the sense that their mutual information is either close to 0 (completely noisy channels) or close to 1 (perfectly noiseless channels).Channel polarization consists of two phases: Channel Combining: In this phase, copies of a BDMC are combined in a recursive manner in n steps to form a vector channel W N , where N = 2 n .Combining two independent channels using a compound channel W 2 : {0,1} 2  is obtained which has two input bits x 1 , x 2 , and two output bits y 1 , y 2 with associated capacity is 2I(W).
Generally, the channel combining for N = 2 n is done recursively as : → .
Channel Splitting: In the second phase, the vector channel The polarization phenomenon is illustrated in Fig. 1 for the case of binary eraser channel (BEC) W with erasure probability 0.5 and with N = 1024.It is easy to illustrate that the channel symmetric capacity tends to be near 0 (bad bit-channels) for smaller values of channel index and more near to 1 (good bit-channels) for large channel index.As the code length N approaches infinity, the polarized chan- nels go to two extremes where the good noiseless channels become better and the bad noisy channels become worse with their corresponding capacity is 1 and 0, respectively.

Polar Coding
As shown in Fig. 2, the basic construction of classical polar codes is rooted in the channel polarization phenomenon.
As a family of block codes, for the code length N (N = 2 n , n  0 and the binary source where, the generator matrix G N can be formulated as. where B N is the bit permutation matrix.In fact by the predefined channel polarization phenomenon, there are two basic channel transformations.As the block length N becomes sufficiently large and after channel polarization steps, the same independent channels will be divided into two kinds of synthesized channels with slightly different reliabilities: the good channels (noiseless channels) and the bad channels (noisy channels).
In polar coding design, only those bad channels are assigned for fixed bits (frozen bits) and good channels are selected to transmit information bits.For P(N,K,A,u A c) polar-codes with block-length N and rate R =K/N, both the information set and the frozen bit sequence are A and u A c, respectively.These frozen bits are kept fixed and the decoder must have the knowledge of this sequence so it can avoid errors in this part.Hence, polar coding construction can also be formulated as where G N (A) is a sub-matrix of G N formed by the rows with indices of information set A and G N (A c ) is a sub-matrix of G N formed by the rows with indices of frozen sequence u A c. The baseline decoding algorithm of polar codes is the successive cancellation (SC) decoder.This decoder performs a series of interlaced step-by-step decisions in which a decision in each step heavily depends on the decisions in the previous steps with block error probability bounded by [14].
The SC decoder observes and generates an estimate û 1 N of the data vector u 1 N by observing the channel output y 1

N
given the knowledge of the frozen sequence u A c.
The generated estimate can be computed as.
  If u i is a frozen bit, the decoder will fix û i to its known value.If u i is an information bit, the decoder waits to estimate all the previous bits and then computes the following likelihood ratio (LR): Hence, the decoder sets its decision based on d i as

Multilevel Construction of Polar Codes
The multilevel construction is a code design method which increases the length of the code by combining component-codes in an additive manner.Arikan stated in his original paper that polar codes has a multilevel construction, as we can reconstruct the information bit-channels from the polarization matrix to match a Plotkin's matrix form.For a given P(N,A) polar codes, we can define a multilevel polar codes (MLPC) as | , , and , It is easy to see that if G A1 and G A2 are generator matrices of A 1 and A 2 , respectively, then the Plotkin's generator matrix G P is a generator matrix of the code P(N, A 1 , A 2 ) which can be written as 1 2 2 0 .
Hence, both u 1 and u 2 will be referred to as the component-codes with parameters [N/2, A 1 , A 1 c ] and ]. Based on this construction, polar code is a multilevel code which is a class of codes originating from Plotkin's code combining method as shown in Fig. 3.We found that the information bit channels of the polar coding polarization matrix can be reformed to match the multilevel construction.
The detailed code construction for our proposed P(N, A 1 , A 2 ) MLPC can be summarized in the following steps.
 For a desired block length = 2 n calculate the Kronecker product of the kernel matrix to find the matrix F 2 n .
 Initialize the general polarization matrix based on the calculated capacity of each row in the matrix F 2 n .Then based on the channel polarization, we obtain a polar coding generator matrix G N .
 Based on the polarization phenomenon and the code dimension N and K, we select both the frozen and information bit-channels.
 Select the information noiseless channels (most reliable K rows) to construct the polarized information matrix.
 Reconstruct the polarized information matrix to match the multilevel (Plotkin's) generator matrix G P in (13) to get the MLPC generator matrix G̀P.Finally, we extract both G A1 and G A2 matrices out from the MLPC generator matrix G̀P, where G A1 is the (k 1  N/2) generator matrix of a k 1 information bits and matrix G A2 is the (k 2  N/2) generator matrix of a k 2 information bits.

A Novel Punctured Polar Codes Based on Plotkin's Reduction Matrix
In this section, we propose the puncturing method for polar codes based on the MLPC construction.Hence in our PPC algorithm, the PPC can be first constructed by eliminating some of the frozen noisy channels such that the values of the punctured bits are known to the decoder.Then, the proposed punctured polar coding polarization matrix is employed to match the Plotkin's construction.Firstly, we will show the construction of the Plotkin's reduction matrix.

Plotkin's Reduction Matrix
For a P(N,K) polar code of length N and dimension K, the (F,K) PPC is constructed by forming an F  F polarizing matrix such that it matches the construction of the Plotkin's polarization matrix in a proper way as explained in the previous section where N/2 < F  N. In order to employ the simple encoding and decoding structure of conventional polar codes, we construct an F  F polarizing matrix by removing N -F rows and N -F columns from the conventional polar coding generator matrix G N .Figure 4 gives an example illustrating how to construct a Plotkin's reduction polarization matrix, when N = 8 and F = 6.
Clearly, a Plotkin's reduction polarizing matrix G F depends on which columns and rows are eliminated from G N .In the following, we will prove that if the row indices to be removed are selected based on the bit-channels capacity (removing the worst N -F bad bit-channels) hence, the column indices to be deleted are automatically determined in order to guarantee that G F is a polarizing matrix.For R, C be a subset of {0, 1,…, N -1} satisfying Moreover, we note that the last row of G N is always the all-one vector which implies that the information bit corresponding to the index of the last row of G N is the most reliable bit among N information bits.Therefore, the index of the last row of G N is always contained in R if R > 0 and no matrices obtained by permuting columns of G F (R,C) can be upper triangular.By the previous two observations we can easily prove that matrix G F (R,C) can be used as a polarizing matrix [15].

Puncturing Algorithm
In this subsection, we propose the puncturing criterion in such a way as to ensure that the PPC reduction polarizing matrix G F (R,C) is obtained only by puncturing some of the frozen bits which are known by both the encoder and decoder of polar codes.Note that in our algorithm we choose the puncturing pattern based on the columns with minimum column weight and the puncturing method can be states as.

 For a given PPC P(F,K) with punctured code length
F, first we find the general polar coding generator matrix G N as the base matrix, where  Next, we calculate the bit-channel capacity and the column weight for rows and columns in G N , respectively, then index both rows and columns by {1,2,…,N}.
 For i = 1 to N -F, select the row with maximum bitchannel capacity.
 Also, we select the column with maximum column weight.
 Add the index of the selected row and column in puncturing set R and C, respectively.
 Delete the selected column and row from the corresponding main set and repeat the process.
The PPC encoder can be implemented as the classical polar encoder which punctures some of the frozen bitchannels (N -F punctured frozen bits).As an example, the (13,11) PPC can be implemented as an (16,11) classical polar encoder which consists of 5 frozen bit-channels and 11 information bit-channels.This encoder needs to puncture N -F = 3 of its frozen bits.On the other hand, the decoding process of a PPC designed by the proposed method is straightforward.As the decoder already knows the frozen sequence, it can easily perform conventional SC decoding based on G N .

Cooperative PPC (CPPC) Scheme
In our CPPC system, we consider a half-duplex decode and forward relay channels [16] with orthogonal receiver components as depicted in Fig. 5.It consists of a source node (S), two relay nodes (R 1 and R 2 ), and a destination node (D).Perfect time synchronization is assumed and all channels experience Rayleigh fading and Additive White Gaussian Noise (AWGN) which is constant for a slot but varying between slots.
All nodes are equipped with a single antenna and operate in a half-duplex mode [17].Since it is well known that the decode-forward relay channel is only efficient when the source-destination (S-D) link is degraded as compared to the source-relay (S-R) links [18], ideal S-R channel is assumed.The source node has a K-bits information vector to be sent to the destination node.Two steps are required to complete the one cooperative period: broadcasting and relaying.In the broadcasting phase, the source first encodes its data using P(F,K) PPC.The binary punctured codewords x s of length F obtained at the source node are transmitted to the destination node and both relay nodes.Signals received at relay nodes and at the destination node can be formulated as follows.
where x S is the symbol transmitted from the source, h SR1, h SR2 , and h SD denote the channel fading coefficients of the S-Rs and S-D links, respectively, which are a complex Gaussian random variables with zero mean and unit variance.On the other hand, when an AWGN channel is considered, all the channel fading coefficients will be unity (h SR1, h SR2 , and h SD = 1).All P SR1, P SR2 , and P SD are the average received signal power at both relays and destination nodes from the source node, respectively, including the path loss and n SR1, n SR2 , and n SD denote the AWGN with zero mean and variance σ 2 for both S-R and S-D links, respectively.Hence, the received signals y SR1 and y SR2 at the corresponding R 1 and R 2 are decoded to obtain the estimated m ̂R1 and m ̂R2 , respectively.Then, the relaying phase starts.In this phase, based on the construction of MLPC each relay R i re-encodes its k i information bits generating binary codewords u i using another polar codes P i (N/2, k i , A i ) where i = 1,2, and k 1 ,k 2  K where k 1 and k 2 are selected such that K = k 1 + k 2 .The signal received at the destination node from both relay links in the second slot can be formulated as Finally, the destination decodes the coded frames jointly in multiple stages decoding to decode messages , and from both relays and source links, respectively.The key feature of using the MJSC decoder lies in the proposed cooperative encoding strategy is the joint construction between each relay and the source received signals.
The MJSC decoder performs two decoding steps.The information bits k 1 are decoded by joining the S-D with the first R-D received signals y SD and y R1D , respectively.On the other hand, information bits k 2 are decoded by joining the S-D with the second R-D received signals y SD and y R2D , respectively.

Numerical Analysis of Punctured
Polar Codes

PPC for Direct S-D Link
In this section, we show the BER simulation results to demonstrate the decoding performance of the proposed PPC algorithm using SC decoding in a direct S-D transmission.The coded bits are assumed to be mapped to BPSK signals which are transmitted over a binary-input AWGN channels.Figures 6 and 7 present the BER performance  comparisons for various coding configurations.As shown in Fig. 6 and 7, the code lengths of the PPC are F = 770 and F = 640, respectively.
Particularly, the (770, 512) PPC code with F = 770 and coding rate R = 0.665 is punctured by applying the proposed method from the parent code with code length N = 1024 with general polarizing matrix G N = 1024 .Figure 6 shows the decoding performance comparison between the proposed PPC and both (1024, 512) and P(1024, 683) classical polar codes at different coding rate.The reason of performance degradation of the proposed (770, 512) PPC compared with P(1024, 512) is due to the difference of the used frozen noisy-channels (different coding rate), where for our proposed code the punctured frame length is 770 with 208 frozen bits but frame length of the classical code is 1024 bits with 512 frozen bits.On the other hand, compared with the P(1024, 683) polar codes (with the same coding rate), the performance of the proposed (770, 512) is getting reasonable.
Similarly, the performance of PPC codes with the code length F = 640 is depicted in Fig. 7.The PPC with F = 640 is punctured from the parent code with code length N = 1024.Moreover, due to the rate matching constraint, the performance of (640, 320) PPC is nearly the same as P(1024, 512) with little degradation due to the difference in the used frozen bit-channels where (640, 320) PPC and P(1024, 512) use 320 and 512 frozen bits, respectively.

CPPC Scheme
In this section, selected numerical results are illustrated to substantiate our findings.For ease of illustration, a number of BER performance comparisons such as comparison between the cooperating scheme and direct classical polar codes, impact of MLPC construction for two relays cooperative system.Further, we show that proposed design improves the overall performance of a cooperative scheme relative to the cooperative polar codes with one relay node.For the fair comparison in our simulation, the number of each link used frozen bits is kept the same for all cooperative schemes.The main simulated parameters are shown in Tab. 1 where the used block length at each relay node is n 1 = n 2 = 512 bits.All nodes transmit at an equal power, CPPC scheme consumes equal amount of energy as compared to the direct scheme and each relay terminal is assumed to have 1 dB additional gain relative to the source node where the gains may be due to shorter transmitterreceiver separation.The overall SNR is defined by the SNR of the S-D link.We consider the scenario of ideal coded relay cooperation where no errors are imposed by the source-relay links.
The BER performance comparison between CPPC scheme with different information bits (K = 256 and 400 bits) and the direct S-D link is shown in Fig. 8.
It can be seen that CPPC scheme with a MLPC as a base distributed construction between the two relay nodes outperforms the direct S-D link polar codes under similar conditions.Hence, we use two CPPC schemes in different information bits (k R1 = 104, k R2 = 152 and k R1 = 179, k R2 = 221 bits with same block lengths at each relay node n 1 = n 2 = 512 bits.The number of used frozen bits at each relay node will be (408, 360 and 333, 291 bits), respectively.The overall BER performance gain for CPPC scheme with K = 256 and 400 bits compared to direct link is approximately 0.65 and 0.4 dB at BER  10 -4 , respectively.The gain achieved by the CPPC scheme over cooperative polar codes with only one relay node is shown in Fig. 9.In this simulation we discuss the effect of Plotkin's construction of cooperative polar codes using only one relay compared with our proposed CPPC scheme.
The gain provided by the CPPC scheme is due to the basic multilevel property of polar codes that allows the destination node jointly decode each R-D received sequence with its S-D received sequence.With CPPC scheme, each R-D received sequence used at the destination fully exploits its potential and hence overall performance of cooperative scheme increases based on both of R-D link performances as shown in Fig. 10.In this figure, we present the impact of BER performance for each relay channel compared with the full BER performance of the proposed CPPC scheme.

Conclusion
Constructing PPC can make polar codes more applicable and useful for various applications.In this paper, we propose a novel method to construct a PPC that is based on removing some of the frozen bits which are already known by the decoder.Applying this PPC in a cooperative DF polar coded cooperation with MJSC decoding for halfduplex two relay channels, combines the practical construction of PPC with the MLPC in a relaying channel.Our CPPC scheme can be constructed using an algorithm based on the relay reconstruction of the information reduction matrix using both Plotkin's constructions of polar codes.It is established that the use of decode-and-forward CPPC scheme is expected to be more robust against error propagation due to both relays diversity and the use of MJSC decoder in the cooperative process.Our results are consistent with these expectations.Analytical simulation results validate our cooperative constructions of PPC which have a better performance than other cooperative one relay scheme.

Fig. 10 .
Fig. 10.The effect of each R-D link BER on the total performance of the CPPC scheme under AWGN channel.