码迷,mamicode.com
首页 > 编程语言 > 详细

滑动平均滤波算法(递推平均滤波法)

时间:2014-11-28 21:24:27      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:sp   for   on   bs   ad   ef   new   算法   nbsp   

        //滑动平均滤波算法(递推平均滤波法)

        //ADNum为获得的AD数

        //GN为数组value_buf[]的元素个数。该函数主要被调用,利用参数的数组传值

        const int GN = 12;

        int filterPtr = 0;

        bool isFirst = true;

        public float gSum = 0;

        float[] gbuf  = new float[GN];

 

        float GlideFilterAD(float ADNum)

        {

            if (isFirst)

            {

                isFirst = false;

                for (int i = 0 ; i< GN; i++)

                    gbuf[i] = ADNum;

                gSum = ADNum * GN;

                return ADNum;

            }

            else

            {

                gSum -= gbuf[filterPtr] + ADNum ;

                gbuf[filterPtr++] = ADNum ;

                if (filterPtr == GN)   

                    filterPtr = 0;    //先进先出,再求平均值

                return (gSum/GN);

            }

        }

滑动平均滤波算法(递推平均滤波法)

标签:sp   for   on   bs   ad   ef   new   算法   nbsp   

原文地址:http://www.cnblogs.com/xihong2014/p/4129341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!