<script>
  /* The visible page title lives in the raw-HTML hero below, which Sphinx
     can't see — so it derives the browser-tab title from the first Markdown
     heading ("Terminal Learning Objectives"). Set it explicitly here. */
  document.title = "USAF TPS - SY6301";
</script>

<section class="hero">
  <p class="hero-eyebrow">USAF Test Pilot School · SY6301 · Class 26A</p>
  <h1 class="hero-title">Navigation &amp; State Estimation</h1>
  <p class="hero-lede">Nine lecture blocks. One individual homework. One group project.</p>
  <div class="hero-cta">
    <a class="cta cta-primary" href="block01/index.html">Start Block 1 →</a>
    <a class="cta" href="project/Project_Overview.html">Project handout</a>
    <a class="cta" href="downloads/Download_Course.html#homework">Homework handout</a>
    <a class="cta" href="downloads/Download_Course.html">Download materials</a>
  </div>
</section>

<section class="block-grid" aria-label="Course blocks">
  <a class="block-card" href="block01/index.html">
    <span class="num">01</span>
    <h3>Frames &amp; Errors</h3>
    <p>Reference frames, DCMs, and the metrics that reduce position error.</p>
    <footer>Reading · Flashcards · 2 demos</footer>
  </a>
  <a class="block-card" href="block02/index.html">
    <span class="num">02</span>
    <h3>Inertial Errors</h3>
    <p>IMU errors integrate into drift; Allan variance and the Schuler cycle.</p>
    <footer>Reading · Flashcards · 2 demos</footer>
  </a>
  <a class="block-card" href="block03/index.html">
    <span class="num">03</span>
    <h3>Optimal Fusion</h3>
    <p>Inverse-variance weighting of two estimates of the same quantity.</p>
    <footer>Reading · Flashcards · 1 demo</footer>
  </a>
  <a class="block-card" href="block04/index.html">
    <span class="num">04</span>
    <h3>Scalar Kalman Filter</h3>
    <p>Predict / update in one dimension; gain as trust factor.</p>
    <footer>Reading · Flashcards · 1 demo</footer>
  </a>
  <a class="block-card" href="block05/index.html">
    <span class="num">05</span>
    <h3>Multi-State Kalman Filter</h3>
    <p>Vector state, cross-covariance, 4D and 6D simulated motion.</p>
    <footer>Reading · Flashcards · 2 demos</footer>
  </a>
  <a class="block-card" href="block06/index.html">
    <span class="num">06</span>
    <h3>GPS Fundamentals</h3>
    <p>Pseudoranges, the four-unknown fix, DOP, error sources.</p>
    <footer>Reading · Flashcards · 1 demo</footer>
  </a>
  <a class="block-card" href="block07/index.html">
    <span class="num">07</span>
    <h3>Extended Kalman Filter</h3>
    <p>Nonlinear measurement models, GPS Jacobian, tight coupling.</p>
    <footer>Reading · Flashcards · 1 demo</footer>
  </a>
  <a class="block-card" href="block08/index.html">
    <span class="num">08</span>
    <h3>Fault Detection &amp; HMI</h3>
    <p>Mahalanobis testing, protection levels, spoof quarantine.</p>
    <footer>Reading · Flashcards · 1 demo</footer>
  </a>
  <a class="block-card" href="block09/index.html">
    <span class="num">09</span>
    <h3>Statistical Test Planning</h3>
    <p>The math behind the F-47 ANS project: ECDFs, drift CIs, 27/30 rule.</p>
    <footer>Reading · Flashcards</footer>
  </a>
</section>

<section class="deliverable-cards" aria-label="Course deliverables">
  <div class="deliverable-card">
    <p class="d-eyebrow">Group deliverable</p>
    <h3>Project PRR</h3>
    <p class="d-weight"><span class="d-w-num">50%</span> of course grade</p>
    <p class="d-due">Due <strong>Friday 12 June</strong>, 0800</p>
    <a class="d-link" href="project/Project_Overview.html">Open project handout →</a>
  </div>
  <div class="deliverable-card">
    <p class="d-eyebrow">Individual deliverable</p>
    <h3>Homework</h3>
    <p class="d-weight"><span class="d-w-num">50%</span> of course grade</p>
    <p class="d-due">Due <strong>Sunday 14 June</strong>, 2359</p>
    <a class="d-link" href="downloads/Download_Course.html">Download materials →</a>
  </div>
</section>

## Terminal Learning Objectives

By the end of this course you should be able to:

1. Apply foundational navigation concepts to air and space systems.
2. Construct and analyze navigation measurement and dynamic models (GPS, INS, AltNav).
3. Implement and evaluate estimation methods (least squares, Kalman filter, EKF).
4. Assess navigation performance, integrity, and fault behavior using quantitative metrics.
5. Synthesize and communicate data-driven conclusions for navigation systems under test.

:::{admonition} Rules of engagement
:class: ground-rules

1. These are my slides. Flag anything that could be sharper.
2. We're going from zero to hero in 9 hours. Full understanding requires both attention and interaction. Stay engaged.
3. Ask questions early and often. Slow me down anytime.
4. I've been a TPS student myself, so I get the priority calls. Side-task when you must, be considerate of others, and own the consequences.
5. Slides are not meant to stand alone. Take notes actively.
6. Use the course website to get deeper insights and reference materials.
7. I'm TDY here all week for you. Reach out on Slack anytime if you're stuck.
:::

## What Each Lesson Contains

- **Reading.** The main text for the block. Read this before or after class to reinforce the slides.
- **Flashcards.** Key terms, equations, and concepts in click-to-reveal cards for quick review.
- **Demos.** Interactive in-browser walkthroughs for each block's hands-on demonstration: animated trajectories, draggable elements, live sliders, and synchronized error / monitoring panels. A MATLAB implementation of each demo is also included in the course code distribution for students who want to inspect or modify the underlying numerics.

The Additional References section in the sidebar collects supporting articles and datasheets along with two short videos that illustrate spoof detection and HMI exposure.
