十大滤波算法..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十大滤波算法.

十大滤波算法程序大全(精心整理版)1、限幅滤波法*函数名称:AmplitudeLimiterFilter()-限幅滤波法 *优点:能有效克服因偶然因素引起的脉冲干扰 *缺点:无法抑制那种周期性的干扰,且平滑度差 *说明: ? 1、调用函数 ???? GetAD(),该函数用来取得当前值 ? 2、变量说明 ???? Value:最近一次有效采样的值,该变量为全局变量 ???? NewValue:当前采样的值 ???? ReturnValue:返回值 ? 3、常量说明 ???? A:两次采样的最大误差值,该值需要使用者根据实际情况设置 *入口:Value,上一次有效的采样值,在主程序里赋值 *出口:ReturnValue,返回值,本次滤波结果 ****************************************************/ #define? A?? 10 unsigned char Value unsigned char AmplitudeLimiterFilter() { ?? unsigned char NewValue; ?? unsigned char ReturnValue; ?? NewValue=GatAD(); ?? if(((NewValue-Value)A))||((Value-NewValue)A))) ?? ReturnValue=Value; ?? else ReturnValue=NewValue; ?? return(ReturnValue); } 2、中位值滤波法 /**************************************************** *函数名称:MiddlevalueFilter()-中位值滤波法 *优点:能有效克服因偶然因素引起的波动干扰;对温度、液 ?????? 位等变化缓慢的被测参数有良好的滤波效果 *缺点:对流量,速度等快速变化的参数不宜 *说明: ? 1、调用函数 ???? GetAD(),该函数用来取得当前值 ???? Delay(),基本延时函数 ? 2、变量说明 ???? ArrDataBuffer[N]:用来存放一次性采集的N组数据 ???? Temp:完成冒泡法试用的临时寄存器 ???? i,j,k:循环试用的参数值 ? 3、常量说明 ???? N:数组长度 *入口: *出口:value_buf[(N-1)/2],返回值,本次滤波结果 *****************************************************/ #define N 11 unsigned char MiddlevalueFilter() { ? unsigned char value_buf[N]; ? unsigned char i,j,k,temp; ? for(i=0;iN;i++) ? { ??? value_buf[i] = get_ad(); ??? delay(); ? } ? for (j=0;jN-1;j++) ? { ?? for (k=0;kN-j;k++) ?? { ??? if(value_buf[k]value_buf[k+1]) ???? { ?????? temp = value_buf[k]; ?????? value_buf[k] = value_buf[k+1]; ?????? value_buf[k+1] = temp; ???? } ?? } ? } ? return value_buf[(N-1)/2]; } 3、算术平均滤波法 /********************************************************* 说明:连续取N个采样值进行算术平均运算 优点:试用于对一般具有随机干扰的信号进行滤波。这种信号的特点是 ????? 有一个平均值,信号在某一数值范围附近上下波动。 缺点:对于测量速度较慢或要求数据计算较快的实时控制不适用。 **********************************************************/ #define N 12 char filter() { ? unsigned int sum = 0; ? unsigned char i; ? for (i=0;iN;i++) ? { ??? sum + = get_ad(); ??? delay(); ? } ? return(char)(sum/N); } 4、递推平均滤波法(又称滑动平均滤波法) /*************************************************** 说明:把连续N个采样值看成一

文档评论(0)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档