求大神帮我解释一下我对这个A/D滤波程序的疑惑。

2019-07-18 12:02发布

求大神解释一下ad_buf=(float)((ad_dat1-1)/3.0)这句程序;为何取了五个数据平均值了之后,又减去1在除以3,这是为何呢?
while(1)
        {
                if(i<5)                                 // 滤
                {
                        i++;
                        AD_DAT+=A_D();                // 波
                }
                else                                        // 算
                {
                        i=0;                                // 法
                        ad_dat1=AD_DAT/5;
                        if(ad_dat1>1)
                        {
                                ad_buf=(float)((ad_dat1-1)/3.0);
                                Water_dat=(uchar)(ad_buf);        
                        }
                        else
                        Water_dat=0;               
                        AD_DAT=0;
                        
                }


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。