Microchip Technology Inc

PIC32 Audio Equalizer Filter Library


Summary:
The PIC32 Audio Equalizer (EQ) Filter Library is specifically designed to assist with multiple-frequency filtering of digital audio. The library can work from multiple audio sources, and customize the listening experience to compensate for speaker, room / enclosure acoustics or user preferences. The library can support either graphic equalizer or parametric equalizer filtering functions.

An optional element of graphical frequency-band magnitude is also available to enable a real-time display of the audio output.

Applications:
• Bluetooth audio speakers & audio peripherals
• USB-enabled audio
• Speaker phones
• Headsets
• Microphone noise suppression
• ADC sample filtering, data collection

Description:

Audio Equalizer Filtering Library:

In music playback, digital filtering can be performed before digital bits are converted into analog voltages that are played by speakers to maintain high fidelity audio as shown in the figure 1 above. An audio equalizer filtering library performs various tasks including digital filtering to correct deficits in the recorded music, mitigate problems in the speakers being used, or simply correct for the room's acoustics - all focused on improving the user's experience of the music. The library provides filtering primitives for audio equalization using infinite impulse response (IIR) filters. It supports filter architectures for traditional graphical equalization and for parametric equalization.

• Parametric Equalizer Filters
  o Serial sequence of IIR filters from 2-20 biquads
  o Typically runs peaking and shelving filter designs
  o Used for factory tuning of speaker and enclosure / environmental harmonics
• Graphic Equalizer Filters
  o Parallel architecture of filters, 2 biquad filters per band, summed for a single output
  o 4-16 frequency bands can be supported
  o Typically runs band-pass filter designs
  o Used for user preference filtering and real-time gain adjustment per frequency band

Graphic Equalizer Display Library:
The Graphic Equalizer Display Library works on any Microchip device that drives an LCD display, providing Graphic Equalizer displays for the host application. Graphic Equalizers are used to adjust the spectral content of music by providing gain or attenuation to parts of the music based on frequency. This library works hand-in-hand with the Audio Equalizer Filtering Library, which does the actual signal processing (filtering).

The Graphic Equalizer Display Library is an adjunct of the Audio Equalizer Filtering Library in that it supports displaying information produced by routines in the filtering library, namely signal strength as measured by the filtering library. It also supports displaying band filter gains so that the user can adjust filter gains as part of a Graphic Equalizer display.

Features:
• 16-bit filtering functions available for higher throughput
• 32-bit filtering functions available for higher accuracy
• Integrated graphic equalizer functions, real-time per-frequency-channel audio level output
  o Graphics display of audio data spectrum signal strength
  o Mechanism for update of gains / attenuation per frequency band in support of filter tuning by the user
• Serial and parallel filter architectures supported for maximum versatility
  o Supports parametric, noise suppression and general audio filtering
• C-callable API functions
  o Highly optimized DSP library making use of PIC32 core and multiply pipeline
  o Available in an MPLABX project environment, compatible with XC32 complier suite
• Scripts provided within the library enable custom design of filters in Matlab ™ and Octave
  o Filter design scripts for both graphic equalizer filters and parametric equalizer filters
  o Many example filter designs included
  o Filter validation test project to measure spectral response of custom filter designs on target hardware

Resource Requirements*:

Filter Type

Number of Frequency Bands

Notes

 

2

3

4

5

6

7

8

 

Graphic EQ (MIPS)

   

29.9

37.0

44.0

51.2

58.4

44.1K samples / second, 2-channel audio 16-bit data. Includes gain calculation for dynamic display

Parametric EQ (MIPS)

8.15

11.2

14.3

17.4

20.5

23.6

26.7

44.1K samples / second, 2-channel audio. 32-bit data.


    • < 1K Flash memory

    • < 500 Bytes of RAM memory

    *See section 1.3 of the help file documentation for a comprehensive list of requirements for various filter structures. Graphic EQ filters have 2 IIR biquad filters per band in parallel. Parametric EQ filters have 1 IIR biquad filter per band.

License notes: The library is free to download and there are no associated royalties for this library when the code is used with a Microchip PIC processor.

Downloads

Description
Download
KB Size
Updated as of
MCU32_audio_equalizer_package
19311
10/31/2014
help_audio_equalizer_lcd_graphics
2778
10/31/2014
help_audio_equalizer_filter
2925
10/31/2014