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	*/
	    }
}