// FIR_float_c.c  FIR filter. Include file of N order FIR filter coefficients 
// uses floating-point arithmetic
#include "DSK6713_aic23.h"
#include "LPF1500_float.cof"   // coefficient file LPF @ 1500Hz
float yn = 0;	               // initialize filter's output
short x[N+1];                  // input samples (N+1 samples)
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ;

interrupt void c_int11()       // ISR
{
	short k;
   
   	x[0] = input_sample();     // new input @ beginning of buffer
    	yn = 0;                // initialize filter's output
    	
	for (k = 0; k<= N; k++)
	   yn += (h[k] * x[k]);    // y(n) += h(k)* x(n-k)
	   
	for (k = N; k > 0; k--)    // starting @ end of buffer
   	   x[k] = x[k-1];          // update delays with data move

   	output_sample((short)yn);  // filtered output
   	return;
}

void main()
{
 	comm_intr();               // init DSK, codec, McBSP
  	while(1);                  // infinite loop
}

