收藏 分享(赏)

单片机数字滤波的算法.doc

上传人:scg750829 文档编号:9214253 上传时间:2019-07-29 格式:DOC 页数:11 大小:53.50KB
下载 相关 举报
单片机数字滤波的算法.doc_第1页
第1页 / 共11页
单片机数字滤波的算法.doc_第2页
第2页 / 共11页
单片机数字滤波的算法.doc_第3页
第3页 / 共11页
单片机数字滤波的算法.doc_第4页
第4页 / 共11页
单片机数字滤波的算法.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、单片机数字滤波的算法单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。采用数字滤波算法克服随机干扰的误差具有以下优点: 数字滤波无需其他的硬件成

2、本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。 数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。 只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性,这对于滤除低频干扰和随机信号会有较大的效果。 在单片机系统中常用的滤波算法有限幅滤波法、中值滤波法、算术平均滤波法、加权平均滤波法、滑动平均滤波等。(1)限幅滤波算法该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值 A 进行比较。A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次

3、采样有效;否则取上次采样值作为本次数据的样本。算法的程序代码如下:#define A /允许的最大差值char data; /上一次的数据char filter()char datanew; /新数据变量datanew=get_data(); /获得新数据变量if( (datanew-data)A|(data-datanewA) )return data;elsereturn datanew;说明:限幅滤波法主要用于处理变化较为缓慢的数据,如温度、物体的位置等。使用时,关键要选取合适的门限制 A。通常这可由经验数据获得,必要时可通过实验得到。(2)中值滤波算法该运算的过程是对某一参数连续采样

4、N 次(N 一般为奇数),然后把 N 次采样的值按从小到大排列,再取中间值作为本次采样值,整个过程实际上是一个序列排序的过程。算法的程序代码如下:#define N 11 /定义获得的数据个数char filter()char value_buffN; /定义存储数据的数组char count,i,j,temp;for(count=0;countvalue_buffi+1temp=value_buffi;value_buffi=value_buffi+1;value_buffi+1=temp;return value_buff(N-1)/2;说明:中值滤波比较适用于去掉由偶然因素引起的波动和采

5、样器不稳定而引起的脉动干扰。若被测量值变化比较慢,采用中值滤波法效果会比较好,但如果数据变化比较快,则不宜采用此方法。(3)算术平均滤波算法该算法的基本原理很简单,就是连续取 N 次采样值后进行算术平均。算法的程序代码如下:char filter()int sum=0;for (count=0;count10),说明从此路由设备上获取的报文单向抖动剧烈,客户机应该选择同一层级上的其他路由设备转发的报文,如图 6。单向抖动剧烈的路由器层级增加 0.5,所有经此路由器转发的时间报文层级也相应增加 0.5。NTP 报文 Stratum 层级字段拥有 8 个比特,如图 7 所示, 其中低 4 位用于表

6、示层级(0-15 级),高 4 位可以扩展作为半层级标识位(Semi-stratum Flag),半层级标识位标识该报文在原层级基础上增加 0.5 个层级。当客户机收到 N 层级报文和 N+0.5 层级报文时,客户机丢弃 N+0.5 层级时间报 文。同时,由于授时网络本身根据层级低 4 位生成授时路径,整个过程时间报文传递路径并未发生变化,网络不会发生震荡,同步算法依然稳定,算法精确度有效提 高。4 仿真实验及结果分析利用网络仿真软件(OPNET 14.5) 8-9验证改进后的 NTP 协议对授时精度的影响。通过确定报文经过路由器转发时时延的概率,来估算路由器对网络时延的影响。图 7 显示了客

7、户机与服务器 时间偏移,抽样时间为 10 小时,抽样间隔为 0.5 小时。图 8 显示了客户机与服务器时间偏移的标准差。从仿真结果可以看出,NTP 协议算法仿真结果中,时间偏移为 70ms,最大偏移超过 80ms。使用改进过的 NTP 算法可以把时间偏移控制在 50ms 之内。使用改进算法的标准差小于未使用改进算法的标准差,说明改进算法较之原算法稳定。5 结语针对 NTP 时间同步算法中,客户端获取的时钟精度难以满足算法的精度要求,本文提出高精度的改进算法。通过对使用改进算法前后精度和稳定性的比较,可以得出结论:NTP 改进算法对同步算法中处理网络时延是有效的。以 NTP 为代表的网络校时无需

8、添加硬件,且适用大型网络,精度提高后可以用于物联网相关领域。物联网节点受能量限制,所以协议轻量化是今后工作方向。参考文献1 Jian Sun, Hui hui. High Precision Time Synchronization Scheme for Distributed Intrusion DetectionC/2010 International Conference on Computer Application andSystem Modeling Volume 2,Shanxi,2010:219-2232 D.L.Mills, Network Time Protocol, Ne

9、twork Working Group Report RFC-958, University of Delaware,19853 D.L.Mills, Network Time Protocol over the OSI Remote Operations Service, Network Working Group Report RFC-1165, University of Delaware,19904 D.L.Mills, The Network Time Protocol(Version 3) specification, implementation and analysis, Ne

10、twork Working Group Report RFC-1305, University ofDelaware,19925 谢华, 基于 GPS 信号和 NTP 协议的本地时间同步网络J工业控制计算机,2010.6:75-766 Na Yi, Peng He. Time Synchronization Method Based on Dynamic Network and Its Application in Substation Automation SystemC/2010 International Conference on Electrical and Control Engi

11、neering, Wuhan, 2010 7 PENG Ruiqing, HE Peng, YUAN Wenxue. The Optimization Techniques for Time Synchronization based on NTPC/2010 2nd International Conference on Future Computer and Communication Volume 2, Wuhan, 20108 李馨 叶明.OPENT Modeler 网络建模与仿真M.西安:西安电子科技大学出版社,2006.9 张铭,窦赫蕾,常春藤.OPENT Modeler 与网络仿真M.北京:人民邮电出版社,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报