From db6a20047eb3d88739bf3d61fc6d2a43eeb77188 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 30 Dec 2025 21:35:20 +0100 Subject: [PATCH 1/2] Remove unnecessary init --- AudioFilterBiquad_F32.h | 1 - 1 file changed, 1 deletion(-) diff --git a/AudioFilterBiquad_F32.h b/AudioFilterBiquad_F32.h index 9e15a02..2fa37ee 100644 --- a/AudioFilterBiquad_F32.h +++ b/AudioFilterBiquad_F32.h @@ -57,7 +57,6 @@ class AudioFilterBiquad_F32 : public AudioStream_F32 public: AudioFilterBiquad_F32(void): AudioStream_F32(1,inputQueueArray) { setSampleRate_Hz(AUDIO_SAMPLE_RATE_EXACT); - sampleRate_Hz = AUDIO_SAMPLE_RATE_EXACT; // <<<<<<<<<<<<<<<<<<<<<< CHECK IF NEEDED?? doClassInit(); } AudioFilterBiquad_F32(const AudioSettings_F32 &settings): From 039a778b5a0eb7d0ef0983f4c94d021b72de5afd Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 30 Dec 2025 21:42:33 +0100 Subject: [PATCH 2/2] Fixes --- AudioFilterBiquad_F32.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/AudioFilterBiquad_F32.h b/AudioFilterBiquad_F32.h index 2fa37ee..605f2c9 100644 --- a/AudioFilterBiquad_F32.h +++ b/AudioFilterBiquad_F32.h @@ -70,7 +70,7 @@ class AudioFilterBiquad_F32 : public AudioStream_F32 coeff32[ii] = 0.0; coeff64[ii] = 0.0; } - for(int ii=0; ii<4; ii++) { + for(int ii=0; ii IIR_MAX_STAGES) { + if (iStage >= IIR_MAX_STAGES) { if (Serial) { Serial.print("AudioFilterBiquad_F32: setCoefficients:"); Serial.println(" *** MaxStages Error"); @@ -95,7 +95,7 @@ class AudioFilterBiquad_F32 : public AudioStream_F32 coeff64[ii + 5*iStage] = cf[ii]; // The local collection of double coefficients coeff32[ii + 5*iStage] = (float)cf[ii]; // and of floats } - doBiquad = true; + begin(); } // ARM DSP Math library filter instance. @@ -106,6 +106,7 @@ class AudioFilterBiquad_F32 : public AudioStream_F32 // Initialize BiQuad instance (ARM DSP Math Library) //https://www.keil.com/pack/doc/CMSIS/DSP/html/group__BiquadCascadeDF1.html arm_biquad_cascade_df1_init_f32(&iir_inst, numStagesUsed, &coeff32[0], &StateF32[0]); + doBiquad = true; } void end(void) {