Signal analysis
Signal analysis · Course page
Clean a signal with DSP filters, look in the frequency domain with FFT, then squeeze a sliding window into the feature vector a model actually sees.
Module goal
Section titled “Module goal”Understand that a model never sees a raw signal — it sees the features a front-end prepares for it, and that front-end must match everywhere.
Lessons
Section titled “Lessons”| Lesson | Topic | Time (min) | Slides |
|---|---|---|---|
| 4.1 | DSP filters: EMA, Median, Kalman and the radar range profile | 65 | slides.md |
| 4.2 | Hands-on: filters cleaning a signal live | 75 | slides.md |
| 4.3 | FFT and the frequency domain: bins, Nyquist, DC, leakage and the Hann window | 65 | slides.md |
| 4.4 | Hands-on: a live spectrum from the IMU | 75 | slides.md |
| 4.5 | Features and windows: what a model actually sees | 65 | slides.md |
| 4.6 | Hands-on: a feature vector from a sliding window | 75 | slides.md |
Lessons come in pairs: a concept lesson followed by a hands-on lesson with a practice file, a solution, and a lab.
Module checkpoint
Section titled “Module checkpoint”You pass this module once you can do all of the following (details are in the Lab section of each hands-on lesson):
- A filter visibly improves a noisy sensor signal — the Filtered line is clearly smoother than Raw, confirmed with a noise-down % figure (lesson 4.2).
- Run
s09_fft_spectrum.pyand read a live spectrum — the frequency bars and the peak (Hz) genuinely change with faster or slower shaking (lesson 4.4). - Build a feature vector from a raw signal by hand: slice a window (window + hop), then squeeze it into mean, std and band values that change with motion (lesson 4.6).
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA