Try this in the TinyML gesture acceptance gate lab, where you change the noise control and see how many gesture windows pass the acceptance threshold.
1. Two errors share one nickname
Temporal aliasing happens when a changing gesture is sampled too slowly. Weight rounding happens when a fixed trained number is parked on the nearest int8 code. One depends on hertz; the other depends on the selected weight range and code count.
2. Name the moves
Halve the sample rate100 Hz gives a 50 Hz Nyquist limit.
Invert the gesture period800 ms is 0.8 s, so the fundamental is 1/0.8 = 1.25 Hz.
Set the int8 scaleq = max|w| / 127.
Round the codecode = round(w/q).
Reconstruct and compareŵ = code q; error = |ŵ − w|.
3. Work the lab's fixed case
The reconstructed weight is −0.200787, so the error is 0.000787, inside q/2 = 0.00335. Separately, 50/1.25 = 40 gives the wrist-wave fundamental forty-fold room below Nyquist.
4. Read the forty-fold margin honestly
The 1.25 Hz fundamental is far below 50 Hz, but a sharp gesture contains higher harmonics. The margin is a useful first check, not proof that the full motion waveform and sensor front end are alias-free.
5. Keep two acceptance rows
For sampling, record rate, filter, window, mounting, and spectrum. For compression, record calibration range, scale policy, saturation, per-class metrics, confidence thresholds, artifact hash, and target-runtime result.
6. Check yourself
Does the 100 Hz rate determine the int8 weight scale?
Why must the −0.20 error stay below q/2?
Does one passing round trip approve the model?
The equations reproduce the lab's teaching values, not a universal TinyML quantiser.
- 100 Hz
- Lab sensor cadence
- 0.85
- Sketch maximum absolute weight
- 0.000787
- One example's reconstruction error
Go deeper in the lab and validate both the physical input and the complete optimized artifact.
Edge Eddie guides