typedef float real32_T; // real32_t is generated by fdatool. void IIRfilter(float *inbuf, float *outbuf, const real32_T num[][3], const real32_T denom[][3], int buffSize, float DLY[][2], int numSections) { int i,j; float floatsamp, out, w; for(j=0; j<buffSize; j++) { floatsamp = inbuf[j]; /* Get sample */ for (i = 1; i < numSections; i++) { w = floatsamp - denom[i][1]*DLY[i][0] - denom[i][2]*DLY[i][1]; out = w + num[i][1]*DLY[i][0] + num[i][2]*DLY[i][1]; DLY[i][1] = DLY[i][0]; DLY[i][0] = w; floatsamp = out; } out *= num[0][0]; /* Overall Gain Coefficient */ outbuf[j] = out; /* Put back in buffer */ } }