Data Lab node
Signal Filter
Filters every channel of a Signal: low-pass, high-pass, band-pass and notch biquads (streaming, no restart clicks), moving-average, median and Savitzky–Golay smoothing, linear detrend, z-score or 0…1 normalisation over the window. Same rate and labels out; units survive except for the normalisations. Feed the input and the output into one Plot for before/after.
Inputs
| Port | Type | Default |
|---|---|---|
| SignalThe Data Lab signal to analyse — a Signal node's output, a Window, or any float array with its sample rate. Multi-channel signals are handled per channel. | structure | — |
| ModeLow/high/band-pass and notch are streaming biquads (no restart clicks). Moving Average, Median and Savitzky–Golay smooth with Taps samples. Detrend removes the best-fit line; z-score and 0…1 normalise over the window and drop the unit. | int | 0 |
| CutoffCorner or centre frequency in Hz (capped just under half the sample rate). | float | 5 |
| QResonance / narrowness: 0.707 is flat for low- and high-pass; higher = a narrower band or notch. | float | 0.707 |
| TapsWindow length in samples for the smoothers (odd; Savitzky–Golay needs at least 5). | int | 9 |
| Update RateHow many times per second the analysis is recomputed (default 10); 0 = every frame. Lower rates save CPU on long windows — a moved parameter always recomputes at once. | float | 0 |
| ResetRising edge clears the filter state and the output window. | bool | false |
Outputs
| Port | Type |
|---|---|
| SignalThe Data Lab signal to analyse — a Signal node's output, a Window, or any float array with its sample rate. Multi-channel signals are handled per channel. | structure |
| Latest | float |
How It Works
Signal Filter processes every channel of a Signal and hands back a Signal at the same rate with the same labels. Units survive, except for the normalisations, which by definition remove them.
The filters come in two families. Biquads — low-pass, high-pass, band-pass and notch — are streaming: their state is kept between frames, so there are no restart clicks as the window slides. Smoothers — moving average, median and Savitzky–Golay — are zero-phase inside the window (right for analysis) and causal at its newest edge, so Latest is a genuinely smoothed value rather than the raw sample.
Beyond those: linear detrend, z-score and 0…1 normalisation over the window.
Cutoff and Q shape the biquads; Taps sizes the smoothers. Feed the input and the output into one Plot and the before/after is immediate.
Use Cases
- Clean a noisy sensor — A low-pass or a Savitzky–Golay before anything else looks at the data.
- Remove mains hum — A notch at 50 or 60 Hz on an EEG or audio window.
- Isolate a band — Band-pass an EEG channel to alpha before asking Phase for a meaningful phase.
- Kill drift — Detrend before an FFT so a slow baseline does not dominate the low bins.
- Make channels comparable — Z-score several channels with different units before a PCA or a heatmap.
Tips
- Median is the filter that removes spikes; a moving average just smears them.
- Savitzky–Golay preserves peak height and width far better than a moving average at the same Taps.
- Q above about 5 rings; for a notch that is what you want, for a band-pass it usually is not.
- Reset clears the biquad state — useful after a large parameter change or a source swap.
- Normalisation strips the unit on purpose. Do it last, after everything that cared about the unit.
Open Signal Filter in the interactive catalog →
Signal Filter is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.