DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
Hilbert.h File Reference

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>
Include dependency graph for Hilbert.h:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

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.