From 46a7361349a7ddd9f3af626286cd155385a0f174 Mon Sep 17 00:00:00 2001 From: Kuba <132459354+KubaPro010@users.noreply.github.com> Date: Fri, 8 Aug 2025 23:08:05 +0200 Subject: [PATCH] is this vibe coding? --- filter/iir.c | 23 +++++++++-------------- filter/iir.h | 7 +++---- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/filter/iir.c b/filter/iir.c index 55129d3..387be65 100644 --- a/filter/iir.c +++ b/filter/iir.c @@ -16,21 +16,16 @@ inline float apply_preemphasis(ResistorCapacitor *filter, float sample) { } void tilt_init(TiltCorrectionFilter* filter, float correction_strength) { - filter->alpha = 0.9999f; - filter->gain = correction_strength; // Can be > 1.0 - filter->x_prev = 0.0f; - filter->y_prev = 0.0f; + f->tilt = correction_strength; + f->prev_in = 0.0f; + f->prev_out = 0.0f; } float tilt(TiltCorrectionFilter* filter, float input) { - // High-pass filter - float hp_out = filter->alpha * (filter->y_prev + input - filter->x_prev); - - // Apply gain and add back to original - float output = input + filter->gain * hp_out; - - filter->x_prev = input; - filter->y_prev = hp_out; - - return output; + float out = input + f->tilt * (input - f->prev_in); + + f->prev_in = input; + f->prev_out = out; + + return out; } \ No newline at end of file diff --git a/filter/iir.h b/filter/iir.h index 0edd5b5..5d925f0 100644 --- a/filter/iir.h +++ b/filter/iir.h @@ -14,10 +14,9 @@ void init_preemphasis(ResistorCapacitor *filter, float tau, float sample_rate, f float apply_preemphasis(ResistorCapacitor *filter, float sample); typedef struct { - float alpha; - float x_prev; - float y_prev; - float gain; + float tilt; // Tilt amount (-1.0 to +1.0 typical) + float prev_in; // Previous input sample + float prev_out; // Previous output sample } TiltCorrectionFilter; void tilt_init(TiltCorrectionFilter* filter, float alpha);