Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

dsPIC DSC Equalizer Library

This library provides functionality to adjust the spectral characteristics of a voice band signal.

In speech and audio applications, signal processing functions and related operations may suppress or boost certain frequencies of a signal. This manifests as a change in the tonal properties of the output signal as compared to the input. Additionally, input and output devices (microphones, speakers, etc.) may emphasize or de-emphasize certain frequencies in a signal due to their mechanical characteristics and limitations. The Equalizer library enables compensation for these changes by providing the user the ability to modify the spectral characteristics of the signal.

The Equalizer (EQ) Library uses a fixed 8 kHz sampling rate and is especially suitable for applications such as:

    • Hands-free cell phone kits

    • Speaker phones

    • Intercoms

    • Teleconferencing systems


The equalizer splits the input signal into different frequency bands (component signals) using a set of band-pass filters. The center frequency for these filters is fixed. The filter output signal gain is specified by the application. The component signals are then summed up, amplified by a user-specified gain (master gain) and then provided as the output signal.

The EQ library is written almost entirely in assembly and is highly optimized to make extensive use of the dsPIC DSC device instruction set and advanced addressing modes. The EQ Library provides an EQ_init() function for initializing the various data structures required by the algorithm and an EQ_apply() function to equalize the signal. You can easily call both functions through a well documented Application Programmer's Interface (API).


Key features of the EQ Library include:

    • Simple user interface - only one library file and one header file

    • All functions can be called from a C application program

    • Compatible with the Microchip C30 Compiler, Assembler, and Linker

    • Highly optimized assembly code that uses DSP instructions and advanced addressing modes

    • Eight EQ bands centered at 31, 62, 125, 250, 500, 1000, 2000, and 4000 Hz

    • Quality factor of 1.4 for each band-pass filter

    • Individual band gain control from 0 to -18dB

    • Master gain control from 0 to 12 dB

    • Can be integrated with the dsPIC DSC Noise Suppression, Acoustic Echo Cancellation, and Line Echo Cancellation libraries

    • Demo Application source code is provided with the library

    • Can process multiple audio streams

    • Does not require scratch memory

    • Run time control of key algorithm parameter is provided


KB Size
Updated as of
dsPIC® DSC Equalizer Library User’s Guide
EQ Setup
Example Audio File with Highbass-
Example Audio File with Hightreble After EQ-
Example Audio File with Hightreble-
Example Audio file with Highbass After EQ-