exp8b.c

来自「在TI的CCS环境下用C语言编写的lms算法,已经通过测试」· C语言 代码 · 共 39 行

C
39
字号
/*
    exp8b.c - Experiment 8B - Adaptive noise canceller 
*/

#define N   48       /* Adaptive FIR filter order */
#define Ns	256      /* Number of input signal per block */

#pragma DATA_SECTION(e, "lms_err");     
#pragma DATA_SECTION(y, "lms_out"); 
#pragma DATA_SECTION(in, "lms_in"); 
#pragma DATA_SECTION(x, "lms_data"); 
#pragma DATA_SECTION(w, "lms_coef"); 
#pragma DATA_SECTION(index, "lms_data"); 
#pragma CODE_SECTION(main, "lms_code"); 
 
int e[Ns],           /* Error signal buffer */ 
    y[Ns],           /* Ouptut signal buffer */  
    in[Ns],          /* Input signal buffer */
    w[N],            /* Adaptive filter coefficients */
    x[N],            /* Filter delayline buffer */  
    index;

extern void init(int *, unsigned int);
extern unsigned int alp(int *, int *, int *, int *, int *, unsigned int, unsigned int, unsigned int);
extern void cos_rand(int *, unsigned int);
                 
void main(void)
{  
    init(x,N);       /* Initialize d[] to zero */
    init(w,N);       /* Initialize w[] to zero */
    index=0;

    for (;;)
    {                      
        cos_rand(in,Ns); /* Generate samples */
        index=alp(in,y,e,x,w,Ns,N,index); /* Adaptive system */
    }      
}

⌨️ 快捷键说明

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