//Fir_pcm.c FIR using PCM3003 codec #include "bp41.cof" //coefficient file BP @ Fs/8 int yn = 0; //initialize filter's output short dly[N]; //delay samples float Fs = 48000.0; //fixed/actual Fs interrupt void c_int11() //ISR { short i; dly[0] = input_left_sample(); //newest input @ top of buffer yn = 0; //initialize filter's output for (i = 0; i< N; i++) yn += (h[i] * dly[i]); //y(n)+=h(i)*x(n-i) for (i = N-1; i > 0; i--) //starting @ bottom of buffer dly[i] = dly[i-1]; //update delays with data move output_right_sample(yn >> 15); //output filter return; //return from ISR } void main() { comm_intr(); //init DSK, codec, McBSP while(1); //infinite loop }