⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fir_t.c

📁 FIR滤波器 CCS开发工程文件 头文件 辅助文件 C源程序 
💻 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 + -