This article provides a comprehensive explanation of the Kalman filter for state estimation in control systems. Starting from the basic discrete-time formulation, it covers the prediction-update algorithm, steady-state Kalman filter, continuous-time Kalman-Bucy filter, and extensions to multi-rate sensing environments using LMI optimization. Related articles, research papers, and MATLAB links are