Parametric EQ first order LP
Hi all,
the first order filters (LP and HP) you can select in the parametric filter (filters/second/order/doubleprecision/multichannel) seem to have a different filter coefficient calculation as shown in the help file (sigma Studio 3.4) and around this forum.
Can anybody please provide me with the formulas?
with best regards,
rastariot
EDIT: Hi Would be great if someone could help me with this. I need these formulas, where can I get it? Please help!
Nachricht wurde geändert durch: rastariot
Audio Signal Processors
microcontroller
filter
sigmastudio
SigmaDSP Audio Processors
adau1701
Show More
Hi,
can anyone please help on this? I need the formulas for a custom design...
best,
rastariot
Hi rastariot,
I apologize for the late response - I have been out of the office frequently over the past several weeks.
You're correct. The parametric filter cell has a 2nd-order biquad architecture, so when you set it to "first order" mode, it basically emulates two first order filters using a second order architecture.
Unfortunately it seems that these coefficient calculations were not included in the standard SigmaStudio documentation, so I will send a request to the software team to get the proper calculations for you.
Hi Brett,
thanks. This would be great, ´cause still need them. Funny thing that no one else before me seems to used it!
best,
rastariot
Hi rastariot,
Here you go:
g = gain in dB
gain = linear gain
Converting gain from dB to linear
gain=Math.Pow(10.0,g/20.0);
Now, calculate 3 coefficients per first order filter. Note that you will be choosing two filters, so you'll have 6 total coefficients.
filt1.A1, filt1.B0, filt1.B1, and then filt2.A1, filt2.B0, filt2.B1.
For lowpass filters
filt.A1=Math.Pow(2.7,(-2*Math.PI*frequency/fs));
filt.B0=gain*(1.0 - filt.A1);
filt.B1 = 0;
For highpass filters,
filt.A1 = Math.Pow(2.7,(-2*Math.PI*frequency/fs));
filt.B1 = (1.0 + filt.A1) * 0.5 * gain;
filt.B0 = -filt.B1;
For allpass filters,
filt.A1 = Math.Pow(2.7,(-2*Math.PI*frequency/fs));
filt.B0 = -gain*filt.A1;
filt.B1 = gain;
With those six coefficients, you can then calculate the 5 coefficients for the biquad IIR:
filt1.A1=filt1.A1*-1;
filt2.A1=filt2.A1*-1;
coeffs.B0=filt1.B0*filt2.B0;
coeffs.B1=filt1.B0*filt2.B1+filt1.B1*filt2.B0;
coeffs.B2=filt1.B1*filt2.B1;
coeffs.A1=filt1.A1+filt2.A1;
coeffs.A2=filt1.A1*filt2.A1;
Please log in to reply.