2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC)
Cooperative Relaying with Low-Density Lattice Coding and Joint Iterative Decoding Bin Chen, Dushantha N. K. Jayakody and Mark F. Flanagan School of Electrical, Electronic and Communications Engineering, University College Dublin Email:
[email protected],
[email protected],
[email protected]
Abstract—Low-density lattice codes (LDLCs) are known for their high decoding efficiency and near-capacity performance on point-to-point Gaussian channels. In this paper, we present a distributed LDLC-based cooperative relaying scheme for the multiple-access relay channel (MARC). The relay node decodes LDLC coded packets from two sources and forwards a networkcoded combination to the destination. At the destination, a joint iterative decoding structure is designed to exploit the diversity gain as well as coding gain. For the LDLC-based network coding operation at the relay, we consider two alternative methods which offer a tradeoff between implementation complexity and performance, called superposition LDLC (S-LDLC) and moduloaddition LDLC (MA-LDLC). Simulation results show that the proposed scheme can provide more diversity gain and up to 6.2 dB coding gain when compared with non-cooperative LDLC coding and uncoded network-coded transmission.
I. I NTRODUCTION Lattice codes can be considered as the Euclidean-space analog of linear codes. It has been shown that lattice codes can achieve the capacity of the AWGN channel [1]. Recently, and inspired by low-density parity check (LDPC) codes, low-density lattice codes (LDLC codes) were proposed as a practical and low-complexity form of these codes [2]. In order to further reduce transmit power and complexity, shaping methods for LDLCs were studied in [3] and an efficient LDLC decoder was proposed in [4]. In addition to having near-capacity performance and lowcomplexity decoding, low-density lattice codes are a natural fit for wireless channels due to the fact that the same real algebra underlies both the encoder and channel. This feature can be used in coded cooperation [5], which has been proposed to provide coding gain as well as diversity gain. A simple linear combination is possible at the relay which results in a new lattice point – this lattice point is then in a natural form for retransmission. If using random Gaussian codebooks, such as distributed turbo codes [6] and distributed LDPC codes [7], a random linear combination will not lie in the codebook. Thus, lattice codes offer a promising alternative for cooperative communication. Recently, lattice codes have been used in networks with relays, such as the classical relay channel [8] and two-way relay channel (TWRC) [9]. Also, a method called computeand-forward [10] has been proposed in which a receiver can recover packets from their linear combinations. However, so far no work in this area has considered the design of practical algorithms for LDLC decoding at the
978-1-4799-5985-3/14/$31.00 ©2014 IEEE
254
6RXUFH6 [PRG
5HOD\
˄[[˅PRG
[PRG
'HVWLQDWLRQ
3KDVHWUDQVPLW[PRG
3KDVHWUDQVPLW[PRG
6RXUFH6
3KDVHWUDQVPLW[[ PRG
Fig. 1. System model of the LDLC coded cooperation scheme. The illustration is for the modulo-addition LDLC (MA-LDLC) relaying method.
destination which fully exploits the cooperative scheme and the nature of extrinsic information. In this paper, a practical LDLC cooperation scheme is proposed for the multiple-access relay channel (MARC). A relay is employed to decode, and compute a combination of, the packets from the multiple sources; then an iterative decoding structure is designed for the destination node which attempts to jointly and efficiently utilize the received packets from the three transmission phases. These three received packets are decoded cooperatively and an efficient decoding algorithm is used which involves the passing of extrinsic information between three LDLC decoders. To the authors’ knowledge, ours is the first work to consider messagepassing between constituent LDLC decoders in this way. Network coding nodes are designed to connect the different LDLC decoders and generate a-priori messages. Finally, in contrast to the work of [8] which assumed a full-duplex operation of the relay, we will consider the more practical half-duplex mode. Simulation results using short practicallength LDLCs indicate that our proposed scheme provides more diversity gain than the non-cooperative LDLC-based system, and that further coding gains can be provided as the block length increases. II. S YSTEM M ODEL We consider a multiple access relay channel (MARC) where two sources S1 and S2 transmit independent information vectors (denoted by b1 and b2 respectively) to a common destination D via a single relay node R as shown in Fig. 1. In time slot i ∈ {1, 2}, source Si encodes the n symbols of information block bi (an integer vector) to form an LDLC codeword xi = Gbi lying in the lattice Λ, where the code’s
2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC)
(square) generator matrix G is the inverse of its parity-check matrix H. In practice, LDLC encoding needs to be combined with a shaping algorithm in order to ensure constrained power of lattice codewords [3]. In this work, hypercube shaping, based on a lower triangular parity-check matrix H, is used to map the integer information vector bi to another integer vector bi in such a way that xi = Gbi has a constrained power. The hypercube shaping operation is described by bi,k = bi,k − Lri,k
(1)
where ri,k is chosen such that |xi,k | ≤ L/2 and is given by k−1 1 bi,k − . (2) Hk,l xi,l ri,k = L l=1
Due to the linear structure of the LDLC encoder, bi = bi mod L implies that xi = xi mod Λ. In any time slot i ∈ {1, 2}, the relay and destination will receive the following signals from Si , respectively: R yiR = Pi hR (3) i xi + ni , D (4) yiD = Pi hD i xi + ni , where hki denote the Rayleigh fading coefficients at receiving node k ∈ {R, D} during phase i ∈ {1, 2}. Also, nki ∼ N (0, N0 /2) is a circularly symmetric Gaussian random vector with i.i.d. entries. At the relay node, for each i ∈ {1, 2} the received packet yiR is used to decode the lattice codeword xi [2], i.e., yiR ˆ i = LDLCdecoder R √ , i = 1, 2 (5) x hi Pi Then, the two decoded results will be combined (network coded) before forwarding to D. We consider two possibilities: • Superposition LDLC (S-LDLC): In this method, we simply add the lattice codewords to form ˆ1 + x ˆ2 x3 = x
(6)
which is equivalent to addition of the underlying information vectors, since ˆ1 + b ˆ2 ) ˆ1 + x ˆ 2 = G · (b x3 = x (7) •
Modulo-Addition LDLC (MA-LDLC): In this method, in order to improve the power efficiency of the relay, the LDLC codewords can be added modulo the lattice to form ˆ1 + x ˆ 2 ] mod Λ = G · b3 x3 = [x (8) where
ˆ1 + b ˆ2 b3 = b
mod L
(9)
x3 ,
The lattice point which can be considered as a network coded component, will be transmitted from the relay to the destination, i.e., D y3D = P3 hD (10) 3 x3 + n3 Finally, the destination uses the signals y1D , y2D and y3D to jointly decode b1 and b2 .
255
III. D ESIGN
OF I TERATIVE D ECODING THE D ESTINATION
A LGORITHM
AT
In this section, we detail the proposed iterative decoding structure at the destination for the cooperative LDLC scheme, which features multiple iterative LDLC decoders which exchange information exchange inside and across different packets. For brevity, we describe only the decoding process for the more power efficient MA-LDLC method; the S-LDLC method operates similarly with some minor modifications. A. Factor Graph and Iterative Decoding The integrated decoding process is represented by the factor graph shown in Fig. 2. In this graph, the dark filled rectangles and circles represent check nodes and variable nodes, respectively, and the blank squares represent network coding nodes. The proposed decoding process relies on iterative message exchange between three lattice decoders operating on the three channels outputs. Without loss of generality, we consider the decoding process for x1 . As shown in Fig. 2, the extrinsic e e information R2,k (x) and R3,k (x) from the two lattice decoders a are combined to generate the a-priori information R1,k (x), which is calculated using the network coding algorithm described in Section III-B. Note that since LDLC decoding is involved, the messages are probability density functions (PDFs). The iterative process will continue until all the packets are decoded correctly or the maximum number of iterations is reached. Message-passing on the factor graph of Fig. 2 implies a modular decoder structure at the destination node as shown in Fig. 3, which works on the three received signals y1D , y2D and y3D . The iterative decoding procedure consists of inner iterations within the three LDLC decoders as well as outer iteration encompassing the overall iterative structure. In the paper, M and N respectively indicate the maximum number of inner iterations and outer iterations, and t and s respectively indicate the index number of the inner iteration and the outer iteration. In the decoding process, we use subscript i to the LDLC decoder, k to indicate the variable node and j to indicate the check node. {Qi,j,k } indicates the PDF message which was sent from check node cj in the previous half inner-iteration to variable node xk . {fi,k,j } indicates the PDF message which e was sent from variable node xk to check node cj . {Ri,k } is the extrinsic PDF message generated by each LDLC decoder a and sent to the corresponding network coding nodes. {Ri,k } is the a-priori PDF message that was sent from network coding node nk . Denote the variable nodes by xi,1 , xi,2 , · · · , xi,n , the check nodes by ci,1 , ci,2 , · · · , ci,n , and the network coding nodes by n1 , n2 , · · · , nn . The integrated iterative decoding process is described as follows. • Initialization: At each LDLC decoder i, each variable node xi,k sends to all of its neighboring check nodes the 2 D /(hD √P )−x (yi,k i i,k ) i (0) (a) − 1 2 2σ ; Ri message fi,k,j (x) = √2πσ2 e is initialized to the all-ones vector.
2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC)
F
F
F
FQ
FQ
F
FQ
F
F
FQ
FQ
FQ
&KHFNQRGHV
K
K K
\ ^^\\\Q`
K
K K
9DULDEOHQRGHV [
[
[
5H[
[Q
5D[
[Q
[Q
[
[
[
[Q
[Q
\ ^^\\\Q`
[Q
5H[
5D[
Q
Q
Q
QQ
QQ
QQ
1HWZRUN&RGLQJQRGHV
[
[
[Q
[Q
[Q
9DULDEOHQRGHV
5D[
5H[
\ ^\\\Q`
[
&KHFNQRGHV F
F
F
FQ
FQ
FQ
Fig. 2. The factor graph for the iterative decoder at the destination. The computation of the PDF messages Ri,k (x) is illustrated in the factor graph for the k-th symbol xi,k of xi between the three constituent LDLC decoders. Dark filled rectangles represent check nodes, circles represent variable nodes, and the blank rectangles represent network coding nodes.
0DNH GHFLVLRQ
\'
/'/& 'HFRGHU
E +[PRG/
c. Periodic extension step: extend with period 1/|hj | ∞ a (M·s+t) (13) (x) = pi,j,k x − Qi,j,k hj a=−∞
5H[
5H[
5D[
5D[ ,WHUDWLYH 'HFRGHU
/'/& 'HFRGHU
where M · s + t is the index of the current iteration. 2) Variable node message: each variable node xk sends (M·s+t) (x) in (M · s + t)-th iteration to a message fi,k,j each of its neighboring check nodes cj .
\'
5D[ \'
/'/& 'HFRGHU
5H[
a. Variable node update rule:
5H[ E +[PRG/ 0DNH
(M·s+t) = e− f i,k,j
GHFLVLRQ
Inner iterations: each LDLC decoder performs M inner iterations. 1) Check node message: each check node cj sends a (M·s+t) (x) in (M · s + t)-th iteraPDF function Qi,j,k tion to each of its neighboring variable nodes xk . a. Convolution step: All messages, except fi,k,j (x), are convolved. For ease of illustration, we assume that the d non-zero values of matrix H, {h1 , h2 ..., hd }, lie in the first d columns.
x x (M ·s+t−1) pjk (x) = ⊗ · · ·fi,k,j−1 h1 hj−1 x x (M ·s+t−1) (M ·s+t−1) ⊗ · · · ⊗ fi,k,d ⊗fi,k,j+1 hj+1 hd (11) (M ·s+t−1) fi,k,1
b. Stretching step: pi,j,k (x) = p i,j,k (−hj x)
(12)
256
a Ri,k (x)
n
(M·s+t)
Qi,l,k
l=1 l=j
Fig. 3. The proposed iterative decoding structure at the destination. The operation indicate the network coding algorithm in Section III-B.
•
(yi,k −xi,k )2 2σ2
(x) (14)
b. Normalization step: (M·s+t)
fi,k,j
(x) = ∞
(M·s+t) (x) f i,k,j (M·s+t) (x)dx f
−∞ •
(15)
i,k,j
Outer iteration: After every M inner iterations of LDLC decoding, the network node implements one outer iteration to exchange extrinsic information between the LDLC decoders. A total of N outer iterations is implemented. After M inner iterations are completed, each variable e node xi,k will send the message Ri,k (x) to the corresponding network coding node nk as: e (x) = e− Ri,k
(yi,k −xi,k )2 2σ2
n
(M·s+t)
Qi,l,k
(x)
(16)
l=1 a Then, the a-priori message Ri,k (x) can be generated from the network coding node according to the mechanism shown in (17), which will be explained in detail in Section III-B.
2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC)
mod
e e e R1,k (x ) −→ R1,k (b ) −−→ R1,k (b) H
convolution
mod
shaping
a a a (b ) −−→ R3,k (b) −−−−→ R3,k (x ) → R3,k −
(17)
mod
e e e R2,k (x ) −→ R2,k (b ) −−→ R2,k (b) H
•
Next, each LDLC decoder will repeat the inner iterative decoding according to (11-15) and then repeat the outer iteration. Final decision: after (M · N ) iterations, the final variable node message is calculated via (M·N ) f i,k,j = e−
(yi,k −xi,k )2 2σ2
a Ri,k (x)
n
(M·N )
Qi,l,k
(M·N ) ˆ i,k = arg max f i,k,j (x), i = 1, 2 x
mod L, i = 1, 2
e e Ri,k (b) = Ri,k (b
mod L)
(22)
b3
Then, the integer vector bi is estimated as
ˆi = H x b ˆi
(x) . (18)
l=1
and
x x x e e ⊗···Ri,n−1 ⊗Ri,n hk,1 hk,n−1 hk,n (21) 1) Use a modulo-L operation on the GMM samples of the e PDF message Ri,k (b ) to obtain the PDF of bi,k :
e e Ri,k (b ) = Ri,1
(19) (20)
In this paper, each message that is exchanged between the variable, check and network coding nodes can be modeled using the Gaussian Mixture Model (GMM) [2]. Thus, for computational efficiency all PDF messages are approximated by a vector of samples from the GMM; this vector of samples can be generated from the underlying PDF. B. Network Coding Node It has been shown that the network coding node plays the role of connection and information exchange in Fig. 2. The principal advantage of the proposed decoder design is that as the constituent LDLC decoders produce updated probabilistic information regarding the users’ lattice codewords and the relay lattice codeword (which may be considered as a redundant packet), any pair of lattice decoder outputs may be combined to to generate a-priori information for the remaining lattice codeword, thus enhancing convergence of the overall decoding process, and efficiently capitalizing on available diversity gains. Since the transmitted codewords are points of a lattice, then the combination of the three signals are points of the same lattice. Therefore, the destination can efficiently decode the messages of x1 and x2 as well as the combination signal x3 . However, in the M-LDLC method the relay transmits x3 = G ·[(b1 + b2 ) mod L], which is not directly equal to x1 + x2 . Therefore, we need to use the relationship between b1 , b2 and b3 to calculate the extrinsic information. The schematic of (17) illustrates the extrinsic PDF calculation at the network coding code for the k-th symbol pair, x1,k and x2,k ; in the following, we describe this calculation in full detail. Recall that the LDLC codeword before shaping is denoted by xi and after shaping by xi . 1) According to the relationship between bi and xi (bi = Hxi ), we can calculate the corresponding extrinsic PDFs of bi by convolution:
257
2) According to the relationship = b1 + b2 , we can calculate the PDF message corresponding to the sum by using convolution: a e e R3,k (b ) = R1,k (b) ⊗ R2,k (b)
(23)
3) Use a modulo-L operation on the GMM samples of the a PDF message R3,k (b ) to obtain the PDF of b3,k : a a R3,k (b) = R3,k (b
mod L)
(24)
4) According to the hypercube shaping method (c.f. (1) a and (2)), we can utilize R3,k (b) to calculate the a priori information for the LDLC codeword after shaping, a R3,k (x ). Here mai,k (b) and mai,l (x ) indicate the mean of the Gaussian mixture PDF for variable bi,k and xi,l , respectively. a a R3,k (b ) = R3,k (b − Lrk )
where
rk =
k−1 1 a a m3,k (b) − hk,l m3,l (x ) L
(25)
(26)
l=1
and
b b b a a ⊗···R3,n−1 ⊗R3,n gk,1 gk,n−1 gk,n (27) a Thus, we can generate the extrinsic information Ri,k (x ) from two of three packets to calculate the a priori information for the other packet.
a a R3,k (x ) = R3,1
IV. N UMERICAL R ESULTS
AND
D ISCUSSION
In the section, we provide numerical simulation results for the proposed cooperative relaying system under quasi-static Rayleigh fading channels. A lower triangular parity-check matrix structure is used in the simulation which is convenient for low-complexity encoding and shaping [3]. We consider the MARC system model as depicted in Fig. 1 and use 4-PAM modulation in the simulation. The SNR is given by Es /N0 (the ratio of symbol energy to noise spectral density). We assume both sources have the same
2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC)
−1
−1
10
10
Direct LDLC Network coding 4PAM Cooperative MAC−LDLC, H=100
−2
−2
10
Symbol Error Rate
Symbol Error Rate
10
−3
10
−4
−4
10
10
−5
−5
10
10
−3
10
10
15
20
25 Es/No, dB
30
35
40
Direct LDLC Cooperative SC−LDLC, H=36 Cooperative SC−LDLC, H=100 Cooperative MAC−LDLC, H=36 Cooperative MAC−LDLC, H=100 15
20
25 Es/No, dB
30
35
Fig. 4. SER performance of the comparison different schemes. The uncoded network-coded 4-PAM scheme simply sends the network coded packet b1 +b2 from the relay.
Fig. 5. SER performance comparison of superposition and modulo-addition LDLC relaying methods. The performance is also shown for different block length.
distance to the destination and relay, and we also assume that the relay is positioned in the middle of source and destination. Thus, we consider two cases for the relationship between the SN R of the source-destination link and that of the relay-destination link: (1) SNRS1 D = SNRS2 D , (2) SNRSD = SNRRD = SNRS1 D + 6dB. To ensure a fair comparison, the values of {Pi } were chosen to satisfy 2 2 2 2 P1 E(x2 1 )+P2 E(x2 )+P3 E(x3 ) = E(x1 )+E(x2 ), so that the cooperative LDLC schemes used the same transmitted energy as the non-cooperative LDLC scheme. First, we compare the SER performance of uncoded network-coded 4-PAM which send superposition packet b1 + b2 from relay, and the non-cooperative and cooperative LDLC scheme. In Fig. 4, we can see that the cooperative schemes provide more diversity gain than the non-cooperative schemes; also, the proposed cooperative LDLC scheme provides 6.2 dB gain over the cooperative uncoded network-coded 4-PAM at an SER of 10−5 . In Fig. 5 we also compare the two forwarding methods, modulo-addition LDLC (MA-LDLC) and superposition LDLC (S-LDLC), also comparing performance with different block length n. In the S-LDLC method, the relay transmits the message x1 + x2 without the shaping operation; while this relay operation is simple to implement, it will reduce the power efficiency for the redundant message x3 . The Fig. 5 shows that the MA-LDLC method can achieve better SER performance than the S-LDLC method. Also, the proposed cooperative LDLC scheme provides more coding gain as the block length increases.
transmitted from the relay, and uses a joint iterative decoding structure at the destination node which exploits the lattice code redundancy and network code for error recovery. Two methods, modulo-addition and superposition, have been investigated for the formation of the network coded message sent from the relay. Simulation results confirm that the modulo-addition LDLC method can achieve the best performance due to power efficient retransmission at relay, at some algorithmic expense compared to the superposition LDLC method. Compared to the non-cooperative LDLC scheme and uncoded network-coded 4PAM, the proposed scheme provides more diversity gain and up to 6.2 dB coding gain. The proposed cooperative LDLC scheme can be easily extended to the case of multiple sources.
V. C ONCLUSION In this paper, we presented a practical cooperative relaying scheme based on LDLC coding for the multiple-access relay channel (MARC). The proposed scheme combines the original LDLC codewords with the network-coded combination
258
R EFERENCES [1] U. Erez and R. Zamir, “Achieving 1/2 log (1+snr) on the awgn channel with lattice encoding and decoding,” IEEE Transactions on Information Theory, vol. 50, no. 10, pp. 2293–2314, 2004. [2] N. Sommer, M. Feder, and O. Shalvi, “Low-density lattice codes,” IEEE Transactions on Information Theory, vol. 54, no. 4, pp. 1561–1585, 2008. [3] ——, “Shaping methods for low-density lattice codes,” in Information Theory Workshop, 2009. ITW 2009. IEEE, 2009, pp. 238–242. [4] Y. Yona and M. Feder, “Efficient parametric decoder of low density lattice codes,” in Information Theory, 2009. ISIT 2009. IEEE International Symposium on, 2009, pp. 744–748. [5] T. Hunter and A. Nosratinia, “Diversity through coded cooperation,” IEEE Trans. on Wireless. Comm., vol. 5, no. 2, pp. 283–289, 2006. [6] B. Zhao and M. Valenti, “Distributed turbo coded diversity for relay channel,” Electronics Letters, vol. 39, no. 10, pp. 786 – 787, may 2003. [7] A. Chakrabarti, A. de Baynast, A. Sabharwal, and B. Aazhang, “Low density parity check codes for the relay channel,” IEEE J. Sel. Areas Commun., vol. 25, no. 2, pp. 280 –291, february 2007. [8] N. S. Ferdinand, M. Nokleby, and B. Aazhang, “Low density lattice codes for the relay channel,” in 2013 IEEE International Conference on Communications (ICC), 2013, pp. 3035–3040. [9] M. Wilson, K. Narayanan, H. Pfister, and A. Sprintson, “Joint physical layer coding and network coding for bidirectional relaying,” Information Theory, IEEE Transactions on, vol. 56, no. 11, pp. 5641–5654, 2010. [10] B. Nazer and M. Gastpar, “Compute-and-forward: Harnessing interference through structured codes,” Information Theory, IEEE Transactions on, vol. 57, no. 10, pp. 6463–6486, 2011.