交流采样算法急需请教

smnh1   2008-3-6 20:26 楼主

前一次电流AD的平方*(当前时间+1)+后一次电流AD的平方*(当前时间)




(当前时间+1)*基本间隔采样数+((当前时间+1)*(每周期采样数-基本仅隔采样数))



上面的  除以   下面的是什么意思,用的是什么算法?


部分代码如下,请给解释一下,要是能找到作者就好了,可惜没有找到

U_aVI2=U_aVI1;
                        U_aVI1=U_aVI;
                        U_aVI=        ((float)CA_M_A*((float)AC_TACCR0+1)+(float)CA_N_A*(float)AC_TACCR0)
                                             / ( ((float)AC_TACCR0+1)*(float)AC_M+((float)AC_TACCR0+1)*((float)_ADC_N-(float)AC_M));

                        for(b=_DISP_BUF_N-1;b>0;b--){
                                DISP_buf1=DISP_buf1[b-1];
                                DISP_buf=DISP_buf1;
                                }
                        DISP_buf1[0]=U_aVI;
                        DISP_buf[0]=U_aVI;
                        for(a=0;a<_DISP_BUF_N;a++){
                                for(b=a;b<_DISP_BUF_N;b++){
                                        if(DISP_buf[a]){
                                                U_aVI=DISP_buf[a];
                                                DISP_buf[a]=DISP_buf;
                                                DISP_buf=U_aVI;
                                                }
                                        }
                                }
                        U_aVI=0;
                        for(a=4;a<_DISP_BUF_N-4;a++){
                                U_aVI=U_aVI+DISP_buf[a];
                                }
                        U_aVI=U_aVI/(float)(_DISP_BUF_N-8);
       
                        DISP_buf[0]=U_aVI;
                        DISP_buf[1]=U_aVI1;
                        DISP_buf[2]=U_aVI2;
                       
                        if(DISP_buf[0]>DISP_buf[1]){
                                DISP_buf[4]=DISP_buf[0];
                                DISP_buf[0]=DISP_buf[1];
                                DISP_buf[1]=DISP_buf[4];
                                }
                        if(DISP_buf[0]>DISP_buf[2]){
                                DISP_buf[4]=DISP_buf[0];
                                DISP_buf[0]=DISP_buf[2];
                                DISP_buf[2]=DISP_buf[4];
                                }
                        if(DISP_buf[1]>DISP_buf[2]){
                                DISP_buf[4]=DISP_buf[1];
                                DISP_buf[1]=DISP_buf[2];
                                DISP_buf[2]=DISP_buf[4];
                                }
                        if(U_aIMAX                                 U_aIMAX=DISP_buf[1];
                                }

回复评论 (1)

要是知道的人,给我发电子邮件也可以  laorenshen@163.com   谢谢
点赞  2008-3-6 20:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复