欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

单片机几种软件滤波程序示例

单片机编程 5 K 143 次下载

资源详细信息

文件格式
压缩包
文件大小
5 K
资源分类
发布时间
下载统计
143
所需积分
2 积分

单片机几种软件滤波程序示例 - 资源详细说明


假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();

1、限幅滤波法(又称程序判断滤波法)
    A、方法:
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
        每次检测到新值时判断:
        如果本次值与上次值之差<=A,则本次值有效
        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
    B、优点:
        能有效克服因偶然因素引起的脉冲干扰
    C、缺点
        无法抑制那种周期性的干扰
        平滑度差
/*  A值可根据实际情况调整
    value为有效值,new_value为当前采样值 
    滤波程序返回有效的实际值  */
#define A 10

char value;

char filter()
{
   char  new_value;
   new_value = get_ad();
   if ( ( new_value - value > A ) || ( value - new_value > A )
      return value;
   return new_value;
        
}

2、中位值滤波法
    A、方法:
        连续采样N次(N取奇数)
        把N次采样值按大小排列
        取中间值为本次有效值
    B、优点:
        能有效克服因偶然因素引起的波动干扰
        对温度、液位的变化缓慢的被测参数有良好的滤波效果
    C、缺点:
        对流量、速度等快速变化的参数不宜
/*  N值可根据实际情况调整
    排序采用冒泡法*/

单片机几种软件滤波程序示例 - 源码文件列表

本资源包含 1 个源码文件 支持在线预览,点击文件名即可查看

温馨提示:点击文件名或"查看源码"按钮可在线浏览源代码,支持语法高亮显示。

立即下载 单片机几种软件滤波程序示例

提示:下载后请用压缩软件解压,推荐使用 WinRAR 或 7-Zip

下载说明与使用指南

下载说明

  • 本资源需消耗 2积分
  • 24小时内重复下载不扣分
  • 支持断点续传功能
  • 资源永久有效可用

使用说明

  • 下载后使用解压软件解压
  • 推荐使用 WinRAR 或 7-Zip
  • 如有密码请查看资源说明
  • 解压后即可正常使用

积分获取方式

  • 上传优质资源获得积分
  • 每日签到免费领取积分
  • 邀请好友注册获得奖励
  • 查看详情 →

相关技术标签

点击标签浏览更多相关单片机编程资源:

相关单片机编程资源推荐