A Beacon Selection Algorithm for Bounded Error ...

0 downloads 0 Views 131KB Size Report
A Beacon Selection Algorithm for Bounded. Error Location Estimation in Ad hoc Networks. Koushik Sinha. Honeywell Technology Solutions Lab.
A Beacon Selection Algorithm for Bounded Error Location Estimation in Ad hoc Networks Koushik Sinha Honeywell Technology Solutions Lab 151/1 Bannerghatta Road Bangalore, India 560076 Email: sinha [email protected]

Atish Datta Chowdhury Honeywell Technology Solutions Lab 151/1 Bannerghatta Road Bangalore, India 560076 Email: [email protected]

Abstract

oped by Microsoft that does not use GPS. It used a building signal characteristic model for location estimation. The Global Positioning System (GPS) [8] is perhaps the most widely publicized location-sensing system. Unfortunately, GPS does not scale well in dense urban areas or in indoor locations. Modeling of the radio propagation environment helps in providing a more accurate location estimate by mitigating the effect of NLOS errors. While reasonably accurate radio propagation models exist for outdoor conditions [10], unfortunately there are no such unanimously accepted models for indoor environments. Several authors have, however, attempted to mitigate the effect of NLOS errors [3–6]. [2] presents a location region estimation algorithm that does not assume any radio propagation model and determines the least size guaranteed region of residence of a node in an ad hoc network rather than a point location estimation.

We consider the class of ad hoc networks, where a small percentage of the nodes are assumed to know their locations a priori and are denoted as reference nodes. Starting from the reference nodes, location information of other nodes are estimated in a hop by hop fashion. Beacon nodes are defined to be nodes that already have a location information (including the reference nodes). Using a two-dimensional cartesian coordinate system, we show that given a maximum of ±² error in the location of each of the beacon nodes and a maximum error of ±δ in each of the measured ranges along either axes, the location of a√node can be computed within an error bound of ±[3²(1 + √2) + 2δ] to ±(3² + 2δ) along one axis and within ±[2δ(1+ 2)+3²] to ±(3²+2δ) along its orthogonal axis, by using the beacon selection algorithm proposed in this paper.

We propose in this work an intelligent beacon selection algorithm for computing the location of a node in an ad hoc network. We start with a small percentage of nodes known as reference nodes which are assumed to know their locations with high precision. Starting from these reference nodes, location of other nodes are successively computed. A beacon node is defined as a reference node or a node whose location has been computed with the help of location information of its neighbors. We assume the presence of error in the advertised locations of all beacon nodes, including the reference nodes. ±² denotes the maximum possible error along either axes in the advertised co-ordinates of a beacon node. ±δ is the maximum possible error along either axes in a measured range between a node and a beacon. The proposed algorithm chooses the beacons in such a way that the error in the computed location of a node is √ 2δ] to ±(3² + 2δ) along within a bound of ±[3²(1 + 2) + √ the x-axis and within ±[2δ(1 + 2) + 3²] to ±(3² + 2δ) along the y-axis. We also derive a general expression for computing the bounds on the error that can be introduced

1 Introduction Most location estimation systems in mobile and ad hoc networks utilize the fundamental method of using trilateration and triangulation of received signals to obtain an estimate of the receiver’s position. An LOS path or direct path, is the straight line connecting the transmitter and the receiver. Non line of sight or NLOS signals occur due to multi-path conditions in which the received signals come from either reflected, diffracted or scattered paths, thus introducing excess path lengths in the actual euclidian distance between the transmitter and the receiver. The NLOS error is defined to be the excess distance traversed compared to the direct path and is always positive. The corruption of LOS signals by NLOS signals and Gaussian measurement noise are the major sources of error in all location estimation systems, the former being the dominant factor. RADAR [7] was a building-wide tracking system devel1

Transmitted Pulse T

in the computed location of a node and the conditions that must be met in selecting the beacon nodes in order to keep the error in the computed location of a node within these bounds. To the best of our knowledge, none of the existing works give an expression for the bound on the error in a computed location caused by errors in the advertised positions of the beacon nodes themselves and in the measured ranges. The rest of the paper is arranged as follows : section 2 describes the system model followed by the preliminaries in section 3. Section 4 deals with the estimation of location error, while the beacon selection algorithm is described in section 5. Section 6 is the conclusion.

∆ 

s(t)

h(t)

p(t)

Delay Channel

φ *(−t) Matched Filter

b*k

 

t = kT

0

Threshold Detector

Figure 1. Delay Channel and Receiver Design

3 Preliminaries Our model assumes that errors may be present in the advertised co-ordinates of a beacon node (including reference nodes) as well as in a measured range between two nodes. We note that a number of existing location sensing technologies provide the accuracy of their location determination process. This value can be used as the ² error in the advertised coordinates of the reference nodes. For example, GPS, by far the most widely known location sensing technology has an accuracy of 1 to 5 meters in outdoor environments for 95-99% of the time [8]. Microsoft Radar [7] claims an accuracy of 3-4.3m, while PinPoint 3D-iD [12] and WhereNet [8] have a location accuracy of 1-3m. The Cricket system [11] has an accuracy of 4x4 feet regions nearly 100% of the time. Based on the application scenario, we can thus set the value of ² for the reference nodes.

2 System Model We model an ad hoc network scenario as a graph G = (V, E) consisting of n nodes, V being the set of all nodes, |V | = n and E being the set of edges in the graph G. The nodes may be either stationary or mobile. All communication links are assumed to be bi-directional. We say node v is a neighbor of u, if they are within each other’s hearing zone. The neighborhood, N (i), of a node i consists of all nodes that are within its transmission range. A small percentage of the nodes are assumed to know their individual locations with high precision, either through GPS or some other means. These nodes serve as the reference nodes (RN) in the network. Initially, nodes other than the RNs do not possess any knowledge of their location. We define a beacon node as a node that is used in computing the unknown location of a node. A beacon node may be a reference node or a node whose location has been computed with the help of location information of its neighboring beacons. Considering thermal noise at the receiver, NLOS errors and channel characteristics, the measured range between two nodes u and v can be expressed as, ruv = duv + ηuv + cτuv

Received Pulse T

In order to determine a ±δ bound on range measurement errors, we assume NLOS error to be the major contributor for errors in measured ranges. To analyze the amount of tolerable NLOS error, consider a delay channel and a receiver circuit as shown in figure 1. We consider a receiver circuit consisting of a matched filter [13] and a threshold detector. We state the following result.

(1)

Lemma 1. For a delay channel, in order to estimate a transmitted signal correctly at the receiver in the presence of NLOS errors, the time-shift in the received pulse introduced by the NLOS component must be less than the time period of the pulse.

where duv represents the unknown Euclidian distance between u and v. ηuv completely models the combined additive effects of thermal receiver noise, signal bandwidth and signal-to-noise ratio. ηuv has been shown to be a zeromean normal random variable and hence can be either measured or pre-computed. We assume ηuv to be always additive. cτuv represents the NLOS distance error and is the dominant error contributor, c being the speed of light in air. We assume that besides the ranges measured for location computation, the advertised locations of the reference nodes (and the beacon nodes, in general) are erroneous within certain known bounds. The advertised co-ordinates of a reference node may have ±² error along both x-axis and y-axis. The error in a measured range can be erroneous by ±δ along both the axes.

We omit the proof of lemma 1 due to lack of space. Lemma 1 provides a measure of ±δ bound along both coordinate axes on the error in ranging. Typically a pulse width is of the order of 1 nanosecond for UWB-based networks, which is equivalent to 0.3m of distance covered by a radio wave. Similarly for the proposed 802.11n standard (with an estimated data rate between 200 to 540 Mbps), the pulse width would be between 5ns to 1.85ns, which translates to 1.5m to 0.555m for cτuv in equation 1. 2

4 Estimation of Location Error We assume that the location of a node u is obtained through triangulation technique, using its neighboring beacons whose locations are already known. The error in the estimated position of node u can arise due to two reasons,

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

















 

 

 

 

 

 

 

 

 

 

 

 

 

 















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

















 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

















 

B

T

 

 

 

 

 

r  

1  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

























 

 

 

 

 

 

 

 

 

 

 

 

   

   

   

   

   

   

   

   

   

   

   

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 





 





 

 

 



   

   

   



 

 

 



 

 

d

 



















2















r 





































 



 



 



 



 



 



 



1



 

 























d1



S















B2

d2

1. Uncertainties in the locations of the beacon nodes used for triangulating the location of node u. 2. Errors in ranging, NLOS errors being the dominant factor. Figure 2. Location estimation using two beacon nodes

4.1 Error due to Ambiguity in Node Co-ordinates We first consider the case when the position of the beacon nodes are not known accurately. For this, let us consider two beacon nodes B1 and B2 as in figure 2, with corresponding estimated ranges as r1 and r2 , respectively. Let T represent the computed position of node u. Let S be the foot of the normal drawn from T to the line joining B1 and B2 , with d1 and d2 being the distances of S from B1 and B2 respectively. Let d = d1 + d2 . Then q the co-ordinates

B’2 ε B1

B2

B’1

Figure 3. Location estimation when error in position of beacon nodes

q

³ 2² ´ +² r1 2 − d1 2 · d ³ 2² ´ |y − y 0 | = d1 · +² d

  

|x − x0 | =

that the above coordinate values (d1 , r12 − d21 ) of T are now referred with respect to some new origin B10 and some rotated x-axis B10 B20 as shown in the figure below, where B10 and B20 are points within the circles of radius around ² B1 and B2 respectively. We denote the coordinate values 0 0 of T with q respect to these new coordinate system as (x , y )

≤ 3²

 

(3)

From equation 3 we conclude that if we start with an uncertainty of ±² in the positions of the individual beacon nodes, this uncertainty can contribute to a maximum error of 3² in the evaluated position of node u along the axis normal to the line joining B1 B2 . However, no such bound can be given for the error in the coordinate value along the line B1 B2 . In order to come up with a bounded estimate of the error introduced in the computation of an unknown node’s coordinates, we consider three beacon nodes instead of two. In figure 4, the point T depicts one of the two possible positions of the node u using B1 and B2 as beacon nodes and assuming no error either in the co-ordinates of the beacon nodes or in the measured ranges. Now from equation 3, an error of ±² in the positional estimates of the two beacon nodes, generates an error of ±3² in the y-coordinate estimate of the unknown node. Hence with respect to the line B1 B2 , we imagine a strip of width 6² placed parallel to B1 B2 such that point T is at a distance of 3² from each of the two bounding lines of the strip. Similarly, with respect to another beacon node B3 , we place another strip of width

= (d1 , r12 − d21 ). The line B10 B20 can make an angle of α ≤ 2² d with B1 B2 . We can convert these coordinate values to (x, y) with respect to B1 and B2 as follows, ) x = x0 cos α − y 0 sin α ± ² (2) y = x0 sin α + y 0 cos α ∓ ² 2² d

α

ε

of S are (d1 , 0) and that of T are (d1 , r12 − d21 ) with respect to the origin at B1 (0, 0) and considering the x-axis along B1 B2 . Now, if there is some error in the positional estimates of the beacon nodes themselves, then each of B1 and B2 can be taken anywhere within a circle of radius ² with B1 and B2 as centers, as shown in figure 3 (note that B1 and B2 are assumed to be the actual positions of the beacon nodes), where ±² is the upper bound on the error in the coordinates of a beacon node. This q effectively means

Since, in most cases have from equation 2,

S

would be a small quantity, we

(x, y) ≈ (x0 − y 0 α ± ², x0 α + y 0 ∓ ²) From above, for the coordinates of T with respect to rotated x-axis formed by the line joining B1 and B2 , the error introduced in the computed position of node u is given by, 3

B3

B3

6ε N

6ε/ sin θ

 

 





B

 

 

4δ/ sin θ

O

 

 



6ε/ sin θ

A







T



θ B1

 

 



M

P

S

D



B1

B2

S

B2

d1

d2

Figure 5. Contribution by ranging error when using 3 beacon nodes

6² parallel to the line B1 B3 and having the point T at a distance of 3² from each of the two bounding lines of the strip. The actual position of T can thus always be found within the rhombus M N OP , as shown in figure 4. The length of the 6² side of this rhombus is sin θ , where θ is the angle between the lines B1 B2 and B√1 B3 . Thus, the side of this rhombus will be bounded to 6 2² or less if 45 ≤ θ ≤ 90 degrees, and within 12² if 30 ≤ θ < 45 degrees. Hence, we have the following lemma :

2δ(r1 + r2 ) 2d 2δ · 2d , since r1 ≤ d and r2 ≤ d ≤ 2d = 2δ (4) p The modified value of r12 − d21 is now, |d01 − d1 | ≤

q

q

Lemma 2. For an error of ±² in the x and y co-ordinates of each of the beacon nodes, the location of an unknown node 6² can be bounded to inside a rhombus of side sin θ using three beacon nodes (say B1 , B2 and B3 ), where without any loss of generality, θ is the angle between the lines B1 B2 and B1 B3 .

r10 2



d01 2

=

r1 2 − d1 2 ± 2δr1 ± 4δd1 ,

(neglecting O(δ 2 ) terms)

Thus, the error along the y-axis (along line T S in figure 2) is,

4.2 Contribution by Range Estimation Error

¯q ¯ q ¯ ¯ + 2d1 ) ¯ r0 2 − d0 2 − r1 2 − d1 2 ¯ ≤ 2δ(r p1 1 ¯ 1 ¯ 2 r1 − d21

Next, we consider the case when there is only a maximum error of ±δ in the individual range estimates (due to NLOS errors and gaussian noise). Again, δ is typically assumed to be quite small compared to d, r1 or r2 . We assume that the beacon node co-ordinates used are error-free. That is, we start with B1 and B2 as the actual coordinates of the beacon nodes but with a range error of δ, so that the measured ranges from B1 and B2 are now r10 and r20 respectively, where r10 = r1 ± δ , and r20 = r2 ± δ. Hence, the modified value for d1 is given by, d2 + r12 − r22 ± 2δr1 ± 2δr2 , 2d

4δ/ sin θ

 

θ

Figure 4. BS location error estimation when using 3 beacon nodes

d01 =

T  



 

C







(5)

Thus, from equations 4 and 5, the error in the coordinate value of u along the line B1 B2 joining the two beacon nodes is upper bounded by 2δ, for a maximum error of ±δ in each measured range. However, the error in the coordinate value normal to the line B1 B2 caused by ±δ error in each measured range, is a function of the distances between the beacon nodes and between u and the beacon nodes and hence can not be bounded. In order to bound the error in a computed location caused by ranging errors, we once again consider three beacon nodes instead of two, exactly the same way as in the case of ±² error in the positional estimates of the beacon nodes. Figure 5 depicts how we use three beacon nodes to compute a bound on the estimates of the co-ordinates of the unknown node u, assuming an error of ±δ in the measured ranges. We then have the following lemma :

(neglecting O(δ 2 ) terms)

Note that the distance d between the two beacon nodes, B1 and B2 is assumed to be constant in the above expression for d01 . Hence, the error resulting in the computed position of u along the x-axis (i.e., the line joining B1 and B2 ) is,

Lemma 3. For an error of ±δ in the measured ranges with each of the beacon nodes, the location of an unknown node 4

B3

NB

Figure 6 shows the Minkowski’s sum of the two rhom6² 4δ buses of sides sin θ and sin θ respectively. The labels of the vertices of the polygon of figure 6 represent the respective vertices of the original rhombuses of figures 4 and 5 from which they are formed. For example, the edge M A − M B is formed from the vertex M of M N OP and the vertices A and B of rhombus ABCD.

OB

OC

MB

4δ/ sin θ

T 



MA

OD 6ε/ sin θ

θ B1

MD

PD

S

Lemma 5. Assuming an error of ±² in the co-ordinates of the beacon nodes and an error of ±δ in the measured ranges, the error in the location of an unknown node due to the combined effect of these two errors is h 3²(1 + cos θ) i bounded by ± + 2δ along the x-axis and h 2δ(1 + cos θ) sini θ ± + 3² along the y-axis. sin θ

B2

Figure 6. Minkowski’s sum of the 2 errors 4δ can be bounded to inside a rhombus of side sin θ using three beacon nodes (say B1 , B2 and B3 ), where without any loss of generality, θ is the angle between the lines B1 B2 and B1 B3 .

Proof. Proof omitted due to lack of space.

4.3 Combined Error Estimation

Corollary 1. For π4 ≤ θ ≤ π2 , the error induced on the estimated location √ of an unknown node i will be bounded within ±[3²(1 + 2) + √2δ] to ±(3² + 2δ) along the x-axis and within ±[2δ(1 + 2) + 3²] to ±(3² + 2δ) along the y-axis.

Finally, considering the general case when there exists a maximum possible error of ±² in the advertised coordinates of the beacon nodes and also a possible error up to ±δ in the measured range estimates, we have the following lemma :

5 Beacon Nodes Selection Algorithm

Lemma 4. If both the errors in the co-ordinates of the beacon nodes and the measured ranges occur simultaneously, then a bounded estimate of the combined effect of the two errors can be obtained by considering the Minkowski’s sum [9] of the two rhombuses formed as stated in lemmas 2 and 3.

Our proposed algorithm determines a set of beacon nodes from the neighbor set, N (i), of a node i that can be used to compute the location of i. We define a pivot beacon as a beacon node with respect to which the angle θ is measured. Thus, in figures 5 to 6, node B1 is the pivot beacon. The algorithm first constructs all possible 3-tuple combinations of the beacon nodes from the neighbor set of a node whose location is to be computed. For each such 3-tuple, each of the nodes of the tuple is considered one at a time as the pivot beacon and the angle θ subtended at it by the other two beacon nodes is computed. In the procedure SELECTBEACONS, T upleSetji denotes the j th tuple constructed from the set N (i) of a node i while T upleSetji (k) denotes the k th element of the j th tuple of node i. If for any pivot of a tuple, π4 ≤ θ ≤ π2 , then the given tuple is copied to the output set and the process is repeated for the next tuple. The first node of an output 3-tuple is assumed to be the pivot beacon for that tuple and the remaining two nodes are the other beacons. Constructing all possible 3-tuple combinations of the beacon nodes from the neighborhood set of a node i requires O(m3 ) time, where m = |N (i)| (line 6 of the procedure SELECTBEACONS). Also, the statements ¡inside ¢ the nested loop in the procedure may be executed 3 m 3 times in the worst case. Procedure SELECTBEACONS thus has a time complexity of O(m3 ).

Proof. The combined effect of the two errors occurring simultaneously can be envisioned as follows : Suppose we are trying to compute the co-ordinates of a node u. First obtain the rhombus M N OP (figure 4) due to the error of ±² in the location of each of the beacon nodes. The rhombus would represent the location where node u must be found, assuming the measured ranges are errorfree. In other words, any point inside and on the edges of the rhombus is potentially a location of node u. Let point X denote the location of u. Now, if the measured ranges were also erroneous by ±δ, then we can think of a 4δ rhombus ABCD of side sin θ (figure 5) placed such that X lies at the point of intersection of the two diagonals of ABCD and the rhombus ABCD is aligned to the cartesian axes as in figure 5. Since, point X can be anywhere on the rhombus M N OP , the region where node u is guaranteed to lie in the presence of both the errors, is given by the boundary of the polygon formed by placing the rhombus ABCD at all points on the rhombus M N OP , which is nothing but the minkowski’s sum of the rhombus M N OP and ABCD. 5

1: procedure S ELECT B EACONS(i, N (i), P osSet(i)) 2: /* The algorithm finds the set of 3-tuples (beacons) from the neighbor set of a node i that satisfy the condition of corollary 1 */ 3: /* P osSet(i) = {p(j) : ∀j ² N (i), p(j) = co-ordinates of node j} */ 4: BSSet ← ∅; . Output set of chosen 3-tuples 5: m ← |N (i)|; . Cardinality of N (i) 6: T upleSeti ← all possible 3-tuple combinations from set N (i);  7: p ← |T upleSeti |; . Cardinality of T upleSeti = m 3 8: 9: /* Let T upleSetji ← j th tuple of T upleSeti */ 10: for j = 1 to p do . Consider j th tuple 11: for k = 1 to 3 do 12: /* Choose the pivot beacon */ 13: B1 ← T upleSetji (k); . pivot = kth node of j th tuple j 14: /* Let B2 and B3 be the other 2 nodes of T upleSeti */ 15: L12 ← line joining points p(B1 ) and p(B2 ) . for pivot and B2 16: L13 ← line joining points p(B1 ) and p(B3 ) . for pivot and B3 17: theta ← angle between L12 and L13 . theta = 6 B2 B1 B3 18: if theta ≥ π4 and theta ≤ π2 then j

19: BSSet ← BSSet ∪ T upleSeti ; 20: break; 21: end if 22: end for 23: end for 24: end procedure

. go for next tuple

6 Conclusion

[4] K. Pahlavan, X. Li and J. M¨akel¨a, ”Indoor geolocation science and technology,” IEEE Commun. Mag., pp. 112–118, Feb. 2002.

We have proposed in this work an intelligent beacon selection algorithm for computing the location of a node in an ad hoc network. We show that given a maximum of ±² error in the location of each of the beacon nodes and a maximum error of ±δ in each of the measured ranges along either axes, the location of a√ node can be computed within an error bound of ±[3²(1 + 2) +√2δ] to ±(3² + 2δ) along the x-axis and within ±[2δ(1 + 2) + 3²] to ±(3² + 2δ) along the y-axis. We also derive a general expression for computing the bounds on the error that can be introduced in the computed location of a node and the conditions that must be met in selecting the beacon nodes in order to keep the error in the computed location of a node within these bounds.

[5] J. Riba and A. Urruela, ”A non-line-of-sight mitigation technique based on ML-detection,” Proc. of the IEEE Intl. Conf. on Acoustics, Speech, and Signal Processing (ICASSP), Montreal, Canada, May 17-21, 2004. [6] L. Cong and W. Zhuang, ”Non-line-of-sight error mitigation in mobile location,” Proc. IEEE INFOCOM, 2004. [7] P. Bahl and V. Padmanabhan, ”RADAR : an in-building RFbased user location and tracking system,” Proc. IEEE Infocom, pp. 775–784, 2000. [8] J. Hightower and G. Borriello, ”Location systems for ubiquitous computing,” IEEE Computer, vol. 34, No. 8, pp. 57–65, 2001. [9] M. de Berg, M. van Kreveld, M. Overmars and O. Schwarzkopf, Computational Geometry: Algorithms and Applications. Springer-Verlag, Heidelberg, 1997.

References

[10] A. Falsafi, K. Pahlavan and G. Yang, ”Tranmission techniques for radio LAN’s - a comparative performance evaluation using ray tracing,” IEEE J. Sel. Areas Commun., vol. 14, no. 33, pp. 477–491, 1996.

[1] M. Kanaan and K. Pahlavan, ”A comparison of wireless geolocation algorithms in the indoor environment,” Proc. IEEE Wireless Commun. Networking Conf., pp. 177–182, 2004.

[11] N. B. Priyantha, A. Chakraborty and H. Balakrishnan, ”The cricket location-support system,” Proc. of MOBICOM 2000, ACM Press, pp. 32–43,Boston, USA, 2000.

[2] K. Sinha and A. Datta Chowdhury, ”A distributed location identification algorithm for ad hoc networks using computational geometric methods,” Proc. IEEE Intl. Conf. on High Perf. Computing (HiPC), India, December 18 - 21, 2005.

[12] PinPoint Corporation, Website: pinpointco.com, 2006.

[3] B. Alavi and K. Pahlavan, ”Modeling of the distance error for indoor geolocation,” Proc. IEEE Wireless Commun. Networking Conf., 2003, pp. 668–772, 2003.

http://www.

[13] R. E. Ziemer and W. H. Tranter, ”Principles of Communications,” John Wiley and Sons, pp. 465–468, 1988.

6

Suggest Documents