Module dsp::filter
General FIR / IIR Filters
Streaming (one-sample-at-a-time) difference-equation filters — the general form biquad.h's 2nd-order sections and dsp.h's array-level primitives both specialize:
FIR ("feedforward"): y[n] = sum_{k=0}^{M-1} b[k]*x[n-k]
IIR ("feedback"): y[n] = sum_{k=0}^{M-1} b[k]*x[n-k]
- sum_{k=1}^{N-1} a[k]*y[n-k] (a[0] = 1)
Both keep their own history/state internally (a delay line for FIR, a direct-form-I input+output history for IIR) so a caller can feed them one real-time sample at a time — e.g. inside std::Reactor's per-task processing — rather than needing the whole signal in memory up front the way convolution.h's conv_direct does.
Structs
| FirFilter | |
| FirFilter32 | Single-precision FIR, same contract as FirFilter (float taps and history). |
| FFirFilter | |
| IirFilter | |
| IirFilter32 | Single-precision IIR, same contract as IirFilter. Float rounding grows with the order; cascade Biquad32 sections for anything steep. |
| FIirFilter |