|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
FIR Hilbert transformer producing sample-aligned analytic signals. More...
#include "DspMath.h"#include "DenormalGuard.h"#include "SimdOps.h"#include <algorithm>#include <array>#include <cassert>#include <cmath>#include <span>

Go to the source code of this file.
Classes | |
| class | dspark::Hilbert< T > |
| 90-degree phase-differencing network (analytic-signal generator). More... | |
| struct | dspark::Hilbert< T >::Result |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
FIR Hilbert transformer producing sample-aligned analytic signals.
Used by FrequencyShifter (single-sideband shift) and Compressor (analytic envelope detector). The kernel is sample-rate independent and shared per process (lazily built, thread-safe); each instance owns only its delay line.
Threading: owner-managed. prepare/reset are setup-time; process and processBlock belong to the owning (audio) thread. Not internally thread-safe. processBlock installs a DenormalGuard; per-sample callers are expected to guard their own callback (framework convention) - the FIR itself cannot generate denormals, but denormal INPUTS would make all kTaps multiplies slow without one.
Dependencies: DspMath.h, DenormalGuard.h, SimdOps.h.
Definition in file Hilbert.h.