Code: Select all
/* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher
Command line: /www/usr/fisher/helpers/mkfilter -Be -Lp -o 8 -z -a 1.2500000000e-01 0.0000000000e+00 -l */
#define NZEROS 0
#define NPOLES 8
#define GAIN 2.761491411e+00
static float xv[NZEROS+1], yv[NPOLES+1];
static void filterloop()
{ for (;;)
{
xv[0] = next input value / GAIN;
yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4]; yv[4] = yv[5]; yv[5] = yv[6]; yv[6] = yv[7]; yv[7] = yv[8];
yv[8] = xv[0]
+ ( -0.0001374335 * yv[0]) + ( 0.0022359877 * yv[1])
+ ( -0.0169593084 * yv[2]) + ( 0.0793664387 * yv[3])
+ ( -0.2552563338 * yv[4]) + ( 0.5931278473 * yv[5])
+ ( -1.0129475617 * yv[6]) + ( 1.2484472022 * yv[7]);
next output value = yv[8];
