AnsweredAssumed Answered

How to calculate the coefficient value of the high order filter

Question asked by leiming on Mar 4, 2011
Latest reply on Feb 19, 2013 by J3627

Hi

at first i should describ our design for you ,we  want to design a system and the block crossover is used as the high order LP filter, Our DSP prossesor is controled by extern microcontrolor ,So the coefficient value must be  calculated  by extern microcontrolor according to the formula and  the controlor send the corresponding value  to DSP prosseeor come true controling.

Now we meet problem :

1 for high order filter different order,the number of coefficient is defferent,for example bessel 12 dB have 5 coefficient , bessel 18 dB have 8 coefficient ,

bessel 24 dB have 10 coefficient ,and so on !

2 we don't know the equationt of the coefficient.

before somebody tell me the high order filter is simply serialized by general 2nd order filter and general 1st order filter ,and there is the equation in help file .

but after much experiment i find the the value of coefficient i get from equation is not correspond to which i get from the SigmaStudio,

for example ,general 2nd order filter,frequency=1000HZ;Q=1.41,Fs=48000;gain=0;

below is the data i get from experiment

The data get from the equation of help file :

a0=1.0008101520074285072310965239913;

a1=-1.9999947804650706869450798840089;1 /a1=-0.50000130488713778026095773346491;

a2=0.999189847992571492768903476009;  1/a2=1.0008108088858750397659847761385;

b0=--0.0000013048837323282637300289978;

b1=-0.000002609767464656527460057994;

b2=b0;

The data get from SigmaStudio:

EQ1940Single10B1=0.00408828258514404;

EQ1940Single11B1=0.00817668437957764;

EQ1940Single12B1=0.00408828258514404;

EQ1940Single11A1=1.8951700925827;

EQ1940Single12A1=-0.911523461341858;

We could find the difference from the data,if you know please reply soon!

I 'm look forward to your reply ! thanks

Outcomes