Network polar coded cooperation with joint SC decoding - IEEE Xplore

0 downloads 0 Views 304KB Size Report
Apr 30, 2015 - construction is employed to build polar codes; however, the proposed construction is opposite to the conventional method where two short.
Network polar coded cooperation with joint SC decoding Saqib Ejaz✉, Fengfan Yang and Tamer H.M. Soliman A network polar coded-cooperative (NPCC) scheme with joint successive cancellation (SC) decoding at the destination is proposed. Plotkin’s construction is employed to build polar codes; however, the proposed construction is opposite to the conventional method where two short codes jointly construct a longer length code. In the proposed construction the two short codes (subcodes) are derived from the longer length code. The proposed construction is then employed to achieve coded cooperation between two users, and also offers a network coding, which not only improves the data rate of the coded cooperative system but also improves the overall bit error rate performance which is shown with the help of numerical simulations.

Introduction: Coded-cooperative diversity is an efficient technique to combat channel impairments [1]. Different channel codes, such as turbo [2, 3], low-density parity-check (LDPC) [4] codes and polar codes [5, 6] have been proposed in the literature to achieve coded-cooperative diversity. Polar codes have recently been introduced in [7] and bridge a gap between the rich old coding theory concepts and random coding. The idea of polar codes for wiretap and relay channels is presented in [5, 6, 8], where the source node transmits twice (using different polar codes) and the relay node transmits once (again using different polar codes) to provide coded cooperation. At the destination, decoding is done in two steps: first, the relay– destination signal is decoded to obtain frozen bits, which are further utilised in the decoding of signal transmitted at the source. The end-to-end transmission of an information sequence takes three time slots. Recently, in [9], polar codes for halfduplex relay systems were presented. However, none of the previous works discussed polar codes for two-user coded-cooperative scenarios. It was shown in [7] that polar codes are also multilevel codes, which originate from the well-known Plotkin’s construction [10]. In this Letter, we first build polar codes based on Plotkin’s construction. Secondly, we employ the proposed construction to achieve coded cooperation between two users. Finally, we show that the proposed construction also offers network coding [11] and improves the data rate of the coded-cooperative scheme.

− k1 at each source node are encoded using code C2. The binary codewords v1 and v2 obtained at S1 and S2, respectively, are then network coded by an XOR operation with the recovered codewords u˜ 2 and u˜ 1 , i.e. v1 + u˜ 2 and v2 + u˜ 1 . The binary codeword vectors v1 + u˜ 2 and v2 + u˜ 1 are then BPSK modulated and transmitted to the destination node. During the second time slot t2, the two sources do not exchange any information with each other. The signals received at the destination 2 2 during t2 are yt1,0 and yt2,0 , which are then concatenated with the signals 1 2 1 2 received during t1 as y′ = yt1,0 , yt2,0 and y′′ = yt2,0 , yt1,0 and passed to the two parallel joint successive cancellation (SC) decoders. Network polar coded cooperation: Consider two binary linear block codes, such as C1 and C2 having code dimensions k1, k2, codeword lengths n1, n2 and minimum Hamming distances d1, d2, respectively; then by Plotkin’s construction we obtain a new binary linear block  3 . Mathematically code C  3 = |v + u|u|, where u [ C1 , v [ C2 } C

(2)

where u, v are binary codewords of equal length n = n1 = n2. The new  3 has dimension k1 + k2, codeword length N = 2n, code rate code C  3 = (k1 + k2 )/N and a minimum Hamming distance d3 = min(2d1, R d2) [12]. Another interesting fact is that the codeword |v + u|u| can also be obtained using the following generator matrix:   ¯ 3 = G2 0 G (3) G1 G1 ¯ 3 are generator matrices for codes C1, C2 and C  3, where G1, G2 and G ¯ 3 is an expurgated form of the matrix F ⊗m, respectively. The matrix G which is an mth order Kronecker product of the kernel matrix   1 0 FW 1 1 with itself, moreover N = 2m. For Reed-Muller codes, the expurgation of matrix F ⊗m is carried out on the basis of the Hamming weight of the rows [7], whereas in the case of polar codes the expurgation is channel specific based on the values of I(WNi ) and Z(WNi ), i.e. symmetric capacity and Bhattacharya parameter, respectively [7], where W is the discrete binary memoryless channel. The code construction steps assuming the binary erasure channel (BEC) are as follows:

1

source 1 t1:C1 u1 t2:C2 v1 1 y1,2

y1,0 2 y1,0

1 y2,1 1

source 2 t1:C1 u2 t2:C2 v2

G2

destination 1 ,y2 (1) – [ y1,0 2,0 ] Æ SC decoder 1 t2 – t1 – Æ [ m ,m , m c ]

y2,0 2

y2,0

2 (2)– [ y12,0, y1,0 ] Æ SC decoder 2

– t2 , m – t1 , m Æ[ m

c

– G3 =

]

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0 0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

G1

Fig. 1 Network polar coded-cooperative scheme

Fig. 2 Extraction of matrices G1 and G2 from G3

yti,j1 = xi + zj

100 10–1 10–2 BER

System description: A network polar coded-cooperative scheme (NPCCS) with two users/sources and one common destination is shown in Fig. 1. The two source nodes are full duplex and can transmit and receive data simultaneously. The end-to-end transmission of an information sequence takes two time slots. Each source node Si, i ∈ {1, 2} has an information vector of length k bits to send to the destination. During the first time slot, the two source nodes S1 and S2 use code C1 to encode only k1 information bits, where k1 < k. The binary codewords of length n obtained at the two source nodes S1 and S2 are u1 and u2, respectively. The binary codewords u1 and u2 are BPSK modulated as vectors x1 and x2, respectively, and broadcasted. A binary additive white Gaussian noise channel (BAWGNC) is assumed among all communication nodes. The corresponding signal received during the first time slot t1 at the user j ∈ {0, 1, 2} j ≠ i and j = 0 denotes the destination as

10–3 direct, Rc = 0.5,[7] o

10–4

NPCC, Rc = 0.5, gS –D = gS –D 1

1

10–5

2

o

NPCC, Rc = 0.5, gS –D = gS –D –2 dB 1

2

o

NPCC, Rc = 0.5, gS –D = gS –D +2 dB 2

10–6 1.0

1.5

(1)

where zj = [z1, z2, …, zn]T is a vector of complex additive Gaussian noise with each component zp, p = 1 to n as a zero-mean complex Gaussian variable with independent real and imaginary parts of equal variance N0/2. 1 1 The received signals yt1,2 and yt2,1 at the corresponding receivers, i.e. S2 and S1, are decoded to obtain the codewords u˜ 1 and u˜ 2 , respectively. During the second time slot t2, the remaining number of bits, i.e. k2 = k

2

o

NPCC, Rc = 0.5, gS –D = gS –D

1

2.5 3.0 2.0 SNR per bit, gS–D, dB

3.5

4.0

Fig. 3 BER performance of proposed NPCC against direct scheme. Roc = 1/2, BAWGNC under different scenarios

 3.  3 for code C Step 1: Initialise target rate R Step 2: Initialise value of m to determine matrix F ⊗m.

ELECTRONICS LETTERS 30th April 2015 Vol. 51 No. 9 pp. 695–697

Step 3: Polarise the rows of the matrix F ⊗m to obtain an N × N generator ˜ 3 for polar code C ˜ 3 = RF⊗m , where R is  3 ; mathematically, G matrix G the bit-reversal mapping defined in [7]. Step 4: Based on the values of I(WNi ) or Z(WNi ), determine D and Dc ˜ 3 matrix, respectively. which represent the free and frozen rows in the G ˜ 3 except defined by D to obtain a matrix Step 5: Expurgate all rows in G ˆ 3 of order |D| × 2m . G Step 6: Let k2 be the maximum number of rows which have all zeroes in the columns starting at column indices cl = n + 1 to N = 2n. Stack these ¯ 3 matrix [defined in (3)], which is only k2 rows or vectors at the top of a G ˆ 3. a permutated form of the matrix G ¯ 3 , where Step 7: Finally, matrices G1 and G2 are extracted out of matrix G G1 is a k1 × n matrix and G2 is a k2 × n matrix, also k1 > k2. The matrices G1, G2 define in fact two polar codes C1 and C2, respectively. The following example illustrates the construction steps.  3 with a parameter  3 = 6/16 polar code C Example: Consider a rate R vector (N = 16, k = 6, mD , mDc ), where D = {8, 12, 13, 14, 15, 16} ˜ 3 = RF⊗4 . Then from the set of based on I(WNi ). Next we determine G rows defined by vector D, we determine the number of rows which have all zeroes in the columns starting at column indices cl = 9 to 16. ˜ 3 . It is The rows that are not defined in D are expurgated from matrix G observed that only two rows satisfy the aforementioned criteria, thus k2 ¯ 3 matrix = 2. All these k2 row vectors are stacked at the top of a G based on Plotkin’s construction and the remaining rows defined in D are stacked at the bottom as shown in Fig. 2 from which the sub-matrices G1, G2 are extracted and correspond to the polar codes C1, C2, with parameter vectors (8, 4, mA , mAc ) and (8, 2, mB , mBc ), respectively; moreover, A = {8, 12, 14, 16}, Ac = {1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 15} and B = {13, 15}, Bc = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16}. Encoding scheme at source nodes: The two polar codes C1 and C2 can be utilised to provide coded cooperation as shown in Fig. 1. The two polar codes partially encode the information at each source node during each time slot. Let polar code C1 defined by its parameter vector as (n, k1 , mA , mAc ), where mA = m1 is a free or random part of the information sequence ma = [mA , mAc ], and mAc is the frozen part. The parameter vector of polar code C2 used by the two source nodes during t2 is (n, k2 , mB , mBc ), where mB = m2 is a random part of the information sequence mb = [mB , mBc ] and mBc is the frozen part. Then by Plotkin’s  3 obtained at the destination has the parameter vector construction code C (2n, k1 + k2 , mD , mDc ), where mD is the random part of the information sequence m = [mD , mDc ] and mDc is the frozen part. It should be noted  3 since A , D and B , D. The overall code rate that both C1 , C2 , C for the NPCCS is defined as Roc = (k1 + k2 )/2n. During t1, the codewords generated at S1 and S2 are u1, u2 and their recovered copies via SC decoding at S1 and S2 are u˜ 2 and u˜ 1 , respectively. In this Letter, we assume that inter-user channels are ideal gS1 −S2 = gS2 −S1 = 1, where γ is the signal-to-noise-ratio (SNR) per bit which results in ideal decoding at each user; hence we assume that u˜ 1 = u1 and u˜ 2 = u2 . During t2, the remaining k2 information bits at each source node are encoded by the second polar code C2. The codewords at S1, S2 are v1, v2, respectively, and are network coded with the recovered codewords u˜ 2 and u˜ 1 , i.e. v1 + u˜ 2 , v2 + u˜ 1 , and are transmitted to the destination. The codewords  3 , which are formed at the destination are |v2 + u1 |u1 |, |v1 + u2 |u2 | [ C then passed to the two joint successive decoders. Joint SC decoding for NPCC: Another key feature of the proposed NPCC scheme is the joint SC decoding used at the destination. Unlike the decoding strategies proposed in [5, 6], joint decoding does not decode the received signals y2 and y3 individually. Instead, the  3 is employed which takes y′ or y″ as a single decoder for code C received signal and has knowledge of the frozen vector mDc . The two joint SC decoders decode in parallel to recover information bits transmitted at two sources. The first joint SC decoder generates an estimate ¯ tA1 , mDc ] the information vector [mtB2 , mtA1 , mDc ], whereas the ¯ tB2 , m of [m ¯ tA2 , m ¯ tB1 , mDc ]. second joint SC decoder generates an estimate of [m The estimate of the source element mi ∈ m, is generated by calculating the log-likelihood ratio (LLR):     i−1 WNi [y3 , y2 ], m 1 |0 i−1    1 ) = log LN ([y3 , y2 ], m (4)  i−1 WNi [y3 , y2 ], m 1 |1

which are then passed to the slicer to make hard decision on the determined LLRs, such as   i) ≥ 0 0: if LN ([y3 , y2 ], m i = m (5) 1: otherwise Numerical results: The bit error rate (BER) performance of the proposed NPCC scheme is shown in Fig. 3, with the following assumptions: BAWGNC, BPSK modulation and ideal inter-user channel. Code C1 used during t1 has the parameter vector (n = 256, k1 = 139, mA , mAc ) and code C2 used during t2 has the parameter vector (n = 256, k2 = 117, mB , mBc ). From Fig. 3 it is observed that the proposed NPCCS outperforms the non-cooperative scheme under identical conditions, i.e. identical code rate 0.5. It is also shown that user S2 with high SNR compared with the other user S1, i.e. gS2 −D = gS1 −D + 2 dB not only improves its BER performance but also improves the BER performance of user S1 as shown in Fig. 3. Conclusion: The NPCC scheme is presented for two-user coded cooperation along with the code construction steps. BER performance is shown with the help of numerical simulations. At present, the NPCC scheme is proposed only for BEC and BAWGNC and thus cannot exhibit the spatial diversity gains that can be observed in fading channels, such as Rayleigh. However, the proposed scheme can be extended to Rayleigh fading channels in principle. Moreover, the multi-level construction of polar codes can be extended to multi-user scenarios. © The Institution of Engineering and Technology 2015 5 February 2015 doi: 10.1049/el.2015.0037 One or more of the Figures in this Letter are available in colour online. Saqib Ejaz, Fengfan Yang and Tamer H.M. Soliman (College of Electronic and Information Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, People’s Republic of China) ✉ E-mail: [email protected] References 1 Hunter, T.E., and Nosratinia, A.: ‘Cooperation diversity through coding’. Proc. IEEE Int. Symp. Information Theory (ISIT), Lausanne, Switzerland, June–July 2002, pp. 220, doi: 10.1109/ISIT.2002.1023492 2 Zhao, B., and Valenti, M.C.: ‘Distributed turbo coded diversity for relay channel’, Electron. Lett., 2003, 39, (10), pp. 786–787, doi: 10.1049/ el:20030526 3 Valenti, M.C., and Zhao, B.: ‘Distributed turbo codes: towards the capacity of the relay channel’. IEEE 58th VTC, Orlando, FL, USA, October 2003, pp. 322–326, doi: 10.1109/VETECF.2003.1285032 4 Chakrabarti, A., De Baynast, A., Sabharwal, A., et al.: ‘Low density parity check codes for the relay channel’, IEEE J. Sel. Areas Commun., 2007, 25, (2), pp. 280–291, doi: 10.1109/JSAC.2007.070205 5 Andersson, M., Rathi, V., Thobaben, R., Kliewer, J., et al.: ‘Nested polar codes for wiretap and relay channels’, IEEE Commun. Lett., 2010, 14, (8), pp. 752–754, doi: 10.1109/LCOMM.2010.08.100875 6 Blasco-Serrano, R., Thobaben, R., Andersson, M., et al.: ‘Polar codes for cooperative relaying’, IEEE Trans. Commun., 2012, 60, (11), pp. 3263–3273, doi: 10.1109/TCOMM.2012.081412.110266 7 Arikan, E.: ‘Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels’, IEEE Trans. Inf. Thoery, 2009, 55, (7), pp. 3051–3073, doi: 10.1109/TIT.2009.2021379 8 Bravo-Santos, A.: ‘Polar codes for Gaussian degraded relay channels’, IEEE Commun. Lett., 2013, 17, (2), pp. 365–368, doi: 10.1109/ LCOMM.2013.011113.122188 9 Zhan, Q., Du, M., Wang, Y., et al.: ‘Half-duplex relay systems based on polar codes’, IET Commun. Electron. Express, 2014, 8, (4), pp. 433–440, doi: 10.1049/iet-com.2013.0521 10 Plotkin, M.: ‘Binary codes with specified minimum distance’, IRE Trans. Inf. Theory, 1960, 6, (4), pp. 445–450, doi: 10.1109/TIT.1960.1057584 11 Xiao, M., and Skoglund, M.: ‘Multiple-user cooperative communications based on linear network coding’, IEEE Trans. Commun., 2010, 58, (12), pp. 3345–3351, doi: 10.1109/ TCOMM.2010.092810.100045 12 Shu, L., Lin, S., and Costello, D.J.: ‘Error control coding’ (Pearson Education, India, 2004)

ELECTRONICS LETTERS 30th April 2015 Vol. 51 No. 9 pp. 695–697

Suggest Documents