# Kalman filter <!-- MICROSIMGEN:BEGIN v1.7 — generated by g08_place_microsims.py; three.js first (§15); do not hand-edit inside --> ## Microsims — p5.js ### Kalman filter (p5.js) · `predict/update` <div class="microsim-player"> <iframe src="https://editor.p5js.org/sciencenibber/full/CHkjVQYrl" width="100%" height="480" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Kalman filter — p5.js microsim"></iframe> </div> *Optimally fuse a noisy model with noisy measurements to track a hidden state — from Apollo navigation to GPS.* **Open in the editor:** [&#9654; fork this sketch](https://editor.p5js.org/sciencenibber/sketches/CHkjVQYrl) · movement *III · Filters & filter design* · library `p5js` ### Related microsims Live sims on neighbouring articles — 6 of them inside this article's own Wikipedia link tree: - [[Control_theory]] *(in tree)* - [[Digital_signal_processing]] *(in tree)* - [[Frequency_response]] *(in tree)* - [[Laplace_transform]] *(in tree)* - [[Nonlinear_system]] *(in tree)* - [[PID_controller]] *(in tree)* *Sim hosted off-article; the article owns the reference, not the runtime (WIKI_RULES §10.4). Placed by `g08_place_microsims.py`.* <!-- MICROSIMGEN:END --> ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Kalman_filter.json (2026-07-30T02:09:12Z) --> `3D_modeling` · `AGM-86_ALCM` · `Academic_Press` · [[Accuracy_and_precision]] · `Adaptive_control` · [[Algorithm]] · `Ali_H._Sayed` · `Alpha_beta_filter` · `Apollo_Guidance_Computer` · `Arithmetic_underflow` · `Autocovariance` · `Automation_and_Remote_Control` · `Autopilot` · `Babak_Hassibi` · `Ballistic_missile_submarine` · `BeiDou` · [[Block_diagram]] · `Bode_plot` · `Celeste_(LEO-PNT)` · `Central_nervous_system` · `Chain_rule_(probability)` · `Charles_F._Van_Loan` · `Cholesky_decomposition` · `Closed-loop_controller` · `Closed-loop_transfer_function` · `Coefficient_diagram_method` · `Compressed_sensing` · `Computational_complexity` · `Computer_vision` · `Condition_number` · `Consensus_(computer_science)` · `Control_reconfiguration` · [[Control_system]] · [[Control_theory]] · `Controllability` · `Covariance` · `Covariance_intersection` · `Covariance_matrix` · `DORIS_(satellite_system)` · `Data_assimilation` · `Data_fusion` · `Dead_reckoning` · `Degrees_of_freedom_(physics_and_chemistry)` · `Dempster–Shafer_theory` · `Density_estimation` · `Derivative` · `Diagonal_matrix` · `Differentiable_function` · `Digital_control` · [[Digital_signal_processing]] · `Discriminative_model` · `Distributed_control_system` · `Distributed_parameter_system` · `Dynamic_Bayesian_network` · `Dynamic_positioning` · `Econometrics` · `Economics` · `Eigenvalues_and_eigenvectors` · `Electric_battery` · [[Electric_motor]] · [[Electronics]] · `Embedded_system` · `Energy-shaping_control` · [[Engineering]] · `Ensemble_Kalman_filter` · `Estimator` · `European_Geostationary_Navigation_Overlay_Service` · `Expectation–maximization_algorithm` · [[Expected_value]] · `Extended_Kalman_filter` · `Fast_Kalman_filter` · `Filtering_problem_(stochastic_processes)` · `Fisher_information` · `Fourier_transform` · `Fractional-order_control` · `Frequency_modulation` · [[Frequency_response]] · [[Fuzzy_control_system]] · `Fuzzy_logic` · `GLONASS` · `GNSS_augmentation` · `GNSS_reflectometry` · `GNU_General_Public_License` · `GNU_Octave` · `GPS-aided_GEO_augmented_navigation` · `GPS·C` · `Gain_(electronics)` · `Gene_H._Golub` · `Generalization` · `Generalized_filtering` · `Generalized_least_squares` · `Generative_model` · `Global_Positioning_System` · `Guidance,_navigation,_and_control` · `H-infinity_loop-shaping` · `Hankel_singular_value` · `Harvey_Fletcher` · `Hearing_loss` · `Hidden_Markov_model` · `Hybrid_computer` · `Indian_Regional_Navigation_Satellite_System` · `Industrial_control_system` · `Infinite_impulse_response` · `Innovation_(signal_processing)` · `Intelligent_control` · `International_Space_Station` · `Invariant_extended_Kalman_filter` · `Inverse-variance_weighting` · `Invertible_matrix` · `Johns_Hopkins_University` · `Joint_precision_approach_and_landing_system` · `Joint_probability_distribution` · `Kernel_adaptive_filter` · [[Kevin_Warwick]] · `Korean_Positioning_System` · `Krener's_theorem` · `LAPACK` · `LU_decomposition` · [[Laplace_transform]] · `Lead–lag_compensator` · `Least_squares` · `Linear_belief_function` · `Linear_dynamical_system` · `Linear_interpolation` · `Linearity` · `Linear–quadratic–Gaussian_control` · `Local-area_augmentation_system` · [[Lyapunov_stability]] · `Macroeconomics` · `Marginal_likelihood` · `Markov_chain` · `Masreliez's_theorem` · `Mathematician` · `Matrix_(mathematics)` · `Matrix_calculus` · `Matrix_exponential` · `Mean_squared_error` · [[Mechatronics]] · `Minor_loop_feedback` · [[Model_predictive_control]] · `Moonlight_Programme` · `Motion_control` · `Motion_planning` · `Moving_horizon_estimation` · `Multivariate_normal_distribution` · `NASA` · `Namrata_Vaswani` · `Navigation_system` · [[Negative_feedback]] · `Networked_Transport_of_RTCM_via_Internet_Protocol` · [[Newton's_laws_of_motion]] · `Nicholas_J._Higham` · `Nonlinear_control` · `Nonlinear_filter` · [[Nonlinear_system]] · `Normal_distribution` · `Nuclear_medicine` · `Numerical_stability` · [[Observability]] · [[Optimal_control]] · `Orbit_determination` · `Orthogonalization` · `Oxford_University_Press` · [[PID_controller]] · `Particle_detector` · `Particle_filter` · [[Perceptual_control_theory]] · `Performance` · `Peter_Swerling` · `Phase-locked_loop` · `Pini_Gurfil` · `Pivot_element` · [[Positive_feedback]] · `Predictor–corrector_method` · `Prefix_sum` · `Prentice_Hall` · [[Probability_density_function]] · `Programmable_logic_controller` · `Projection_matrix` · [[Quantization_(signal_processing)]] · `Quasi-Zenith_Satellite_System` · `RINEX` · `Radar` · `Radar_tracker` · `Rank_(linear_algebra)` · `Real-time_Control_System` · [[Real-time_computing]] · `Real_number` · [[Recursion_(computer_science)]] · `Recursive_Bayesian_estimation` · `Recursive_filter` · `Recursive_least_squares_filter` · `Restricted_isometry_property` · `Retrodiction` · `Reusable_launch_vehicle` · `Riccati_equation` · [[Robotics]] · `Robust_control` · `Root_locus_analysis` · `Rudolf_E._Kálmán` · `Ruslan_Stratonovich` · `SCADA` · `Satellite_navigation` · `Schmidt–Kalman_filter` · `Seismology` · `Sensor_fusion` · `Separation_principle` · `Servomechanism` · [[Signal-flow_graph]] · [[Signal_processing]] · `Simultaneous_localization_and_mapping` · `Sliding_mode_control` · `Society_for_Industrial_and_Applied_Mathematics` · `Southern_Positioning_Augmentation_Network` · `Speech_enhancement` · `Springer_Science+Business_Media` · `Square_root` · `Stability_theory` · `Stanley_F._Schmidt` · `StarFire_(navigation_system)` · `State-space_representation` · `State-transition_matrix` · `State_observer` · `State_of_charge` · `State_variable` · `Stationary_process` · `Statistics` · `Steady_state` · `Steffen_Lauritzen` · `Stochastic_control` · `Stochastic_differential_equation` · `Structural_health_monitoring` · `Supervised_learning` · `Switching_Kalman_filter` · [[System_dynamics]] · `System_for_Differential_Corrections_and_Monitoring` · [[System_identification]] · `Taylor_series` · `Thomas_Kailath` · `Timation` · [[Time_series]] · `Trajectory_optimization` · [[Transfer_function]] · `Truman_Bewley` · `Tsikada` · `Tsiklon_(satellite_navigation_system)` · `United_Kingdom_Global_Navigation_Satellite_System` · `Unscented_transform` · `Variable-frequency_drive` · `Variance` · `Vector_space` · [[Velocity]] · `Visual_odometry` · `Wavelet` · [[Wayback_Machine]] · [[Weather_forecasting]] · `White_noise` · `Wide_Area_Augmentation_System` · [[Wiener_filter]] · `Yaakov_Bar-Shalom` · [[Z-transform]] · `Zoubin_Ghahramani` · `Émigré` > Signal Processing concept · part of the Signal Processing Portal · movement VI · !01 制御 seigyo.svg <!-- RENDER-THUMB:START --> !480 *Rendered from the live microsim (▶ motion).* <!-- RENDER-THUMB:END --> ## See it next [![Control theory|200](Control_theory_thumb.png)](Control_theory) *→ [[Control_theory|Control theory]]* <!-- VISUAL-LINK:END --> --- Back to Signal Processing Portal · the room · Semiotic gateway ## What it is The Kalman filter is a recursive algorithm that estimates the hidden **state** of a dynamic system from a stream of noisy measurements, producing at each step the statistically optimal (minimum mean-square-error) estimate for a linear system driven by Gaussian noise. ## How it works / why it matters The filter alternates two phases. In the **predict** step it uses a model of the system's dynamics to project the current state estimate and its uncertainty (a covariance matrix) forward in time; in the **update** step it blends that prediction with the newest measurement, weighting the two by their relative uncertainties through the **Kalman gain** — trusting the measurement more when it is precise, the model more when the measurement is noisy. Because it carries only the latest estimate and covariance rather than the full history, it is efficient enough to run in real time, and it is provably optimal under linear-Gaussian assumptions. Nonlinear extensions (the extended and unscented Kalman filters) linearize or sample around the estimate. It is the workhorse of GPS, inertial navigation, robotics, target tracking, and sensor fusion. ## Signs & universals Instantiates: probability · noise · feedback · signal — it recursively fuses noisy measurements under a probabilistic model, feeding each estimate back into the next prediction. ## Related The estimation counterpart to [[Control_theory]]: control decides *what action* to apply to steer a system, while the Kalman filter recovers *what state the system is actually in* from noisy data. In practice they combine — a controller often acts on the filter's estimate rather than the raw measurement (the separation principle of linear-quadratic-Gaussian control). <!-- VISUAL-LINK:START --> <!-- CRAFT-LINK:START g12 --> *Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].* <!-- CRAFT-LINK:END --> <!-- SIGSIM:BEGIN g35 — Signal Processing portal microsim (framework build, specs/sims/Kalman_filter_tracking.json); do not hand-edit inside --> **Microsim — three.js (Wikitube framework), pending deploy:** *Kalman filter: predict, measure, correct* will play here once `https://wikitube-3d-microsims.netlify.app/signal/Kalman_filter_tracking.html` is live. <!-- pending: <div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/signal/Kalman_filter_tracking.html" data-title="Kalman filter"></div> --> *Built from `MICROSIM_GUIDE/specs/sims/Kalman_filter_tracking.json`; part of the [[Signal_processing]] set ([[PORTAL_Signal_Processing]]).* <!-- SIGSIM:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Kalman_filter) : [Wikitube](https://en.wikitube.io/wiki/Kalman_filter) ## Previous hub tags Tree parents: [[Control_theory]] · [[Monte_Carlo_method]]. Legacy hubs: none. --- *Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*