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

📄 exp6d.c

📁 TI的DSP C55X的应用程序
💻 C
字号:
/* 
   exp6d.c - Direct form II - IIR function in TMS320C55x assembly
*/                           

#define M       128    /* Number of samples per block */
#define Ns      2      /* Number of 2nd order sections */

#pragma DATA_SECTION(C, "iir_coef");
#pragma DATA_SECTION(w, "iir_data"); 
#pragma DATA_SECTION(out, "iir_out"); 
#pragma DATA_SECTION(in, "iir_in"); 
#pragma CODE_SECTION(main, "iir_code");

/* Low-pass IIR filter coefficients in Q14 format */
int C[Ns*5]={ /* i=section number */
              /* A[i][1],A[i][2],B[i][2],B[i][0],B[i][1] */
                  -14187,   3505,   1624,   1624,   3249,
                  -18430,   9454,   1624,   1624,   3249};
/* IIR filter delay line:
w[]=w[i][n-1],w[i+1][n-1],...,w[i][n-2],w[i+1][n-2],... */ 	   
int w[Ns*2];

int out[M];  
int in[M];  

/* IIR filter function */
extern void iirform2(int*, unsigned int, int *, int *, unsigned int , int *);

/* Software signal generator */
extern void signal_gen2(int *, unsigned int, int);


void main(void)
{
    unsigned int i;
    int *ptr=&w[0];
    
    /* Initialize IIR filter delay line and signal generator */
    for (i=Ns*2; i>0; i--)
        *ptr++ = 0; 
    signal_gen2(in,M,1); 
        
    /* IIR filter experiment start */   
    for (;;)           
    {
        signal_gen2(in,M,0);        /* Generate a block of samples */
        iirform2(in,M,out,C,Ns,w);  /* Filter a block of samples */                          
    }
}

⌨️ 快捷键说明

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