无线传感器网络节点晶振频率误差补偿方法
技术领域
本发明涉及传感器网络时钟同步技术,是关于无线传感器网络系统中节点时钟晶振的温度变化和老化的修正方法,特别涉及一种无线传感器网络节点晶振频率误差补偿方法。
背景技术
无线传感器网络被认为是21世纪重要的新兴技术之一。时钟同步技术是无线传感器网络的一项关键技术,其自身协议的运行及基于其上的应用都需要网络中节点的时钟保持同步。
传统时钟同步技术的主要目的是如何获得高精度的时间同步。但是传感器网络各节点时钟同步的目的是在满足一定精度的情况下如何减少算法复杂性,从而减少电能的消耗,需要在精确性和电能高效之间进行权衡和折衷。主要说来,应该考虑:电能的高效性、可扩充性、精确度、健壮性、生命周期、适当的范围、成本和大小、及时性。
目前,主要的研究集中于估计同步信息的时延方面。时延内容包括:协议发送时延、接入时延、发送时延、传播时延。实现时延估计的算法分为:A.基于发送者的时间同步法算法(DMTS算法、FTSP算法);B.RBS算法;C.TPSN算法;D.LTS算法。时延估计建立在实时的时间同步基础上,在网络节点较多的情况下系统网络带宽开销大,功耗大,不能从根本上解决时间精确性和电能高效之间的矛盾;尤其作为无线传感器其电源为电池供电,各节点无线传感器晶振与网络控制器的频繁同步校正消耗大量的能源使电池能量很快耗尽,无线传感器无法工作。
现有技术只能通过定期发送同步指令来修正晶振温度老化的频率误差。以FTSP算法为例,FTSP(Flooding Time Synchronization Protocol)算法由Vanderbilt大学BranislavK usy等提出。FTSP算法也是使用单个广播消息实现发送节点与接收节点之间的时间同步;FTSP算法通过发射多个信令包,使得接收节点可以利用最小方差线性拟合技术估算自己和发送节点的频率差和初相位差,没有考虑温度和老化,此方式对于长期监测的网络通信能量消耗大。
目前除采用算法对时间进行补偿外,还可采用硬件方式对晶振时间精度进行补偿。其中:1、使用高精度晶振实现时间精度补偿,缺点为成本高、体积大、有源晶振功耗大。2、使用模拟方式对晶振实施精度补偿。缺点为成本高、精度低,不能综合考虑温度、老化率对晶振的影响。3、现有数字补偿方式预先测出温度/频率曲线,能进行修正。但是必须在出厂前测出温度/频率曲线,在大量生产时增加成本,不能消除老化造成的误差。
发明内容
本发明的目的在于提出一种无线传感器网络节点晶振频率误差补偿方法技术方案,该方法源于网络实时的时间同步,并将所获得的同步信息逐步建立成一份完整的补偿数据表格,用于修正晶振时钟频率误差、时间同步误差,兼顾了精确性和电能高效性。
为了实现上述目的,本发明的技术方案是:
一种无线传感器网络节点晶振频率误差补偿方法,该方法通过无线传感器网络服务器、发送节点和接收节点实现无线传感器网络节点晶振频率误差补偿,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
1a.设定对比参数,向无线传感器网络服务器发出同步请求命令,接收网络发出的同步频率数据,记录同步时环境温度,对节点晶振进行同步频率校正,记录频率校正值,所述对比参数是温度步长,所述频率校正值与同步时环境温度相互对应;
1b.当温度变化大于所设温度步长时,在已纪录的环境温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在,如果频率校正值不存在,则发出同步请求命令,接收网络发出的同步数据,记录同步时环境温度,对节点晶振进行同步频率校正,记录频率校正值;如果频率校正值存在,则使用已存在的频率校正值对节点晶振进行频率校正;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述同步频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合。
一种无线传感器网络节点晶振频率误差补偿方法,该方法通过无线传感器网络服务器、发送节点和接收节点实现无线传感器网络节点晶振频率误差补偿,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
2a.设定对比参数,向无线传感器网络服务器发出同步请求命令,接收网络发出的同步频率数据,记录同步时环境温度,对节点晶振进行同步频率校正,记录频率校正值,所述频率校正值与同步时环境温度相互对应,所述对比参数是温度步长、同步频率精度;
2b.当温度变化大于所设温度步长时,在已纪录的温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在,如果频率校正值不存在,则发同步请求命令,接收网络发出的同步数据,记录同步时频率温度,对节点晶振进行同步频率校正,记录频率校正值;如果频率校正值存在,则使用已存在的频率校正值对节点晶振进行频率校正;
2c.如果校正后的节点晶振频率超出了同步频率精度,则改变所设温度步长,对节点晶振进行同步频率校正,记录同步时环境温度,记录频率校正值;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述同步频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合。
一种无线传感器网络节点晶振频率误差补偿方法,该方法通过无线传感器网络服务器、发送节点和接收节点实现,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
3a.设定对比参数,向无线传感器网络服务器发出同步请求命令,接收网络发出的同步频率数据,记录同步时频率温度,对节点晶振进行同步频率校正,记录频率校正值,所述频率校正值与同步时频率温度相互对应,所述对比参数是温度步长、同步频率精度、晶振老化校准周期;
3b.当温度变化大于所设温度步长时,在已纪录的温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在,如果频率校正值不存在,则发同步请求命令,接收网络发出的同步数据,记录同步时频率温度,对节点晶振进行同步频率校正,记录频率校正值;如果频率校正值存在,判断频率校正值是否超出晶振老化校准周期,如果未超出老化校准周期则使用已存在的频率校正值对节点晶振进行同步频率校正;如果超出老化校准周期,清除过期的频率校正值,采集新的晶振老化校准周期返回步骤3a;
3c.如果校正后的节点晶振频率超出了同步精度,则改变所设温度步长,对节点晶振进行同步频率校正,记录同步时环境温度,记录频率校正值;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述同步频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合。
本发明对比现有技术的优点是:
1.长时间监控过程中,当数据表建立完成,不再需要晶振调节同步命令;
2.提高了精度,减少了能量消耗;(比定时发送晶振调节精度同步命令精度高、开销小);
3.不用出厂进行温度补偿效准,在满足无线传感器同步要求下,温度与老化率无关;
4.由于不需频繁发晶振同步命令,减低通信开销、降低功耗,适合长时间无线网络监控;
5.同步开销小,在大规模网络节点通信中优点更多;
6.对温度瞬时变化,可及时修正。
下面结合附图和实施例对本发明做一详细描述。
附图说明
图1为本发明对比参数是温度步长的晶振频率误差补偿方法流程图;
图2为本发明对比参数是温度步长和同步精度的晶振频率误差补偿方法流程图;
图3为本发明对比参数是温度步长、同步精度和晶振校准老化周期的晶振频率误差补偿方法流程图;
图4为晶振是AT切割的温度频率曲线图;
图5为晶振是BT切割的温度频率曲线图。
具体实施方式
实施例1
一种无线传感器网络节点晶振频率误差补偿方法实施例1,参见图1,该方法通过无线传感器网络服务器、发送节点和接收节点组成的网络实现无线传感器网络节点晶振频率误差补偿,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
1a.设定对比参数1,向无线传感器网络服务器发出同步请求命令2,接收网络发出的同步频率数据,对节点晶振进行同步频率校正3,记录同步时环境温度、记录频率校正值4,所述对比参数是温度步长,所述频率校正值与同步时环境温度相互对应;
1b.当温度变化大于所设温度步长时5,在已纪录的环境温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在6,如果频率校正值不存在,则发出同步请求命令,接收网络发出的同步数据,,对节点晶振进行同步频率校正,记录同步时环境温度、记录频率校正值;如果频率校正值存在,则使用已存在的频率校正值对节点晶振进行频率校正7;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述同步频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:围绕同步时环境温度,采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合;所述的曲线拟合采用的是拉格朗日插值算法进行的二次数据曲线拟合,其优点是算法简单、灵活,可实现多次拟合。
实施例2
一种无线传感器网络节点晶振频率误差补偿方法实施例2,参见图2,该方法通过无线传感器网络服务器、发送节点和接收节点组成的网络实现无线传感器网络节点晶振频率误差补偿,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
2a.设定对比参数8,向无线传感器网络服务器发出同步请求命令,接收网络发出的同步频率数据,对节点晶振进行同步频率校正,记录同步时环境温度、记录频率校正值,所述频率校正值与同步时环境温度相互对应,所述对比参数是温度步长、同步频率精度;
2b.当温度变化大于所设温度步长时,在已纪录的温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在,如果频率校正值不存在,则发同步请求命令,接收网络发出的同步数据,对节点晶振进行频率校正,记录同步时频率温度,记录频率校正值;如果频率校正值存在,则使用已存在的频率校正值对节点晶振进行频率校正;
2c.如果校正后的节点晶振频率超出了同步频率精度9,则改变所设温度步长10,对节点晶振进行同步频率校正,记录同步时环境温度,记录频率校正值;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:围绕同步时环境温度,采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合;所述的曲线拟合采用的是拉格朗日插值算法进行的二次数据曲线拟合,其优点是算法简单、灵活,可实现多次拟合。
实施例3
一种无线传感器网络节点晶振频率误差补偿方法实施例3,参见图3,该方法通过无线传感器网络服务器、发送节点和接收节点组成的网络实现无线传感器网络节点晶振频率误差补偿,所述补偿方法包括建立频率补偿和温度的关系表和频率误差补偿,具体步骤如下:
3a.设定对比参数11,向无线传感器网络服务器发出同步请求命令,接收网络发出的同步频率数据,对节点晶振进行同步频率校正,记录同步时频率温度,记录频率校正值,所述频率校正值与同步时频率温度相互对应,所述对比参数是温度步长、晶振同步频率精度、晶振老化校准周期;
3b.当温度变化大于所设温度步长时,在已纪录的温度和频率校正值数据中判断与当前温度值对应的频率校正值是否存在,如果频率校正值不存在,则发同步请求命令,接收网络发出的同步数据,记录同步时频率温度,对节点晶振进行同步频率校正,记录频率校正值;如果频率校正值存在,判断频率校正值是否超出晶振老化校准周期12,如果未超出老化校准周期则使用已存在的频率校正值对节点晶振进行同步频率校正;如果超出老化校准周期,清除过期的频率校正值、采集新的晶振老化校准周期13返回步骤301;
3c.如果校正后的节点晶振频率超出了同步频率精度,则改变所设温度步长,对节点晶振进行同步频率校正,记录同步时环境温度,记录频率校正值;
所述的频率补偿和温度的关系表是所述记录的不同同步时环境温度和与之相对应的不同频率校正值数据表。
所述频率校正是:首先建立一个温度与同步频率关系曲线,在关系曲线中找出对应当前温度的同步频率,使用节点当前晶振频率与同步频率的差值作为频率校正值对节点晶振频率进行校正。
所述温度与频率关系曲线是:围绕同步时环境温度,采集三至五点连续不同温度步长的同步频率数据,对所述数据进行曲线拟合;所述的曲线拟合采用的是拉格朗日插值算法进行的二次数据曲线拟合,其优点是算法简单、灵活,可实现多次拟合。
所述的晶振老化校准周期是由晶振出厂的老化关系表或重新测得的晶振温度频率曲线中取得。晶振的频率与温度关系如图4所示AT切割的温度频率曲线图、图5所示BT切割的温度频率曲线图是一种相对稳定的关系,但随着时间的变化,其关系也会出现微小的变化。当频率补偿和温度的关系表确定后,随着时间的变化,晶振的频率随温度出现微小的变化,此种变化达到一定大时会影响已经确认的频率补偿和温度的关系,因此随着时间的变化需要对所述频率补偿和温度的关系表进行重新的确定。
上述三个实施例中,所述的温度的分辨率根据所要求的同步精度以及校正频率而设定,温度的分辨率可以设置为0.5摄氏度或1摄氏度或2摄氏度等等,同理温度步长可以设置为0.5摄氏度或1摄氏度或2摄氏度或3摄氏度或4摄氏度或5摄氏度等等;所述的老化校准周期可以根据精度要求按月设置或半年或1年设置。
对于一颗准确度为10ppm、老化率为10ppm/year的晶振,授时精度为1ms。以典型FTSP算法为例,时间同步需小于100s,需得到2-8个效准数据才能完成一次频率效准,这一过程在整个时间同步过程中以100s为周期反复执行。以四个效准数据完成一次频率效准为例,一年内所需的效准数据总量为126144000个。考虑到浮点运算,运算量不小于12614400000次指令周期。以16兆单片机为例,不考虑无线通信的开销,仅计算的开销为1200秒左右,功耗约为100W。而采用频率和温度、老化率的关系表实现以上功能,在对同一温度点实现频率效准后,考虑到老化率的影响,频率温度曲线可对晶振时间准确度实现95%以上的补偿,所需时间同步周期大于2000s。同样以四个效准数据完成一次频率效准为例,一年内所需的效准数据总量为6307200个。算法采用优化的定点计算公式,运算量小于126144000次指令周期。计算的开销为12s,功耗约为0.1mW。二者相比,FTSP算法系统网络带宽占用率高、功耗大,算法需浮点运算,频率偏差的计算开销大。
两种方法的对比见表1。
|
同步时间间隔 |
单次频率效准所需数据量 |
一年内所需总数据量 |
一年计算开销 |
计算功耗 |
本方法 |
2000s |
4 |
6307200 |
12s |
0.1mW |
FTSP算法 |
100s |
4 |
126144000 |
12000s |
100W |
表1
以上结合较佳实施例对本发明进行了阐述。根据这些实施例可以做出一些变化,这对于本领域的技术人员来说时显而易见的,并且这里定义的原理可以应用于其他实施例,无须使用创造性的才能。因此,本发明并不局限于这里所示的实施例,而是符合与这里所揭示的原理和新颖特征相一致的最宽的范围。