ΣSigmaStudio Ask AI Русский Log in

Parametric EQ first order LP

SigmaDSP & SigmaStudio rastariot Feb 25, 2012 00:00 4 replies Original on forum ↗
Subscribe
rastariot Question
Feb 25, 2012 00:00

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

rastariot Reply
Mar 14, 2012 00:00

Hi,

can anyone please help on this? I need the formulas for a custom design...

best,

rastariot

ADIApproved Reply
Apr 9, 2012 00:00

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.

rastariot Reply
Apr 12, 2012 00:00

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

ADIApproved Reply
Apr 13, 2012 00:00

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;