# Block 4 — Scalar Kalman Filter

<p class="block-meta"><span class="b-block">Block 04</span><span class="b-time">~60 min</span><span class="b-demos">1 demo</span></p>

<p class="block-synopsis">Builds the predict-update cycle in one dimension, frames the Kalman gain as a trust factor between prediction uncertainty and measurement uncertainty, and walks through innovation, gain, and covariance updates on a 1D train example.</p>

## What you'll learn

1. Explain how the Kalman filter performs **recursive optimal fusion**.
2. Identify the roles of **prediction**, **measurement**, and **innovation**.
3. Interpret the **Kalman gain** as an uncertainty-weighted trust factor.
4. Update both the **state** and its **uncertainty** at every step.
5. Run the full predict-update cycle on a one-dimensional example.

## In this block

<div class="block-toc">
  <a class="bt-card bt-reading" href="L04_ScalarKF_Reading.html">
    <span class="bt-kind">Reading</span>
    <h4>Reading</h4>
    <p>Predict / update / innovation, the gain, and covariance growth.</p>
  </a>
  <a class="bt-card bt-flashcards" href="L04_Flashcards.html">
    <span class="bt-kind">Flashcards</span>
    <h4>Flashcards</h4>
    <p>Click-to-reveal cards for the block's key terms and equations.</p>
  </a>
  <a class="bt-card bt-demo" href="L04_KalmanFilterScalar_Demo.html">
    <span class="bt-kind">Demo</span>
    <h4>Demo · Scalar Kalman Filter</h4>
    <p>Run a 1D KF on a noisy train, scrub time, and watch the ±95% bound tighten with each measurement.</p>
  </a>
</div>

<nav class="block-nav">
  <a class="block-nav-prev" href="../block03/index.html">← Optimal Fusion</a>
  <a class="block-nav-next" href="../block05/index.html">Multi-State Kalman Filter →</a>
</nav>
