Fixed-depth linear-phase half-band oversampling around a per-sample callback.
More...
template<std::size_t StageCount>
class pulp::signal::chardelay::HysteresisHalfBandOversampler< StageCount >
Fixed-depth linear-phase half-band oversampling around a per-sample callback.
Each stage doubles the rate using the house 65-tap / Kaiser β ≈ 8 design. The cascade's group delay is a fixed integer number of host samples, which is exactly what lets the module keep latency_samples() == 0: the constant is subtracted from the delay line's read distance instead of being reported to the host, so echo timing stays right and the loop's total delay is unchanged.