我现在在做一个测电压的工具,因为要测开发板工作时的电压(工作电压一般是30mv-300mv),我想像fluke的万用表一样,当测量电压时,能不停的算平均值。我现在的做法是averg_temp += ((temp - averg_temp) / cnt); averg_temp :是之前的平均电压,temp是最新测出来的电压。cnt是表示得到几个电压数据了。 我发现如果越到后面cnt越大,哪怕电压有较大的变化,平均电压还是不会变。因此我把cnt最大改成只能到20. 还有我发现如果测得时候突然间有比较大的电压尽量,比如测70mv的时候,突然间测到100mv的瞬时电压,平均电压变化就比较大。可是我看fluke万用表他测平均电压就不会有太大的变化,哪怕我加上条件过滤掉跟当前平均值电压差+-10%的数据,发觉到后期变化幅度也比fluke万用表的来的大。。。。
所以想请教一下各位,谁有做过这个类似的算法,给我一点提醒也好。。谢谢了 |