== Working Principle ==
Internally the Location Managers uses an Extended Kalman Filter to combine and filter pose estimation systems, based on their probabilistic error levels. Each Pose Estimation System is therefore associated with a variance level (squared standard deviation), describing the expected uncertainty. Precise systems, such as [[AR-Markers]], are associated with a lower variance than inaccurate systems such as [[GPS]].
The Kalman Filter keeps track of the current device pose (= best estimate) and the associated uncerctainty. The operation is subdivided into two stages: Prediction and Correction.
In the Prediction stage, the next pose (in time) is estimated using the [[Step Detector ]] and [[Gyroscope ]] Pose Estimation System. At this stage the uncertainty of the current device pose is increased, based on the elapsed time. If no [[Gyroscope ]] or [[Step Detector ]] is available only the uncertainty is increased.
As soon as a measurement from other Pose Estimation Systems is received, the current device pose is combined with the measured pose, based on their probabilistic error levels. The combined pose then serves again as the basement for the next prediction.
Consequently the Kalman Filter not only combines various Pose Estimation Systems based on their expected performance, but also accounts for the elapsed time between updates, reflecting the behavior of human walk.
[[File:EKF.png|700 px|center|thumb|alt=Extended Kalman Filter|Extended Kalman Filter]]
[[Category:Android|Location Manager]]
[[Category:WinX|Location Manager]]
== Best Practices ==