[an error occurred while processing this directive]
|
np - кол-во звеньев.
buf - пральна - на каскад по два элемента задержки.
Коэффициенты лежат хитро:
1. b0;
2. a1/b0;
3. a2/b0;
4. b1/b0;
5. b2/b0;
В принципе можете b0 упихать куда следует, тогда оно будет выглядеть так:
acc -= buf[0]*(*coeff++);
acc -= buf[1]*(*coeff++);
dly = acc;
acc *= (*coeff++);
acc += buf[0]*(*coeff++);
acc += buf[1]*(*coeff++);
buf[1] = buf[0];
buf[0] = dly;
buf += 2;
В этом варианте: a1, a2, b0, b1, b2