Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

design of digital audio equalizer.

Not open for further replies.


Newbie level 3
Nov 9, 2009
Reaction score
Trophy points
Llandudno, Wales
Activity points
Digital audio equalizer.


I would like to design, build, program digital audio equalizer.
2x48kHz at 16 bits pcm input, 2x48kHz 20bits output pcm.
Bands:2x33 bands.
Delay: maximum 2 seconds.

I would like to use dsPIC33 family, or any number of them which is required.

1. What kind of power should i take into account?
2. What kind of algorythm should i use?
3. What kind of book to you reccomed for beginners, book which deal with digital filters.
4. Could FFT or IIR be split into 2,3 or 4 stages for uCs connected in chain?


A few replies.

1. What do you mean by "what kind of power should I take into account"?
Is it the power of the signal?

2. Algorithm, not algorythm. Well, if it's for music, there can be also rythms...
Why do you want 33 bands (I mean, why not 18? Why not 49?).

3. Digital processing of signals, by Maurice Bellanger.

4. Slicing your FFT is a good idea. But here are some issues:
4.1. If you want to cut your signal in sub signals, then it will be very tricky
to reassemble them after FFT.
4.2. If you want to cut your signal in FFT passes (it's possible, I did it), then
you have to do one pass at a time. So using for instance 9 processor for a
9 stage FFT (512 points) can be done, but in order to process one stage,
you need the full results of the previous stage. And on top of that, you have
to pass the results of one stage to the next processor memory.
The only possible advantage is if you do some continuous processing.

- Process Sample1.pass1 in processor 1
- Move data from processor 1 to processor 2, then process in parallel
Sampler.pass1 on processor1 and sample1.pass2 on processor2
- Move data from processor2 to processor 3, then from processor1 to processor2
then process in parallel sample3.pass1, sampl2.pass2, sampl1.pass3

Etc. If you do 9 passes (in the case of 512 points), then it will be a headache
and on top of that, I wouldn't be surprised if you get something slower.

Basically, what I understand is that you want to perform fast convolution,


I guess, IIR filters can achieve the intended result with less numerical effort. They are also a perfect equivalent to analog
equalizers, that have been used since long (and are still used). The problem with FFT and also FIR filters is the 3 decades
frequency range, resulting in a coefficient number, that never can be handled by slow DSP as dsPIC. Banked FFT or FIR
filters can basically work, but involve an additional effort in decimation and interpolation filters.

31-band is a kind of industry standard for 1/3-octave equalizer

IIR would do.
But the low frequency band passes must be performed carefully.
They must be either of the great precision
or be a compaund of down- and upsampling filters.

Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to