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

PortTypeDefault
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.int0
CutoffCorner or centre frequency in Hz (capped just under half the sample rate).float5
QResonance / narrowness: 0.707 is flat for low- and high-pass; higher = a narrower band or notch.float0.707
TapsWindow length in samples for the smoothers (odd; Savitzky–Golay needs at least 5).int9
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.float0
ResetRising edge clears the filter state and the output window.boolfalse

Outputs

PortType
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
Latestfloat

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.

More Data Lab nodes