?? fir_t.c
字號(hào):
//*****************************************************************************
// 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)
{
/* 1. Test for single-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)
for (i=0; i<NX; i++)
{
x[i]=100*(sin(2*pi*i*0.08)+sin(2*pi*i*0.3)+sin(2*pi*i*0.5));
}
/*
h[0]=0.6037;h[1]=0.70545;h[2]=0.79659;h[3]=0.87386;
h[4]=0.93443;h[5]=0.9761;h[6]=0.99733;h[7]=0.99733;
h[8]=0.9761;h[9]=0.93443;h[10]=0.87386;h[11]=0.79659;
h[12]=0.70545;h[13]=0.6037;
*/
/* compute */
h[0]=-532;
h[1]=-2;
h[2]=1883;
h[3]=3765;
h[4]=3765;
h[5]=1883;
h[6]=-2;
h[7]=-532;
fir(x, h, r, &dbptr, 8, 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;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -