Proc. the 2005 International Conference on Pervasive Systems and Computing (PSC-05), pp. 47-53, Las Vegas, Nevada, USA, June 27-30, 2005. Positioning Technique of Wireless LAN Terminals Using RSSI between Terminals Teruaki Kitasuka Kenji Hisazumi Faculty of Information Science and Electrical Engineering, Kyushu University, Fukuoka 816-8580, Japan Japan Science and Technology Agency, Japan Abstract— The IEEE 802.11 wireless LAN spreads very widely. The wireless VoIP technologies will accelerate spreading. In the environment in which almost all people take along their own wireless terminal, location information of terminals can be used as them of persons, and can support human collaborative work. We focus on the positioning technology of IEEE 802.11 devices. There are many researches of the technology already. Our target is providing precise relative location of IEEE 802.11 terminals with short site calibration process and no additional hardware. RSSI requires no additional hardware. However RSSI is affected by obstacles, multipath fading, etc. In this paper, we describe the design and implementation of a prototype of proposed positioning system called WiPS. To improve the accuracy of relative location, WiPS uses RSSI between terminals. WiPS can be work well, if LOS path between terminals are available and distance between terminals are less than several meters. WiPS does not need LOS path between access point and each terminal. We show the result of empirical study using a prototype. The order of terminals can be obtained precisely, when terminals are in line. Tsuneo Nakanishi and Akira Fukuda Faculty of Information Science and Electrical Engineering, Kyushu University, Fukuoka 816-8580, Japan Average positioing error range Real position Conventional positioning result (an example) WiPS positioning result WiPS reduce interterminals distance error by using RSSI between terminals Fig. 1. Benefit of WiPS 1. Introduction Wireless LAN (IEEE 802.11) based location sensing technologies are focused on, with an increase in demand of wireless LAN ready laptop PC, PDA and wireless LAN VoIP phone. The benefit of these technologies is the wireless LAN device can play roles of both communication device and positioning device. RADAR[1] is the first research of wireless LAN positioning probably. Several systems are already released commercially such as Ekahau Positioning Engine[2], AirLocation[3], and AeroScout[4]. Location sensing technology is very important for an infrastructure of a ubiquitous computing environment. Outdoor location sensing technology such as GPS is already developed and widely used. For indoor location sensing, there are several technologies, but they are not widely used currently. If low-cost and smart location sensing technology is developed, it will be used widely and can be a popular way of positioning. In this paper, we use IEEE 802.11b wireless LAN device as locatoin sensing device. As indoor location sensing, media of applied technologies are ultrasonic, infrared, camera, GPS pseudolite, etc. These technologies have to pay high installation cost and/or maintenance cost. For example, ultrasonic sensor based systems have to install many ultrasonic receivers on a ceiling and connect them to a server. All of these technologies require installing exclusive devices of positioning in the room or in a building. We proposed WiPS (Wireless LAN based indoor Positioning System)[5], [6]. WiPS is different from conventional wireless LAN based positioning systems. Major differences are that no additional hardware and no site-calibration process are required. A strong point of WiPS is that relative position of terminals can be obtained more precisely than other wireless LAN based positioning systems (Fig. 1). The mechanism providing this benefit is derived from measuring RSSI between terminals. For example, a person happens to meet his/her colleague and they discuss their research. One of them wants to give a document file to other. If there are many passers-by around them, they can still find colleague’s location by WiPS. Conventional positioning systems contain several meters error in measured positions and measure the position of each terminal separately. Therefore relative position between terminals has much error, about 2 times larger than absolute positioning error. In Keywords: Positioning technologies, Location sensing, IEEE 802.11, RSSI, Relative position the crowded place, this error degrades the effectiveness of position information. For another example, when you attend a meeting, WiPS can provide the precise seating arrangement. This paper is organized as follows: Sec. 2 summarizes current positioning technologies using IEEE 802.11 series. In Sec. 3, an implementation and features of WiPS are described. In Sec. 4, results of simple experiments are described. The outdoor, indoor, and close range experiments are shown. In these experiments, three or seven PDAs are used. “Flag game” demonstration is also explained. In the demonstration, WiPS determines that user’s hands are up or down periodically. We conclude this paper in Sec. 5. 2. Related Works There are many location system using IEEE 802.11 standards in the research and commercially. IEEE 802.11 location system has a benefit of single device solution of both data communication and location sensing. The first paper of IEEE 802.11-based user location and tracking system is RADAR[1]. RADAR measures RSSI at access points to determine the location of a mobile terminal. There are other RSSI-based systems such as Ekahau Positioning Engine[2], CMU-TMI[7] and so on. Except for The Wall Attenuation Factor (WAF) propagation model of RADAR, site calibration is required to activate location system. The site calibration is the process to learn the radio propagation statistics of the specific place. This process requires man-hour. 1 hour per 1,200 m2 is needed for site calibration on the Ekahau Positioning Engine. The process of site calibration is the most important disincentive of installation. Instead of RSSI, TDOA (Time difference of arrival) method is applied to IEEE 802.11-based positioning systems. There are several TDOA-based location systems such as AirLocation[3] and AeroScout[4]. TDOA-based systems are requires additional hardware to measure the time difference. Access points or receivers which support TDOA have to be installed. The clocks of these access points and receivers have to synchronize with each other precisely for TDOA. Since the radio propagation speed is 3.00 × 108 m/s, radio signal propagates 0.3 m in 1 ns (1 GHz). Finally, there are many positioning technologies[8] are developed and spread, such as GPS and ultrasonic-based positioning systems[9]. 3. WiPS 3.1 Overview WiPS (Wireless LAN based indoor Positioning System) is the location sensing technique which we are developing[5], [6]. WiPS determines the location of wireless terminals. On each wireless terminal, WiPS Gn Reference host G1 Mobile host A Connections between reference host and A Connection between mobile host and A B D C G2 G3 Fig. 2. Basic mechanism of WiPS. To determine the position of A, conventional method uses only RSSI to APs ‘G1,’ ‘G2,’ and ‘G3’. WiPS uses RSSI to not only APs but also other terminals ‘B,’ ‘C,’ and ‘D’. client software runs and measures RSSI (received signal strength indicator) of packets sent by other mobile terminals. All RSSI information is aggregated by the WiPS server. The WiPS server calculates positions of all mobile terminals. Conventional wireless LAN based positioning systems, which use RSSI, use only RSSI between access point and mobile terminal. These systems determine location of each terminal separately. On the other hand, WiPS uses RSSI between mobile terminals. Fig. 2 shows the difference. For this difference, WiPS can determine more precise relative position of terminals. In WiPS, an operation for calibration is reduced. Conventional systems need site calibration, but WiPS does not need it with a little degradation. The process of site calibration is that calibrator handles a mobile terminal, and walks around the site to collect the relationship between RSSI and location. The site calibration should be done, if the site layout is changed. WiPS is planed to overcome site calibration by RSSI measurement between mobile terminals. There is another calibration which is called terminal antenna calibration. The antenna calibration is still remained in WiPS. WiPS can offer precise relative location between mobile terminals. Therefore an application which requires relative location is suitable to WiPS. We pick up flag game as one of this kind of applications. 3.2 Radio Propagation Model In the current implementation of WiPS, free space propagation model is used. The reason of selecting this fundamental model is to make WiPS free from site calibration and other site specific configuration. Since WiPS utilize RSSI between mobile terminals, relative distance between sender and receiver is shorter than conventional WiPS Client viewer TCP WiPS Server WiPS Client daemon TCP NETLINK I/F 802.11 WLAN driver 802.11 WLAN device JavaVM PDA Server Other PDAs’ packet Fig. 5. Software organization of WiPS experimental system. Fig. 3. Relation between RSSI and distance on the free space propagation model PDA PDA AP PDA Server PDA Legend Wireless link Wired link Fig. 4. Configuration of WiPS experimental system. PDAs are the targets of positioning, and a server calculates PDAs’ positions using RSSI. RSSI-based positioning. Shorter distance implies less influence of obstacles to RSSI in our experiment. Free space propagation model assumes the ideal propagation condition that there is a line-of-sight path between transmitter and receiver. It does not consider any effect of multipath fading and other path loss. In indoor space, free space model is not precise, but still appropriate to determine distance, if there are many mobile terminals in the space. In the free space model, relation between RSSI and distance is described as µ ¶ 4πd Pr (d) = P0 − 20 log10 [dBm], (1) λ where P0 = λ = empirical constant c 3 × 108 [m/s] = . f 2.4[GHz] The graph of Pr (d) is shown in Fig. 3. P0 is set to 31.0[dBm] in our implementation. Same IEEE 802.11 devices are used in all mobile terminals. 3.3 Implementation We describe a current implementation of WiPS. Fig. 4 shows the configuration of our implementation. PDAs in Fig. 4 are used as mobile terminals. A server communicates with PDAs and calculates PDAs’ location. AP (access point) provides only network connectivity between PDA and the Server. AP does not act as positioning reference. The specifications of PDAs are: • OS: Embedix based on linux-2.4.18-rmk7-pxa3 • CPU: Intel XScale (PXA250 400MHz) • IEEE 802.11 I/F: IEEE802.11b CF Type II. PrismII chip set. • IEEE 802.11 driver: wlan-ng ver. 0.1.12 (modified) Fig. 5 shows the software organization. Each PDA runs IEEE 802.11 I/F in an infrastructure mode to communicate with a WiPS server through AP. IEEE 802.11 I/F of each PDA is set into a promiscuous mode, to measure RSSI of other PDA’s packets. Each PDA sends packets to only AP. However, in promiscuous mode, a WLAN driver in each PDA can receive the packets not only from access point to itself, but also from other PDA to access point. To enable promiscuous mode, a command ‘wlanctl-ng eth0 dot11req mibset mibattribute=p2PromiscuousMode=true’ are used. The driver retrieves a RSSI value and a source MAC address from a packet. The driver carries a RSSI value and a source MAC address to WiPS client daemon. WiPS client daemon has a connection to WiPS server, and reports pairs of average RSSI values and source MAC address to WiPS server. Reporting format of WiPS client daemon is shown in Table I. In the Table, RSSI item is used to report an average RSSI value “RSSIAve” of packets which are sent from a specific source PDA. “MAC-Address” is the source MAC address of the packets. “num-of-pkts” is the number of packets to average. The “ts1” and “ts2” fields are the timestamp of receiving first packet and last packet of the averaging, respectively. A notebook PC is used as a WiPS server. WiPS server software is developed on Java platform. The server PC consists of J2SE 1.4.2, Windows 2000, Intel Pentium III 600 MHz, 256MB RAM. WiPS server receives the RSSI TABLE I DATA FORMAT FROM W I PS CLIENT DAEMON TO W I PS Format MAC MAC-Address SIGNAL MAC-Address RSSI-Ave num-of-pkts ts1 ts2 4. Experiment In this Section, three experiments are described. The demo application is also introduced briefly. 4.1 Preliminary The preliminary experiment is held in the open air, on a roof of a building and uses three PDAs. The experiment is used to determine P0 value of Equation (1). The results of 2 m distance between PDAs are used to determine P0 value. Three PDAs are put in vertex positions of equilateral triangle. Each PDA is on a tripod at 1.1 m height from floor of the roof. The distance between PDAs is modified from 1 m to 10 m. The cases of 1, 2, 3, 4, 6, 8, 10 m of the distance is measured. In each case, WiPS run 5 min. and an average of 5 min. is used as a result. Fig. 6 shows the result. Fig. 6 (a) is the relationship between real and measured distance between PDAs. In Fig. 6 (a), WiPS (◦ mark) is the distance measured by WiPS. RSSI (+ mark) is the distance using bare RSSI and Equation (1). From Fig. 6 (a), the dispersion of measured distance of WiPS is smaller than bare RSSI. For each pair of PDAs, each PDA measures RSSI. WiPS averages these two RSSI measurements. Therefore dispersion gets WiPS RSSI 10 measured distance [m] reports from all PDAs, and calculates PDAs’ location using free space model (Fig. 3). Step of calculation in WiPS server is the following: 1) Makes a distance list of all pairs of PDAs. The distances are calculated from last averaged RSSI values with Equation (1) and Fig. 3. 2) Determines initial locations of all PDAs in heuristic manner. 3) Modifies locations of all PDAs cyclically to satisfy distance contraint, until convergence. RSSI value contains error which is attributable to multipath fading, antenna characteristics, and other fluctuations. For this error, the distance list of all pairs of PDAs also contains error. To reduce the effect of this error, WiPS server employs iterative approximation algorithm, described in [5], [6]. The current implementation uses only RSSI between mobile terminals. Each RSSI between an access point and a mobile terminal is no used, since an access point and mobile terminal has different antenna charactaristics and current WiPS can not handle heterogeneous charactaristics of antennas. 8 6 4 2 0 0 2 4 6 8 10 real distance [m] (a) Measured distance between terminals received signal strength [dBm] Item Own MAC address RSSI SERVER 15 RSSI free space model 10 5 0 -5 -10 -15 -20 -25 -30 0 2 4 6 distance [m] 8 10 (b) Relationship between distance and RSSI Fig. 6. Results of outdoor measurement. smaller in WiPS. Long distance measurement tends to be dispersed. Fig. 6 (b) shows the relationship between real distance and RSSI value. Dashed line in the Fig. is the Equation (1) and RSSI shows the actual measured values. From Fig. 6 (b), the free space model does not fit this environment so much. However, in the indoor experiment (Sec. 4.2), the order of terminals which are in line can be obtained precisely. 4.2 Order Determination The order determination experiment is held indoors. Fig. 7 (a) is the layout of the experiment. Seven PDAs are put on the desk in line. Two PDAs of both edge act as references of positioning. We give the positions of two references into WiPS. Fig. 7 (b) is the screenshot of WiPS server. In Fig. 7 (b), last two bytes of MAC address is used as ID of each PDA. The measured order of seven PDAs is correct, comparing it with Fig. 7 (a). Table II and Fig. 8 are the detail of measured results. Table II shows the measured distance between each pair of PDAs with standard deviation of distance. For 1 TABLE II R ESULT OF INDOOR MEASUREMENT. R ELATIVE DISTANCES ( UPPER ) AND STANDARD DEVIATION ( LOWER ). ( UNIT: METER ) Reference PDAs Positioing PDAs Desk 2 3 4 5 6 7 1.5 m 25 cm (a) Layout of PDAs PDA 1 (61:DD) 2 (65:6D) 3 (65:91) 4 (68:8D) 5 (69:07) 6 (69:DA) 7 (69:D1) 1 0.63 0.01 0.73 0.01 0.77 0.01 0.85 0.01 0.96 0.03 1.50 - 2 0.63 0.01 - 3 0.73 0.01 0.10 0.01 - 0.10 0.01 0.14 0.01 0.21 0.01 0.33 0.02 0.87 0.01 0.06 0.01 0.12 0.01 0.23 0.02 0.77 0.01 4 0.77 0.01 0.14 0.01 0.06 0.01 0.08 0.01 0.19 0.02 0.73 0.01 5 0.85 0.01 0.21 0.01 0.12 0.01 0.08 0.01 0.12 0.02 0.66 0.01 6 0.96 0.03 0.33 0.02 0.23 0.02 0.19 0.02 0.11 0.02 - 7 1.50 0.87 0.01 0.77 0.01 0.73 0.01 0.66 0.01 0.54 0.03 - 0.54 0.03 measured distance [m] 2 WiPS RSSI 1.5 1 0.5 0 0 0.5 (b) Screenshot of WiPS server example, when PDA No. 4 which is the center of seven PDAs is focused attention on, PDAs No. 3, 2, and 1 satisfy the closer order to No. 4 in measured distance. PDA No. 5, 6, and 7 also satisfy it. In this experiment, WiPS can determine the right order of seven PDAs. However, measured distance is not precise to compare with real distance, e.g., the real distance between PDAs No. 3 and 4 is 25 cm, but measured distance is only 6 cm. We discuss this phenomenon using Fig. 8. Fig. 8 takes the same form as Fig. 6, e.g., there are two 125 cm distant pairs of PDAs – No. 1 and 6 pair, and No. 2 and 7 pair – and their measured results are put on the 25 cm of real distance. From Fig. 8 (a), measured distances calculated from bare RSSIs (+ marks) place a disproportionate emphasis on closer than real distance. However, some of measured distances of WiPS (◦ mark) places better than them of bare RSSIs. Fig. 8 (b) shows the difference between free space model and measured relationship between RSSI and distance. It can be seen that there is a mismatch of assumed model to calculate distance from RSSI. In addition, RSSIs of the same distance are varied. Although this mismatch and variation, WiPS can determine the right order. 2 (a) Measured distance between terminals Indoor experiment. received signal strength [dBm] Fig. 7. 1 1.5 real distance [m] 25 RSSI free space model 20 15 10 5 0 -5 -10 -15 -20 0 0.5 1 1.5 real distance [m] 2 (b) Relationship between distance and RSSI Fig. 8. Results of indoor measurement. 4.3 No Reference Situation No PDAs are specified as references of positioning. Therefore, WiPS determine relative position of each pair of PDAs autonomously. Very high density situation is tested. Fig. 9 (a) is the layout of this experiment. Seven PDAs are used. They are placed about 20 cm apart, in 50 cm square area. IDs of anterior PDAs are 69:D1, 69:07, 65:91, 69:DA from left to right, and IDs of posterior PDAs are 65:6D, 61:DD, 68:8D from left to right. We show a screenshot of the measurement result in Fig. 9 (b). The result is segmented three parts; left, (a) Condition of crowded case measurement. (IDs of anterior PDAs are 69:D1, 69:07, 65:91, 69:DA from left to right, and IDs of posterior PDAs are 65:6D, 61:DD, 68:8D from left to right.) Fig. 10. (b) Transient result of crowded case measurement. Fig. 9. Crowded case experiment. center, and right parts at a glance. This Fig. is rotated by hand, but the relative position is not modified. The left part contains two PDAs of 65:6D and 69:D1. These two PDAs are placed in most left side in Fig. 9 (a). The center part contains three PDAs of 69:07, 65:91, and 61:DD. Three PDAs in the center part are placed center part in real position, however relative position between three PDAs is not precise. The right part contains two PDAs of 68:8D and 69:DA. These are most right PDAs in anterior and posterior in Fig. 9 (a). As a result, WiPS can determine relative position with a little inaccuracy. A major error is the relative position of three center PDAs. Other relative position is determined precisely. 4.4 Demo Application: Flag Game We make a demo application of WiPS. The application is “Flag game.” Flag game is a Japanese classical game for children. A child holds two colored flags, with a flag in one hand and another in the other hand. Another child indicates which flag takes up or down, e.g. “take up red flag,” “take down blue flag,” “do not take up both flags,” etc. First child have to follow the instruction of later child quickly. Our demo application adopts Flag game as a motif. Two participants play the Flag game. Three PDAs are used for the game. A responder holds two PDAs instead of flags. Another PDA is put on the desk in front of the responder. WiPS determines the distances between Screenshot of the flag game all pairs of three PDAs. Demo application determines the position of the responder’s hands using the distance between PDAs in a hand and on the desk. A screenshot of demo application “Flag game” is shown in Fig. 10. The place of each PDA is selected in lower pain of the window. Left and right indicator show the states of both hand. 5. Conclusion In this paper, we describe the implementation of WiPS. The results of several experiments are shown. WiPS is implemented by off-the-shelf PDAs with CFtype IEEE 802.11b wireless LAN cards as positioning target and also as positioning reference. Wireless LAN driver on the PDA is modified to record RSSI values of packets sent by other PDAs. WiPS server aggregates RSSI values from WiPS clients to determine locations of clients. To run WiPS server, only Java runtime and network connectivity is required. We evaluate WiPS by three experiments. In the experiments, three or seven PDAs are used. First, we measure the relationship between RSSI and distance in the open air environment, to determine the constant variable of radio propagation model. The second experiment shows that WiPS can determine the order of PDAs precisely, when seven PDAs are in line at intervals of 25 cm. Although the radio propagation model does not fit the real environments, WiPS work well enough to find the sequence of PDAs’ position. The last experiment shows the result in the case of no references of positioning. We show only a transient result. In this result, relative positions of PDAs are retrieved almost exactly. We also introduce the demo application “Flag game.” In this demo, WiPS measure the movement of human arm. The person holds PDAs in his/her hands. WiPS detects each hand is up or down. Our goal is development of positioning system which is freed from site calibration and site configuration. When the positioning system can be used anywhere, human communication is enforced naturally by mobile terminals. IEEE 802.11-based cell-phone accelerates the needs of positioning system. As future works, we will evaluate WiPS in more practical environment to confirm the effectiveness. We will plan to propose smart and automatic calibration mechanism, which needs no manhour and adjusts the environmental changes. Finding suitable application of WiPS is also future work. Acknowledgment The work reported in the paper was partially supported by the grants of MIC Strategic Information and Communications R&D Promotion Programme, and JSPS KAKENHI (Young Research: 17700067). References [1] P. Bahl and V. N. Padmanabhan, “RADAR: An In-Building RF-Based User Location and Tracking System,” Proc. of IEEE infocom 2000, pp. 775–784, 2000. [2] Ekahau, Inc., “Ekahau Positioning Engine,” http: //www.ekahau.com/products/positioningengine/. [3] Hitachi, Ltd., “Launch of Hitachi AirLocation(TM), a Wireless LAN-Based Location Detection System,” http://www2.hitachi-cable.co.jp/apps/hnews. nsf/0/919cbdc6e71ce71a49256e200083b968 [4] AeroScout, AeroScout System, http://www. aeroscout.com/ [5] T. Kitasuka, T. Nakanishi, and A. Fukuda, “Design of WiPS: WLAN-Based Indoor Positioning System,” Korea Multimedia Society, Vol.7, No.4, pp.15-29, Dec., 2003. [6] T. Kitasuka, T. Nakanishi, and A. Fukuda, “Wireless LAN based Indoor Positioning System WiPS and Its Simulation,” Proc. 2003 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM’03), pp. 272-275, Aug., 2003. [7] A. Smailagic, D. P. Siewiorek, J. Anhalt, D. Kogan, Y. Wang, ”Location Sensing and Privacy in a Context-Aware Computing Environment,” IEEE Wireless Communications, pp. 10-17, Oct. 2002. [8] J. Hightower and G. Borriello, “Location Systems for Ubiquitous Computing,” IEEE Computer, pp. 57–66, Aug. 2001. [9] Y. Fukuju, M. Minami, H. Morikawa, and T. Aoyama, “DOLPHIN: An Autonomous Indoor Positioning System in Ubiquitous Computing Environment,” Proc. of IEEE Workshop on Software Technologies for Future Embedded Systems(WSTFES2003), pp.53-56, May 2003.