proceedings template - word€¦  · web viewdepartment of computer science and engineering....

15
WALRUS: Wireless Active Location Resolver with Ultrasound Tony Offer, Christopher Palistrant Department of Computer Science and Engineering University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT Mobile device technologies are currently being used by several location aware systems to grant the user of a mobile device access to applications, which can provide adaptive maps or environmental data. Various design considerations affect the outcome and behavior of location aware systems. Alone, 802.11 broadcasts could be used to create a location aware system, but it would be of low precision due to the unrestricted nature of network communication. Systems like ActiveBadge and Cricket use ultrasound as an additional signal to pinpoint the user's location, but these systems use costly hardware. We analyzed various existing systems and decided it was possible to design a system that uses only pre- existing hardware and still achieves room level granularity. WALRUS, the resulting system, requires only a microphone-capable mobile device acting as the client of the system and a desktop computer with standard speakers acting as a unique room beacon. WALRUS allows a user to retain their privacy by simultaneously broadcasting both an 802.11 packet and an ultrasonic sound signal at an intermittent period. If a positive ultrasonic signal has been detected, all recently received 802.11 messages are examined to decide which 802.11 message most likely corresponds to the audio signal. Once the ultrasound signal and 802.11 are correlated, then the 802.11 broadcast is analyzed to determine the room identity. We found this system to be an accurate, manageable, and affordable solution for detecting the location of a mobile device indoors. Future progress can easily be made to increase the overall performance and precision level of the system. 1. INTRODUCTION

Upload: others

Post on 18-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

WALRUS: Wireless Active Location Resolver with Ultrasound

Tony Offer, Christopher PalistrantDepartment of Computer Science and Engineering

University of Washington, Seattle, WA

{toffer,chrispal}@cs.washington.edu

ABSTRACTMobile device technologies are currently being used by several location aware systems to grant the user of a mobile device access to applications, which can provide adaptive maps or environmental data. Various design considerations affect the outcome and behavior of location aware systems. Alone, 802.11 broadcasts could be used to create a location aware system, but it would be of low precision due to the unrestricted nature of network communication. Systems like ActiveBadge and Cricket use ultrasound as an additional signal to pinpoint the user's location, but these systems use costly hardware. We analyzed various existing systems and decided it was possible to design a system that uses only pre-existing hardware and still achieves room level granularity. WALRUS, the resulting system, requires only a microphone-capable mobile device acting as the client of the system and a desktop computer with standard speakers acting as a unique room beacon. WALRUS allows a user to retain their privacy by simultaneously broadcasting both an 802.11 packet and an ultrasonic sound signal at an intermittent period. If a positive ultrasonic signal has been detected, all recently received 802.11 messages are examined to decide which 802.11 message most likely corresponds to the audio signal. Once the ultrasound signal and 802.11 are correlated, then the 802.11 broadcast is analyzed to determine the room identity. We found this system to be an accurate, manageable, and affordable solution for detecting the location of a mobile device indoors. Future progress can easily be made to increase the overall performance and precision level of the system.

1. INTRODUCTIONFuture mobile devices will need to have the ability to record, report and analyze the location of other devices, persons, or items within a given environment [4]. The Global Positioning System is one example of a system that has become widely recognized for providing mobile devices with precise information regarding a user's global position. However, the accuracy of GPS deteriorates as a user moves within close proximity of an urban setting or to the interior of many typical building structures. An

alternate location aware system is necessary when a user transitions indoors.Many systems have been designed which strive to provide mobile devices with the capability to monitor their location indoors. Designers of location aware systems need to make several key considerations that can affect the usability of the system [1, 4]. Several of the key issues to consider are presented here:

Affordability. A location aware system should be a minute fraction of the total cost of a mobile device. Cost includes not only the final monetary cost to a user of a location aware system, but also the cost associated with management and maintenance of the system. Designers might also include the overall disk size or complexity in calculating the cost of the system. Mobile devices are limited by disk space and computation power; extra cost is needed to accommodate expensive computations or large programs.

Privacy. A system that requires a user or mobile device to query a server or host for a location will need to reveal the user’s identity in exchange for this information. This may be considered an undesirable feature for users who wish to remain anonymous. With careful design, a system can be devised where a user receives information about his or her location without potentially revealing confidential information. Alternate systems might allow a user varying degrees of anonymity in exchange for varying degrees of information.

Portability. Mobile systems are an evolving technology and some consideration should be given to ensure that a system can be easily maintained during upgrades and across most platforms. To ensure that a system is readily adopted and maintained across several generations of hardware, a location aware system should consider how and if the system will be able to adapt to future technologies.

Precision. Designers must decide what degree of precision the information provided by the location aware system will be capable of

Page 2: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

attaining. Precision is defined as the granularity that a system is capable of measuring. Various systems have precision as detailed as several inches, but other acceptable systems may have a precision level that details the size of several hundred square feet. High levels of precision are sometimes obtainable with a sacrifice to accuracy or affordability.

Accuracy. Designers of location aware systems consider accuracy to be the percentage of times a known level of precision is reached. A GPS receiver that has a precision level of 15 meters might be accurate 95% in an open field; however, confidence in the system and accuracy will diminish within an office building.

Based on the design factors described above, many different types of systems can be developed that will meet a variety of unique criteria. Consider the scenario where the particular system of interest utilizes a user's pre-existing hardware [5]. Emphasizing this criterion, it is possible to develop an inexpensive system that provides a user with room-level granular location information. The system can then be used to offer mapping information easily accessible by maintenance workers unfamiliar with a building layout. Alternately, room level services like nearby printers or restrooms can be automatically described to an employee in a large office building through the use of a mobile device [7].This paper describes one solution to the location aware problem that strives to emphasize the low cost factor through a variety of techniques. However, WALRUS is designed to maintain its user's privacy, be unobtrusive and accurate in addition to being inexpensive. Section 2 of this paper discusses several other location aware systems that share both similarities and differences with the WALRUS system. Section 3 describes the steps made to develop WALRUS. Then Section 4 details the results and evaluation of how well the system works and tested. Section 5 outlines future work that can be done to improve and possibly take the WALRUS system in alternate directions.

2. RELATED WORKThe problem of determining a device’s location has been the topic of countless research endeavors, all of which have had to balance various degrees of privacy, affordability, portability, precision, accuracy, and other such attributes. As in all engineering disciplines, tradeoffs have to be made; in order to improve one aspect of a project, another aspect must be compromised to some degree. There are no location-sensing technologies that excel at everything. This section describes the strengths and weaknesses of several existing location-sensing technologies in terms of the following attributes: privacy,

cost, precision, and operational scope. The WALRUS system is compared with the existing technologies described below.GPS, or Global Positioning System, uses time-of-flight calculations from orbiting satellites to triangulate the position of mobile receivers on the surface of the Earth. GPS is similar to WALRUS in that there is no centralized system that tracks the location of the mobile devices; however, GPS operates at a much larger and much more expensive scale than WALRUS. It costs billions of dollars to establish the infrastructure of a Global Positioning System, and the mobile receivers usually cost more than one hundred dollars. With such high cost comes the ability to determine location with a precision of 1 to 5 meters [4]. GPS honors user privacy since position information originates with the user on the mobile device. One of the weaknesses of GPS is that it does not function indoors without modification since line-of-sight is required for the satellite communications to the mobile receivers.Like GPS, Place Lab provides absolute coordinates describing the position of a device, but it functions by using the measured signal strengths of nearby 802.11 access points with known coordinates to triangulate position [8]. Place Lab has the same decentralization and utilization of existing hardware as WALRUS, but Place Lab provides absolute coordinates rather than room determinations; it is likely that, in an indoor situation, the uncertainty radius of an absolute coordinate will cross a room boundary, making it unclear whether the device is in one room or another. Place Lab is private in that location determination originates with the user device. There is no centralized infrastructure that tracks devices, and there is no need for the purchase of additional hardware since Place Lab relies on the existence of pre-established WiFi hotspots. Place Lab can operate anywhere, indoors or outdoors, within the range of 802.11 access points with known coordinates and can provide positioning precision between 3 and 100 meters.ActiveBadge does not provide absolute coordinates like GPS or Place Lab, but rather, it provides room-level positioning within a building. ActiveBadge uses infrared-emitting devices, or badges, that transmit unique IDs through infrared to room-aware receivers that update the position of the badge in a centralized database [9]. ActiveBadge is similar to WALRUS in that it provides room-level positioning, however unlike WALRUS, ActiveBadge is centrally managed. ActiveBadge does not grant user privacy since a centralized computing system is required to track the location of all the badges. The cost of the individual badges and IR receivers are not unreasonably high, but these must be purchased in large quantities and distributed appropriately throughout a building in order for ActiveBadge to function properly.

Page 3: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

The Active Bat system is similar to the ActiveBadge system, except Active Bat provides a high level of precision. “Bats,” whose locations are tracked, emit a pulse of ultrasound when prompted and are positioned three dimensionally within a room, by a centralized system, using measurements from time-of-flight calculations and various ultrasound receivers scattered throughout the room [3]. WALRUS provides a more coarse-grained positioning precision than Active Bat, but WALRUS is also decentralized, unlike Active Bat. The information concerning the location of the bat devices is not confined to the devices themselves, but rather, is managed by a central server, thus greatly reducing the privacy of the Active Bat system. The infrastructure of Active Bat as a whole is costly both to purchase and to install since the system consists of so many different components. Once Active Bat is set up, however, it is capable of locating bat devices to within 9 cm of their actual positions. Active Bat must operate indoors so that the ultrasound receivers can be installed.The Cricket location support system, unlike either Active Bat or ActiveBadge, emphasizes a lack of dependence on a centralized structure to implement a complete positioning system. The Cricket system uses fixed beacons with known coordinates to emit ultrasound pulses, which are used by mobile receivers to estimate position through time-of-flight calculations [7]. Cricket is decentralized like WALRUS, so it preserves privacy by manifesting location calculations directly and only on the mobile receivers. However, unlike WALRUS, which utilizes pre-existing hardware, Cricket requires the purchase and installation of special beacons and receivers. Once Cricket’s infrastructure is established in an indoor environment, the system provides positioning precision to within 4 x 4 foot regions.Table 1 summarizes the previous discussion of existing location sensing technologies. The positioning systems WALRUS, GPS, Place Lab, ActiveBadge, Active Bat, and Cricket are compared according to privacy, cost, precision, and operational scope.

3. IMPLEMENTATION3.1 DesignWALRUS is designed with a distinct mixture of the attributes that describe positioning systems. It draws different components and ideas from other positioning systems but employs a unique mixture of these components to accomplish its purposes. Place Lab provides the idea of using pre-existing technology to reduce cost, Cricket and ActiveBadge provide the concept of decentralization for the purposes of maintaining privacy, and ActiveBadge’s room-level precision provides the inspiration for design simplicity. These concepts are combined in WALRUS to produce a low-cost, private, indoor, room-level positioning system. Like the Cricket positioning system, WALRUS uses

ultrasound beacons to provide mobile devices with the opportunity to determine their location. However, WALRUS uses standard desktop speakers and microphones to transmit and receive ultrasound in addition to using 802.11 communication via UDP datagrams as the information-bearing channel. In [5], the use of common computing hardware is used to readily transmit and receive ultrasonic signals without intrusive human obstruction. WALRUS also employs a single beacon in each room, increasing simplicity of design and deployment while

reducing precision. The development of WALRUS proceeded from and was guided by this unique blending of attributes from existing positioning systems.As one of the key design considerations of WALRUS is to use preexisting hardware for positioning purposes, all major components of the system reside in software. Additionally, WALRUS is implemented in Java in order to aid in the portability of the system across an array of changing mobile technologies available. Two main components comprise the WALRUS system: the server sided beacon software and the mobile client software. A server beacon runs as a desktop with attached speakers; it provides ultrasound and 802.11 broadcasting for mobile devices. A mobile client is a mobile device with an attached microphone that interprets ultrasound and 802.11 signals upon reception.

Privacy Cost Precision

WALRUSUser devices track themselves

No additional hardware

Room-level

GPSUser devices track themselves

At least $100 receiver

1 – 5 meters

Place LabUser devices track themselves

No additional hardware

3 – 100 meters

ActiveBadge Central server tracks devices

Hardware infrastructure

Room-level

Active Bat Central server tracks devices

Hardware infrastructure 9 cm

CricketUser devices track themselves

Hardware infrastructure

4x4 foot region

Table 1. Summary of location sensing technologies

Page 4: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

3.2 Server SoftwareWhen initiated, the server software begins by opening and parsing a simple file that contains a description of the room where the server is actually located. The contents of the file can easily be modified to include simple room attributes, such as maximum room occupancy or the amenities available. The contents of the room description file are converted to bytes and packaged into an 802.11 datagram packet. When the server is ready to broadcast the room location, it simultaneously sends the datagram packet and plays an audio signal at 21,000Hz. An available speaker must be present on the server in order to broadcast the ultrasonic signal. Throughout development, an ultrasonic signal of 21,000Hz was played. Because no data is transmitted by modulating the sound wave, the ultrasonic signal can be pre-generated once and stored in any number of various audio formats. After experimenting with several different methods for ultrasonic generation, it was discovered that by using sox, available for both Unix and Linux, we were able to generate an ultrasonic wave at 21,000Hz that was almost indistinguishable from a similar wave generated with a function generator. Additionally the amplitude of the audio signal is quickly linearly increased and decreased at the beginning and end of playback respectively. This ramping method is used to avoid the production of an audible click when playing back the ultrasonic file.

Figure 1. The ServerBeacon system runs on a desktop with speakers.

Figure 1 graphically describes the hierarchical overview of the server software. In Java code, a ServerBeacon object instantiates a Broadcaster object after opening and

parsing the appropriate room description file. The Broadcaster is responsible for periodically sending both the ultrasonic and 802.11 signals. Broadcasting time is randomized on the server to minimize the possibility of two separate servers interfering.

3.3 Mobile Client SoftwareCurrently the Mobile Client software requires the mobile device to have network access, recording capabilities, and either a floating point processor or floating point emulation instructions. Common mobile devices used throughout the design and development of the WALRUS system include a Dell Inspirion 8200 with a Pentium 4 processor and a HP iPAQ 3870 both running Linux operating systems.

Figure 2. A MobileClient consists of an UltrasoundListener and a DatagramListener.

While it does take longer for WALRUS to execute on mobile devices that have only floating point emulation rather than those that use a true floating point processor, we discovered that we were able to minimize the delay due to floating point emulation on an HP iPAQ 3870 by performing the instructions in a pipelined fashion.For example, recording five seconds worth of audio on the iPAQ and then transferring the captured bytes into a double array would take on the order of ten seconds, meaning that a user could be potentially waiting for fifteen seconds before discovering the analysis results of one audio signal. Instead, we decided to begin transferring captured bytes into the double array as soon as enough bytes are available to begin processing samples using the Goertzel algorithm. The signal processing can then begin analyzing data sooner, and thereby return a

Page 5: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

positive or negative analysis of the signal within a reasonable period of time. The mobile client component is designed to run continuously in parallel because it is undesirable to miss any information related to possible room determinations. If the mobile client simply recorded audio for a certain period of time after receiving an 802.11 broadcast, the mobile device might miss other 802.11 broadcasts while waiting for the recording and analysis to finish, thereby decreasing the possibility that a correct correlation is made. By collecting all possible information related to 802.11 reception and ultrasound detection, our system is able to make more accurate room determinations.The MobileClient class is responsible for instantiating the correct objects to detect 802.11 packets and ultrasonic signals, as well as maintaining a probability analysis based on the positive detection of ultrasonic and datagram signals. The MobileClient ultimately provides location awareness to the granularity of a room inside a building based on the reception of 802.11 broadcasts and the corresponding detection of ultrasound. In Java code the Mobile Client software is comprised of two main components: a DatagramListener and an UltrasoundListener.

3.3.1 Datagram Signal DetectionThe DatagramListener is a thread that continuously receives UDP packets through the 802.11 wireless protocol and forwards these messages, which contain room-identifying information, to the correlating construct, which, in this case, is the MobileClient. The DatagramListener initializes a multicast socket and waits until it receives a datagram packet. Upon reception of a message, the packet is time stamped and the MobileClient is notified of an available packet for interpretation. Once a MobileClient receives notification from the DatagramListener that a message has been received, the message is added to a data structure in the MobileClient object that allows later association and probability analysis. The MobileClient continues to wait for positive ultrasonic detection until notified by the UltrasoundListener.

3.3.2 Ultrasonic Signal DetectionThe UltrasoundListener thread continuously records audio and notifies the MobileClient when it detects ultrasound. The MobileClient object attempts to correlate the datagram messages with the ultrasound detections in order to find the best match that will provide an accurate room determination. In the Java code, an UltrasoundListener is a thread that acquires an available audio line to be used for recording ultrasonic signals and instantiates a pool of UltrasoundAnalyzer threads, which are later used in calling and evaluating the captured audio signals. Recording begins after the UltrasoundListener thread is initialized.

The UltrasoundAnalyzer thread has a method called available() which is used by the UltrasoundListener object to determine whether there are available analyzer threads ready to receive data. Analysis of recorded audio data begins after data is available and the analyze() method of an UltrasoundAnalyzer is called. Once the analysis is complete, the UltrasoundAnalyzer thread signals the UltrasoundListener object, records the time if ultrasound was detected and becomes available to analyze another set of data.UltrasoundAnalyzer takes an array of bytes, concatenates them into 16-bit values in little endian format, then creates an UltrasoundDetector object to decide whether or not the samples contain the desired frequency. The boolean decision as to whether or not ultrasound was present in the block of samples is sent back to the UltrasoundListener object that instantiated this thread. The UltrasoundDetector object is responsible for calling an appropriate digital signal processing algorithm. WALRUS currently uses the Goertzel algorithm because, similar to a narrow bandpass filter, it is useful when analyzing a signal for only a few particular frequencies. Additionally, the Goertzel has several optimizations that allow for very quick computations [2]. The UltrasoundDetector object instantiates three instances of the Goertzel algorithm in order to compare the relative magnitudes of the desired ultrasonic frequency to two adjacent frequencies: one above and one just below 21,000Hz. Since white noise contains a wide variety of similar frequencies, we can largely eliminate the possibility of detecting unwanted ultrasonic sounds by ensuring that the relative magnitude of the 21,000Hz frequency is much greater than the relative magnitudes of signals with frequencies just above and below 21,000Hz. Prior to using three instances of the Goertzel algorithm, false positives were often detected when the doors shut or the detecting microphone was whistled into. However, once three Goertzel algorthim instances were used by the UltrasoundDetector, no false positives were detected during any of the remaining tests.

3.3.3 Determining the LocationThe MobileClient manages a data structure that keeps a running history of the 802.11 packets received. After the MobileClient class has been notified of an ultrasonic detection, analysis must be done to match the ultrasonic detection with an 802.11 packet and derive a probability that the two signals match. Upon reception of a positive ultrasonic detection, the data structure storing 802.11 packets is examined to determine if at least one 802.11 packet has arrived within the Maximum Detection Time. The Maximum Detection Time is an experimentally derived constant that describes a timeframe to be examined indicating recently received 802.11 packets. If only one 802.11 packet has been

Page 6: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

received within the Maximum Detection Time period, then this 802.11 packet is associated with the ultrasound signal. If more than one 802.11 packet is present then the ADT, the Average Detection Time, is used to make a decision. The ADT is also an experimentally derived value that picks an 802.11 packet based on the packet with the closest time stamp to the ADT value.

Figure 3. After Ultrasound detection the previous 802.11 messages received are analyzed to determine the most likely match.Figure 3 describes the process of associating an ultrasonic signal and 802.11 datagram. In the figure, 802.11 packets from both Room B and Room C are considered because they fall within the Maximum Detection Time range. However, the absolute value of the difference between the ADT(Average Detection Time) and Room B’s arrival time is less than the absolute value of the difference between the ADT and Room C’s arrival time. Therefore the positive ultrasonic signal is associated with Room B.

Once the ultrasonic signal is associated with an 802.11 signal, a probability that the association is correct needs to be determined. Since a history of messages is stored in a data structure, a weighted value is assigned to each element of the history based on how recently the message was added to the history, and whether a sequence of messages exists from a particular room. For example, if three messages are received consecutively from Room A, then not only will Room A receive an advantageous weight value over older messages in the data structure, but it will receive an additional weight since a sequence of consecutive messages was seen from a particular room. The weighted values could be used by an application in a variety of ways, but the value literally describes the confidence level WALRUS has that a mobile device is within a particular room.

4. EVALUATIONWALRUS has proven itself to be a reliable system for determining room location. Our tests have shown that it provides accurate and consistent location resolving in small-scale settings. Anyone carrying a mobile device enabled with WALRUS in a WALRUS-enabled office building can walk from room to room and determine his location via the mobile device. If a maintenance worker was using WALRUS to find his way around a new building, he could consult his WALRUS-enabled mobile

device to determine his location in the building and perhaps correlate this information with a printed map in order to figure out the best route to his next destination. Since the WALRUS-enabled mobile device is able to determine its room location, it can use this information to provide details about nearby services to the user. An external application could be constructed containing a database of known services and their locations on a virtual map. Once the mobile device learns its position on the virtual map, it would be able to determine what services are nearby.Attempting to use cheap technology as a foundation for our system has also proven to be a valid endeavor. Anyone who wants to equip an office building with location aware technology needs only to install and run our server beacon software on a speaker-equipped desktop system in each room of interest and install and run our mobile client software on a microphone-equipped mobile device of choice. No additional setup or hardware is required for our system.As a tradeoff to its high degree of reliability, WALRUS suffers slightly from slow performance. When moving from one room to another, the mobile device requires approximately 4 to 20 seconds to re-learn its location. The system as it currently exists is not well suited for interactive map applications since the mobile device’s position on a virtual map would be perceptibly skewed in time from its actual physical location. It would take several seconds for the mobile device’s position on the virtual map to update once the mobile device crossed a room boundary. Most of this delay is programmed so that reliability is increased. For example, the period of time between server beacon broadcasts must be large enough so that the chances of nearly simultaneously received messages are reduced. Also, a history containing recent room determinations must be kept and used to calculate relative probabilities for room locations so that incorrect room determinations do not immediately cause the mobile device to believe that it is in a different room; however, this increases the amount of time it takes for the mobile client to change its belief in a given room location when moving between rooms because multiple identical room determinations must occur before the mobile client indicates a large enough confidence that it has changed rooms.WALRUS, as it currently exists, is better suited for long-term location awareness in devices that do not move quickly from room to room or that do not need immediate location resolving. For example, WALRUS could be used to track the locations of laptops in an office building since some large businesses are often unaware of the locations and movements of their inventories. WALRUS could also benefit someone who occasionally moves from office to office during the day but who enjoys the benefits of certain location-aware applications on his mobile device.

Page 7: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

As long as it does not need to be extremely responsive, WALRUS provides a reliable location-awareness solution for most needs.Though relatively slow, WALRUS offers accurate ultrasound detection. Since ultrasound detection is a foundational component of this project, accurate ultrasound detection means accurate room determination in general. According to our tests, the mobile client, which consists of a Dell Inspiron 8200 laptop with built-in microphone, is able to correctly detect ultrasound with little error across distances up to approximately 40 feet.In order to test our system’s ultrasound detection reliability, we used our server beacon code to broadcast a 500 ms ultrasound pulse at regular intervals from a standard, cheap pair of desktop speakers. We then used our mobile laptop device to execute our mobile client software at varying distances from the server beacon’s speakers. We examined the times at which ultrasound was received on the laptop and tried to correlate these with the regular intervals at which ultrasound was being broadcasted. Long periods of time between ultrasound detections were noted as missed detections and short periods of time between ultrasound detections were noted as false positive detections. This set of tests was performed in a computer laboratory environment, filled with both the ambient noise of people working and various shelves and racks that could interfere with the transmission of ultrasound. The results of these tests are shown in Figure 4. The percentage of time that ultrasound was detected when ultrasound was actually present, as well as the percentage of time that ultrasound was detected when ultrasound was actually not present, is given at various distances from the server beacon. The graph shows that correct ultrasound detection occurs nearly one hundred percent of the time up until about 54 feet away from the server beacon, at which point only about 62% of the transmitted ultrasound pulses are correctly detected by the laptop. However, it is anticipated that most rooms used to contain WALRUS server beacons will not be so large; such expansive rooms would most likely require multiple sound sources for the same beacon. The chart also shows that false positive detections of ultrasound occur anywhere from zero to three percent of the time and become more noticeable at greater distances. It is possible that the false positive ultrasound detections are caused by delayed ultrasonic sound waves arriving at the laptop through different paths than the direct one traversed by most of the other ultrasonic waves. As these findings show, WALRUS is effective at detecting ultrasound at distances up to about 40 feet.Because WALRUS is both decentralized, which increases the chances for concurrently received broadcasts, and dependent on tight timing sequences, which leaves little room for correlation errors, its ability to detect the correct

room is slightly less impressive than its ability to detect ultrasound. The certainty with which WALRUS makes room determinations is dependent on the number of room location messages that the system is receiving. Since WALRUS attempts to correlate the times that it received ultrasound with the times that it received room location messages, the occurrence of several room location messages in close time proximity make it difficult for the system to choose the best-fit message.

0

10

20

30

40

50

60

70

80

90

100

7 14 21 28 35 38 54

Number of feet between mobile device and server beacon

speakersPe

rcen

t

Percentagedetection whenultrasound present

Percentagedetection whenultrasound notpresent

Figure 4. Ultrasound reliability.

In order to make quantitative assessments about WALRUS’s ability to correctly determine room locations, we set up varying numbers of server beacons to broadcast different room messages. Each of these server beacons was located in the same room, but only one of the beacons was equipped with standard desktop speakers for broadcasting ultrasound. Every time the mobile client correctly determined that it was in the room described by the room message from the beacon with speakers, this was noted as a correct room determination. Every time the mobile client determined that it was in the room described by the room message from one of the other beacons, this was noted as an incorrect room determination. The results of these tests with varying numbers of server beacons are given in Figure 5. This chart shows the percentage of time that the mobile client correctly correlated ultrasound detection with the room message being broadcasted from the beacon with speakers. As seen in the chart, WALRUS has near-perfect location determination with only two server beacons running. However, this accuracy drops steadily as the number of beacons within range of the mobile client increases. With six server beacons running, the mobile client is only able to correctly determine room location about 84% of the time. In order to view the trend of decreasing accuracy for larger numbers of server beacons, this test was also run with 25 server beacons broadcasting different room messages. As the chart shows, this large number of beacons within range of the mobile client causes the accuracy in room determination

Page 8: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

to drop below 50%. Thus, it can be seen that WALRUS’s ability to correctly correlate ultrasound with received room messages drops steadily as the number of running server beacons within range of the mobile client increases.

0

10

20

30

40

50

60

70

80

90

100

2 3 4 5 6 7 25

Number of rooms with server beacons

Perc

ent c

orre

ct

Percentage of correctroom determinations

Figure 5. Room determination reliability with varying numbers of serve beacons.

In order for WALRUS to be an effective indoor positioning system, it would obviously have to function for more than just six or seven rooms. However, the number of room messages received by mobile clients from nearby server beacons can be reduced fairly easily either by reducing the time-to-live of the multicast UDP packets being broadcasted or by limiting the server beacons to broadcast UDP packets directly through 802.11 rather than through the wired network so that the effective range of these packets is reduced.The WALRUS positioning system suffers slightly from slow performance, but it is highly reliable and accurate in small scale environments. It is useful for all the situations in which we initially anticipated it being used. Although it is not perfect, there is still a great deal of work that could be done with WALRUS to make it faster and more expandable to larger environments.

5. FUTURE WORKSeveral options exist for future work or developments that would allow for possible improvements to the WALRUS system. One key feature that still needs to be examined is to determine how well WALRUS works when it is deployed in a large scale setting. Due to time constraints, we have only been able to extensively test WALRUS in a small scale environment consisting of two or three rooms. It is believed that scaling WALRUS should be possible with very little additional effort. Since no central management or specialized hardware is needed, only installation of the WALRUS software is needed to begin exploring the effects of using the system using many rooms in an environment with many servers.Multiple avenues could also be taken to improve the ultrasonic detection. Currently, WALRUS uses floating

point instructions within the Goertzel algorithm to analyze the data recorded from a mobile device. It is possible to implement the Goertzel algorithm using fixed point arithmetic; this optimization would eliminate the use of costly floating point emulation instructions. Additionally, alternate signal analysis methods might be later developed that are less computationally intensive than Goertzel, but still appropriately used within WALRUS.Future improvements or alternate systems might consider implementing ultrasonic modulation. In [5], the authors explored the concept of modulating ultrasonic signals to allow data transmissions within an ultrasonic signal. By incorporating these methods within WALRUS, it would be possible to eliminate the use of 802.11 networking and require only ultrasonic signal detection as a means of communication. One possible solution involving modulating ultrasonic frequencies could entail repeating sequences of pulses that uniquely identify each room.Currently WALRUS has a very high level of accuracy with room level precision. We have also discovered that we are often able to quickly interpret ultrasonic signals across very large rooms. One experiment that should be considered is to determine what amount of accuracy, if any, can be sacrificed in order to obtain a higher level of precision. By using time-of-flight or alternate methods it may be possible to accurately narrow the system’s estimation of a user’s location within a room to several square feet.Finally, future work that should be done includes application development. Providing a user with his or her location is useful in a small set of mapping applications; however, a broader range of applications could be developed that provide a user with information about his or her changing environment and adjust accordingly. One example includes a scenario described in [7]. Using WALRUS, it would be possible to develop an application that would automatically print a document at the nearest printer to a mobile user.

6. CONCLUSIONSA wide array of systems exist that attempt to provide a mobile device with information that can be used to decide the location of that particular mobile device within the system’s domain. After analyzing several existing location aware systems, we decided it was possible to design a system that uses only pre-existing hardware, but is still capable of providing a user with enough information to derive his or her location with room-level granularity. While we attempted to retain key design features used in systems like Cricket and ActiveBadge, we were able to incorporate parts of those designs into WALRUS and create a system where no specialized and costly hardware is needed at the sacrifice of precision. The resulting system takes advantage of the built-in

Page 9: Proceedings Template - WORD€¦  · Web viewDepartment of Computer Science and Engineering. University of Washington, Seattle, WA {toffer,chrispal}@cs.washington.edu ABSTRACT. Mobile

microphones available on many mobile devices and the existing speakers common to most desktop systems to create a system that allows a mobile device to privately detect ultrasonic signals and correlate these signals with 802.11 packets broadcast by a desktop system stationed within a given room. We found this system to be an accurate, manageable, and extremely affordable solution for determining the room in which a device is located within an environment similar to a large office building. Many simple adjustments can be made during future implementations, which could increase the overall performance and precision level of the system.

7. ACKNOWLEDGEMENTSWe would like to thank the many individuals who have provided us with support and guidance throughout the duration of this project.Tom Anderl, Gaetano Borriello, Todd Drullinger, Jong Hee Khang, Alan L. Liu, James W. Scott, and Richard Sharp.

8. REFERENCES[1] Hari Balakrishnan, Roshan Baliga, Dorothy Curtis,

Michel Goraczko, Allen Miu, Nissanka B. Priyantha, Adam Smith, Ken Steele, Seth Teller, Kevin Wang. Lessons from Developing and Deploying the Cricket Indoor Location System, November 2003. (Preprint.)

[2] Kevin Banks. The Goertzel Algorithm, Embedded.com, http://www.embedded.com/story/OEG20020819S0057, August 28, 2002.

[3] A. Harter et al. The Anatomy of a Context-Aware Application, Proc. 5th Ann. Int’l Conf. Mobile Computing and Networking (Mobicom 99), ACM Press, New York, 1999, pp. 59-68.

[4] Jeffrey Hightower and Gaetano Borriello. Location Systems for Ubiquitous Computing, Computer, vol. 34, no. 8, pp. 57-66, IEEE Computer Society Press, Aug. 2001.

[5] A. Madhavapeddy, D. Scott, R. Sharp. Context-aware computing with sound, The Fifth International Conference on Ubiquitous Computing (UbiComp 2003). Vol. 2864 of LNCS, Springer-Verlag.

[6] Allen K. L. Miu. Design and Implementation of an Indoor Mobile Navigation System, SM Thesis, Massachusetts Institute of Technology, Jan 2002.

[7] Nissanka B. Priyantha, Anit Chakraborty, Hari Balakrishnan. The Cricket Location-Support system, Proc. 6th ACM MOBICOM, Boston, MA, August 2000.

[8] Bill Schilit, Anthony LaMarca, Gaetano Borriello, William Griswold, David McDonald, Edward Lazowska, Anand Balachandran, Jason Hong and Vaughn Iverson. Challenge: Ubiquitous Location-Aware Computing and the Place Lab Initiative,In Proceedings of The First ACM International Workshop on Wireless Mobile Applications and Services on WLAN (WMASH 2003), San Diego, CA. September 2003.

[9] Roy Want et al. The Active Badge Location System,ACM Trans. Information Systems, Jan. 1992, pp. 91-102.

9. APPENDICESAll relevant appendix information and source files are documented extensively and available on the Internet at http://www.cs.washington.edu/education/courses/cse477/04sp/projectwebs/cse477m/ or through the CSE477 course archives available on the University of Washington’s Computer of Science and Engineering homepage.