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

📄 exp5b.c

📁 用于DSK5416的程序
💻 C
字号:
/* 
   exp5b.c - Block Symmetric FIR filter function experiment
             using input data file
*/
#define M    128       /* Input sample size */
#define L     48       /* Number of FIR filter coefficients */
#define SN     L       /* Signal buffer size */
extern unsigned int firsymm(int *, unsigned int, int *, unsigned int, int *, int *, unsigned int);

/* Define DSP system memory map */
#pragma DATA_SECTION(LP_h, "fir_coef");
#pragma DATA_SECTION(x, "fir_data");
#pragma DATA_SECTION(index, "fir_data");
#pragma DATA_SECTION(out, "output");
#pragma DATA_SECTION(in, "input");
#pragma DATA_SECTION(input, "input");    
#pragma CODE_SECTION(main, "fir_code"); 

/* Input data */
#include "input5.dat"

/* Low-pass FIR filter coefficients (1st half) */
int LP_h[L/2]={
-6,28,46,27,-35,-100,-93,26,191,240,52,-291,-497,-278,
337,888,773,-210,-1486,-1895,-442,2870,6793,9445,};

int x[SN];             /* Signal buffer */
unsigned int index;    /* Signal buffer index */
int out[M];            /* Output buffer */
int in[M];             /* Input buffer */

void main(void)
{
    unsigned int i,j; 
       
    /* Initialize filter signal buffer */
    for (i=0; i<SN;i++)
        x[i]=0;	   
    index = 0;  
    
    /* Processing samples using a block symmetric FIR filter */
    j=0;
    for (;;)           
    {
        for (i=0; i<M; i++)
        {
            in[i]=input[j++];	/* Get a buffer of samples */
            if (j == 160)
                j=0;
        }
        index=firsymm(in,M,LP_h,L,out,x,index); /* FIR filter */
    }
}               

⌨️ 快捷键说明

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