Audio processing algorithms
A variety of algorithms are available today to process the audio signal and improve the listening experience.
Basic processing is given by equalization and filtering that change the amplitude of different frequency bands to overcome the shortcomings of speakers. By looking at the frequency response of speakers, we can determine what can and cannot be reproduced and set equalization curves accordingly. The goal is to obtain sound with pretty much constant amplitude, no matter what frequency is played through the speaker.
Basic equalization nowadays is pretty common; most audio converters available on the market have it. Unfortunately, in some cases this is not sufficient to improve audio quality. In fact, speakers have frequency responses that change with the intensity of the audio signal (Figure 1).
Figure 1: Speaker + enclosure frequency response and distortion for various signal levels.
To compensate for this effect, dynamic filters should be used. These are filters whose poles and zeros change to take into account a speaker's frequency response changing with the signal amplitude. To implement dynamic filters, DSP-like processing capabilities are needed. The vast majority of low-power audio converters do not have enough horsepower to do it.
Another interesting algorithm is bass boost. This algorithm improves the reproduction of bass frequencies by exploiting the psychoacoustic principle of the missing fundamental.
If we look at the frequency response of small speakers, we can see that they have a bass response with a 3dB point that can be in the hundreds of Hz. This means that such a speaker will not be able to reproduce lower frequencies well. Driving the speaker with these low frequencies is not only worthless (since they cannot be reproduced anyway), it's also pernicious. The low frequencies force the speaker to move in a way it cannot and by doing so create additional distortion for higher frequencies as well.
Bass boost (Figure 2) takes the low-frequency content the speaker cannot reproduce and moves it an octave higher, where the speaker works well. For example: if a speaker has 3dB point of 300Hz and there is content at 200 Hz, bass boost moves the content to 400Hz, which is played correctly. Given that the audio content is exactly an octave apart, the human ear and the brain are tricked into thinking that the lower frequency content is actually there (missing fundamental principle). Now, we can apply a filter to remove all the low frequency content that cannot be reproduced so they are not sent to the speaker at all. Bass boost and a high-pass filter used together can dramatically improve the bass reproduction capabilities of small speakers.
Figure 2: How bass boost works.