I'm trying to design a new filter with IIR to filter out specific bands.

Basically it's a bandpass filter with 2 Octave or 3 Octave bandwidth but the filter order should be equal to 1/3 Octave filter.

Main objective is to analyse a 1/3 octave band level or sum of a few 1/3octave bands. MY DSP is filtering the input signal and reading the level. I can read the broadband signal level. I also need to read such as 500Hz or 1kHz in 1/3 Octave band and between 500-1000 or 125-315Hz etc.

Because my DSP doesn't have enough processing power, I need to calculate the IIR filters of any selected bandwidth outside then put it to DSP.

I need ANSI® S1.11-2004 octave band limits for this and I'm using mostly Matlab for the calculations and filter creations.

How can I do such a filter that actually equals (or equal enough) to "summation of filters"?

Example photo below. Thanks!

enter image description here


1 Answer 1


There is another way to do graphic EQ other than bandpass filters in parallel.

You can use Parametric EQ in series where each band is spaced by $\frac13$ octave. Another reference is Oliver and Jot. I cannot find a link to the second paper to read.

So, if you have only the horsepower for 3 or 4 bands of second-order filters, you can use the PeakingEQ design in the Cookbook to design each band and implement them in series.

But, if you want -50 dB or more attenuation outside of the passband, maybe what you should implement is a higher order (like 8th or 10th order) Butterworth band-pass filter.

  • $\begingroup$ Thanks a lot for the answer! My main problem is, I have troubles with the basic theory. Such as, how many 2nd order filter needed to be connected to achieve 8th order filter? How can I implement 8th-10th order Butterworth with IIR filter? (My DSP only have 2nd order IIR). And of course a few more, like, If I want to sum 125Hz, 160Hz, 200Hz and 250Hz, How can I formulate the center f of the BPF and Q? (to connect them in series?) $\endgroup$
    – BugraKezan
    Jan 19, 2023 at 20:45
  • $\begingroup$ Well MATLAB will design it for you. The order of a cascade or parallel bank of 2nd-order sections is 2 times the number of sections (unless there is something funky). But if you want to connect this graphic EQ to knobs and compute the coefficients on the fly, you'll need to get more fundamental with this. $\endgroup$ Jan 19, 2023 at 20:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.