ADC采样--中位值平均滤波

中位值平均滤波

1、方法

  • 采样N个值,去掉最大最小

  • 计算N-2的平均值

  • N= 3~14

2、优缺点

  1. 融合了中位值,平均值的优点

  2. 消除脉冲干扰

  3. 计算速度慢,RAM占用大

3.代码

char filter()

{

char count,i,j;

char Value_bufN;

int sum=0;

for(count=0;count<N;count++)

Value_bufcount= get_ad();

for(j=0;j<(N-1);j++)

for(i=0;i<(N-j);i++)

if(Value_bufi>Value_bufi+1)

{

temp = Value_bufi;

Value_bufi= Value_bufi+1;

Value_bufi+1=temp;

}

for(count =1;count<N-1;count++)

sum += Value_bufcount;

return (char)(sum/(N-2));

}

4.移植代码到其他芯片

复制代码
/*******************************************************************************
* Function Name:GetAverADCValue()
* Description  :
* Arguments    : None
* Return Value : None
*******************************************************************************/
void GetAverADCValue(uint16_t *ADCValue)
{
	char count,i,j;
	char Value_buf[SampNum];
	uint16_t temp;
	int sum=0;
	for(count=0;count<SampNum;count++)
	Value_buf[count]= *ADCValue++;
	for(j=0;j<(SampNum-1);j++)
	for(i=0;i<(SampNum-j);i++)
	if(Value_buf[i]>Value_buf[i+1])
	{
		 temp = Value_buf[i];
		 Value_buf[i]= Value_buf[i+1];
		 Value_buf[i+1]=temp;
	}
	for(count =1;count<SampNum-1;count++)
	sum += Value_buf[count];
	return sum/(SampNum-2);
}
相关推荐
区块链蓝海几秒前
$TEA将于6月4日主网启动并同步登陆多个主流平台
人工智能·区块链
咖啡星人k1 分钟前
云端开发环境架构演进:容器隔离、文件系统与AI深度集成
人工智能·架构
小小王app小程序开发8 分钟前
AI数字人小程序开发玩法深度解析:功能架构、技术实现与落地场景
人工智能·架构
想你依然心痛11 分钟前
HarmonyOS 6(API 23)实战:打造“光味智厨“——AI烹饪新体验
人工智能·华为·ar·harmonyos·智能体
人工智能培训15 分钟前
数字孪生建模常用方式有哪些?
人工智能·深度学习·机器学习·容器·知识图谱
CCC:CarCrazeCurator16 分钟前
【DriveGen 文件详解】04——evaluate.py
人工智能·自动驾驶·transformer
_日拱一卒16 分钟前
LeetCode:46全排列
算法·leetcode·职场和发展
老高学长17 分钟前
金融机构文档加密软件哪个好|合规与安全兼顾|2026新测评
网络·人工智能·安全
闻道参看17 分钟前
生成式智能搜索下的流量卡位攻略:初创个体如何甄选高兼容性的 GEO 优化 服务商
人工智能
Herlie19 分钟前
6款可编辑AI海报工具深度横测(2026)
大数据·人工智能