讨论关于算法
不断地从硬件每次读入2048个两字节数(测量光谱响应,这2048个数据是一条谱线),为了保证数据的准确性,打算做N次平均,如果按照一般思路:先读入N组数据,然后再相加除以N,但是这样的话,数据的更新频率将变成原来的1/N,我想到另外一个方法,也就是要和大家讨论的方法:假如当前平均值为 Avg ,新读入的值为InData ,则新平均值AvgN为:
AvgN = Avg*(N-1)/N +InData/N (此处指的是2048个数据的每一点的计算方法)
这里第一次读入时Avg = InData
这样的话,数据更新频率降不变化,只是需要一段时间的稳定时间,其实就是把数据的突然变化变得缓慢!
不知此方法有什么问题没有?