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. Some method generate RF coverage maps based on received signal strength values associated with transmission signals exchanged between a wireless node and one or more wireless access points. Received signal strength values may be obtained at various locations to generate a coverage map for the wireless access points. RF coverage maps may also be generated by estimation algorithms using, for example, pathloss models and 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 locally adjusting an RF coverage map in a wireless network. Generally, an RF coverage map is a data structure including expected or estimated received signal strength parameters for a given wireless access point at a plurality of location bins. According to one implementation, a location server obtains calibration data at selected locations corresponding to location bins of the RF coverage map. In one implementation, the calibration data may include observed received signal strength values at known locations transmitted from a wireless access point. The location server may then determine offset values at the selected location bins by comparing estimated received signal strength values in the RF coverage map to observed signal strength values. The observed signal strength values, however, may be used to adjust estimated signal strength values at surrounding locations. The location server may then generate correction cones that characterize the correction or offset to surrounding locations of the RF coverage map caused by the difference in the observed and estimated signal strength values. In one implementation, the receive signal strength error changes the RF coverage map values within a radius R around a given calibration point. The amount of change at a given location equals the observed error at the center of the correction cone (also the location of the calibration point), and decreases, in one implementation, linearly from the center until it tapers to zero at the edge of the correction cone. As discussed below, the offset values that define the correction cones may be normalized and windowed. The location server then applies the correction cones to adjust one or more values of the RF coverage map.
As discussed above, particular implementations of the invention are directed to adjusting one or more estimated received signal strength values in corresponding location bins of an RF coverage map.
As described in more detail below, the location server may compare estimated received signal strength values with actual/observed received signal strength data at the selected location bins calibration points). The location server may generate correction cones, which provide offset values, to adjust the estimated received signal strength values of the calibration points and location bins adjacent to the calibration points without having to measure actual/observed received signal strength values at those adjacent location bins.
The location server may then determine offset or correction values (204) at one or more of the calibration points in the RF coverage map by comparing estimated received signal strength values to the observed signal strength values. For example, an estimated received signal strength value at a given location bin may be −50 dBm, but the actual/observed received signal strength value may be −55 dBm. Accordingly, the offset or correction value at the calibration point can be computed as the difference between the two values.
In embodiment, the location server may generate correction cones (206) centered at the calibration points where observed received signal strength values were collected.
After the correction cones are generated, the location server then superimposes the correction cones (208) on the RF coverage map, as illustrated in
When there are multiple calibration points in close proximity, the scaled cones overlap and are summed at each location where there is an overlap. As well, the algorithm keeps track of the sum of unscaled cones, and after the cones are all overlapped, the sum of scaled cones is normalized by the sum of unscaled cones. In other words, at a given location, the value of each offset corresponding to all correction cones are summed. This value is then divided by the value of an “unscaled” correction cone (i.e., assume a correction cone having a 1 dB error at the center tapering to 0 at the radius R.
The location server may normalize the superimposed cones in the area of the overlap (210). In other words, for each location bin where correction cones overlap, the correction value (N) from each correction cone is summed. The summed values are normalized by dividing this aggregate by the sum of the corresponding unscaled cone values (D) at a given location. Repeating this for each location results in a smoothed error matrix.
The location server applies a perimeter or window to each normalized cone (212). Although the correction cones taper to zero, this behavior is lost after normalization. Therefore tapering is re-applied to the smoothed error matrix by a multiplicative 2-dimensional (2D) taper matrix. For each location, the distance to the nearest calibration point is recorded. Zero distances have a taper factor of 1, distances above the radius R have a taper factor of 0, and distances between 0 and R vary linearly between 1 and 0. Other embodiments are possible also, such as min(1,D). The taper matrix is pointwise multiplied by the smoothed error matrix. In other words, the weight, W, can be expressed as W=max(1−D/R,0), where D is the distance to the nearest calibration point; and R is the radius of the correction cone. The location server applies the corrections defined in the tapered and smoothed matrix to the RF coverage map to form a locally adjusted RF coverage map (414).
While particular implementations of the present invention have been described above with reference to specific embodiments, some or all of the elements or operations thereof may be implemented using a computer system having a general purpose hardware architecture.
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 RF coverage map generator, 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 RF coverage map generator 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.