?? main.c
字號:
//#include <csl.h>
//#include "regs.h"
#include <c6x11dsk.h>
#include <c6x.h>
#include <math.h>
#define f0 0.078125
#define mul 3
float h[]= /* Impulse response of FIR filter. Taken from fir_coef.txt */
{
-0.0001,0.0003,0.0004,0.0002,-0.0002,-0.0005,-0.0004,0.0001,
0.0006,0.0006,0.0001,-0.0006,-0.0010,-0.0005,0.0005,0.0013,
0.0010,-0.0002,-0.0016,-0.0017,-0.0003,0.0016,0.0025,0.0012,
-0.0013,-0.0032,-0.0025,0.0006,0.0036,0.0039,0.0007,-0.0036,
-0.0054,-0.0027,0.0029,0.0068,0.0052,-0.0012,-0.0076,-0.0081,
-0.0015,0.0074,0.0112,0.0055,-0.0059,-0.0139,-0.0108,0.0026,
0.0159,0.0173,0.0033,-0.0165,-0.0254,-0.0129,0.0145,0.0355,
0.0291,-0.0075,-0.0507,-0.0623,-0.0141,0.0897,0.2093,0.2890,
0.2890,0.2093,0.0897,-0.0141,-0.0623,-0.0507,-0.0075,0.0291,
0.0355,0.0145,-0.0129,-0.0254,-0.0165,0.0033,0.0173,0.0159,
0.0026,-0.0108,-0.0139,-0.0059,0.0055,0.0112,0.0074,-0.0015,
-0.0081,-0.0076,-0.0012,0.0052,0.0068,0.0029,-0.0027,-0.0054,
-0.0036,0.0007,0.0039,0.0036,0.0006,-0.0025,-0.0032,-0.0013,
0.0012,0.0025,0.0016,-0.0003,-0.0017,-0.0016,-0.0002,0.0010,
0.0013,0.0005,-0.0005,-0.0010,-0.0006,0.0001,0.0006,0.0006,
0.0001,-0.0004,-0.0005,-0.0002,0.0002,0.0004,0.0003,-0.0001
};
//extern float fir_filter ();
void main(void)
{
int i,k;
float acc[256];
float prod,data;
float R_in[128]; /* Input samples R_in[0] most recent, R_in[127] oldest */
/* Zero accumulator */
for (k = 0 ;k < 256 ;k++)
{
acc[k]= 0;
}
for (k = 0 ;k < 128 ;k++)
{
R_in[k]= 0;
}
for (k = 0 ;k < 256 ;k++)
{
data= 255*sin(2*3.14*k*f0*mul);
for(i=127; i>0; i--)
{
R_in[i]=R_in[i-1];
}
R_in[0] = data;
for (i=0; i<128; i++) /* 128 taps */
{
prod = (h[i]*R_in[i]);
acc[k]= acc[k] + prod;
}
}
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -