📄 fir_t.c
字号:
//*****************************************************************************
// Filename: fir_t.c
// Version: 0.01
// Description: test for fir routine
//*****************************************************************************
#include <math.h>
#include <tms320.h>
#include <dsplib.h>
#include "test.h"
#define pi 3.1415926
short i;
short j;
short eflag1= PASS;
short eflag2= PASS;
DATA *dbptr = &db[0];
void main(void)
{
/* clear */
for (i=0; i<NX; i++) r[i] = 0; // clear output buffer (optional)
for (i=0; i<NH; i++) db[i] = 0; // clear delay buffer (a must)
for (i=0; i<NX; i++)
{
x[i]=100*(sin(2*pi*i*0.1)+sin(2*pi*i*0.2)+sin(2*pi*i*0.25));
}
h[0]=10;
h[1]=88;
h[2]=20;
h[3]=-50;
h[4]=-90;
h[5]=-26;
h[6]=100;
h[7]=143;
h[8]=14;
h[9]=-184;
h[10]=-216;
h[11]=24;
h[12]=331;
h[13]=328;
h[14]=-124;
h[15]=-647;
h[16]=-569;
h[17]=479;
h[18]=2101;
h[19]=3324;
h[20]=3324;
h[21]=2101;
h[22]=479;
h[23]=-569;
h[24]=-647;
h[25]=-124;
h[26]=328;
h[27]=331;
h[28]=24;
h[29]=-216;
h[30]=-184;
h[31]=14;
h[32]=143;
h[33]=100;
h[34]=-26;
h[35]=-90;
h[36]=-50;
h[37]=20;
h[38]=88;
h[39]=10;
fir(x, h, r, &dbptr, 40, NX);
/*
for(i=NX;i>NH;i--)
{
for(j=0;j<NH;j++)
{
r[i]=r[i]+x[i+j-NH]*h[j];
}
}
*/
/* test */
//eflag1 = test (r, rtest, NX, MAXERROR);
/* 2. Tests for dual-buffer */
/* clear */
//for (i=0; i<NX; i++) r[i] = 0;
// clear output buffer (optional)
//for (i=0; i<NH; i++) db[i] = 0;
// clear delay buffer (a must)
//dbptr = &db[0];
/* compute */
//if (NX>=4) //
{ // fir(x, h, r, &dbptr, NH, NX/4);
// fir(&x[NX/4], h, &r[NX/4], &dbptr, NH, NX/4);
// fir(&x[2*NX/4], h, &r[2*NX/4], &dbptr, NH, NX/4);
// fir(&x[3*NX/4], h, &r[3*NX/4], &dbptr, NH, NX/4);
// }
/* test */
//eflag2 = test (r, rtest, NX, MAXERROR);
//if (eflag1 != PASS) //{ // exit(-1); //}
//if (eflag2 != PASS)
//{ // exit(-2);
//}
return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -