Table of Contents:
EQ or Equalizing is the process of modifying a specific range of frequencies in a signal. A good example of a EQ plugin is Izotope’s Ozone 11 EQ (see below). EQ plugins use filters to edit frequency volumes.

But how do we get the frequencies of a signal?
Introducing the Fourier Transform! If you don’t already know how the Fourier Transform (or FT for short) works, I highly recommend watching 3blue1brown’s video about it (link below). The basic idea is that we are picking out the frequencies in a signal with this following equation:
$$ \hat{f}(\xi)=\int^\infin_{-\infin}f(x)e^{-i2\pi\xi x}dx $$
If you don’t understand that it’s fine, as the formal equation for it is not needed. In future sections I will discuss how filters are used to remove or add parts of a signal.
Fourier Transforms video: https://www.youtube.com/watch?v=spUNpyF58BY
However, an FT is very slow and is not recommended for implementing just for EQ, instead its use is better suited for when the frequency domain of a signal needs to be visualized. The better and faster way to filter out frequencies is with a filter which will be discussed later in this page.
There are two ways of implementing a filter in the Time Domain. FIR (Finite Impulse Response) and IIR (Infinite Impulse Response). A FIR can be achieved by convolving a filter with the signal.
The math comes out to be:
$$ y[n] = x[n] * h[n] = \Sigma^{\infin}_{k=-\infin} x[k] * h[n - k] $$
Where $y[n]$ is our convolved signal, $x[n] * h[n]$ are our two input signals being convolved.
Lastly $\Sigma^{\infin}_{k=-\infin} x[k] * h[n - k]$ is the formal definition of a convolution in discrete time.