0

I've implemented an 13 band EQ using EQ10Q filters. Doing some measurements with the smaartV7 software I realized that my bands were overlapping each other giving an extra undesired gain. I think this is because I was applying every filter over the same buffer (series). So the solution I was thinking is use 13 buffers in stereo 32 bit PCM format with same original data. I'm going to apply one filter to each buffer and then merge all the buffers (parallel). So I have some doubts.

  1. Is my approach correct?

  2. How should I merge the buffers? (I tried sum all the samples and then dividing the result by 13 but the filter gain is reduced a lot with this method).

NOTE: I don't want to modify the Q Factor of my filters.

DrCachetes
  • 954
  • 1
  • 9
  • 30

1 Answers1

0

I don't know the EQ10Q filter library so I'll write some pseudocode for you.

Hopefully, the EQ10Q filter processing code returns its altered filtered sample and not need pointers to the input. With that in mind, this is how I usually do:

yn = filterOne.process(xn) + filterTwo.process(xn) + ... + filterThirteen.process(xn)

This adds up each filter output sample. HOWEVER, keep in mind you'll need to optimize it yourself... processing a sample 13 separate times can be intensive if you have other things going on.

yun
  • 1,243
  • 11
  • 30