/*****************************************************************************
FileName : filter
Function : 一阶滤波算法
Author : mike
Email : hxtiou@163.com
Version : V1.0
Date : 2019-08-25
Note :一阶滤波算法-以ADC采样数据为例
*****************************************************************************/
u8 filter_process(u8 group, u8 adc_val)
{
static u16 buf[8] = {0}; //滤波buf
u8 tmp = (buf[group] >> 9) - (adc_val >> 1);
if (tmp & 0x80)
tmp = -tmp;
if (tmp <= 0x08)
buf[group] = (u16)adc_val * 48 + (((u32)buf[group] * 208 + 128) >> 8);
else
buf[group] = (u16)adc_val << 8;
return (buf[group] >> 8);
}