fir_cplx.c

来自「TI DSP标准测试程序集benchmark」· C语言 代码 · 共 38 行

C
38
字号
#define NH 8
#define NR 8 
       void fir_cplx                                                      
        (                                                                  
            const short * x,                                       
            const short * h,                                       
            short * r,                                             
            short nh,                                                      
            short nr                                                       
        )                                                                  
        {                                                                  
          short i,j;                                                       
          int imag, real;                                                  
                                                                           
          for (i = 0; i < 2*nr; i += 2)                                    
          {                                                                
            imag = 0;                                                      
            real = 0;                                                      
            for (j = 0; j < 2*nh; j += 2)                                  
            {                                                              
              real += h[j+0] * x[i+j+0] - h[j+1] * x[i+j+1];               
              imag += h[j+1] * x[i+j+0] + h[j+0] * x[i+j+1];               
            }                                                              
            r[i]   = (real >> 15);                                         
            r[i+1] = (imag >> 15);                                         
          }                                                                
        }                                                                  
         
		int main(){
			int i;
		short x[2*(NR+NH-1)] ;       
        short h[2*NH]   ;     
        short r[2*NR] ;
		for(i=0;i<2*(NR+NH-1);i++)x[i]=i*4-NR;
		for(i=0;i<2*NH;i++)h[i]=i*2+NR;
		fir_cplx(x,h,r,NH,NR);
		return 0;
		}

⌨️ 快捷键说明

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