May 6, 2002

Indoor Positioning \ {\small COS 398 (Junior Independent Work) Final Report}

Indoor Positioning
COS 398 (Junior Independent Work) Final Report

Kalid Azad

1  Introduction

1.1  The Problem of Indoor Positioning

Currently, there is no commonly agreed-upon way to determine position indoors. In contrast, GPS (Global Positioning System) works well outdoors and is almost universally used. However, its signals are weak enough to be blocked by the walls of a building, and thus is not available for indoor applications. Various methods exist for indoor positioning, but all must balance flexibility, cost, and accuracy.

The applications of indoor positioning are many: indoor robots, inventory tracking, security, and location-finding, for instance. Currently, the main problem lies not with the need for applications, but with the implementation.

The challenge occurs precisely because of the tradeoff mentioned above. It is natural that a more accurate system should cost more than a less accurate one, or have some other disadvantage. GPS, for instance, cost hundreds of millions of dollars to develop, but is extremely accurate and flexible - it can be used anywhere on Earth. Various issues arise when designing a positioning system, such as clock synchronization, propagation delay timing, signal absorbtion, reflection and interference, and the challenge of creating custom hardware.

1.2  A Possible Solution

This paper introduces an extension to an existing indoor positioning system that uses a wireless network[]. The system, developed by researchers at Microsoft, works by having a client visit various locations and record the signals seen at each one (its ``profile"). After collecting many profiles, another client can then wander around, comparing what their current profile to the prerecorded ones. The nearest match is probably the user's location. My key contribution to this scheme is the use of a directional antenna to improve a profile's quality. The goal is that a better profile should lead to improved accuracy.

1.3  Overview of Paper: Executive Summary

We begin by overviewing previous attempts at indoor positioning, which interestingly share similarities to a historical search for a positioning system. All systems except for positioning via phase differences and wireless networking are eliminated, mostly for reasons of cost, complexity, or accuracy. The phase difference system was attempted, but found to be too complex to complete in the time given; the wireless system was then selected, and was actually the better choice in hindsight. The details of my approach and implementation are given (including the choice of a can-waveguide antenna), followed by the results: meter-level accuracy can be obtained on average. One problem, however, is that occasionally the system's first location choice is inaccurate by a significant amount, whereas the second choice is correct. Various methods are proposed to improve upon the system, followed by concluding remarks.

2  Previous Work

The history and background of indoor positioning was crucial to my research, and I spent much of my time studying about it. My approach, in brief, was to develop an indoor positioning system after carefully examining the existing methods. The results of my analysis follow, along with a brief historical diversion.

2.1  The Longitude Problem: A Historical Background

One of the earliest, most notable searches for a positioning system officially began in England, 17141[]. Ships at sea were in a predicament - they could not determine their longitude accurately. Latitude was easily determined by the length of the day, which varied predictably. However, solving for one's longitude had no simple solution. This information was crucial, because ships needed to know their distance from land. Tragic incidents involving vessels running aground on rocky shores, or losing crew members from starvation because they underestimated distance, were not uncommon. In addition, ships that travelled well-known routes were victims to pirates.

Petitioned by sailors and merchants, the English Parliament created the Longitude Act, which offered a large reward for the solution to the Longitude problem. Many solutions were offered, ranging from the mathematical (using astronomical tables2), to the absurd. One solution called for anchored ships to be positioned at set intervals throughout the ocean. On the hour, they would use cannons to propel fireworks high into the air. By timing the difference in the sound and sight of the fireworks, a ship could calculate her position from these ``beacons". Two such data points, from different ships, could determine distance through triangulation.

Of course, this solution was not adopted. In the end, the prize was won by a highly precise clock created by John Harrison3. Modern solutions for indoor positioning bear a resemblance to these methods, ranging from the brute-force ``cannon" approach to mathematical methods similar to the astronomer's tables and the accurate clock.

2.2  Dead Reckoning

Dead reckoning involves keeping track of the distance travelled from a known origin, and using this to determine position. This can be accomplished by using various inertial sensors, wheel rotation counters, and timers, but is not very accurate4. Errors, such as a robot's wheel slipping, can compound and corrupt future positions, and are not easily removed once introduced. In addition, there is no clear extension to human users - a device would need to monitor the direction and length of each stride. A practical, extensible indoor positioning system should not be so tightly coupled to the method of movement. The relatively low cost and simplicity of dead-reckoning did not outweigh these major flaws, and it was eliminated as a candidate early on.

2.3  IR (Infra-red) beacons - Active Badge

The Active Badge system works by placing IR beacons around a building. The user has an ``active badge" which communicates with the nearest beacon/transmitter. From this, the user's position can be determined to within a room.

This method, though effective for room-level positioning, bears a resemblance to the ``cannon" method previously discussed (detecting a signal indicates that you are in the vicinity of a transmitter, but the propagation delay is not used to determine distance). Beacons must be placed in every room, and the user's receivers look for the signals they transmit. In addition, IR requires line-of-sight communication, because it has a high tendency to bounce off, and not penetrate, walls and ceilings. Because of this, it would be difficult to refine the Active Badge system for more accurate positioning, or for use in an environment with many obstacles.

While not as impractical as anchoring ships permanently at sea, this approach does not scale well, because every room and hallway needs a transmitter. As taught in many computer science and engineering classes, a brute-force solution is generally not the best because it wastes resources (such as time or money) compared to a better-planned strategy. Also, this brute-force method only yields room-level granularity. For these reasons, IR beacons were not chosen.

2.4  GPS (Global Positioning System)

GPS is one of the most well-known, accurate, and available positioning systems. Unfortunately, it does not work indoors! However, it is still useful to know how it works.

The GPS system is composed of a constellation of satellites in space, orbiting in precisely-known paths. Each satellite contains multiple $100,000 atomic clocks, each with sub-nanosecond precision. These satellites constantly transmit their current time, encoded in radio signals that propagate at the speed of light. Again, this is similar to the ``cannon" method, with beacons placed at known locations. By measuring the delay from when the signal was sent (encoded in the signal itself) and when it was received, the propagation delay of light can be determined. From this, the distance to a satellite can be determined - light travels about 1 foot per nanosecond. Because each satellite's exact position is known from the orbital table, multiple satellites can be used for triangulation. Four satellites are actually needed, because the ground GPS receiver does not contain an atomic clock of its own. Instead, the fourth measurement is used to determine the time skew that makes the data consistent. The true position can then be recalculated. Because the signals are travelling from space, they are understandably weak. Dense tree cover, much less a cement wall, will block the satellite's signal. Thus, in an indoor environment, GPS cannot be used.

Due to the speed of light, each nanosecond of delay is a foot of error. This is the reason for the incredibly precise atomic clocks, which justifies their great cost. However, this highlights the a major drawback with any propagation delay method - accurate clocks are an absolute necessity. A computer with a microsecond granularity will have an error of about 1000 feet.

GPS ``pseudolites" act as pseudo-satellites on the ground (hence the name). The pseudolites have their position accurately determined, and they send a GPS-like signal to clients. They do not have atomic clocks, but instead use phase differences, discussed later.

This amplified signal can be received indoors, and has even been used for centimeter-level accuracy[]. However, this solution is very expensive, and was used in open indoor environment, without obstacles. However, interfering walls and other objects can lead to the multipath problem. This occurs when a signal reflects and travels along multiple paths to the receiver. The receiver does not know which signal is correct, and the delayed signal may be preferred to the true one (it may overpower the original). This is a fundamental problem with non-line-of-sight methods.

GPS pseudolites, while promising, were much too complex and expensive to be developed in one semester by one individual. This involves specialized hardware and software - commercial outdoor pseudolites cost upwards of $10,000. Centimeter-level resolution indoors is excellent, but may not work with obstacles. A cheaper solution, with meter-level accuracy and the ability to work with obstacles, would be desirable. Before the military descrambled civilian GPS signals, they were only accurate to tens of meters; an accuracy on the order of meters is still useful. The pseudolite's cost, complexity, and unknown performance with obstacles overshadowed its extreme accuracy, and it was not selected.

2.5  RF (Radio Frequency) Positioning: Phase Shift

I actually devised a positioning system using phase shifts on my own, but later discovered it had been discussed in a MIT master's thesis []. The description in that thesis follows.

This method uses the phase difference between two sinusoidal signals to determine position. Multiple transmitters emit sine waves of known frequencies, and the receiver notes how out of phase5 the signals are. Because the receiver will detect varying phase differences at separate locations, it can solve for its position.

As an example, suppose that the receiver always gets signal A at its maximum when signal B is at its minimum (assume A and B are of the same frequency). The maximum of a sine wave occurs at 90 degrees, and minimum at 270 degrees. Thus, the signals are 180 degrees out of phase. This means that the difference in position of the two signals is always half a wavelength (180 degrees). This knowledge can be used to plot a hyperbola of possible locations6, and the intersection of multiple hyperbolas can be used to determine the exact location. At a minimum, three transmitters are necessary (since only two transmitters will give an entire hyperbola of possible locations).

To avoid ambiguities, the wavelength is assumed to be on the order of hundreds of meters, so the receiver is always within one wavelength of both transmitters.

There are several advantages to this method. First, it does not require an atomic clock, because the phase difference, not the propagation delay, is being measured. In addition, the phase difference should remain constant at a single point. Unlike the GPS pseudolites, we are not trying to recreate the GPS signal, and can transmit it in any format that is convenient.

The disadvantage is that custom hardware and software must be built for the transmitter and receiver. Luckily, phase differences are fairly easily detected in hardware, and the electronics is available to do just that. The software is more complicated, but this approach was considered as a potential candidate.

2.6  RF Positioning: Wireless Networking and Signal Strength

This method was developed at Microsoft Research, and implemented in their "RADAR" system[]. The basic idea was to create a positioning system based on an existing technology, wireless networking (802.11b).

To determine location, a user visits various locations and records the signal strength to various access points (APs) around the building (the APs are located throughout the building, and are what the user's wireless card connects to when transferring data). Every point, in theorym has a different profile of the signal strengths, due to its distance from the APs, intervening walls and furniture, etc. After creating a ``radio map" for each location of interest, the user can later visit a point and look up which prerecorded profile best matches the current signal strengths. Using this system, the group was able to get results of an average accuracy of 2-3 meters.

The research group also developed a system based on the raw signal strength itself, by trying to compensate for the attenuation introduced by various walls. With a blueprint of the building, the number of walls between any two points can be determined and the signal degradation can be accounted for. Indoor radio propagation is complex and not well understood, since radio waves can reflect or be absorbed, or suffer interference from nearby sources (microwave ovens, which operate at frequencies near the 2.4 GHz used by wireless networking cards, are a common source of noise). For these reasons, the modeling method was not as accurate as the ``radio map."

The advantages of profile method are numerous. First, it avoids the problem of timing by using tables for position finding (like the astronomer's tables in the Longitude problem). In addition, it uses cheap (less than $100), readily available wireless cards. Also, the infrastructure it uses (the wireless networking environment) is useful for transmitting any type of data. GPS signals, for instance, are really only useful for position finding and timing. The wireless network created by such a positioning system is potentially useful in any office for the Internet, file and print sharing, etc.

Also, the ``radio map" method avoids direct interpretation of the signals. Even if signals are weakened by walls and obstacles, it is acceptable because the weakened signal is recorded in the table. Presumably, upon revisiting the point, one will encounter that same, attenuated signal. Thus, all the multipath and interference problems become irrelevant, as they are automatically accounted for. The RADAR system was shown to work around walls in a real office building, while most other positioning systems were used in an open, indoor environment and were unproven in a realistic setting.

The main disadvantage for the researchers developing this system was the lack of appropriate software. Most software only recognized the wireless card as a traditional (wired) networking card. Signal strength information was not available, since it is meaningless in a wired environment. The researchers had to use the FreeBSD operating system, which allowed them to get signal strength information directly from the device driver (the low-level software that interacts with the card).

Despite this drawback, this positioning system was considered as a candidate because of the readily available hardware, demonstrated performance around obstacles, and usefulness beyond a positioning device.

2.7  Other Positioning Systems

Various other positioning systems were considered, but were rejected for reasons that will soon became apparent.

Computer vision techniques involve determining position by carefully examining the environment. An example would be determining your location in a kitchen by noticing a sink below you, a refrigerator to your left, and a window directly ahead. Your altitude could be determine by the angle at which these objects appeared.

This method's main advantage is its lack of timing and synchronization issues, and errors associated with the propagation of electromagnetic signals (such as multipath or attenuation problems). However, the costly downside are the heavy computations required for the image processing. A portable positioning device is unlikely to be powerful enough to be useful, and even if the computations were offloaded to a central server, the problems would continue as the number of users grows.

High frequency sound waves, or ultrasonics, can be emitted and detected, and their signal strengths can used for triangulation. However, this method requires line-of-sight, as a hard object, such as a wall, can reflect the sound waves. It would not work for building-wide coverage except in a manner similar to the Active Badge system, with beacons in every room. As previously discussed, I chose to avoid brute-force methods.

Low-frequency magnetics are used in the motion-capture industry to determine position to centimeter-level accuracy. Beacons produce a slowly varying magnetic field 7of a known shape, which sensors use to determine position.

The major problem with the motion-capture version is the need for a cord attached to the user. This is a tremendous disadvantage, limiting the comfort, range, and inherent practicality of the system 8.

Researchers at Stanford[] have developed a wireless magnetic system, with centimeter-level accuracy. The method is quite robust, and still works despite interference from concrete cinder blocks, bricks, and garbage cans. However, this was tested in a relatively open indoor environment, with beacons about every 10 square feet. While this could be extended to building-wide coverage, the cost of doing so could be expensive, given the number of transmitters needed. This system was considered briefly, but ultimately neglected because of this reason.

3  Approach

3.1  Conclusions Based On Previous Research

After researching many positioning systems, the tradeoff between accuracy, scalability, and cost became apparent. GPS, one of the most accurate and scalable systems9, was extremely expensive to develop and deploy. A single atomic clock costs roughly my tuition, and each satellite contained four. On the other extreme, the various ``cannon" methods, such as IR beacons or ultrasonics, revolve around a inexpensive line-of-sight system in every room. Again, these methods seemed unsatisfactory - with a little more planning, a less hardware-intensive system could be used.

The RF phase shift and wireless networking systems were the exception. Both stood out because they were extremely efficient, in the sense that they were relatively scalable and inexpensive solutions. I then decided to pursue the phase shift system, with the wireless networking approach as a backup. The phase shift system is advantageous because it does not require a pre-existing lookup table; positions can be calculated immediately.

3.2  Original Approach: Phase Positioning

Indoor positioning using phase shifts is theoretically sound, but relatively difficult to implement in practice. Custom receivers and transmitters must be built, along with an interface to a microcontroller or PC which performs the positioning calculations. In the master's thesis [], the student could not complete the system, and only had portions working (a custom operating system to sample and analyze the signal, the receiver and transmitter design).

I decided the remainder of the semester was not enough time to create and debug an entire phase positioning system. While more flexible than the wireless networking system, I thought it better to have a working, less flexible system than an incomplete, flexible one. In addition, I had more background in software; while I was extremely willing to learn the details necessary to create the custom hardware, acquiring this knowledge would have used much of the semester.

3.3  The Final Approach: Wireless Network Positioning

For the aforementioned reasons, I settled upon an indoor positioning system using wireless networks. Despite this being my second choice, in hindsight I believe it to be the better system (a deeper explanation appears in the ``Discussion" section). In summary, the system works by visiting various points and creating a ``profile" of the signals received there. Later, a user can visit a point and compare the current profile to the previously stored entries - the nearest match is probably his current location.

3.4  Key Insight: Directional Antennas

My contribution was the realization that a directional antenna could improve the quality of the signal profiles. Briefly, a directional antenna amplifies signals received from certain directions while decreasing it in others10 (described in more detail in the "Methodology" section).

The main goal of my approach was to create unique profiles at each location, because similarities in signal profiles would result in ambiguities when determining position. A directional antenna, ideally, should help to distinguish various positions.

3.5  Directional Antenna Functionality

My approach should work best when there are multiple access points at different locations throughout the building. Thus, when the directional antenna aims at a location, it will amplify a certain subset of access points, rather than all of them (as would an omnidirectional antenna). Again, my goal was to create signal profiles that are as unique as possible, and the more access points, the more diverse the signal at each location.

In addition, both the strength and stability of the signal matters. If the signal is too weak it cannot be detected, and an extremely powerful but noisy signal can be useless. The profile at each point needs to be relatively constant as time progresses, so the user can make an accurate table lookup. A directional antenna that both amplifies and stabilizes the signal is ideal - the results of this search appear later.

Finally, the directional antenna must be of a reasonable size. In general, the size of an antenna is proportional to the wavelength of the signal it wishes to receive. A 2.4 GHz signal has a wavelength of about 12cm, and antennas of this size are not overly cumbersome. It was fortunate that 802.11b was allocated such a high-frequency slice of the spectrum by the FCC - had the frequency been in the megahertz range, the ideal antenna could have been tens or hundreds of meters long (obviously impractical for portable, indoor use). However, even the 12 cm size is too large for PCMCIA laptop cards, and so an external antenna is required.

3.6  Profile Format

My plan for a profile was to store the average signal-to-noise ratio (SNR11) for each access point in the log. The SNR was chosen because it contains information about the quality of the signal as well. Had the pure signal strength been used, a strong signal with a lot of noise would be considered important, when in reality it might contain little useful data.

3.7  Profile Analysis

I decided to match profiles in a method similar to the way they were recorded. The current logfile would have its average SNR computed for each AP, and stored in memory. Then the program would consider this set of averages as a ``vector", and compare this to each of the profile ``vectors." For example, a profile vector might list (AP A: 25, AP B: 40), indicating an average signal strength of AP A as 25, and AP B as 40. A position vector would have its own values, and the Euclidean distance between these two vectors can be computed. The profile with the smallest distance to the current vector would be considered the best match.

4  Methodology

4.1  Required Design Components

The necessary pieces of the system were the hardware (laptop, wireless card and antenna) and software (signal logging and analysis programs). The laptop and card were straightforward to obtain12, but the software was not as easy to come by.

4.1.1   Signal Logging Software

The laptop ran Linux, and the interface to the device driver was fairly complicated. Luckily, software was available[] to interact with the device driver, and I began writing a program to log signal measurements at set intervals. However, the wireless card I had at the time (Cisco Aironet 340) did not have an external antenna attachment. After realizing this, I decided to buy a card which did (Lucent Orinoco Silver). After further research, I found utilities which could log signal information: NetStumbler [], and Lucent's Client Manager software. Both of these utilities were very useful, and could run on Windows 2000. Thus, I decided to use my own laptop.

4.1.2   Signal Analysis: Profile Recording and Location Finding

No software existed for recording and analyzing profiles. Being most familiar with C but wary of doing extensive text-processing in it, I decided to learn Perl. After a few days of reading tutorials, I created two scripts:

record.pl: This script parses the logfile and pulls the signal data into tables, keeping running totals of the signal, noise, and SNR for each access point. It finally computes the average, and records this in a position file (the filename is specified as a command-line argument).

capture.pl: This script parses the logfile (as in record.pl), but now examines every position file in the current directory. It stores the relevant data in tables, and computes the Euclidean distance of the current vector to the current position file, recording the entries in a table. The results are sorted, and the top ten results are listed, along with their Euclidean distance from the corresponding position file.

This design is useful because profiles can be stored in various directories (indicating differing position data), and capture.pl can be placed in each folder. In addition, it is fairly modular because

I also learned MySQL to store the position information in a database. However, storing the values in individual text files was easier; it allowed locations to be added, removed, and examined very easily. The MySQL representation will be useful if the table must be accessed through the Internet (see the ``Follow up work" portion of the ``Discussion" section).

4.1.3  Directional Antennas

The directional antennas had to be implemented as well. I initially thought I would have to machine the antenna, but Prof. Littman found a website describing a homebrew Yagi antenna, made from a Pringles can, metal tubing, and some washers. Surprisingly, this unlikely antenna turned out to be quite popular among the 802.11 ``homebrew" crowd; numerous websites mentioned the design. I built the two antennas described on the site: one was roughly 36" long, the other 18". Their size and weight made them more suitable for a stationary use at a permanent position, not for the mobile applications I had planned.

Further research yielded alternate designs, from a shortened version of the Pringles Yagi [] to a waveguide antenna based on a metal can []. I created both, and learned some of the antenna theory along the way. To my understanding, the waveguide (metal can) works by creating a standing wave13 inside the can, and sampling it at its maximum. Because a sine wave reaches its maximum at a quarter wavelength (90 degrees), the piece of metal that actually samples the signal is placed there (roughly 3cm from the rear of the antenna).

Various components, such as the connectors between the antenna and wireless card, had to be researched purchased online14. Once obtained, the antenna was soldered together.

4.2  Final Design Components

The final system was composed of the following:

Hardware:

Software:

5  Results

Various components had to be tested, from the matching algorithm to the directional antennas themselves. The results appear below.

5.1  Determining The Best Antenna

On the Internet, various websites mentioned that the can waveguide functioned better than the Pringles Yagi []. However, these results were outdoors, and I wanted to test the operation of the antennas in the environment they would be used (within the Friend Center and the Computer Science building).

The following test (Fig. ) sampled the signals every second for an extended period of time (about 45 minutes). The purpose was to determine the typical variation in a signal, as well as each antenna's effect on that variation. The wireless card, without an antenna, was used as a control.

Figure

Antenna Avg (1) Std. Dev.(1) Avg (2) Std. Dev.(2) Avg (3) Std. Dev. (3)
None 40.47 3.37 4.14 2.39 8.00 1.98
Pringles Yagi 41.49 4.14 11.08 1.76 16.69 1.25
Can Waveguide 44.24 1.28 14.53 2.40 12.84 1.17

Figure 1: Signal-to-noise ratio over time (sampled every second), using various antennas. Each color represents a different access point.

Both antennas have amplified the signal (compared to no antenna), and the variation has been reduced as well. The twenty-second moving average (Fig. ) gives us more insight. Twenty seconds is a reasonable limit on the amount of time a user is willing to spend to determine his or her position. Because our program takes the average of the log (with a maximum length of about 20 seconds of data), the variability in the moving average is an indication of how accurate the system can be.

Figure
Figure 2: 20 second moving average of the signals in the previous figure.

The can-waveguide appears to give the most stable signal, as can be seen from the charts (lowest standard deviation on average). It tends to boost the signal noticeably as well, while keeping it it with relatively little variation. The Pringles-Yagi seems to boost the signal, but at the expense of stability - notice how much the moving average varies.

Both antennas are an improvement of the internal antenna in the card, which has the lowest average and highest standard deviation in all cases.

This data supports the findings that the can-waveguide performs the best outdoors. The can was selected to perform positioning experiments.

6  Positioning Accuracy

Given the nature of the positioning (based on a table lookup), there was no obvious way to directly measure positioning accuracy. I decided to test both ways I could imagine:

Rather than making a grid of my own, I used to 1' by 1' tiles on the ground floor of the Computer Science building. Fortunately, the tiles vary in color, making it easier to keep track of the current position.

An issue with a directional antenna was the direction in which to point it. The only directions which anyone can find without a compass are up and down, with up being the likely standard, for obvious reasons. For performance comparisons, the ``forward" direction (front of the Computer Science building) was occasionally chosen.

6.1  Positioning: Recognition Accuracy

For this test, I created profiles for seven tiles, each separated by three others (thus, they were about 3' apart). I then revisited the locations I had mapped, and tried to identify my current location (I tried the antenna in both the up and forward positions).

When performing the experiment, I noticed that occasionally the first match would be off by a significant amount (8 feet or more), but the second match would be correct. In such cases, I kept a record of the "corrected" score as well, assuming the first result was invalid. The results are as follows:

Orientation and Data Average Error Std. Dev.
Raw, Up 3.43' (1.04m) 3.60' (1.10m)
Corrected, Up 0 0
Raw, Forward 3.43' (1.04m) 6.29' (1.92m)
Corrected, Forward 0.57' (0.17m) 1.51' (0.46m)
Figure 3: Recognition error for various orientations.

Overall, the scores are fairly good. Even the raw data has an accuracy on the order of a meter, which improves even more if the data corrected for the extreme points. The problem in practice is that the algorithm does not know the x, y coordinates of the entries in its table. Thus, it cannot tell if the first choice location is vastly different from the previous one, and likely to be incorrect.

Surprisingly, the directional antenna fared worse than the antenna pointing upwards on this test. I believe this is because the profiles appear similar for points along a line when using the directional antenna. My hypothesis is that the directional antenna boosts the signal coming parallel to the line, while suppressing those coming perpendicular to it. However, those perpendicular signals can server to differentiate points along the line. Without these unique features, the profiles appear similar, and the lookup is not as accurate.

6.2  Positioning: Location Of Unknown Points

The next step was to map a series of points, and see how the system determined the position of the intermediate points. Of course, it must map the unknown location to a known one, so there is some inherent error 15. The hope is that the system will map the unknown point to the nearest mapped point, putting an upper bound on the error (i.e, the distance between mapped points).

In the Computer Science building, I mapped the colored tiles, and took position data on approximately 180 tiles nearby (including the mapped ones). As before, some points were wildly off, but the second choice was correct. The results of the experiment follow:

Figure Figure
Data Mean Std. Dev. Median Mode
Raw 5.48' (1.67m) 3.23' (0.99m) 5.0' (1.53m) 4.0' (1.22m)
Corrected 4.3' (1.32m) 2.67' (0.81m) 4.0' (1.22m) 2.0' (0.61m)

Figure 4: Histogram of positioning errors for raw and corrected data.

Notice how many of the errors in the raw data move to less extreme values in the corrected version. This lowers the average, median, and mode, resulting in more accurate positioning. Again, this is a decision that only a human can make, since the current algorithm does not information about the relative position of entries in the table.

6.3  Effect of Antenna Orientation

Although the antenna orientation was not accounted for in the matching algorithm 16, it is an area of further research (discussed later). To see how the orientation effected the data, data was gathered for qualitative analysis:

Figure
Figure 5: Signal-to-noise ratio a fixed location with various antenna positions.

The signal-to-noise ratio is certainly affected by the orientation of the directional antenna. This is to be expected, since the antenna should strengthen the signal in some directions and attenuate it in others. Future implementations could take advantage of this.

7  Discussion

7.1  Analysis of Wireless Networking

Overall, the wireless networking method of indoor positioning is very promising. The results demonstrate resolution on the order of a mater, using the Euclidean distance to compare profiles. The hardware (aside from the laptop) is inexpensive, and most software is available or can be written. The homemade antennas were demonstrably better than that inside the card. Given their low cost of construction, they should be included with any such system.

The main disadvantages of the system is that every point must be mapped out beforehand. It took hours to set up and test the nearly 200 points when finding the error in unknown positions (a lot of time was spent recording points and examining their location data). There is not an obvious solution to this problem, except that the interface to the system can be improved. This will allow profiles to be taken with a single click, greatly decreasing the time necessary to map out a building.

The other disadvantage, which became apparent in some of the trials, was that multiple locations may have similar distances to a given profile. For example, the point (5,5) is equidistant from a profile of (0,5) and (5,0), even though the profiles are quite distinct. In addition, it is sometimes the case that the client logging utility will record the impossible signal strengths of 65,635, presumably from a division by zero error. With a value like this, nearly any profile could potentially match, since the distance vector becomes largely meaningless. Errors in the signal logging utility are a possibility as well, but must be watched for.

7.2  Improvements Over Phase Shift Positioning

Earlier in this paper, I mentioned how positioning using wireless networks was actually my second choice. However, at the end of this project I have realized that I made the right choice by choosing wireless networks.

The phase of a signal can be altered by the delay introduced by intervening obstacles, as well as errors introduced by the multipath problem. Because the wireless networking solution does not depend on the absolute signal strength (or phase), it can avoid such problems.

In addition, the pre-existing hardware and software turned out to be a huge advantage. Why design an entirely new operating system and hardware when they are readily available? Wireless networking cards are easily bought, have been debugged, and use a well-defined interface (PCMCIA) to existing operating systems. The essence of the problem - constructing and searching the positioning tables - is the main piece left to implement, not the underlying plumbing.

The last, major advantage is the useful wireless network created by this system. Alternatively, an existing wireless network, such as the one in the Computer Science building at Princeton University, can be used with no changes. This advantage is large, since a wireless network is extremely useful in and of itself, without the added feature of indoor positioning.

Given these benefits and the my current hindsight, I am very satisfied with the choice of wireless networks as the foundation for the the indoor positioning system.

7.3  Future work

While researching and working on the project, numerous ideas came to me; unfortunately, there was not enough time to develop and test them all. I am hoping to continue this research next year, hopefully making the system reliably accurate to less than a meter.

First, the antenna can be improved. While the can-waveguide did fairly well, a custom-made waveguide could boost the signal further. Commercial antennas comparable to the can-waveguide can cost over $100, so a home-built antenna is still an economical solution.

There are numerous improvements to the matching algorithm, some mentioned earlier in this paper. First, the user can attempt to ``sweep" the directional antenna in a circle, with the logging software recording the signal the entire time. Interpreting this signal will be tricky, because it is unlikely that the user will sweep exactly one revolution, or that it will be at a constant speed, etc. This is the main advantage of always having the user point the antenna üp". The direction is always consistent, and there are no ambiguities (even if it may not have the highest performance).

To improve on the current method, more statistics about the signals can be included in the profile. Rather than simply averaging the signal, the standard deviation, maximum, and minimum can be included. The client's software can then perform statistical tests to determine how likely it is that their profile matches another. In addition, a weighted average could be used, where the most-stable signals are weighed more heavily in the Euclidean distance calculation than those that vary. In addition, signals that appear to be erroneous, such as those having too high a maximum (such as 65,635) or having a zero standard deviation, can be filtered out.

The software can be improved as well. Currently, it is entirely text-based, and requires the user to actively take his or her position. A GUI (graphical user interface) that could provide real-time, constantly updated data would be useful. In addition, the position files are stored locally, on the client's machine. Instead, these files could be stored on a central server that the client can access and make queries. Because this system uses a wireless network, this functionality is automatically built-in. This allows for the ability to authenticate users, and provide some security information (such as noticing if a user's location is in a privileged zone).

Lastly, the system will ideally be transferred to a more portable system, such as a Palm Pilot. In this case, the computations could be offloaded to a central server. Because the computations are not that expensive, a single server could potentially handle many clients. The main challenge is finding a wireless card for a PDA that allows an external antenna17, and making an antenna small enough not to be noticed (perhaps one that folds), but large enough to be useful (remember that the wavelength at 2.4 GHz is roughly 12 cm).

So far, these are the major improvements I have come across, but working on the project is sure to bring others.

7.4  Learning Experience

This project was a tremendous learning experience. Going from a rough idea of the indoor positioning problem to a final, testable system was incredible. I learned most of what I needed along the way, such as Perl and MySQL, electromagnetic wave theory, and the importance of being resourceful (trying to use a metal can for an antenna, or tiles for a positioning grid). By far, the greatest enabler of this project was the Internet. I researched through it, found device drivers on it, and bought my wireless card with it.

The underlying lesson that seemed to be that a relatively complex and useful system can be built from humble, pre-existing parts. The secret was finding where those parts were, and how to dig around for them. If I had to rebuild this system from scratch, it would not take long, but only because I have the gift of hindsight, i.e., knowing where to look, what to buy, and how to put it all together. The most time-consuming part of this project was the research required to gain that knowledge.

8  Conclusions

Indoor positioning is an unsolved problem, mainly because GPS does not work indoors. After research several systems, it was found that a directional antenna combined with a wireless network can create a cheap, flexible, and relatively accurate (on the order of a meter) positioning system. A large advantage is the use of a wireless network: a building without one gets it, and a building already equipped with a wireless network gets a positioning system without additional hardware.

The original intent of this project was to create an indoor positioning system as an alternative to GPS. Through heavy research and building upon previous methods, I am happy to say that I have accomplished that goal.

9  Acknowledgements

I would like to thank Prof. Littman, Prof. Wang, and ``Rad" for discussing my project, and giving me numerous ideas. Invaluable insights and helpful links came from your comments.

10  Resources

The Perl scripts used for recording/capturing profiles, a comprehensive list of links, and other information can be found on the project's webpage:

<http://www.princeton.edu/~kazad/resources/cs/cs398.htm>

References

[]
Sobel, Dava. Longitude, Penguin Books, 1996.

[]
Reynolds, M. S. A Phase Measurement Radio Positioning System for Indoor Use, 1999. Available online at <web.media.mit.edu/~matt/matt-masters-thesis.pdf>.

[]
Prigge, E. Indoor Absolute Positioning System, 5 May 2002, <http://hills33.mit.edu/Prigge/>.

[]
Kee, C. et al. Centimeter-Accuracy Indoor Navigation Using GPS-Like Pseudolites, 5 May 2002, <http://www.gpsworld.com/gpsworld/article/articleDetail.jsp?id=3086>.

[]
Trimble Corporation. Trimble - All about GPS, 5 May 2002, <http://www.trimble.com/gps/>.

[]
Bahl, P. and Padmanabhan, V. N. RADAR: An In-Building RF-based User Location and Tracking System, 5 May 2002, <http://research.microsoft.com/users/bahl/present/radar01.pdf>.

[]
Tourrilhes, J. Linux Wireless LAN Howto : introduction, posted 8 September 1999, <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.intro.html>.

[]
Clapp, A. Yagi Antenna Design - For 802.11b Wireless Application, 5 May 2002, <http://www.netscum.com/~clapp/wireless.html>.

[]
Flickenger, R. Antenna on the Cheap (er, Chip), posted 5 July 2001, <http://www.oreillynet.com/cs/weblog/view/wlg/448>.

[]
Rehm, G. 802.11b Homebrew Antenna Shootout - 2/14/2, posted 2 February 2002, <http://www.turnpoint.net/wireless/has.html>.

[]
Slavin, W. net stumbler dot com, 5 May 2002, <http://www.netstumbler.com>.

Footnotes:

1Thanks to Prof. Wang for mentioning the similarities between this historical event and my project.

2Because the motion of certain stars and planets appears different from various points on the Earth, one could use a table to estimate his location given a certain celestial pattern.

3By knowing the time difference between your ship and a place of known longitude, such as London, one can determine distance. This difference can be determined by setting the ship's clock to noon when the sun is directly overhead, and keeping the watch on London time. The Earth rotates every 24 hours, so a time difference of 1 hour corresponds to a distance of 1/24 the Earth's circumference. One degree of longitude corresponds to roughly 68 miles, or a time difference of 4.5 minutes[].

4Ancient mariners used dead reckoning: they threw logs overboard while sailing. By seeing how fast the log receded from the advancing ship, the vessel's speed could be gauged. This test was performed hourly, and the distance travelled (speed multiplied by time), was added to the previous location in the direction of movement.

5The phase of the signal is an angle from 0 to 360 degrees (or 0 to 2p radians), and informally represents the ``starting point" of the sine wave.

6A hyperbola can be defined as all points on a plane satisfying the relationship AP - BP = K, where AP is the distance from A to P, BP is the distance from B to P, and K is a constant (the phase shift, represented as a distance). A and B are fixed points (the transmitters), separated by a fixed distance, and P is a point on the hyperbola (the receiver).

7On the order of tens or hundreds of Hz.

8Given the ability to be tethered, a low-cost, line-of-sight, centimeter-level positioning system could be created with a few anchored tape measures.

9New receivers can be added without changing the existing system or affecting the level of accuracy.

10The directional antenna used was passive (no power was added), and thus cannot increase the total energy of the signal.

11The signal and noise are both measured in dBm (decibels, with respect to a milliwatt). Because of this logarithmic scale, the ratio between two numbers is simply their difference.

12Thanks to Prof. Wang.

13A standing wave must be of a certain proper wavelength, such that a whole multiple of the wave fits inside the can. Our can is roughly 12cm long, or one wavelength.

14The connector inside the antenna is an ``N-connector", and is designed to handle microwave frequencies (up to roughly 11 GHz). The cable between the N-connector and the Lucent card is called a pigtail.

15If there are only two positions mapped, for instance, then any signal profile will match one or the other.

16There was not enough time to develop and test an algorithm that would allow the user to ``sweep" the directional antenna around in a circle to create a profile.

17If necessary, the card can be opened and modified to allow an external antenna.


File translated from TEX by TTH, version 3.08.
On 7 May 2002, 15:07.