📄 firbuf.c
字号:
//Firbuf.c FIR filter with output in buffer plotted with CCS
#include "bp41.cof" //BP @ 1 kHz coefficient file
int yn = 0; //initialize filter's output
short dly[N]; //delay samples
short buffercount = 0; //init buffer count
const short bufferlength = 1024; //buffer size
short yn_buffer[1024]; //output buffer
interrupt void c_int11() //ISR
{
short i;
dly[0] = input_sample(); //newest input @ top of buffer
yn = 0; //initialize filter's output
for (i = 0; i< N; i++)
yn +=(h[i]*dly[i]) >> 15; //y(n)+=h(i)*x(n-i)
for (i = N-1; i > 0; i--) //start @ bottom of buffer
dly[i] = dly[i-1]; //data move to update delays
output_sample(yn); //output filter
yn_buffer[buffercount] = yn; //filter's output into buffer
buffercount++; //increment buffer count
if(buffercount==bufferlength) //if buffer count = size
buffercount = 0; //reinitialize buffer count
return; //return from interrupt
}
void main()
{
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -