ADR-007: Stay in DSP, skip control-systems topics

Status

Accepted (2026-06-16)

Context

Scavenging the DSBC course material (docs/scavenge-plan.md) surfaced a model-based-filtering lecture deck (DSBC- model based filtering.pptx) whose unique, un-migrated content is control-systems rather than signal processing:

  • Field-oriented control (FOC) of a PMSM as the motivating application (slide 4).
  • Feedforward compensation for tracking-loop delay: add a model of the known driving input so the loop does not have to wait for an error to build up (slide 8).
  • A state observer used for noise decoupling, e.g. removing encoder-quantization noise in servo control (slide 9).

The estimation content of the deck (Wiener, Kalman, the alpha-beta tracking filter) is already migrated to topics/model-based-filtering/. What remains is the control half: using a state estimate to drive an actuator, and the techniques that go with closing a loop.

This raises the same question ADR-006 answered for pattern recognition / ML: how far should the workshop drift from DSP toward an adjacent field?

Constraints (the same three as ADR-006): - ADR-003 frames the workshop as “DSP, from math to metal”, not “Control Systems, from math to metal”. - The maintainer’s centre of gravity is classical DSP, multirate, and embedded signal processing, not control engineering or motor drives. - The topic-page quality bar (math, Python, embedded companion, honest open questions) does not scale to a field the author would be learning to teach.

The deterministic Luenberger observer and the stochastic-optimal Kalman filter are two versions of the same state-observer structure, so the boundary is genuinely fuzzy: the estimation half (recover the state from measurements) is squarely DSP and is already covered; the control half (drive an actuator, compensate loop delay, regulate a motor) is not. (The textbook duality is between observer design and controller design, not between the observer and the Kalman filter.)

Decision

1. Control systems is out of scope as standalone content

No dedicated topic pages, sections, or embedded examples for:

  • Feedback control loops, PID, loop shaping, stability margins.
  • State-feedback control, LQR / LQG, pole placement for control (as opposed to estimation).
  • Feedforward / delay compensation aimed at closing a loop.
  • Motor control: FOC, PMSM/BLDC drives, current/torque/speed loops.
  • Actuator and plant modelling for the purpose of regulation.

The justification is identity, scope, and authority, exactly as in ADR-006: this is a DSP workshop, the maintainer’s strongest contribution is on the signal side, and excellent control-systems treatments already exist elsewhere.

2. The estimation / observer boundary

State estimation stays in scope: the Kalman filter, the Wiener filter, and observers used purely to clean a signal (noise decoupling, quantization-noise removal) are signal-processing techniques and may appear as topic content. The line is crossed the moment the estimate is fed back to act on the plant.

3. Pointers, not coverage

Where a topic naturally invites a control continuation (the Kalman estimate driving a servo; feedforward to cancel tracking lag; FOC as an application of state estimation), the page ends with a short “Going further” pointer that names the technique and links an authoritative external reference. No tutorials, no code, no claims of control-systems expertise we do not have. This mirrors ADR-006 section 4.

The reference case is the topics/model-based-filtering/ “Going further” pointer added alongside this ADR, which names the state observer, feedforward compensation, and FOC/PMSM as the control continuation and points at Åström and Murray’s Feedback Systems.

Consequences

  • Positive: the model-based-filtering deck is now fully accounted for (estimation migrated, control content pointed-to), so the docx and deck can move out of the dump per the file-move protocol.
  • Positive: scope discipline is explicit on a second axis (control, alongside ADR-006’s PR/ML axis), making future “just one more lecture” drift easy to refuse.
  • Negative: readers wanting the full motor-drive or servo story must go elsewhere; the workshop is openly half the picture for them, with a pointer rather than a path.