Design and implement a real-time audio equalizer on an embedded system using C programming. The goal is to create an audio equalizer that allows users to adjust the gain levels of specific frequency bands to enhance audio quality based on their preferences. The equalizer should leverage mathematical modeling techniques to design the frequency response characteristics of each equalizer band.
A peaking equalizer filter allows you to increase or decrease the level of frequencies around a central point. It is also known as a parametric equalizer section. The level remains unchanged for frequencies far away from the boosted or cut area. This makes it convenient to combine multiple peaking equalizer sections together in a series configuration.
Where, g is gain (in the code as gain_lin)
Wc is the cutoff frequency in radians/s
Q is the Quality Factor
Source: Phil's Lab YouTube Channel
Source: MIT OCWare
- Phil's Lab: https://www.youtube.com/@PhilsLab
- The EQ CookBook: https://www.w3.org/TR/audio-eq-cookbook/
- Pre-warping For Discretisation: https://dsp.stackexchange.com/questions/64025/frequency-prewarping-of-a-bilinear-transform-tustin-transform