My question is about the use of many filters on a sound signal. I found the following transfer functions for the high cut, the low cut and the pass band filter :
H = K / (1 - x^2 + j.x/Q)
H = K / (1 - x^2 + j.x/Q) * x^2 * (-1)
H = K / (1 - x^2 + j.x/Q) * j.x/Q
with K = gain, Q = quality factor (set to 1.0 for the bandpass and 1/2^0.5 for the high and low cut), x = f/f0 (= signal frequency / filter frequency), H = multiplier (and it's a complex)
To "see" the effect of each filter, I draw the chart |H| = f(frequency), with |H| = modulus(H), and "play" with the values of K and Q. In a first time, when I draw individually the chart for each single filter, the result is as expected : 0. to 0.99 for the low cut filter, 0.99 to 0. for the high cut filter, and some "bell" charts from 0 to 1 to 0 for each pass band filter.
But now, my problem is about the result when I "combine" all those filters. My first idea was, for each frequency, to make the average of all the real parts and the average of all the imaginary parts of the filters filter at this frequency.
For exemple, if my spectral precision is 21.xxx Hz with 2048 samples (0 < k <2048) in my signal to analyze, I calculate the H for each filter with k = 1 => f = 21.xxx Hz and make the average of the reals and the average of the imaginary parts and consider the "global filtering result" at 21.xxx Hz is this average.Then, I make the same computing for k = 2, k=3 (...).
So I finally get an array[number of filters][k] of complex, and I compute the average of each colum as the "global multiplier" for each k.
But the result is not the one expected. The chart of the global |H| starts at 0, with a fast growing until 20Hz to a maximum around 0.3, then a "tray" slowly decreasing and a strong decreasing slope for the frequencies above 10 000 Hz.
I would have expected a signal with a "tray value" around 1 and not 0.3. Of course, if Q <<< 1, the "tray value" grows up, but it means my filters are not selective at all. So, what's wrong ? What's the rule to combine the effects of my filters ?
Thank you for all your answers.