FastLED 3.9.15
Loading...
Searching...
No Matches
noise_floor_tracker.h File Reference
#include "fl/stl/int.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for noise_floor_tracker.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fl::audio::NoiseFloorTracker
 NoiseFloorTracker maintains an adaptive estimate of the background noise floor for audio signals, with hysteresis to prevent "noise chasing" where the floor continuously adjusts to the signal level. More...
 
struct  fl::audio::NoiseFloorTracker::Stats
 Get current statistics (for monitoring/debugging) More...
 
struct  fl::audio::NoiseFloorTrackerConfig
 Configuration for noise floor tracking. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::audio
 

Class Documentation

◆ fl::audio::NoiseFloorTracker::Stats

struct fl::audio::NoiseFloorTracker::Stats
Class Members
float currentFloor = 0.0f
bool inHysteresis = false
float maxObserved = 0.0f
float minObserved = 0.0f
u32 samplesProcessed = 0

◆ fl::audio::NoiseFloorTrackerConfig

struct fl::audio::NoiseFloorTrackerConfig
Class Members
float attackRate = 0.001f Attack rate for noise floor (0.0-1.0) How quickly the floor rises when signal is consistently low.
float crossDomainWeight = 0.3f Cross-domain calibration weight (0.0-1.0) Blends time-domain RMS and frequency-domain energy for floor estimation 0.0 = use only time-domain, 1.0 = use only frequency-domain.
float decayRate = 0.99f Decay rate for noise floor (0.0-1.0) Higher = slower decay (more stable, less responsive) Lower = faster decay (more responsive, less stable)
bool enabled = true Enable noise floor tracking.
float hysteresisMargin = 100.0f Hysteresis margin (prevents noise chasing) Floor must drop by this amount before it can rise again.
float maxFloor = 5000.0f Maximum floor value (prevents floor from growing unbounded)
float minFloor = 10.0f Minimum floor value (prevents floor from going to zero)