18#include "../../../Utils/Filter/DerivativeFilter.h"
19#include "../../../Utils/Filter/FFTFilter.h"
20#include "../../../Utils/Time/TimeStep.h"
Provides a base class for FFT-based microphone signal processing.
Base class for FFT-based microphone signal processing.
static const uint16_t OutputBins
Number of output bins from FFT processing.
static float maxDB
Maximum decibel value for normalization.
static uint8_t pin
Pin number for microphone input.
static uint16_t sampleRate
Sampling rate in Hz.
static float minDB
Minimum decibel value for normalization.
Provides real-time FFT analysis of microphone signals.
static void Reset()
Resets the microphone system and clears stored data.
static void StartSampler()
Starts the sampling process using the IntervalTimer.
static uint16_t samples
Number of samples collected in the current cycle.
static TimeStep timeStep
Time step utility for controlling updates.
static uint16_t frequencyBins[OutputBins]
Array for storing frequency bin data.
static float refreshRate
Refresh rate for processing in Hz.
static IntervalTimer sampleTimer
Timer for managing sampling intervals.
static void Initialize(uint8_t pin, uint32_t sampleRate, float minDB, float maxDB)
Initializes the microphone and FFT system with basic parameters.
static uint16_t samplesStorage
Total number of samples stored.
static bool samplesReady
Flag indicating if samples are ready for processing.
static void SamplerCallback()
Callback function for the sampling timer.
static void Update()
Updates the microphone system, processing new samples and performing FFT.
Provides a mechanism to trigger actions at a specified frequency.