/********************************************************************************/
/********************************************************************************/
/*本文件支持滤波函数: */
/* 0、取中位数 */
/* 1、取中位数平均 */
/* 2、取平均 */
/* 3、取加权平均 */
/* 4、一阶加权 */
/* 5、正太分布 */
/******************请根据具体的应用需求进行滤波选择********************************/
/********************************************************************************/
/********************************************************************************/
/********************************************************************************/
#define WAVEFILTERINGBUFMAXLENG 100 //滤波缓存最大的数据长度,根据个人应用以及程序空间进行修改,最大不超过255
#define u8 unsigned char
#define u16 unsigned int
u8 WaveFilteringMode = 0; //滤波模式 0-4 选择
u8 WaveFilteringLength = 0; //滤波长度
u8 WaveFilteringEnable= 0; //滤波开关
u16 WaveFilteringBuf[WAVEFILTERINGBUFMAXLENG]; //数据计算缓存buf,数据缓存最大255 将递归的数据赋值给缓存进行排布计算,避免计算排序导致原始数据顺序错误
u16 CCDEdgeLeftWaveFilteringBuf[WAVEFILTERINGBUFMAXLENG]; //CCD左边缘数据滤波缓存区域
u16 CCDEdgeRightWaveFilteringBuf[WAVEFILTERINGBUFMAXLENG]; //CCD右边缘数据滤波缓存区域
/*******************************************************
//函数名称:u16 Wave_Filter(char type,u8 time,u16 data,u16* ptr)
//功能描述:滤波函数
//修改日志:2018.04.10
//函数接口:type 滤波类型参看下面注释 time 滤波系数 data 最新接收数据 ptr 保存数据地址
*******************************************************
滤波算法说明 滤波系数设置最大为255
0 Median 中位数滤波 排序后提取中位数据,如果设置系数为偶数去中间较小的那个 例如系数为4 2对应的数据。
1 Median average 中位值平均滤波 对采样数据去除最大值与最小值进行平均运算。
2 Recursive mean 递推平均滤波 递推平均滤波又称为滚动平均滤波 采用队列形式每次