Expand description
Digital filtering functions (FIR, Biquad IIR Direct Form I & II, LMS Adaptive Filter, Convolution, Correlation).
Structs§
- Biquad
Cascade Df2t Instance F32 - Instance structure for the floating-point Biquad Cascade Transposed Direct Form II filter.
- Biquad
Cascade Df2t Instance Q15 - Instance structure for the Q15 Biquad Cascade Transposed Direct Form II filter.
- Biquad
Cascade Df2t Instance Q31 - Instance structure for the Q31 Biquad Cascade Transposed Direct Form II filter.
- Biquad
Cascade Instance F32 - Instance structure for the floating-point Biquad Cascade Direct Form I filter.
- Biquad
Cascade Instance Q15 - Instance structure for the Q15 Biquad Cascade Direct Form I filter.
- Biquad
Cascade Instance Q31 - Instance structure for the Q31 Biquad Cascade Direct Form I filter.
- Circular
Buffer - Const-generic zero-allocation circular buffer and delay line for real-time DSP sample streams.
- DcBlocker
Q15 - High-pass single-pole used as a DC blocker (Smith Ch. 19).
- FirInstance
F32 - Instance structure for the floating-point FIR filter.
- FirInstance
Q15 - Instance structure for the Q15 FIR filter.
- FirInstance
Q31 - Instance structure for the Q31 FIR filter.
- LmsInstance
F32 - Instance structure for the floating-point LMS adaptive filter.
- LmsInstance
Q15 - Q15 LMS adaptive filter.
- Nlms
Instance F32 - Normalized LMS instance (
epsfloors the power denominator). - Nlms
Instance Q15 - Q15 NLMS instance.
- Recursive
Moving Average - Const-generic
N-point moving average filter implemented recursively (Steven W. Smith, Ch. 15, Eq. 15-3): each sample is updated with a single add and subtract, instead of anO(N)convolution sum. - Recursive
Moving Average Q15 - Q15 recursive
N-point moving average (same recurrence asRecursiveMovingAverage). - Single
Pole Filter - The cheapest possible IIR filter: a single-pole recursive low-pass or high-pass filter
(Steven W. Smith, Ch. 19, Eq. 19-2 / 19-3), needing only one or two multiplies per sample.
Coefficients are designed from a decay factor
x(seecrate::filter_design::single_pole_decay_from_cutoff/crate::filter_design::single_pole_decay_from_time_constant). - Single
Pole Filter Q15 - Q15 single-pole recursive low-pass or high-pass filter (same recurrence as
SinglePoleFilter).decayis Q1.15 in0..1(larger → lower cutoff).
Functions§
- biquad_
cascade_ df1_ f32 - biquad_
cascade_ df1_ q15 - biquad_
cascade_ df1_ q31 - biquad_
cascade_ df2t_ f32 - biquad_
cascade_ df2t_ q15 - biquad_
cascade_ df2t_ q31 - conv_
f32 - conv_q7
- conv_
q15 - conv_
q31 - correlate_
f32 - correlate_
q15 - correlate_
q31 - fast_
convolve_ f32 - Performs fast linear convolution of
signalandkernelvia FFT multiplication. Output length issignal.len() + kernel.len() - 1. - fir_f32
- fir_q15
- fir_q31
- lms_f32
- lms_
leaky_ f32 - Leaky LMS:
w ← (1 - leak) w + 2 μ e x.leak = 0matcheslms_f32. - lms_
leaky_ q15 - Leaky LMS in Q15.
leakis Q1.15 (0matcheslms_q15). - lms_q15
- median_
filter_ 1d_ f32 - 1D Conditional / Thresholded Median Filter for f32.
- median_
filter_ 1d_ q15 - 1D Conditional Median Filter for Q15.
- median_
filter_ 1d_ q31 - 1D Conditional Median Filter for Q31.
- nlms_
f32 - NLMS:
w ← w + μ e x / (eps + ||x||²). - nlms_
q15