#define FILTER_N 8
unsigned int weight[FILTER_N] = {1, 2, 4, 8, 16, 32, 64, 128};//权值数组
unsigned int sum_weight = 256;
float filter(float value)
{
static float filter_buf[FILTER_N + 1] = 0;
unsigned int i;
float sum_value = 0;
// 队尾进数据
filter_buf[FILTER_N] = value;
for (i = 0; i < FILTER_N; i++)
{
// 队头出数据
filter_buf[i] = filter_buf[i + 1];
//加权
sum_value += filter_buf[i] * weight[i];
}
// 平均
return sum_value / sum_weight;
}
加权平均滤波算法
最新推荐文章于 2023-09-21 10:32:10 发布