Natural Network Coding in Multi-Hop Wireless Networks

Jun 2, 2009 - NNC also has intrinsic connection with the concept of ..... MIMO channels in wireless sensor networks,” in IEEE J. Sel. Areas. Commun., vol.
303KB taille 2 téléchargements 269 vues
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

Natural Network Coding in Multi-hop Wireless Networks Wei PU*, Chong LUO†, Binxing JIAO*, Feng WU†, *

Dept. of EEIS, University of Science and Technology of China, Hefei, Anhui, P. R. China † Internet Media Group, Microsoft Research Asia, Beijing, P. R. China E-mails: {puipp, jbx}@mail.ustc.edu.cn, {cluo, fengwu}@microsoft.com

Abstract—Cooperative communication has been intensively studied in recent years. In cooperative communication, cooperative users are grouped into clusters to form virtual MIMO channels. However, existing work mainly aims at achieving diversity gain, while generally overlooks the spatial multiplexing property of MIMO channels. In this paper, we address spatial multiplexing by introducing natural network coding protocol (NNC). In a user cooperative scenario, NNC takes advantage of the natural randomness of wireless channels. Simulation experiments show that NNC greatly reduces bit error probability and achieves about 70% throughput gain over time sharing transmission protocols.

I.

INTRODUCTION

Recently, cooperative communication [1] is proposed as an attractive approach to explore multi-antenna gain. In cooperative communication, users collaborate with each other to form virtual multi-antenna system (V-MIMO). By sending the same information from different users, space diversity is achieved with the restriction that multiple sources utilize the channel by time sharing. In addition to space diversity, MIMO system can also provide multiplexing gain [2][12]. Most of the existing work about V-MIMO focuses on diversity gain. However, spatial multiplexing with multihop relays is not well studied. The reason is partially because in classical multiplexing architectures, e.g. V-BLAST/DBLAST, their decoding algorithms generally require receiver antennas to work centrally, which is infeasible in multi-hop cooperative scenario. In this paper, we focus on supporting spatial multiplexing in multi-hop wireless networks, as illustrated in Fig. 1, where multiple source nodes simultaneously send data to single destination via multi-hop wireless relays. The destination can be either single base station with multiple receiver antennas or a group of single-antenna nodes. This topology is generalized from practical wireless networks. For example, in wireless mesh network, sources are mesh clients, relays are mesh routers and receivers are one or multiple internet access points. Our work is related to both physical layer network coding (PNC) and cooperative communication. Network coding is introduced to physical layer in wireless networking by the pioneer works of Zhang et al. [4] and Katti et al. [3]. They propose signal level mapping to utilize signal interference.

Figure 1. Network topology.

These works show us the power of network coding in improving wireless network throughput and lay a solid foundation for our work. However, they do not address the scenario where multiple sources are transmitting data along a single direction. Coso et al. [7] studies V-MIMO based protocol. Two constraints of their scheme make it less efficient in multi-source scenario. First, their protocol consumes considerable percentage of timeslots to broadcast data within a cluster, which greatly affects network throughput. Second, their protocol has to resort to TDMA protocol when there are multiple sources, which is a waste of channels’ degree of freedom. To the best of our knowledge, no existing work supports spatial multiplexing in multi-hop wireless networks with regenerative relays. The design philosophy of NNC is related to “multiuser diversity” in [11]. NNC can be seen as an extension of this novel concept from transmitter to receiver – NNC allows multi-source parallel transmission. At the relay, it detects a function of source nodes’ data based on channel status to minimize detection error. NNC also has intrinsic connection with the concept of “computing over MAC” [8]. The difference is that NNC’s encoding function is dynamically calculated and NNC deals with practical multiple access fading channels. NNC protocol provides spatial multiplexing for multisource, multi-hop wireless networks by introducing air level network coding (AiNC), logical level network coding (LoNC) and digital fountain code (LT code). We will discuss these components in detail in the next section. There are two main contributions of our work: 1) NNC is the first work that utilizes the natural randomness of wireless channels to perform network coding. 2) NNC is the first practical protocol that focuses on space multiplexing property of V-MIMO without data exchanging between relays within the same cluster.

This work is done while Wei PU is a visiting student at Microsoft Research Asia.

978-1-4244-2075-9/08/$25.00 ©2008 IEEE Authorized licensed use limited to: Xiamen University. Downloaded on June 2, 2009 at 10:09 from IEEE Xplore. Restrictions apply.

2388

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

In section II, we present NNC in detail. In section III, NNC is compared with other two time sharing based reference protocols. Section IV concludes the paper. II.

NATURAL NETWORK CODING

A = h1 ⋅ (+1) + h2 ⋅ (+1) C = h1 ⋅ (−1) + h2 ⋅ (+1) B = h1 ⋅ (+1) + h2 ⋅ (−1)

D = h1 ⋅ (−1) + h2 ⋅ (−1)

A. Basic Idea B = h1 ⋅ (+1) + h2 ⋅ (−1)

The basis of NNC protocol is air level network coding (AiNC). In traditional application layer network coding, relay node first detects its received signals to get the corresponding information bits. These bits are then encoded by network coding. This process can be expressed as: Net. Cod . Signal ⎯Detection ⎯⎯ ⎯→ Bits ⎯⎯ ⎯ ⎯→Coded Bit AiNC changes this paradigm. It allows parallel transmission and directly maps the received superposed signal to coded bits, i.e. we have: & Net. Cod . Signal ⎯Detection ⎯⎯⎯ ⎯⎯ ⎯→ Coded Bit The fundamental difference between AiNC and PNC is that PNC’s network code is fixed while AiNC’s network code is dynamically determined by channel realization. We know that at high SNR regime, signal detection error is mainly determined by the minimum distance in the receiver’s constellation [6]. Increasing this minimum distance can reduce detection error. In AiNC, by choosing network encoding vector according to channel status and combining signal detection and network coding together, the effective minimum distance in the receiver’s constellation is enlarged, so that system’s error performance is improved. We use an example to illustrate this idea. In this example and the rest of this paper, we assume flat fading channels, BPSK modulation, perfect synchronization and channel side information at receiver (CSIR). We also assume slow block fading, i.e. fading parameters are assumed to be constant within each block, and change independently between different blocks.

y = h1s1 + h2s2 + w

Figure 2. Joint signal detection and network coding.

Fig. 2 shows the topology of the example. There are two sources simultaneously transmitting data to a common receiver. h1 and h2 are channel fading parameters. w is additive white Gaussian noise (AWGN). s1 and s2 are modulated signals. Their corresponding information bits are x1 and x2. We assume BPSK modulation which maps 0 to +1 and maps 1 to -1. In traditional network coding, the relay first detects s1 and s2 to get the corresponding bits x1 and x2. It then randomly generates network coding coefficients c1 and c2 and performs linear network coding over Galois field GF(2) to get the coded bit: (1) y = c1 x1 ⊕ c2 x2 , ci , xi ∈{0,1}

A = h1 ⋅ (+1) + h2 ⋅ (+1)

C = h1 ⋅ (−1) + h2 ⋅ (+1) D = h1 ⋅ (−1) + h2 ⋅ (−1)

Figure 3. Receiver’s constellation for two typical channel implements.

In AiNC, by choosing c1 and c2 according to channel status, s1 and s2 are directly mapped to the coded bit y. Fig. 3 shows the constellation observed at the receiver for two typical channel implementation. In Fig. 3(a), detection error mainly comes from confusing A and B, or C and D. According to this channel status, if we choose c1=1 and c2=0, then for C, its transmitted signals are s1=-1 and s2=+1, i.e. the corresponding information bits are x1=1 and x2=0. The coded bit according to equation (1) is: yC = 1 ⋅ 1 ⊕ 0 ⋅ 0 = 1 Similarly, we have yA=0, yB=0, and yD=1. Because A and B have the same coded value, we do not need to differentiate between them, i.e. when performing signal detection, we only need to decide whether the received signal belongs to the set {A, B} or the other set {C, D} because points belonging to the same set have the same coded value. Now, the minimum distance in receiver’s constellation for joint signal detection and network coding is |BC|, which is the minimum distance between the two sets {A, B} and {C, D}. This distance is much larger than pure signal detection minimum distance |AB|. In Fig. 3(b)’s channel implement, if we choose the network coding coefficients to be c1=1 and c2=1, we can get set {A, D}, whose elements have coded value 1 and {B, C} with coded value 0. This time, the joint signal detection and network coding minimum distance is |AB|, which is again larger than the pure signal detection minimum distance |BC|. When there are multiple receivers, because different receiver observes different channel status, viewing from the whole network, AiNC’s encoding vectors are randomly chosen. This means that with high probability, the destination can successfully decode the transmitted data [9]. B. Natural Network Coding Protocol (NNC) Basic components of NNC protocol are illustrated in Fig. 4. To resolve the problem of channel unreliability, source packets are encoded by rateless LT code before transmission. In the first timeslot, source nodes transmit their own LT coded packets simultaneously to downstream relays. At relay nodes, after demodulation, packets are first encoded by AiNC, and then processed by LoNC – logic layer random network coding (the reason will be explained later). In the next time slot, these relay nodes transmit network coded packets to their downstream nodes. The same operations are repeated hop by hop. At the receiver node, it still performs

2389 Authorized licensed use limited to: Xiamen University. Downloaded on June 2, 2009 at 10:09 from IEEE Xplore. Restrictions apply.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

AiNC at first to get detected data. After that, packets are passed to the NC< decoder to perform joint NC and LT decoding. When the receiver node receives enough packets, NC< decoder can decode successfully and a control signal is sent to the source (not depicted in Fig. 4) to stop its transmission. We discuss basic components of NNC separately in the following paragraphs.

Nt

P = ∑ hi si

(4)

i =1

There are 2Nt points in this constellation. Our AiNC operation can be equally expressed as classifying these points into two classes using equation (3), so that the minimum distance of these two classes is maximized. Using exhaustive search, the complexity of the problem grows exponentially with transmitter number. We find that by judiciously utilizing the symmetry of the points in the constellation, this complexity can be greatly reduced. When we get the optimal AiNC encoding vector, AiNC is performed symbol by symbol. 3) LoNC

Figure 4.

NNC’s Basic components.

1) LT Encode For the completeness of the paper, we give a short description of LT code. Please refer to [10] for detail. To perform LT encoding, source data are first partitioned into fixed size blocks, called LT-blocks. LT encoding is simply XOR of selected LT-blocks following predefined selection criteria. The most important character of LT code is that it can generate infinite number of encoded blocks and receiver can decode successfully when it receives enough LT-blocks. This feature helps NNC resolve packet loss and decoding matrix singularity. 2) AiNC At each hop, sources simultaneously transmit their own data to relay nodes. At relay node j, its received signal can be expressed as: Nt

y j [m] = ∑ hi , j si [m] + w j [m]

(2)

i =1

where si[m] is the BPSK modulated signal from source node i. Its corresponding information bit is xi[m]. hi,j is channel fading parameter between source node i and relay node j. wj[m] is AWGN. Nt is transmitter number. Our previous illustration shows that AiNC’s network encoding vector is determined by channel fading parameters. Finding the optimal encoding vector can be generalized as the following optimization problem: To find optimal network encoding vector c=(c1,c2,…,cNt), ci∈GF(2), that can provide largest joint signal detection and network coding distance in receiver’s constellation when we combine constellation points with the same network coded value (z in equation (3)) together. Nt

z = ⊕ ci xi [m] i =1

(3)

A point in receiver’s constellation can be expressed as:

A problem of AiNC is that its field size is restricted by the modulation type. In most cases, this field size is not big enough for the network coding requirement [5], which will cause some problems. Here is an example. In Fig. 1, assume that receivers in the first hop choose their AiNC encoding vectors to be (0, 1), (1, 0), (1, 1) and (0, 1). If some receiver node in the second hop selects AiNC encoding vector to be (1, 1, 1, 0). Because ⎛ 0⎞ ⎛ 0⎞ ⎛1 ⎞ ⎛1 ⎞ ⎛0⎞ (5) 1 ⋅ ⎜⎜ ⎟⎟ ⊕ 1 ⋅ ⎜⎜ ⎟⎟ ⊕ 1 ⋅ ⎜⎜ ⎟⎟ ⊕ 0 ⋅ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ⎝1 ⎠ ⎝ 0 ⎠ ⎝1 ⎠ ⎝0⎠ ⎝1 ⎠ We get all zero encoding vector, which means that we can get no information from the coded packet. To solve this problem, we introduce LoNC over GF(2m) on top of AiNC. m sequential bits are grouped together to present one element in GF(2m). LoNC multiplies AiNC coded packet by a randomly chosen coefficient in GF(2m) before transmitting to the next hop. By introducing LoNC to the above example, the encoding vector becomes: ⎛ ⎛0 ⎞ ⎛ d3 ⎞ ⎛d ⎞ ⎛ 0 ⎞ ⎞ ⎛ d 5 (d 2 + d 3 )⎞ ⎟⎟ (6) d 5 ⋅ ⎜⎜1 ⋅ ⎜⎜ ⎟⎟ + 1 ⋅ ⎜⎜ 2 ⎟⎟ + 1 ⋅ ⎜⎜ ⎟⎟ + 0 ⋅ ⎜⎜ ⎟⎟ ⎟⎟ = ⎜⎜ ⎝0 ⎠ ⎝ d 4 ⎠ ⎠ ⎝ d 5 (d1 + d 3 ) ⎠ ⎝ d3 ⎠ ⎝ ⎝ d1 ⎠ where d1, d2, d3, d4 are LoNC coefficients of the receivers in the first hop, d5 is LoNC encoding coefficient of the receiver in the second hop. We can see that by choosing proper LoNC field size, the probability that d5(d1+d3) and d5(d2+ d3) are both zero is very small. 4) NC & LT Decode At receiver node, it first performs AiNC to detect the received signals. In fact, the encoding operation of both network coding (AiNC and LoNC) and LT code are linear combination over finite field. The difference is that LT code combines LT-blocks from only one source over GF(2), while network coding combines LT-blocks from different sources over GF(2m). We can express network coding and LT coding in a unified expression of equation (7). Ci is the received packet at the destination after AiNC. X k = [ x 1k x kN LT ] is a N×NLT matrix, where N is the length of a LT-block and NLT is LT-block number, x kj represents the jth LT-block from the kth source. dk,i is 0-1 vector that indicates the position of the

2390 Authorized licensed use limited to: Xiamen University. Downloaded on June 2, 2009 at 10:09 from IEEE Xplore. Restrictions apply.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

Ns

Ns

k =1

k =1

Ci = ∑ (X k d k ,i ) ck ,i = ∑ X k (d k ,i ck ,i )

[

= X1

X Ns

]

⎡ c1,i d1,i ⎤ ⎢ ⎥ ⋅⎢ ⎥ ⎢c N ,i d N ,i ⎥ s ⎦ ⎣ s

-1

10

-2

10

-3

10

Select Decode,,Ns=2 AiNC Decode,,Ns=2 Select Decode,Ns=4 AiNC,Ns=4

(7)

5) Packet Format

Figure 5. NNC Packet format.

Necessary information for the receiver includes network encoding vector and LT code’s parameters. This information is stored orthogonally among different users to guarantee that the receiver can get it before decoding. Fig. 5 shows a packet generated by User 1. In its head part, positions for other users are reserved and filled with 0. There are two fields for each user’s head information. The first is NC head, which contains network encoding coefficients. The length of this field is determined by the field size of LoNC, i.e. it requires m bits if we use GF(2m) for LoNC. At source node, this field is always filled with: 00…01 m bits

m

which can be viewed as 1 in GF(2 ). The second field is LT head. This field contains necessary information for LT decoding. Head information is updated hop by hop to store network encoding vector. At the end of a packet, we append 16 bits CRC to check data integrity. III.

PER curve

0

10

PER

selected blocks from the kth source. Xkdk,i is the ith LT coded block from the kth source. ck,i is the network coding vector observed at the receiver. From equation (7), we can see that the received packet is just random linear combination of LTblocks from different sources. The decoding problem is reduced to solving a linear system with coefficients from GF(2m). Similar to LT decoder [10], we can use the messagepassing algorithm to decode source information.

PERFORMANCE EVALUATION

In this section, we first evaluate the performance of AiNC because NNC’s benefit primarily comes from this part. Then we evaluate NNC’s performance. A. AiNC Performance

We compare AiNC with select decoding policy (SD). In SD, receiver always decodes the signal from the link with best quality and treats other signals as interference. We use the topology in Fig. 2 for the experiment, where multiple sources simultaneously transmit data to the destination. Source number Ns is chosen to be 2 and 4. Packet length is 2kB. We assume Rayleigh channel. The fading parameter h is normalized with E[ h 2 ] = 1 . AWGN’s power spectrum

-4

10

-5

0

5

10 Eb/No

15

20

25

Figure 6. Point-to-Point Performance.

density takes the effect of path loss into account. We assume all links have the same additive noise power. Packet error rate (PER) of these two policies under different SNR is shown in Fig. 6. The result shows that when SNR is high, the gap between AiNC and SD is significant. For example, when Ns=2, AiNC can achieve about 12dB gain over SD when PER=10-2. When Ns=4, this gap becomes even larger. B. NNC Performance

We compare NNC with two reference protocols – Time sharing with ARQ (TD-ARQ) and time sharing with LT code (TD-LT). In TD-ARQ, multiple sources transmit their data in time sharing manner. Transmission is guaranteed by link level ARQ. TD-LT uses LT code to provide end-to-end transmission guarantee, and no link level ARQ is used. 1) Parameter Settings

We use the topology in Fig. 1 to test NNC’s performance. There is one receiver at the destination equipped with two antennas. We assume that transmission range is one hop and interference range is two hop, i.e. nodes can only receive from one hop neighbor but are interfered by transmission with two hops. The field size for LoNC is 24. LT-block number is 509. We can calculate that the LT header length is 28 bits. NNC header size is: N = (4 + 28) ⋅ N s / 8 = 4 N s ( Bytes) (8) When source number Ns=2, this overhead is about 0.4%. There are two parameters for LT code [10]. In our experiment, we set δ=0.5 and c=0.03. We still assume Rayleigh channel as before, and all links have the same additive noise power spectrum density. We have two evaluation metrics: effective packet number per time slot (EPPT) and packet overhead ratio (POR). If a source has M packets to transmit, due to channel fading, decoding matrix singularity and other problems, the source needs to transmit more than M packets. Assuming that the really transmitted packet number for the source is N, and the number of timeslot used is T. We have: N M EPPT = , POR = M T

2391 Authorized licensed use limited to: Xiamen University. Downloaded on June 2, 2009 at 10:09 from IEEE Xplore. Restrictions apply.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

EPPT can be seen as normalized network throughput. In Fig. 1, when there is no transmission error, for TD-ARQ and TD-LT, each packet needs three hops to arrive the destination. This means when Ns=2, the optimal EPPT of these two reference protocols is 0.33 packets per timeslot. Because NNC employs parallel transmission, it can transmit two packets within three timeslots in the ideal situation. This means that NNC’s optimal EPPT can be 0.67 packets per timeslot – two times of reference protocols. This gap becomes even larger when there are more sources. POR describes the packet overhead for each protocol. The number of transmitted packets, i.e. N, is proportional to the source node’s energy consumption. POR also indicates the overhead for energy consumption.

NNC, TD-ARQ, TD-LT Throughput NNC, Ns=2 TD-LT, Ns=2 TD-ARQ, Ns=2

0.6

0.5

EPPT

0.4

0.3

0.2

0.1

0 15

20

25

30

Eb/No

(a)

2) Simulation Results

NNC, TD-ARQ, TD-LT Overhead 4

IV.

CONCLUSION

In this paper, we proposed natural network coding protocol, which utilizes wireless channels’ natural randomness to perform distributed V-MIMO decoding and optimal physical layer network coding. NNC is a practical and effective protocol for realizing spatial multiplexing in multi-hop wireless networks. REFERENCES [1]

[2]

J. N. Laneman, D. N. C. Tse, and G. W. Wornell, “Cooperative diversity in wireless networks: efficient protocols and outage Behavior,” in IEEE Trans. Inf. Theory, vol. 50, no. 12, pp. 30623080, Dec. 2004. L. Zheng and D. N. C. Tse, “Diversity and multiplexing: a fundamental tradeoff in multiple-antenna channels,” in IEEE Trans. Inf. Theory, vol. 49, no. 5, pp. 1073-1096, May 2003.

NNC, Ns=2 TD-LT, Ns=2 TD-ARQ, Ns=2

3.5 3 2.5 POR

Fig. 7 compares the EPPT and POR performance of the three protocols under different SNR. Fig. 7(a) shows that NNC can achieve significant throughput gain compared with the other two schemes. On average, NNC can achieve about 70% throughput improvement compared with TD-ARQ and about 100% gain compared with TD-LT. We can also see from the result that NNC does not achieve its optimal EPPT due to LT code’s intrinsic character. EPPT can approach to its optimal value when the LT-block number is larger. The second reason is signal detection error, which will be improved when SNR is high. TD-ARQ achieves its upper bound because we do not contain the time used for the retransmission request in TD-ARQ. Even compared with this ideal case, NNC still outperforms TD-ARQ significantly. Fig. 7(b) shows that both NNC and TD-LT introduce about 10%~20% overhead compared with TD-ARQ. This overhead is mainly due to LT code and can be reduced by proper optimization. On the other hand, LT code can bring us other benefits. For example, we can use LT code and UDP to provide reliable transmission. Compared with TCP based approach, no ACK message per packet is needed. We can expect NNC to have much better performance compared with TD-ARQ when we consider transport layer protocol.

2 1.5 1 0.5 0 15

20

25

30

Eb/No

(b) Figure 7. NNC performance. S. Katti, S. Gollakota, and D. Katabi, “Embracing wireless interference: anology network coding,” in Proc. ACM SIGCOMM’07, Aug. 2007, Kyoto, Japan. [4] S. Zhang, S. C. Liew, and P. P. Lam, “Physical-layer network coding,” in Proc. ACM MobiCom’06, LA, California, USA, Sep. 2006. [5] S.-Y. R. Li, R. W. Weung, and N. Cai, “Linear network coding,” in IEEE Trans. Inform. Theory, vol. 49, no. 2, pp. 371-381, Feb. 2003. [6] M. K. Simon, M.-S. Alouini, Digital Communication over Fading Channels, 2nd Edition, Hoboken, New Jersey : John Wiley & Sons, 2005. [7] A. D. Coso, U. Spagnolini, and C. Ibars, “Cooperative distributed MIMO channels in wireless sensor networks,” in IEEE J. Sel. Areas Commun., vol. 25, no. 2, pp. 402-414, Feb. 2007. [8] B. Nazer and M. Gastpar, “Computing over multiple-access channels with connections to wireless network coding,” in Proc. IEEE Int. Symp. Information Theory (ISIT), Seattle, USA, June 2006. [9] P. A. Chou, Y. Wu, and K. Jain, “Practical network coding,” in Proc. 41st Allerton Conf. on Commun., Control and Computing, Oct. 2003. [10] M. Luby, “LT codes,” in Proc. 43rd Annu. IEEE Symp. Foundations of Computer Science (FOCS), pp. 271-280, Vancouver, BC, Canada, Nov. 2002. [11] D. Tse and P. Viswanath, Fundamentals of Wireless Communication, New York: Cambridge University Press, 2005. [12] C. Peng, Q. Zhang, M. Zhao, and Y. Yao, “On the performance analysis of network-coded cooperation in wireless networks,” in Proc. IEEE INFOCOM’07, pp. 1460-1468, Alaska, USA, May 2007. [3]

2392 Authorized licensed use limited to: Xiamen University. Downloaded on June 2, 2009 at 10:09 from IEEE Xplore. Restrictions apply.