//FIRinverse.c Implementation of inverse FIR Filter #include "bp41.cof" //coefficient file BP @ Fs/8 int yn; //filter's output short dly[N]; //delay samples int out_type = 1; //output type for slider interrupt void c_int11() //ISR { short i; dly[0] = input_sample(); //newest input sample data yn = 0; //initialize filter's output for (i = 0; i>15); //output of FIR filter if(out_type==3) //calculate inverse FIR { for (i = N-1; i>1; i--) yn -= (h[i]*dly[i]); //calculate inverse FIR filter yn = yn/h[0]; //scale output of inverse filter output_sample(yn>>8); //send output of inverse filter } for (i = N-1; i>0; i--) //from bottom of buffer dly[i] = dly[i-1]; //update delay samples return; //return from ISR } void main() { comm_intr(); //init DSK, codec, McBSP while(1); //infinite loop }