1.滑动中值滤波
1.1 介绍
如果窗口为n;
1)每次输入1个数据,直到获取n个数据,定义为a[0]~a[n];并返回当前输入的数据;
2)第n+1个数据a[n+1]输入,替换第1个数据a[0](最老的数据);冒泡排序,找到中间值;返回中间值;
3)第n+2个数据a[n+2]输入,替换第2个数据a[1](最老的数据,a[0]上次被替换了);冒泡排序,找到中间值;返回中间;
。。。。
4)新的循环:第2n+1个数据a[n+1]输入,替换第1个数据a[0](最老的数据);冒泡排序,找到中间值;返回中间;
循环往复。。。
1.2 算法
/*
uint16_t Median_Filter(uint16_t data)
作用:中值滤波
参数:
//data_buff--输入--原始数据
返回值:中间值
*/
#include <string.h>
uint16_t Median_Filter(uint16_t data)
{
static uint8_t i=0;
static uint8_t i_0=0;
static uint16_t data_buff[15];
uint16_t buff[1