1 Cooperative UWB Communication Using Range Information arXiv:1406.7756v1 [cs.IT] 30 Jun 2014 Vijaya Yajnanarayana, Rasmus Brandt, Satyam Dwivedi, Peter Händel dAB Abstract—In this work, we propose a strategy to utilize the range information to create an interference free communication through a common shared channel. The performance of this scheme is compared with non-aided methods to quantify the benefits of using the range information in the communication. Proposed methods indicate that the throughput can be increased by 60 percent for a network having random placement of 100 nodes with average distance of 10 m between them. Index Terms—Sensor networks, ultra wideband, UWB communication, cooperative communication, position dependent communication. A B dCA dBC C Fig. 1. Peer to peer ad-hoc sensor network with 3 nodes. dAB , dBC and dCA are the path lengths between nodes A, B and C. I. I NTRODUCTION Cooperative communication in resource constrained networks like many wireless sensor networks (WSN) is gaining popularity. Recently, cooperative scheduling across UWB network has been discussed for positioning applications [1], [2]. Methods to improve communication rate and reduce interference with the help of shared range information through cooperation is the topic of this paper. The proposed method can be implemented in centralized or distributed fashion. In networks, there are many situations where every node need to transmit a message packet to every other node through a shared broadcast channel. For example, in [3], [4] firefighters share their position continuously through point to multi-point communication where every firefighter broadcast their position to all other firefighters. This enables every firefighter to know where other firefighers are located. This kind of communication is also used in reporting health of the sensor node to all other nodes in WSN as described in [5]. Another application for this is in structural health monitoring using smart sensors as discussed in [6]. In this paper we have proposed a methodology to utilize range information to aid communication in similar communication scenarios. We use IR-UWB signals to demonstrate the proposed techniques. Certain properties of IRUWB technology, such as, precise range measurement and fine time resolution makes it a good candidate for the design methodology considered in subsequent sections [7]. However, techniques proposed in this paper can be extended to different communication scenarios and other protocol technologies used in WSN. II. S YSTEM M ODEL We consider 3 peer-to-peer line of sight (LOS) UWB wireless sensor nodes which are connected to each other as shown in the Fig. 1. A train of 10 UWB pulses are used as message packets to be transmitted by each sensor. Concepts proposed in this paper can be extended to modulated UWB pulses as well. For example, message information can be embedded by time-hopping or by altering the phase/amplitude of pulse train without any change in the proposed methods [8]. The message packet is said to be correctly received if these packets does not interfere, ie., there is no collision of packets at the received node. We assume that all the sensor clocks are synchronized to same master clock. This can be accomplished using a message passing techniques proposed in timing-sync (TSYNC) or reference broadcast synchronization (RBS) protocols [9], [10]. Time synchronization is done in commercial UWB systems like Ubisense by connecting master nodes with Ethernet cables [11]. Network synchronization ensures that all the nodes have a same time scale in the network, which is essential for the proposed technique to work. III. O RTHOGONALIZATION WITH TRANSMISSION . SCHEDULED In a network of N nodes, if we assume that the K = N2 range values are available, one approach to orthogonalize the transmission is by creating a schedule where one message packet (UWB pulse burst) is transmitted by a chosen node in the duration of TD sec, where TD given by TD = D , c (1) where D is the maximum of the K range values. All nodes are synchronized as described in Section II and in every TD seconds one node will transmit. For the 3-node topology of Fig. 1, TD is given by TD = dBC max(dAB , dBC , dCA ) = , c c (2) where c is the speed of light, dAB , dBC , and dCA denote the distances between nodes. We define one report cycle, TR , as the total duration required for the all the nodes in the sensor network to transmit one message packet to all other nodes. 2 Parameter dAB dBC dCA τ With this approach, one report cycle is given by TR = N TD (3) In UWB sensor networks, the flight time for the pulses to reach other nodes is much larger compared to the duration of the pulses themselves. We can reduce TR of network by exploiting this fact. Consider a UWB sensor network in which the path difference between any two nodes is greater than the UWB pulse train width τ . Then, concurrent transmissions will result in pulses arriving at different times at each node and hence all transmissions are orthogonal. For example, consider the 3 node network shown in Fig. 1. If |dAB − dCA | ≥ cτ , then the pulses transmitted simultaneously at B and C will arrive at A at different times and hence A can correctly receive them. Similarly |dAB − dBC | ≥ cτ and |dAC − dBC | ≥ cτ will ensure correct message packet reception at B and C nodes respectively. Thus all the three nodes can concurrently transmit, and the report cycle can be completed in TD seconds where TD is given by (2). In general, for a N node network to ensure concurrent orthogonal transmissions, network should follow the condition |di,j − di,k | ≥ cτ ∀ i, j, k ∈ [1, 2...N ] | j, k 6= i and j 6= k, (4) where i, j and k denote the distinct nodes in the network and di,j and di,k denotes the distance between the ith node with j and k nodes. If the condition (4) is met then all the nodes can concurrently transmit pulses, yet at each receive node packets arrive at different times and will not interfere. Thus, the report cycle TR is equal to the maximum path delay TD in the network instead of N TD for scheduled transmission as discussed before. However, the assumption that nodes are arranged in a way that (4) is met is not always true, especially, if the nodes are mobile. A methodology for reducing the TR under this condition is discussed in next section. IV. P ROBLEM F ORMULATION AND S IMULATION R ESULTS When network having N nodes does not meet condition (4), we can reduce TR by introducing delay ∆i to each node i ∈ [1...N ]. The ∆i s are adjusted such that at every node, the message packets arrive at different times. The ∆i can be obtained by solving the following optimization problem. minimize max (∆1 , ∆2 , . . . , ∆N ) {∆i } subject to (5) J = J1 + J2 + ... + JN = 0, where di,j di,k Π pj t − − ∆j pk t − − ∆k dt j,k c c ∀ i, j, k ∈ [1, 2...N ] | j, k 6= i and j 6= k. Ji = Z Here p(t) is the UWB pulse train denoting the message packet. The solution for the optimization problem (5) is demonstrated using the configuration defined in Table I. To illustrate the method, we use a train of 10 UWB pulses as a message packet. In Table I, the path differences between nodes Value 9.5 m 11 m 10.5 m 10 ns TABLE I 3- NODE CONFIGURATION FOR TOPOLOGY IN F IG . 1. M ESSAGE PACKET LENGTH OF τ CONSTITUTES 10 UWB PULSES . do not meet the constraint defined in (4). That is, if all the nodes transmit simultaneously they will interfere with each other. For example, if at time t = 0, all the nodes A, B and C concurrently transmit a UWB pulse train then the received pulse at A, B and C are shown in the Fig. 2a. To accomplish the short report cycle without interference, the optimization (5) is solved using the grid search method. In this method we set ∆A = 0, assuming that all the nodes are synchronized to node A, J is computed by varying ∆B and ∆C over the interval [0, TD ], where TD is given by (2). The solution for the optimization problem using the grid search method yields ∆B = 8.4 ns and ∆C = 15 ns. With this delay introduced in B and C, the pulses are not interfering as shown in Fig. 2b. Using the grid search method to solve (5) is costly, as the algorithm complexity, O(M N ), exponentially increases with the number of nodes in the network. Here M indicates the quantization of ∆i s. Optimization of (4) cannot be posed as a convex problem directly since the equality constraint is not affine. However, this can be reformulated as a convex optimization, under some assumptions. Consider the arrival of messages at node i from node j and k as shown in Fig. 3. We can treat the arrived pulses as boxes of width τ , and thus the pulses will not interfere if the corresponding boxes do not overlap. If we have predetermined the order of which the pulses should arrive at a particular node, we can enforce that the corresponding boxes do not overlap using a simple linear inequality. For example, in Fig. 3, this would be ∆ij + ∆j + τ ≤ ∆ik + ∆k . Thus, we have isolated the non-convexity of the optimization problem into selecting the order in which the pulses should arrive at the different nodes. Let αijk = 1 denote whether the pulse from node j to node i should arrive before the pulse from node k to node i, and αijk = 0 denote the reverse case. Then we can formulate the following convex optimization problem: minimize max (∆1 , ∆2 , . . . ∆N ) {∆i } subject to If αijk = 1:∆ij + ∆j + τ ≤ ∆ik + ∆k , If αijk = 0:∆ik + ∆k + τ ≤ ∆ij + ∆j , ∆i ≥ 0, ∀ i, j, k ∈ [1, 2...N ] , j, k 6= i and j 6= k. (6) This is a convex optimization problem, as the objective function is convex, and all the inequality constraints are convex. Using CVX [12] to solve this for the configuration defined in Table I, the arrived optimal delays are ∆A = 0, ∆B = 8.333 ns and ∆C = 15 ns. Within the grid search tolerance, this is the same solution as from the grid search. 3 Messages from B and C received at A Messages from B and C interfere at A Message packets received at A Message from B Message from C 0.1 0.05 0 0 −0.05 −0.05 −0.1 Message packets received at A Message from B Message from C 0.1 0.05 −0.1 0 10 20 30 40 50 60 70 80 90 100 0 10 Amplitude Amplitude Messages from A and C interfere at B Message packets received at B Message from A Message from C 0.2 0.15 0.1 0.05 0 −0.05 −0.1 10 20 30 40 50 60 70 80 90 100 0 10 −0.1 30 40 50 60 70 80 20 30 40 50 60 70 90 100 80 90 100 90 Message packets received at C Message from A Message from B 0.1 0 20 80 Message packets received at B Message from A Message from C 0.05 −0.05 10 70 Messages from A and B received at C 0 0 60 0 −0.05 −0.1 50 −0.05 Message Packets received at C Message from A Message from B 0.05 40 0.1 Messages from A and B interfere at C 0.1 30 0.05 −0.1 0 20 Messages from A and C received at B 100 0 10 20 30 40 50 60 70 80 90 100 Time in ns Time in ns (a) Interfering message packets due to concurrent transmission. (b) Arrival of packets without interference at A, B and C nodes after introducing a delay of ∆B = 8.4 ns and ∆C = 15 ns in B and C nodes. respectively. Fig. 2. Concurrent transmission on shared broadcast channel will result in Interference as shown in (a). If we solve the optimization problem defined in (5) then the interference can be mitigated as shown in (b). Message (a) (b) dA τ = 9. B 5 B d AB dAC ∆i,k + ∆k A = 10 dBC .5 C d∆CA = 2 C = 11 C d∆CA = 2 C t ∆i,k + ∆k + τ ∆i,j + ∆j + τ (d) (c) = 10 C .5 1 D∆ A = 0 A 1 D∆ B = d∆BC = 2.5 dA Fig. 3. 5 B A ∆i,j + ∆j = 9. Messages from j and k arriving at i C dBC 1 D∆ C = d∆CA = 2 = 11 B d∆BC = 2.5 The following selection rule was used: αijk = 1 if ∆ij ≤ ∆ik . Even though the formulated problem is convex, the problem still remains of selecting the αijk . For the N -node scenario, this is in itself a combinatorial optimization problem. Instead, we propose an alternative where we adjust the path difference between nodes di,j and di,k to satisfy (4) in an iterative way. Adjusting the path difference is same as introducing delays at nodes j and k, so that the pulses from j and k do not interfere at node i. The algorithm is described below in steps followed by an example of a 3-node network scenario defined in Table I. 1 For a topology having N nodes, labeled [1....N ], select node i, i ∈ [1...N ], add additional path lengths d∆ji and d∆ki , ∀j, k ∈ [1...N ], j, k 6= i to nodes j and k to satisfy (4). 2 Repeat Step 1, by selecting one by one all nodes [1...N ] in the network. Each time carry over additional path lengths added di,j + d∆ji and di,k + d∆ki . Total path length at the end of iteration n is given by X n−1 n (7) d∆ij . D∆i = D∆i + j B Fig. 4. Iteration 1 for 3-node network shown in Fig. 1 with configuration defined in Table I. 3 Repeat Step 1 and Step 2 until additional path lengths for each nodes do not change across iteration, that is following condition holds for all i ∈ [1...N ]. n−1 n D∆i = D∆i (8) This indicates that the (4) is met for all nodes simultaneously. The proposed method is illustrated with the 3-node network shown in Fig. 1 with configuration defined in Table I. Figure 4 (a) shows that the addition of additional path length of 2 = (3 − (dAC − dAB )) is required at node C to meet the constraints in (4) so that pulses from B and C do not collide at A. Similarly Fig. 4 (b) and Fig. 4 (c) adds additional path lengths to the previous topology to avoid collisions at nodes B and C respectively. At the end of the 1st iteration the total path length for each of the nodes are given in Fig. 4 (d). 4 (a) (b) B = 9.5 B dA B 1 D∆ B = 2.5 d AB A dAC = 9.5 A = 11 C B = 10 .5 C 1 D∆ C = 2 dBC C d∆CA = 2.5 (c) C 1 D∆ C = 2 C d∆CA = 2.5 C (d) = 10 C .5 2 D∆ A = 0 A dA 2 1 D∆ B = D∆B = 2.5 C dBC = 11 1 2 D∆ C = D∆C + d∆CA = 4.5 B 1 D∆ B = 2.5 B Fig. 5. Iteration 2 for 3-node network shown in Fig. 1 with configuration defined in Table I. 100. The topology consisted of random placement 100 sensor nodes in a two dimensional plane with average distance of 10 m. For grid search method, algorithmic complexity for solving (5) increases exponentially, O(M N ), as the number of nodes N increases. Due to the computing resource constraints for large N , grid search method cannot be practically solved. However, the earlier discussed methods, convex relaxation of (5) to (6) and proposed iterative algorithm can be solved. For N = 100, convex method with allocation strategy αijk = 1 : if j < k, and the proposed iterative method, on an average results in the reduction of report cycle by 60%. VI. C ONCLUSION The Second iteration is illustrated in Fig. 5. Notice that we carried the new topology with added path lengths from previ1 1 1 ous iteration (D∆A , D∆B D∆C ) to iteration 2 and at the end of 2 2 2 iteration 2 , total path lengths added are (D∆A , D∆B , D∆C )= (0, 2.5, 4.5). Now the iteration is stopped as it meets the conditions defined in Step 3. Translating the path lengths into path delays by dividing by speed of light c results in (∆A , ∆B , ∆C ) ≈ (0, 8.3 ns, 15 ns). This is same result from the grid search and convex methods. The proposed algorithm requires far less computation compared to grid search method. Also note that the proposed solution does not always solve (5), however for most practical purposes the results are fairly close to solution of (5) as long as added path lengths are diversified uniformly across all the nodes. The performance of the proposed methods for large network topology is discussed in the next section. V. R ESULTS In the beginning of Section III, we mentioned that we can orthogonalize the message packets by allowing only one packet to be transmitted for maximum path delay in the network. For the configuration in Table I the report cycle TR can be computed as below. TD = TR = max(dAB , dBC , dCA ) = 36.66 ns c N · TD = 3 · 36.66 = 110 ns (9) (10) However, if the path difference in the network topology satisfy (4) then all the nodes can concurrently transmit, thus one report cycle can be completed in time duration equal to maximum path delay in the network, that is 36.66 ns. More often (4) is not met, under these circumstances, we can minimize the time required by solving (5). We also modified the problem so that it can be cast as an convex optimization problem and solved it using Matlab with convex solver CVX. For the configuration in Table I, we showed that, (∆A = 0 ns, ∆B = 8.33 ns, ∆C = 15 ns) solves (6), therefore as per the solution, B will transmit last after a delay of 15 ns and complete the report cycle. So one report cycle for the configuration in Table I is TR = TD + 15 ns = 36.66 + 15 = 51.66 ns (11) Notice the report cycle is reduced from 110 ns to 51.66 ns. The algorithms was used for a practical example with N = In this paper, we proposed a methodology utilizing the range information to aid communication between sensor nodes in peer-to peer network. An optimization problem is formulated. Solution of the optimization problem is found which results in reduction in report cycle compared to conservative way of sending one message packet for a duration of maximum path delay in network. We have proposed practical algorithms which have less complexity compared to grid search. R EFERENCES [1] S. Dwivedi, D. Zachariah, A. De Angelis, and P. Händel, “Cooperative decentralized localization using scheduled wireless transmissions,” Communications Letters, IEEE, vol. 17, no. 6, pp. 1240–1243, June 2013. [2] G.E. Garcia, L.S. Muppirisetty, and H. Wymeersch, “On the tradeoff between accuracy and delay in uwb navigation,” Communications Letters, IEEE, vol. 17, no. 1, pp. 39–42, January 2013. [3] Isaac Skog John-Olof Nilsson, Dave Zachariah and Peter Händel, “Cooperative localization by dual foot-mounted inertial sensors and interagent ranging,” EURASIP Journal on Advances in Signal Processing 2013, vol. December 2013, pp. 164, 2013. [4] J. Rantakokko, J. Rydell, P. Stromback, P. Händel, J. Callmer, D. Tornqvist, F. Gustafsson, M. Jobs, and M. Gruden, “Accurate and reliable soldier and first responder indoor positioning: multisensor systems and cooperative localization,” Wireless Communications, IEEE, vol. 18, no. 2, pp. 10–18, April 2011. [5] A. Bharathidasan and V. Anand, “Sensor networks: An overview,” Tech. Rep., Dept. of Computer Science, University of California at Davis, 2002. [6] T. Nagayama and B.F. Spencer Jr., “Structural health monitoring using smart sensors,” Tech. Rep., NSEL Report, Series 001, 2007, [online] Available : http://hdl.handle.net/2142/3521. [7] A. De Angelis, S. Dwivedi, and P. Händel, “Characterization of a Flexible UWB Sensor for Indoor Localization,” Instrumentation and Measurement, IEEE Transactions on, vol. 62, no. 5, pp. 905–913, 2013. [8] M.Z. Win and R.A. Scholtz, “Impulse radio: how it works,” Communications Letters, IEEE, vol. 2, no. 2, pp. 36 –38, feb. 1998. [9] Saurabh Ganeriwal, Ram Kumar, and Mani B. Srivastava, “Timing-sync protocol for sensor networks,” in Proceedings of the 1st International Conference on Embedded Networked Sensor Systems, New York, NY, USA, 2003, SenSys ’03, pp. 138–149, ACM. [10] Jeremy Elson, Lewis Girod, and Deborah Estrin, “Fine-grained network time synchronization using reference broadcasts,” SIGOPS Oper. Syst. Rev., vol. 36, no. SI, pp. 147–163, Dec. 2002. [11] “Ubisense Company,” http://www.ubisense.net/. [12] Michael Grant and Stephen Boyd, “CVX: Matlab software for disciplined convex programming, version 2.0 beta,” Sept. 2013.