This disclosure relates generally to wireless networks.
Market adoption of wireless LAN (WLAN) technology has exploded, as users from a wide range of backgrounds and vertical industries have brought this technology into their homes, offices, and increasingly into the public air space. This inflection point has highlighted not only the limitations of earlier-generation systems, but also the changing role that WLAN technology now plays in people's work and lifestyles across the globe. Indeed, WLANs are rapidly changing from convenience networks to business-critical networks. Increasingly users are depending on WLANs to improve the timeliness and productivity of their communications and applications, and in doing so, require greater visibility, security, management, and performance from their network. Radio frequency (RF) coverage maps, also referred to as a heat maps, provide information regarding coverage of particular wireless access points. RF coverage maps are useful for assessing the area or region of sufficient WLAN service, and for use in locating wireless nodes. RF coverage maps are typically derived from manual site surveys and mathematical modeling techniques, such as ray tracing. However, shadowing from nearby walls and furniture, and the multipath effects inherent to various RF environments, make high accuracy coverage maps difficult to achieve.
Particular embodiments of the present invention are directed to facilitating an evaluation of the accuracy of a location system used in connection with a wireless network. According to one implementation of the present invention, a location inspector provides a map of a physical region and a graphical indication of the computed likelihood that, at a given location, the location accuracy is within a desired threshold. In one implementation, the location inspector obtains calibration data including received signal strength values associated with known locations within a physical region and computes one or more attributes of a pathloss model based on the calibration data. As described in more detail below, while the calibration data may include received signal strength, the collection may include various types of data and may involve various location measurement techniques. The location inspector then compares the calibration data to the results achieved using the computed pathloss model attributes, and then associates location errors with the corresponding locations based on respective differences between the calibration data and the results of the computed pathloss model attributes. In one implementation of the present invention, the location inspector interpolates location quality of other locations between the calibration data points. The location inspector then generates a map of location quality based on the associated location errors and a given location error threshold. In one implementation, the map of location quality may indicate the likelihood that an estimated location is within a given threshold for one or more points in the region.
In one implementation, the location inspector applies a function, for one or more calibration data points, to smooth out effects of spurious values at a given calibration data point, to reduce the possible effect of these spurious values that would distract from more potentially serious location accuracy problems at other regions. For example, the location inspector, in one implementation, first selects, for each calibration data point, a radius that captures an average of X other calibration data points (e.g., 20 calibration points). The location inspector then identifies the percentage of captured calibration data points, where the location error is under a given error threshold. This computed percentage is the estimated likelihood at a given location that the location error falls within the error threshold. As discussed above, the location inspector can then use interpolation to derive values for locations within the physical region between the calibration data points. The location inspector may then optionally display the location accuracy on a graphical user interface, thereby visually showing problem areas within a physical region.
Next, the location inspector computes a pathloss model based on the calibration data (104). In one implementation, the pathloss model may be described using the following expression:
Received signal strength (x, y)=Tx+antenna gain(x, y)+A+B10 log 10d,
where (x, y) are expressed relative to the transmitting antenna, Tx is the transmit power, and d is the distance between a transmitter and receiver (a function of the x- and y-coordinates). In one implementation, Tx, the antenna gain, and d are known based on the calibration data points and the known locations of the access points or other radio transceivers. A and B are the pathloss exponents of the pathloss model (above), where A is a constant representing the y-intercept, and B is a slope. In one implementation, the location inspector computes the parameters (A, B) of the power law pathloss model based on the calibration data. A variety of modeling techniques can be used, such as curve fitting, and the like, to compute the pathloss model parameters that best fit the calibration data. Other modeling techniques may include estimating the standard deviation of the residual errors, the average floor-to-floor pathlosses, using curve fitting that accounts for the fact that received signal strength values below −90 dBm are not observable, using heatmaps, using calibration data to estimate the wall attenuations via least squares, etc. In one embodiment, the location inspector may use calibration data obtained from multiple floors of a building to compute the pathloss model exponents.
The location inspector then evaluates the estimated location of the pathloss model at each calibration data point (106). That is, the location inspector applies the received signal strength values of the calibration data to the pathloss model (including the computed pathloss model exponents) and estimates the resulting location. In one implementation, this is achieved by using the pathloss model to estimate distances between a node and the radio transceivers at known locations and triangulating based on these distances to estimate the location. In another implementation, the pathloss model can be used to compute coverage maps for the radio transceivers at known locations. The coverage maps can be used to compute error surfaces, which can be aggregated. The estimated location is determined by identifying the location in the aggregate error surface that minimizes the aggregate error.
The location inspector then associates location errors with calibration data points based on respective differences between the calibration data points and the estimated locations derived from the pathloss model based on the received signal strength values of the corresponding calibration data points (108). In one implementation, the location error is the distance between the calibration data point and the estimated location resulting from application of the pathloss model. Next, the location inspector computes the location quality within a region based on a given error threshold (110) (see
To determine the remaining accuracy of the remaining locations of an RF coverage map, the location inspector may then interpolate location errors of other locations based on the location errors derived from the calibration points, as described above in connection with
where CoverageArea is the area of the region of interest, #of CalibrationPoints is the total number of calibration data points in the region of interest, and #of Desiredpoints is the number of points to be captures within the radius R.
In another embodiment, the location inspector first selects, for each calibration data point, a radius that captures X neighboring calibration data points (e.g., 20 calibration points) (122). Consider the 0th calibration data point without loss of generality. In one implementation, the radius, R(0), is chosen just large enough to encompass the X neighboring calibration data points as follows:
Next, the location inspector computes, for each calibration data point, the percentage of calibration data points captured within the radius, R, that are within a given error threshold (124). The location inspector then interpolates percentage values for locations between calibration data points (126). In one embodiment, the location inspector may utilize standard interpolation routines, such as two-dimensional linear interpolation, to interpolate the percentage values. Next, the location inspector generates a map of location quality for display indicating location quality at one or more points in the region. Such a display would visually show problem areas within a given RF coverage map, thereby visually showing problem areas within a given RF coverage map.
In an alternative embodiment, the location inspector may provide an estimated location error as a function of x- and y-location. In one implementation, the location inspector may generate, for each calibration data point, a location error at a configurable percentile within an area to provide a distance error versus (x,y) location. In one implementation, the location inspector first computes, for a given calibration point, the location errors within a defined circle around that calibration point. The location inspector then sorts the location errors The location inspector then selects one or more of a middle error (e.g., median), a maximum error (e.g., 100th percentile) or a worst error (e.g., 90th percentile), and then plots an interpolation of the location error at the configurable percentile to provide a distance error versus (x,y) location.
In one embodiment, the map of location quality may be color coded to indicate different degrees of error. The coverage map of location quality may then be used to enable a user such as network administrator to visualize location accuracy of existing RF coverage maps and also to determine potential locations for additional wireless access points. In one implementation, distinguishing between location accuracies of 85%, 90% or 95% may be desired. As indicated above, in one implementation, at least 20 points may be used in forming the accuracy percentage at each location. In one embodiment, the location inspector provides an averaging radius, such that any location accuracy measurement within a circle of that radius contributes to the location accuracy calculation at the middle of the circle. The user may select the averaging radius depending upon the particular deployment (e.g. 2, 3, 5, 7, 10, 20, 30, 50, 70, or 100 m). In another implementation, the location inspector may automatically calculate an appropriate radius depending on the average density of location accuracy measurements. In one implementation, the accuracy percentage is calculated for all locations within the averaging radius, and an accuracy percentage is assigned to the XY location at the center.
The elements of hardware system 200 are described in greater detail below. In particular, network interface 216 provides communication between hardware system 200 and any of a wide range of networks, such as an Ethernet (e.g., IEEE 802.3) network, etc. Mass storage 218 provides permanent storage for the data and programming instructions to perform the above described functions implemented in the location inspector, whereas system memory 214 (e.g., DRAM) provides temporary storage for the data and programming instructions when executed by processor 202. I/O ports 220 are one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to hardware system 200.
Hardware system 200 may include a variety of system architectures; and various components of hardware system 200 may be rearranged. For example, cache 204 may be on-chip with processor 202. Alternatively, cache 204 and processor 202 may be packed together as a “processor module,” with processor 202 being referred to as the “processor core.” Furthermore, certain implementations of the present invention may not require nor include all of the above components. For example, the peripheral devices shown coupled to standard I/O bus 208 may couple to high performance I/O bus 206. In addition, in some implementations only a single bus may exist with the components of hardware system 200 being coupled to the single bus. Furthermore, hardware system 200 may include additional components, such as additional processors, storage devices, or memories.
As discussed above, in one embodiment, the operations of the location inspector described herein are implemented as a series of software routines run by hardware system 200. These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 202. Initially, the series of instructions are stored on a storage device, such as mass storage 218. However, the series of instructions can be stored on any suitable storage medium, such as a diskette, CD-ROM, ROM, EEPROM, etc. Furthermore, the series of instructions need not be stored locally, and could be received from a remote storage device, such as a server on a network, via network/communication interface 216. The instructions are copied from the storage device, such as mass storage 218, into memory 214 and then accessed and executed by processor 202.
An operating system manages and controls the operation of hardware system 200, including the input and output of data to and from software applications (not shown). The operating system provides an interface between the software applications being executed on the system and the hardware components of the system. According to one embodiment of the present invention, the operating system is the Windows® 95/98/NT/XP operating system, available from Microsoft Corporation of Redmond, Wash. However, the present invention may be used with other suitable operating systems, such as the Apple Macintosh Operating System, available from Apple Computer Inc. of Cupertino, Calif., UNIX operating systems, LINUX operating systems, and the like.
The present invention has been explained with reference to specific embodiments. For example, while embodiments of the present invention have been described as operating in connection with IEEE 802.11 networks, the present invention can be used in connection with any suitable wireless network environment. Other embodiments will be evident to those of ordinary skill in the art. It is therefore not intended that the present invention be limited, except as indicated by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4254467 | Davis et al. | Mar 1981 | A |
5028848 | Bankston et al. | Jul 1991 | A |
5327144 | Stilp et al. | Jul 1994 | A |
5394158 | Chia | Feb 1995 | A |
5396582 | Kahkoska | Mar 1995 | A |
5564079 | Olsson | Oct 1996 | A |
5570412 | LeBlanc | Oct 1996 | A |
5666662 | Shibuya | Sep 1997 | A |
5717406 | Sanderford et al. | Feb 1998 | A |
5732354 | MacDonald | Mar 1998 | A |
5878328 | Chawla et al. | Mar 1999 | A |
6112095 | Wax et al. | Aug 2000 | A |
6115605 | Siccardo et al. | Sep 2000 | A |
6134338 | Solberg et al. | Oct 2000 | A |
6134448 | Shoji et al. | Oct 2000 | A |
6140964 | Sugiura et al. | Oct 2000 | A |
6167274 | Smith | Dec 2000 | A |
6198935 | Saha et al. | Mar 2001 | B1 |
6212391 | Saleh et al. | Apr 2001 | B1 |
6226400 | Doll | May 2001 | B1 |
6236365 | LeBlanc et al. | May 2001 | B1 |
6243811 | Patel | Jun 2001 | B1 |
6249252 | Dupray | Jun 2001 | B1 |
6269246 | Rao et al. | Jul 2001 | B1 |
6272541 | Cromer et al. | Aug 2001 | B1 |
6275190 | Sugiura et al. | Aug 2001 | B1 |
6282427 | Larsson et al. | Aug 2001 | B1 |
6304218 | Sugiura et al. | Oct 2001 | B1 |
6317599 | Rappaport et al. | Nov 2001 | B1 |
6317604 | Kovach, Jr. et al. | Nov 2001 | B1 |
6366242 | Boyd et al. | Apr 2002 | B1 |
6414634 | Tekinay | Jul 2002 | B1 |
6415155 | Koshima et al. | Jul 2002 | B1 |
6441777 | McDonald | Aug 2002 | B1 |
6456892 | Dara-Abrams et al. | Sep 2002 | B1 |
6526283 | Jang | Feb 2003 | B1 |
6556942 | Smith | Apr 2003 | B1 |
6581000 | Hills et al. | Jun 2003 | B2 |
6664925 | Moore et al. | Dec 2003 | B1 |
6674403 | Gray et al. | Jan 2004 | B2 |
6704352 | Johnson | Mar 2004 | B1 |
6728782 | D'Souza et al. | Apr 2004 | B1 |
6754488 | Won et al. | Jun 2004 | B1 |
6766453 | Nessett et al. | Jul 2004 | B1 |
6799047 | Bahl et al. | Sep 2004 | B1 |
6804394 | Hsu | Oct 2004 | B1 |
6850946 | Rappaport et al. | Feb 2005 | B1 |
6990428 | Kaiser et al. | Jan 2006 | B1 |
7567822 | Hart et al. | Jul 2009 | B2 |
7602338 | Smith et al. | Oct 2009 | B2 |
7616555 | Hart | Nov 2009 | B2 |
20020045424 | Lee | Apr 2002 | A1 |
20020058503 | Gutowski | May 2002 | A1 |
20020102988 | Myllymaki | Aug 2002 | A1 |
20020115445 | Myllymaki | Aug 2002 | A1 |
20020118118 | Myllymaki et al. | Aug 2002 | A1 |
20020154134 | Matsui | Oct 2002 | A1 |
20020168958 | Ford et al. | Nov 2002 | A1 |
20020174335 | Zhang et al. | Nov 2002 | A1 |
20020176366 | Ayyagari et al. | Nov 2002 | A1 |
20030117985 | Fujii et al. | Jun 2003 | A1 |
20030130987 | Edlund et al. | Jul 2003 | A1 |
20030135486 | Edlund et al. | Jul 2003 | A1 |
20030135762 | Macaulay | Jul 2003 | A1 |
20040066757 | Molteni et al. | Apr 2004 | A1 |
20040072577 | Myllymaki et al. | Apr 2004 | A1 |
20040111397 | Chen et al. | Jun 2004 | A1 |
20040116111 | Saunders | Jun 2004 | A1 |
20040151377 | Boose et al. | Aug 2004 | A1 |
20040166878 | Erskine et al. | Aug 2004 | A1 |
20040176108 | Misikangas | Sep 2004 | A1 |
20040186847 | Rappaport et al. | Sep 2004 | A1 |
20040198373 | Ford et al. | Oct 2004 | A1 |
20040198392 | Harvey et al. | Oct 2004 | A1 |
20040203910 | Hind et al. | Oct 2004 | A1 |
20040236547 | Rappaport et al. | Nov 2004 | A1 |
20040259554 | Rappaport et al. | Dec 2004 | A1 |
20040259555 | Rappaport et al. | Dec 2004 | A1 |
20050128139 | Misikangas et al. | Jun 2005 | A1 |
20050131635 | Myllymaki et al. | Jun 2005 | A1 |
20050136845 | Masuoka et al. | Jun 2005 | A1 |
20050136944 | Misikangas et al. | Jun 2005 | A1 |
20050185615 | Zegelin | Aug 2005 | A1 |
20050282540 | Motamedi et al. | Dec 2005 | A1 |
20050285792 | Sugar et al. | Dec 2005 | A1 |
20080166973 | Hart et al. | Jul 2008 | A1 |