Besides feedforward filter effects, there are many filters that use feedback. This involves routing delayed samples of the output signal back to be combined with the input signal. Feedback causes a frequency-dependent change in amplitude, which can be used for various types of filters.
Feedback filters are also described as infinite impulse response (IIR) filters because feedback causes the system’s impulse response to theoretically last indefinitely. Therefore, it is not possible to use convolution (conv) with IIR filters. Instead, we will use the MATLAB function: filter. (Documentation)
Generally speaking, feedforward delay is used to reduce the amplitude at certain frequencies (e.g. cut the highs for a LPF). In a complementary way, feedback delay is used to increase the amplitude at certain frequencies.
Furthermore, there are several advantages to using feedback for filters. As one example, it is possible to achieve a filter with a relatively sharp slope without needing a relatively high order (which is necessary with an FIR filter). This reduces the amount of memory required to save the delayed samples of the signal. It also means the number of computations (additions and multiplications) are reduced for each sample of the processed signal.
For these reasons, feedback delay filters are very common to use for audio signal processing. In fact, it is only rare circumstances when strictly feedforward filters are used.
There are several functions built into MATLAB for creating IIR filters. Let’s look at how to work with these functions next.

