A mobile device, for determining location in a wireless network, includes a motion
detector for detecting motion of the mobile device; a memory for storing wireless
signal strength calibration data comprising a list of wireless signal strengths
and known locations; a location detection module for measuring a wireless signal
strength of any received network radio signals and for determining the location
of the mobile device with reference to the wireless signal strength calibration
data; and a location correction module, for applying a statistical correction to
the measured wireless signal strength determined by the location detection module
when the motion detector detects that the mobile device is moving less than a threshold
amount. The mobile device may further include an orientation detector for detecting
the orientation of the mobile device, which can be compared with orientation data
stored in the calibration data.