📄 firinverse.c
字号:
//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<N; i++)
yn += (h[i]*dly[i]); //y(n)+=h(i)*x(n-i)
if(out_type==1) //if slider in position 1
output_sample(dly[0]); //original input
if(out_type==2)
output_sample(yn>>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
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -