test11.c

来自「5402开发板附带的源程序」· C语言 代码 · 共 71 行

C
71
字号
#include "math.h"

int nk,i,k,m,n,j,mode;
float sum_real,sum_imag,t_real,t_imag,temp_real,temp_imag;
float x_real[50],x_imag[50],y_real[50],y_imag[50];
float r_real[50],r_imag[50];   

main()
{    
   nk=k=0;
   sum_real=0;
   sum_imag=0;
   t_real=0;
   t_imag=0;
   temp_real=0;
   temp_imag=0;
   m=8;                        /*ouput array r length*/
   n=20;                       /*input array x,y length*/ 
   mode=1;                     /*0-无偏相关估计;1-有偏相关估计;*/

   for(i=0;i<50;i++)
   {
      x_real[i]=0;
      x_imag[i]=0;
      y_real[i]=0;
      y_imag[i]=0;
      r_real[i]=0;
      r_imag[i]=0;
   }

   for(i=0;i<n;i++)
   {
      x_real[i]=1;
      x_imag[i]=0;

      y_real[i]=1;
      y_imag[i]=0;
   }

   for(k=0;k<m;k++)
   {
      sum_real=0;
      sum_imag=0;
      nk=20-k;

      for(j=0;j<nk;j++)
      {
         temp_real=y_real[j];
         temp_imag=-y_imag[j];

         t_real=x_real[j+k]*temp_real-x_imag[j+k]*temp_imag;
         t_imag=x_real[j+k]*temp_imag+x_imag[j+k]*temp_real;

         sum_real=sum_real+t_real;
         sum_imag=sum_imag+t_imag;      
      }

      if(mode==0)
      {
         r_real[k]=sum_real/(float)(n-k);
         r_imag[k]=sum_imag/(float)(n-k);
      }

      else
      {
         r_real[k]=sum_real/(float)n;
         r_imag[k]=sum_imag/(float)n;
      }
   }    
}

⌨️ 快捷键说明

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