A bounded, prepared normalized least-mean-squares adaptive FIR. More...
#include <algorithm>#include <array>#include <atomic>#include <cmath>#include <cstddef>#include <cstring>#include <limits>#include <vector>Go to the source code of this file.
Classes | |
| class | pulp::signal::NlmsAdaptiveFilterT< SampleType > |
| struct | pulp::signal::NlmsAdaptiveFilterT< SampleType >::Result |
Namespaces | |
| namespace | pulp |
| namespace | pulp::signal |
Typedefs | |
| using | pulp::signal::NlmsAdaptiveFilter = NlmsAdaptiveFilterT<float> |
| using | pulp::signal::NlmsAdaptiveFilter64 = NlmsAdaptiveFilterT<double> |
A bounded, prepared normalized least-mean-squares adaptive FIR.
The signal convention is explicit: reference is r[n], primary is d[n], estimate is sum(w[i] * r[n-i]), and error is d[n] - estimate. RT contract: after prepare(), processing, reset, parameter changes, and coefficient publication perform no allocation, locking, or I/O. The control-side snapshot is bounded and never exposes live coefficient state. One realtime writer owns processing and parameter/reset calls; at most one control reader may call try_snapshot_coefficients() concurrently.