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

📄 iir_biquad.c

📁 TI DSP标准测试程序集benchmark
💻 C
字号:
#define NX 32  
     void iir_biquad                                                     
       (                                                                   
           short * input,                                         
           int nx,                                                         
          short * output,                                        
           short * state,                                                  
           short * coeff                                                   
       );                                                                  
       {                                                                   
           int   in, out;                                                  
           int   x, t0, t1, p0, p1, p2, p3;                                
           short s0, s1, c0, c1, c2, c3;                                   
          short s2, s3, c4, c5, c6, c7;                                   
                                                                           
           int i;                                                          
                                                                           
           s0 = state[0]; s1 = state[1];                                   
           s2 = state[2]; s3 = state[3];                                   
           c0 = coeff[0]; c1 = coeff[1];                                   
           c2 = coeff[2]; c3 = coeff[3];                                   
           c4 = coeff[4]; c5 = coeff[5];                                   
           c6 = coeff[6]; c7 = coeff[7];                                   
                                                                           
          for (i=0;i<nx;i++)                                              
           {                                                               
               in = input[i] << 14;                                        
                                                                           
               p0 = c2*s0 + c3*s1;                                         
               p1 = c6*s2 + c7*s3;                                         
               p2 = c0*s0 + c1*s1;                                         
               p3 = c4*s2 + c5*s3;                                         
               t0 = in + p0;                                               
               x  = in + p0 + p2;                                          
               t1 = x + p1;                                                
               out  = x + p1 + p3;                                         
                                                                           
              s1 = s0;                                                    
               s0 = t0 >> 14;                                              
               s3 = s2;                                                    
               s2 = t1 >> 14;                                              
                                                                           
               output[i] = out >> 14;                                      
                                                                           
           }                                                               
                                                                           
           state[0] = t0 >> 14; state[1] = s0;                             
           state[2] = t1 >> 14; state[3] = s2;                             
                                                                           
      }       
	   int main(){
		short state[4];
		short coeff[8];
		short input[NX];
		short output[NX];
		int i;
		for(i=0;i<NX;i++)input[i]=i>>5;
		for(i=0;i<4;i++)state[i]=i<<3;
		for(i=0;i<8;i++)coeff[i]=i>>7;
		iir_biquad(input,NX,output,state,coeff);
	   return 0;
	   }

⌨️ 快捷键说明

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