In our model, we define the relative coordination of the remote phone as the state model: $$ S_k = [P_x, P_y, P_z]^T$$
Besides, we define the movements inferred from IMU as the control model. $$ u_k = [\Delta x, \Delta y, \Delta z]^T$$
IF $$$ \cos \phi > 0 $$$:
IF $$$ \cos \phi < 0 $$$:
java implementation Extended Kalman Filter tutorial
##Kalman filter
Best tutorials: A practical approach to Kalman filter and how to implement it, An Engineer's perspective Matlab implementation
Best tutorial code: Kalman filter in python
Running processing introduction: Kalman Filter For Dummies
** Steps to work on a Kalman filter problem **
- Define the state model, input-control model.
- Define the transition model and observer model.
- Recursive processing pipeline:
- making a prediction of the future
- getting a measurement from reality
- comparing the two
- moderating this difference
- adjusting its estimate with this moderated value.
###Sensor fusion with Kalman filter ** indirect feedback kalman filter (error-state Kalman filter) **:
In such a configuration, the Kalman filter is used to estimate the difference between the current inertial and optical (or acoustic) outputs, i.e. it continually estimates the error in the inertial estimates by using the optical system as a second (redundant) reference.
This error estimate is then used to correct the inertial estimates. The tuning of the Kalman filter parameters (see “Parameter Estimation or Tuning” on page 35) then adjusts the weight of the correction as a function of frequency. Reference
Related work: Sensor Fusion & Kalman Filter 1 Sensor Fusion & Kalman Filter 2
###Example
For normal mobile phones, we have two sets of sensors: accelerometers and position sensors (like GPS, RSSI). Using the Kalman Filter can fust the sensor data and estimate the position.
** System definition **
** State vector at time k is **:
** Input-control model **:
** Transition model **:
$
** Observation/Measurement model **
$
Measurement covariance matrix:
$$ R =
\begin{bmatrix}
{\sigma_x}^2 & 0 & 0\
0 & {\sigma_y}^2 & 0\
0 & 0 & {\sigma_z}^2 \
\end{bmatrix}
$$
$$${\sigma_x}$$$ is simply the standard deviation of the sensor squared or the variance of the sensor. Here the sensor is the location sensor like GPS.
Process covariance matrix:
$$${\sigma_x}$$$ is $$${\sigma_{accx}}$$$ exactly. The standard derivation of accelermeters.
wolframalpha calculation result
** References **
- Kalman Filters for undergrads
- A 3D State Space Formulation of a Navigation Kalman Filter for Autonomous Vehicles
- Robotutils
- the must read page for kalman filter
- Nice tutorial for applications
- Video tutorial for Kalman filter
###multiple rates kalman filter
###Peak detection in a time-series data