cfir_t.c

来自「CCS3.3自带的TI 5400系列DSP的dsplib文件。文档说明可以在TI」· C语言 代码 · 共 66 行

C
66
字号
//=============================================================================
//  Filename:	 cfir_t.c
//  Version:     0.001				       
//  Description: test for complex block finite impulse response filter (raw)
//=============================================================================
#include <math.h>
#include <stdio.h>
#include <tms320.h>
#include <dsplib.h>
	
#include "test.h"

#define NR    NX

short i;
short nx = NX;
short eflag1=-1; 	       // error flag (-1: no error; else error)
short eflag2=-1;	       //

DATA r[2*NR];

DATA *dbptr = &db[0];


void main(void)
{
    /* clear */
    for (i=0;i<2*NR;i++) r[i] =0;
    for (i=0;i<2*NH;i++) db[i]=0;

    /* compute using dynamic scaling to avoid overflow */
    cfir(x,h,r,&dbptr,NH,NX);

    /* test */
    eflag1 = test(r, rtest, NH, MAXERROR);

    /* If NX > = 4 try to use db to point to correct location in buffer */
    dbptr = &db[0];

    for (i=0;i<2*NR;i++) r[i] =0;
    for (i=0;i<2*NH;i++) db[i]=0;

    if (NX >= 4)
    {
        cfir(x,h,r,&dbptr,NH,NX/4);
        cfir(&x[(2*nx)/4],h,&r[(2*nx)/4],&dbptr,NH,NX/4);
        cfir(&x[nx],h,&r[nx],&dbptr,NH,NX/4);
        cfir(&x[6*nx/4],h,&r[6*nx/4],&dbptr,NH,NX/4);
    }

    /* test */
    eflag2 = test(r, rtest, NH, MAXERROR);

    if (eflag1 != PASS)
    {
        exit(-1);
    }

    if (eflag2 != PASS)
    {
        exit(-2);
    }

    return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?