Network Coded Cooperative Diversity with Multiple Sources Lei Xiao, Daniel J. Costello, Jr., Thomas E. Fuja Department of Electrical Engineering University of Notre Dame, Notre Dame, IN 46556, USA Tel: 574 631-7244 Email:
[email protected], {costello.2, tfuja}@nd.edu
Abstract—This paper analyzes a cooperative diversity scheme in which multiple (i.e., more than two) source nodes cooperate to deliver their packets to a common destination. To obtain spatial diversity, the source nodes form a partnership that enables each source node to transmit its own packets while relaying those of its partners. Instead of time-multiplexing the codewords for local packets and relay packets (as in conventionally done), we adopt a network coded approach wherein the local and relay packets are first channel encoded and then XORed together. The resulting scheme generalizes the design in [1], which considered only two source nodes. We are able to show that the network coded approach delivers a significant performance advantage over conventional time multiplexing even when more than two source nodes are present.
I. I NTRODUCTION
the other source node can view the relay codeword as a scrambling pattern (because the relay packet originated from this node) and cancel it prior to decoding; however, the destination node can view the XORed codeword as being produced by a high rate encoder and then decode the two packets jointly [1]. The advantage of the network coded approach was demonstrated in [1] for a system with two sources. It is worth noting that the benefit of network coding in multi-terminal relaying scenarios has also been considered in [8] and [9], albeit for a dedicated relay configuration and two way relay channels, respectively. Extending the approach in [1] to more than two sources presents some clear differences: • More spatial diversity is (potentially) available though cooperation, because more source nodes are sharing antennas. • There are more packets to be network encoded, since each source node is required to relay several packets from other source nodes to fully exploit the available spatial diversity. Consequently, the network coding step (XOR) involves more packets, and higher rate codes must be decoded at the partner and destination nodes. • The decoding of the partner-to-partner transmission is less straightforward. With more than two source nodes, a partner cannot cancel all relayed packets as it could with only two source nodes - because it is no longer the source of all relayed packets. It is therefore not clear whether network coded cooperative diversity offers tangible benefits when more than two sources are present. In this paper, we design such a scheme for the most interesting case – i.e., with three source nodes transmitting to a common destination1 . The system model and notation are introduced in Section II. The operation of the new scheme is described in Section III. An outage analysis for a time multiplexing cooperative diversity system is presented in Section IV, and comparisons and numerical results are presented and discussed in Section V. Section VI describes our conclusions.
Cooperative diversity schemes [1]–[7] make spatial diversity possible even among transceivers with single antennas. The idea is to use transceivers as relays to provide extra copies of the transmitted packet to the receiver, resulting in robustness against channel fading on each link. Without dedicated relay nodes, each source node serves as a relay for other source nodes and thus has two types of packets to transmit, i.e., its locally generated packets and the spatial diversity (relay) packets received from other sources. A multiplexing mechanism must be in place to arrange the transmission of these packets at each source node: • In time multiplexing designs [3]–[6], the available transmission time slot is divided into sub-slots; one sub-slot carries locally generated packets and the other sub-slots carry relayed packets. • A network coded design was proposed in [1] for the case of two source nodes. This design was motivated by observing the cooperative dilemma in conventional designs, i.e., the extent to which a user dedicates resources to relaying other source’s data reduces the probability that the user’s packets are correctly decoded at the other source nodes, thereby reducing the likelihood that the user’s packets get the benefit of diversity [1]. Instead of explicitly allocating resources for relay and locally generated packets, the network coded approach first encodes each packet with linearly independent low rate code generators and then XORs the codewords to form the transmitted codeword. This procedure allows the partner node and the source node to interpret the transmitted codeword differently. In the case of two source nodes,
Consider a system with three cooperating source nodes – Node A, Node B, and Node C – and a common destination Node D, as shown in Figure 1. We assume a block fading
This work was supported in part by Motorola Corporation’s University Partnerships in Research (UPR) program as well by NASA grant NNX07AK53G and NSF grant CCF-0515012.
1 The case with more than three source nodes can be attacked analogously, although there is less available incremental diversity gain, and the complexity of the network coded scheme is higher.
II. S YSTEM M ODEL AND N OTATION
978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.
itB Node B γBD
γBC Node C
γAB
itC γAC
Node A
Node D
γCD
γAD
itA
Fig. 1. Three source nodes – Node A, Node B, and Node C – form a partnership to deliver their packets to Node D. TABLE I PACKETS INVOLVED IN TIME SLOT t.
(·)GL ⊕ π1 (·)GR1 ⊕ π2 (·)GR2
Node A transmits itA
Node B transmits itB
Node C transmits itC
it−1 C
itA
itB
it−1 B
it−1 C
itA
channel with a coherence time equal to the duration of one time slot, so the channel realization is constant over one slot and then changes to an independent realization for the next slot. The instantaneous signal-to-noise ratios (SNRs) between two nodes are denoted as γAB , γAC , γBC , γAD , γBD , and γCD , respectively, as shown in Figure 1. Denote the new packets generated at Node A, Node B, and Node C in time slot t as itA , itB , and itC , respectively. The three source nodes take turns transmitting; during time slot t each source, in turn, transmits the linear combination (i.e., the XOR) of three encoded packets - the local packet generated at that source and two relay packets, as described in Section III-A. Each source node is equipped with three encoders with generator matrices GL , GR1 , and GR2 . Here, GL is used to encode the local packet, and GR1 and GR2 encode the relay packets; specifically, each packet is relayed twice - e.g., a packet originating at Node A is relayed first by Node B and then by Node C - and GR1 is used to encode a relay packet the first time it is relayed, while GR2 is used to encode a relay packet the second time it is relayed. Of course, a source can only relay a packet if it was able to decode that packet before it is time to relay it. We assume that decoding failures can be detected once a hard decision is made; in simulation, this is achieved by padding each packet with a few CRC parity bits. If a node is unable to decode a partner’s packet, then that packet is not relayed. III. S YSTEM D ESIGN A. Encoding Invoking symmetry, we focus on encoding at Node C during time slot t. Prior to Node C’s transmission, Nodes A and B
have already transmitted in time slot t. Assuming that Node C has successfully decoded itA and itB , the three packets to be transmitted by Node C are t • The new packet generated by Node C, iC . The receivers interested in this packet are Nodes A and B (for future relaying) and Node D (the destination). t • The last packet generated by Node B, iB , which has not yet been relayed. The receivers interested in this packet are nodes A and D. Node A attempts to decode itB , using both Node C’s relay packet and Node B’s original packet, in order to act as a second relay for Node B. t • The packet generated by Node A, iA . Once this packet has been relayed by Node C, it will not be relayed again - and so only Node D is interested in this packet. The above observations provide some insight into how GL , GR1 , and GR2 should be constructed. Node C interleaves the two relay packets itB and itA with interleavers π1 and π2 . Interleavers are used to facilitate iterative decoding between the first transmission and the relayed versions of the same packet. The local packet and the two interleaved relay packets – itC , π1 (itB ), and π2 (itA ) – are then encoded with generators GL , GR1 , and GR2 , respectively. Finally, the three codewords are XORed to produce the transmitted codeword. Using the concept of a nested code [10], the encoding process can be written as ctC = itC GL ⊕ π1 (itB )GR1 ⊕ π2 (itA )GR2 t GL t t = π2 (iA )GR2 ⊕ iC π1 (iB ) GR1 GL = π1 (itB )GR1 ⊕ itC π2 (itA ) GR2 ⎤ ⎡ GL = itC π1 (itB ) π2 (itA ) ⎣GR1 ⎦ . GR2
(1a) (1b) (1c) (1d)
The above equivalent formulations offer insight into the decoding process. Node A knows itA , so it interprets the transmission using (1b), while Node B interprets the transmission using (1c) for the same reason. Node D intends to extract a diversity gain from the three uplink paths and so interprets the packet using (1d). The encoding processes at Nodes A and B are analogous. Table I summarizes the packets involved in time slot t. B. Decoding at the Partner Nodes In a network coded cooperative diversity scheme with only two source nodes [1], decoding at the partner is relatively straightforward, since there is only one packet left after the cancellation. In the case of three partner nodes, however, there are normally three packets XORed together, and so after the known packet is “stripped” away, two unknown packets remain. Consider the decoding at Node C in time slot t as an example. Node A transmits the superposition itA GL ⊕ t−1 t−1 π1 (it−1 C )GR1 ⊕ π2 (iB )GR2 . The term π1 (iC )GR1 is known to Node C, and hence its effect can be cancelled by flipping the signs of the log-likelihood ratios (LLR’s) at
978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.
case (1)
Buffer for Node A’s transmission
Buffer for Node B’s transmission
itA · GL
itB · GL
case (2)
t [π2 (it−1 B ) iA ]
·
GR2 GL
itB · GL
case (3)
itA · GL
case (4)
Fig. 2.
t [π2 (it−1 B ) iA ]
·
GR2 GL
[π1 ( itA ) itB ]
·
[π1 ( itA ) itB ]
·
GR1 GL
GR1 GL
Decoding procedure at Node C to recover itA and itB . The arrowed lines denote the exchange of extrinsic information in iterative decoding.
the positions where π1 (it−1 C )GR1 takes the value one [1]. After this cancellation, what is left is a noisy version of t itA GL ⊕ π2 (it−1 B )GR2 . The packet iA is received by Node was transmitted C for the first time, while the packet it−1 B by Node B as its local packet in time slot t − 1 and was already relayed by Node C, also in time slot t − 1. If the passed the CRC check at Node C in time decision on it−1 B slot t − 1, Node C already has a reliable copy of it−1 B , so the term π2 (it−1 B )GR2 can be cancelled and Node C buffers the noisy version of itA GL . Otherwise, Node C buffers the noisy version of itA GL ⊕π2 (it−1 B )GR2 . The philosophy of the design is to cancel all packets for which reliable hard decisions are available and then to buffer the soft received values for the remaining packets. Note that node C does not need to make a hard decision at this time; it waits for Node B’s transmission and then performs joint decoding. Now consider Node C’s processing of Node B’s transcan be cancelled at Node C by mission. The effect of it−1 C appropriately flipping the LLR signs in the received signal. The altered LLR values represent the code superposition of Node B’s local packet, encoded as itB GL , and the relay packet π1 (itA )GR1 (assuming Node B successfully decoded Node A’s packet), or just Node B’s local packet in the case when Node A’s packet was not relayed. Node C now makes decisions on itA and itB for relaying. Figure 2 depicts the decoding procedure at Node C. We was not relayed in Node consider four cases. Case 1: it−1 B A’s transmission or it was cancelled by Node C (as described above), and Node B failed to decode Node A’s transmission. was relayed in Node A’s transmission but was Case 2: it−1 B not cancelled by Node C, and Node B failed to decode Node A’s transmission. In these two cases, Node C processes the received codewords (with known packets cancelled) in the two buffers separately, using conventional soft decision decoding, to obtain itA and itB . In Cases 3 and 4, where Node B
provides a relayed copy of itA , a process analogous to iterative turbo decoding (see Figure 2) is used to recover itA . Then itB is obtained by slicing the APP output from the constituent decoder corresponding to Node B’s codeword. C. Decoding at the Destination Node The goal of the decoding operation at Node D is to extract a diversity gain from the direct transmission and the relayed copies of each packet. This is achieved by collecting the transmissions from the three partner nodes and performing iterative decoding. In theory, the destination node can buffer all the packets received over time and process them via iterative decoding. However, this would cause a large delay and high processing complexity. So a sliding decoding window of length three time slots is adopted in our scheme. Figure 3 depicts the decoding of itA as an example. Normally, three copies of the same packet will be available – Node A’s direct transmission and the relayed copies from Nodes B and C. The decoder works in a manner analogous to a multiple turbo code, employing three soft-in, soft-out constituent decoders, and the extrinsic information on itA from the other two constituent decoders is added to serve as a priori information for the currently active constituent decoder. Note that there are also other packets involved in the three consecutive transmissions containing itA . Buffered extrinsic information from the earlier decoding rounds is used and it−1 in Figure 3). for previously processed packets (it−1 B C An a priori value of zero is assumed for packets yet to be processed (itB and itC in Figure 3), and an exchange of extrinsic information is performed when more than one copy of such a packet resides in the decoding window (itB in Figure 3). If either Node B or Node C fails to decode itA , its transmission does not include a relayed copy of itA , and consequently the decoding of itA cannot benefit from the processing of this transmission. Iterative decoding is then performed between the
978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.
2 3 » – GR2 ` t−1 ´ ` t−1 ´ t π1 i C iA · 4GR1 5 π2 i B GL
2 3 » – GR2 ` t−1 ´ ` t ´ t π1 i A iB · 4GR1 5 π2 i C GL
previously processed packets: use extrinsic as a priori Fig. 3.
2 3 » – GR2 ` t ´ ` t ´ t π2 iA π1 iB iC · 4GR1 5 GL
packets yet to be processed: use zero a priori
The iterative decoding procedure at the destination node.
PoT = Pr{N1 CAB >= K}Pr{N1 CAC + N2 CBC >= K}Pr{N1 CAD + N2 CBD + N3 CCD < K} + Pr{N1 CAB >= K}Pr{N1 CAC + N2 CBC < K}Pr{N1 CAD + N2 CBD < K} + Pr{N1 CAB < K}Pr{N1 CAC >= K}Pr{N1 CAD + N3 CCD < K} + i.i.d.
=
+ +
Pr{N1 CAB < K}Pr{N1 CAC < K}Pr{N1 CAD < K}
1 − Pr{N1 CAB < K} 1 − Pr{N1 CAC + N2 CBC < K} Pr{N1 CAD + N2 CBD + N3 CCD < K}
2
1 − Pr{N1 CAB < K} Pr{N1 CAC + N2 CBC < K}
3 Pr{N1 CAB < K} 1 − Pr{N1 CAB < K} Pr{N1 CAD + N3 CCD < K} + Pr{N1 CAB < K}
(2)
Pr{N1 CAD + N2 CBD + N3 CCD < K} = 2 2
√ −1 J −1 (K/N2 −N3 /N2 J( 8γCD )) 3) J (K/N 8 8 ⎡0 ×
⎛
0
−1 ⎢ ⎜ J ⎣1 − exp ⎝−
K N1
γCD γBD 1 exp − − ΓCD ΓBD ΓCD ΓBD 2 ⎞⎤ √ √ N3 2 −N N1 J( 8γBD ) − N1 J( 8γCD ) ⎟⎥ ⎠⎦ dγBD dγCD . 8ΓAD
remaining two copies that include itA , and only two orders of diversity gain will be available. Finally, in the extreme case where neither partner node decodes itA , the destination can only process the received signal from Node A, iterative decoding is not possible, and no spatial diversity gain is available. Further details about the operations of this network coded cooperative diversity scheme can be found in [11]. IV. O UTAGE P ROBABILITY FOR T IME M ULTIPLEXING R EFERENCE S YSTEM A cooperative diversity scheme based on time multiplexing is used as a reference system to validate the merits of the network coded approach. Instead of carrying out simulations for one particular such design, we derive the outage probability of the reference scheme from a channel capacity perspective to characterize its theoretical limit. We focus on Node A but assume that all three nodes operate analogously. Let Node A’s packet represents K bits of new information, with N1 channel uses employed for direct transmission, N2 channel uses employed to relay information for the first time, and N3 channel uses employed to relay information for the second time. The number of channel uses is constrained by the rate R = N1 +NK2 +N3 . Denote the instantaneous channel capacity (corresponding to the instantaneous
(5)
channel SNR) from Node X to Node Y as CXY (where X can be A, B, or C, and Y can be A, B, C, or D), and assume for simplicity that all the channels are i.i.d., and hence the channel capacities between nodes are i.i.d. as well. Invoking the law of total probability, the outage probability of the time multiplexing system is given in (2) at the top of the page. For Rayleigh faded binary input continuous output Gaussian channels, as an example, the probabilities in (2) can be written as K Pr{N1 CAB < K} = Pr CAB < N1 ⎧ 2 ⎪ J −1 (K/N1 ) ⎨ K ≤ N1 1 − exp − 8ΓAB = , (3) ⎪ ⎩ 1 K > N1 Pr{N1 CAC + N2 CBC < K} 2
−1 2)
J (K/N 8 γBC 1 exp − = Γ ΓBC ⎡0 ⎛ BC
2 ⎞⎤ √ N −1 K 2 N1 − N1 J( 8γBC ) ⎢ ⎟⎥ ⎜ J × ⎣1 − exp ⎝− ⎠⎦ dγBC , 8ΓAC (4)
978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.
and (5), shown on the previous page, where J(·) and J −1 (·) are defined in [12]. The outage probability then can be computed numerically using (2) and (3)-(5), where the expression for Pr{N1 CAC + N3 CCD < K} is analogous to the expression for Pr{N1 CAC + N2 CBC < K} in (4).
We simulated packets containing 500 information bits plus an additional 12 CRC bits. An S-random interleaver with spread 13 was used for π1 (·), while a pseudo-random interleaver was adopted for π2 (·). The generators GL , GR1 , and GR2 were all 4-state, rate 1/4 convolutional codes, and the BCJR decoding algorithm was employed. (4-state codes were chosen to match the 64-state destination decoder used in [1] for the two source node case.) The code generators were obtained as follows. To begin, GL was picked from a table of good codes. Exhaustive searches then carried out to first find were GR1 in terms of free distance and the GR1 that optimizes GL number of nearest neighbors, and then GR2 was chosen to ⎤ ⎡ GR2 yield the best ⎣GR1 ⎦ in the same sense. The search resulted GL 3 6 1 6 5 5 in selecting G L 2 4 = 1 7 , 7 , 1, 1 8 , GR1 = 7 , 7 , 7 , 7 8 , and GR2 = 7 , 7 , 1, 7 8 . The channel gains for different pairs of transceivers were assumed to be i.i.d., and the coherence time was chosen to equal the duration of a time slot. The packet error rate of the network coded scheme and the corresponding outage probability for the reference time multiplexing scheme are shown in Figure 4. While the network coded scheme does not require any explicit resource allocation, the time multiplexing scheme does depend on the time slot allocations N1 , N2 , and N3 . To keep the comparison fair, the source nodes in both the network coded scheme and the time multiplexing scheme are given N = N1 + N2 + N3 channel uses and packets of K bits. We use outage probabilites for the reference time multiplexing scheme because the code construction and optimization for such a system is not readily available. The outage probabilities for time multiplexing scheme are calculated for both the simple case, where N1 = N2 = N3 (equal time allocation), and the optimized allocation case, where N1 , N2 , and N3 are chosen to minimize the outage probability. The network coded approach outperforms the outage probability of the equal allocation time multiplexing scheme by more than 2 dB, and it is slightly better than the outage probability of the optimized time multiplexing scheme. Since we are comparing the packet error rate of the network coded scheme with the outage probability of the time multiplexing scheme, where the outage probability represents a lower bound on the packet error rate of any practical time multiplexing scheme, it is safe to conclude that the network coded cooperative diversity scheme enjoys a significant advantage over conventional time multiplexing. VI. C ONCLUSIONS A network coded cooperative diversity scheme with three source nodes has been presented. The newly proposed scheme
Outage − Time Mux., equal alloc. Outage − Time Mux., optimized alloc. FER, Network Coded
−1
10
Outage/FER
V. S IMULATION R ESULTS
0
10
−2
10
−3
10
−4
10
0
5
10 Average E /N (dB) b
15
20
0
Fig. 4. Comparison between the simulated packet error rate of the network coded cooperative diversity scheme and the outage probability for two time multiplexing reference schemes.
exhibits a substantial performance gain compared to time multiplexing, re-affirming the schematic advantage of network coding in a cooperative diversity setting. The results can be extended to more than three source nodes in a straightforward manner, although the complexity increases and the incremental diversity gain decreases. R EFERENCES [1] L. Xiao, T. E. Fuja, J. Kliewer, and D. J. Costello, Jr., “A network coding approach to cooperative diversity,” IEEE Trans. Inf. Theory, vol. 53, pp. 3714 – 3722, Oct. 2007. [2] A. Sendonaris, E. Erkip, and B. Aazhang, “User cooperation diversity, part I and part II,” IEEE Trans. Commun., vol. 51, pp. 1927–1948, Nov. 2003. [3] J. N. Laneman, D. N. C. Tse, and G. W. Wornell, “Cooperative diversity in wireless networks: Efficient protocols and outage behavior,” IEEE Trans. Inf. Theory, vol. 50, pp. 3062–3080, Dec. 2004. [4] T. E. Hunter and A. Nosratinia, “Cooperation diversity through coding,” in Proceedings of the IEEE International Symposium on Information Theory, Lausanne, Switzerland, Jul. 2002, p. 220. [5] A. Nosratinia, T. E. Hunter, and A. Hedayat, “Cooperative communication in wireless networks,” IEEE Commun. Mag., vol. 42, pp. 74–80, Oct. 2004. [6] A. Stefanov and E. Erkip, “Cooperative coding for wireless networks,” IEEE Trans. Commun., vol. 52, pp. 1470–1476, Sep. 2004. [7] G. Yue, X. Wang, Z. Yang, and A. Høst-Madsen, “Coding schemes for user cooperation in low-power regimes,” IEEE Trans. Signal Process., vol. 56, pp. 2035–2049, May 2008. [8] C. Hausl, F. Schreckenbach, I. Oikonomidis, and G. Bauch, “Iterative network and channel decoding on a tanner graph,” in Proc. Allerton Conference on Communication, Control, and Computing, Monticello, IL, Sep. 2005. [9] C. Hausl and J. Hagenauer, “Iterative network and channel decoding for the two-way relay channel,” in Proceedings of IEEE International Conference on Communications (ICC), Istanbul, Turkey, Jun. 2006. [10] L. Xiao, T. E. Fuja, J. Kliewer, and D. J. Costello, Jr., “Nested codes with multiple interpretations,” in Proceedings of 40th Annual Conference on Information Sciences and Systems, Princeton, NJ, Mar. 2006, pp. 851 – 856. [11] L. Xiao, “Cooperative relaying strategies for wireless communication systems,” Ph.D. dissertation, University of Notre Dame, Notre Dame, IN, 2008. [12] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density parity-check codes for modulation and detection,” IEEE Trans. Commun., vol. 52, pp. 670–678, Apr. 2004.
978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.