PSD / Power Spectral Density

What it is

PSD describes how the power (energy) of a time-domain signal is distributed across different frequency components, typically computed via FFT or methods like Welch’s method. It’s a core signal-processing tool used to turn raw sensor waveforms (audio, vibration, IMU, ECG) into frequency-domain features.

What It’s Used for

On edge ML it’s used for feature extraction before lightweight classifiers (e.g. predictive maintenance from accelerometer data, keyword spotting, anomaly detection from vibration or audio, sleep/activity recognition from wearables), reducing raw high-rate time series into compact, informative features that cheap on-device models can consume.

Why and how it Helps

Many physical processes (motor faults, speech, heartbeats) have characteristic frequency signatures that are hard to see in raw amplitude-vs-time data but become obvious as peaks or energy bands in the frequency domain; computing PSD concentrates discriminating information into far fewer dimensions than raw samples, cutting compute, memory, and model size needed on constrained edge devices.

When to Use it

Use PSD-based features when your edge signal is periodic/oscillatory and domain knowledge says frequency content matters (vibration, audio, biosignals), and when you need a cheap, interpretable preprocessing step for small models like decision trees or tiny CNNs running on microcontrollers. Avoid it for non-oscillatory or highly non-stationary signals, or when end-to-end learned representations (raw-waveform CNNs, learned filterbanks) outperform hand-crafted spectral features and you have enough compute budget to run them on-device; in those cases let a neural network learn its own time-frequency representation instead.

My Notes