计算均值滤波时,需要每次求数组的和,再求均值,一般先放入一个数组,循环移出最后一个旧的值循环移入新的值
一般原来的做法
/******************************************************************************/
/**
* @param[in] data[3] 每次处理一组三维的数据,每个数据都需要均值滤波
* fifo:中间存数据的数组三维数组,在使用前定义
* len: N个值的均值滤波,比如len=5,代表5个点取一个均值
* output:均值滤波后的数据,三维的
* idx:均值滤波后的值对应的下标
* @return
*
*
*******************************************************************************/
void AvgFilter1(float data[3], float fifo[][FILTER_SIZE], int len, float output[][BUF_SIZE], int idx)
{
float sum1, sum2, sum3;
uint8_t i;
//mexPrintf("%d", data[1]);
for (i = 1; i < len; i++)
{
fifo[0][i - 1] = fifo[0][i];
fifo[1][i - 1] = fifo[1][i];
fifo[2][i -