低功耗通信设备的唤醒策略和时隙寻优算法的制作方法

文档序号:13984904
低功耗通信设备的唤醒策略和时隙寻优算法的制作方法
本发明涉及通信领域,尤其涉及通过均匀唤醒低功耗通信设备以及优化工作时长以降低功耗、延长电池使用时间的方法。
背景技术
:随着社会和经济的进步,以及智慧城市建设步伐的推进,现代住宅建设日益集中式、高层化、智能化,用户使用的表具种类也日渐增多,包括电表、冷热水表、气表、热力表等。以往的抄表方式多采用人工上门进行采集,抄读周期长、效率低,且越来越不方便,已经不适应现代社会的发展需要,需要建设自动抄表系统。电力公司用电信息采集系统经过多年建设,技术成熟,并且由于电力表本身安装在电力线上,无论是供电还是传输,都可以比较方便地解决。其他种类的表具,要实现自动抄表,供电和传输网络都需要特殊考虑。目前的抄表系统,传输都使用无线网络,如公网或自建的专用网,表具终端使用电池供电,完成数据的上报。无论使用哪种传输网络,表具终端都使用低功耗器件,以达到延长电池使用时间的目的。数据上报不经常发生,一天上报一次就可以满足要求。为了保证成功率,一般控制表具终端一天上报2-3次。为进一步达到节电目的,表具终端在不上传数据时处于睡眠模式,功耗很低,需要上传数据时唤醒,上传完成后再进入睡眠模式。表具数据上传分为两种模式,被动召测和主动上报。被动召测模式下,表具终端的上位机,如基站或集中器,定时唤醒表具,进行数据召测。由于采用无线通信方式,为了避免上报数据在信道上发生碰撞,提高上报成功率,上位机每次只唤醒一个或一批表具终端进行上报,在一天或固定的时间段内(如一天报3次,固定的时间段为24/3=8小时),均匀唤醒所有表具终端,完成数据上报。唤醒指令广播发送,所有表具终端都需要接收并判断唤醒指令是否针对自己。由于上位机不断地发送唤醒指令,表具终端会为此产生大量功耗。该模式只适用于表具终端很少的情况。主动上报模式下,表具自动唤醒,唤醒后主动上报数据。唤醒的时间由表具根据表地址进行计算确定。表地址是唯一的(类似于网卡的物理地址),并且,基本上在一个抄表网络中使用的表具,其地址是连续的。这个是计算的基础。但如何使抄表网络中的表具终端在不同的时间点自动唤醒,以保证无线信道不发生冲突,且唤醒时间比较均匀地分布在一天或固定的时间段内,一直没有理想的解决方案。另外,表具终端主动唤醒后,发送数据,接收网络基站的确认信息,然后再次进入睡眠。如果可以及时收到确认,表具终端可以主动进入睡眠。但如果收不到确认信息,表具终端会一直等待,处于工作状态。由于表具终端有一天内发送几次以保证成功的机制,因此没有必要花费很长时间等待确认以降低功耗。为此,每次唤醒后表具终端都需设定一个工作时间间隙,在此间隙中完成发送和接收工作,过了这个时间间隙,进入睡眠。由于传输距离、中间遮挡等因素,不同表具终端完成传输工作的时间是不同的,为保证所有终端都能在工作时间间隙完成工作,目前的解决方案是取一个最大值(如1分钟),所有表具终端唤醒后,在此期间都是工作状态。但大多数表具终端,在远小于最大值的时间内可以完成工作,这就造成了多数表具终端在唤醒期间,有一段时间是处于无效工作状态,造成了电池的无谓消耗。技术实现要素:本发明的目的是提供一种唤醒策略,能够在不同时间唤醒表具终端,并且在一个时间段内比较均匀的排布以避免信道冲突;另外,优化表具终端唤醒后的工作时间间隙,进一步降低终端能耗。为此,本发明采用的技术方案是:一种低功耗通信设备的唤醒策略,所述低功耗通信设备定时自动唤醒,唤醒后,在工作时间间隙内向网络基站上报数据,完成后进入睡眠,每个低功耗通信设备具有唯一的身份地址,低功耗通信设备的自动唤醒采用以下策略:低功耗通信设备每天上报n次,两个低功耗通信设备的上报时间间隔为t,将一天从0点到24点分成n个时间段,每个时间段内上报时间点的个数为M,。低功耗通信设备每天的唤醒时刻在下述时间点上:。其中,1≤k≤M,i为1到n的整数。进一步地,所述低功耗通信设备还使用优化算法选择信道,计算工作时间间隙:所述低功耗通信设备与网络基站使用LoRa方式进行通信。所述低功耗通信设备还使用优化算法选择信道,计算工作时间间隙,包括:首先进行参数选取,算法验证;算法内置于低功耗通信设备;低功耗通信设备初次使用时,向网络基站发送报文,获取发送和接收确认时间,根据上述时间和数学速度计算得出低功耗通信设备与网络基站间的数学距离;输入数学距离,输出信道参数及工作时间间隙;低功耗通信设备唤醒后,在输出的信道参数上工作,唤醒后的工作时间为计算得出的工作时间间隙。本发明使用在主动上报模式下,表具终端自动唤醒。表具终端内置唤醒程序,在预定时间唤醒表具终端进行工作。根据预先设定的表具终端每天上报的次数n,将一天划分为n个时间段,在每个时间段内,所有表具终端都要完成上报。由表具终端之间上报的时间间隔t得到每个时间段内上报时间点的个数M。如果是单信道系统的话,M是整个系统的表具终端容量。表具终端之间上报的时间间隔t一般是经验值,可以是表具终端上报过程的最长时间以保证每次上报的可靠性。理想状态下,在系统中工作的表具终端,唤醒时间定在每个上报时间点。为此,可以在组建网络时,根据上述过程得到的时间表,为每个表具终端写入唤醒时间,但这种方式需要单独处理每个表具终端,工作量大,在系统扩容时还需要进行调整。由于表具终端具有唯一的身份地址,并且在一个抄表网络中使用的表具终端,其地址基本上是连续的。mod(addr,M)为addr除以M所得的余数,为0到M-1的整数,以此为基础,分配表具终端的唤醒时间,可以保证在容量小于等于M时,表具终端的唤醒时间分布在上述时间点上。当网络增加表具终端时,也不用单独做处理。唤醒时间的基础是表具终端的晶振时钟。表具终端按上述算法计算出唤醒时间,依据自身的时钟,在唤醒时间自动唤醒。如果根据身份地址计算出的唤醒时间有冲突,可以调整后续的唤醒时间,避免冲突。另外,第一次发送数据成功后(既收到网络基站的确认回复),在一天内可以不再发送,因此,第一个时间段后的其他时间段内,只有少数或没有表具终端发送数据,进一步避免冲突。有益效果:每次只有一个表具终端发送数据,避免了在信道上发生碰撞,提高一次发送成功率,减少多次发送事件的发生,降低功耗;在此基础上,本发明还使用时隙寻优算法计算表具终端唤醒后的工作时间,使唤醒后的工作时间更接近实际工作时间,进一步降低功耗。附图说明图1是系统配置示意图,图2是唤醒时间表,图3是算法的拓扑图,图4是算法流程图,图5是matlab仿真图,图6是两种算法结果的比较图,图7是计算唤醒时间的流程图。具体实施方式下面描述的实施例是基于LoRa实现,系统配置如图1所示。LoRa(LongRange)采用了线性调频扩频调制技术,既保留了类似频移键控调制方式的低功耗特性,又明显提高了通信距离;LoRa技术基于扩频调制,不同扩频序列终端的信号彼此正交,即使采用相同的频率,同时发送数据也不会相互干扰。基于LoRa技术的网关利用该特性,可在同一时间、相同信道上并行接收并处理多个节点的数据,大大扩展了系统容量。此外,其采用的前向纠错技术解决了节点数据并发丢包的问题,使得采集系统抗干扰性更强,数据传输也更为可靠。实施例中,基站采用Lora基带芯片SX1301,链路预算(发射功率-接收灵敏度)高于160dBm,支持48种组合方式的Lora通道(支持8个Lora信道,每个信道支持6种扩频因子)。表具终端(水气热表具)采用Lora芯片SX1278,为充分利用频谱信道及避免表具相互冲突干扰,综合采用了时分复用、频分复用和码分复用技术,在表具终端低功耗的前提下实现了高可靠通信上传。唤醒策略。如图7所示,首先设定每天上报次数和时间间隔,根据上述参数计算出每个时间段内上报时间点个数M,表具终端根据自身的身份地址和M计算出唤醒时间。具体描述如下。表具终端作为低功耗通信设备,本实施例中,每天上报3次,上报用时最大为10秒钟,两个表具终端的上报时间间隔为10。将一天从0点到24点分成3个时间段,如图2上部所示,分别为0-8点。8-16点,16-24点,每个时间段内上报时间点的个数为M,M=(24*60*60)/(3*10)=2880。低功耗通信设备每天的唤醒时刻在下述时间点上:其中,1≤k≤M,表示第几个时间点,i为1到n的整数,表示第几次唤醒。如图2的下部所示,第一个时间段内的唤醒时间有2880个,分别为0:00:00、0:00:10、0:00:20等,间隔10秒。另外两个时间段内,唤醒时间的分布与之相同。本实施例中,第一期投入1500个表具终端,身份地址为9980001至9981499,根据公式:计算得出各表具终端在每个时间段的唤醒时间见下表:身份地址第一次唤醒时间第二次唤醒时间第三次唤醒时间99800012:13:3010:13:3018:13:3099800022:13:4010:13:4018:13:4099800032:13:5010:13:5018:13:50........................99814976:22:5014:22:5022:22:5099814986:23:0014:23:0022:23:0099814996:23:1014:23:1022:23:10公式中,后面的部分为分段时间的开始,在本实施例中,分别为0:00:00、8:00:00、16:00:00,前面求余部分为距分段时间开始的秒数,如身份地址为9980001时,求余的结果为8010,即该表具终端的唤醒时间为距0:00:00、8:00:00、16:00:00的时间为8010秒。实际应用中,有可能身份地址不连续,或有扩容的表具终端,因此有可能计算出来的唤醒时间有相同的。这样造成了发送数据时信道冲突,发送不成功,需要第二次甚至第三次发送。为此,改变第一次以后的唤醒策略,唤醒时刻为:其中,z0=0,即第一次唤醒时间还按照上述策略执行;zi-1为随机整数,计算第一次以后的唤醒时间时,将身份地址加上一个随机整数,求余的结果会有变化,就是距分段时间开始的秒数不同。由于在每次计算中随机数都不同,因此,第一次唤醒时间相同的两个或多个表具终端,经上述策略调整后,第二次、第三次的唤醒时间会错开。由于一天发送成功一次即可,第一次发送成功的表具终端,再次唤醒后不再发送数据。因此,其他表具终端占用已发送成功的表具终端的唤醒时间,不会造成影响。考虑到晶振时钟的随机漂移,一个小区内两块表具第二次唤醒同时发数据的概率非常低。另外,如果第i次(i>1)唤醒后,上报数据并成功收到基站的确认,可以认为本次的唤醒时间与其他表具终端的唤醒时间不冲突,下次还在这个时间唤醒:将本次唤醒使用的zi-1作为固定参数存储,以后计算第i次唤醒时刻时使用该固定参数,不再使用随机整数。时隙寻优算法。由于传输距离、中间遮挡等因素,不同表具终端唤醒后完成传输工作的时间是不同的,根据每个表具终端的不同情况,设定合适的工作时间,可以进一步减少能耗。首先进行参数选取,算法验证。使用优化算法,一般采用神经网络算法,如BP算法或小波神经网络算法都可以完成上述工作,本发明使用时隙寻优算法,计算信道参数和唤醒后的工作时间间隙。时隙寻优算法的参数选取、算法验证过程如下:算法采用四层网络的结构拓扑图,分别为输入层、传递层、修正层和输出层,如图3所示。输入层有1个节点;传递层和修正层节点个数相等,等于通道的组合种类,本实施例中,基站支持8个Lora信道,每个信道支持6种扩频因子,通道的组合种类为m=6*8=48;输出层有2个节点。αij为传递层与修正层之间的修正因子;vj1、vj2为修正层与输出层之间的权重。传递函数:。该算法的输入为表具终端与基站之间的数学距离x,将此距离x作为网络的输入带入传递函数中。LoRa传输过程中,中间的遮挡物会对传输造成一定的影响,延缓传输时间,数学距离指的是由于遮挡物造成的时间延缓折算成的相对距离。wi为输入层和传递层之间的传递因子,本实施例中,wi为每个通道对应的速率,在网络设置时确定,σ2为速率的方差。a为修正常数,该常数与通信通道特性有关,本实施例中,有8个通信信道和6个扩频因子,因此固定具有48种传输通道组合,另外传输速率最大值为37.5kbps,因此修正常数4<a<6,经过试验验证,迭代次数少,精度高。LoRa数据速率DR(上述的wi):SF—扩频因子,取值范围:6-12。当SF取值为6时,LoRa的传送速率很大,但传输的距离非常短,实际用途不大,因此本实施例中,舍去这个取值,SF的取值为7、8、9、10、11、12。BW—信号带宽,取值:7.8、10.4、15.6、20.8、31.2、41.7、62.5、125KHz。CR—编码率,本实施例中,CR=0.8。计算结果表明,数据速率取值范围:0.018-37.5kbps。修正函数:gjk(x)=fjk(x)+αijk.L(γ)。式中,k为迭代次数,αij初值为1,,(0<γ≤2)。μ和v服从正态分布:μ~N(0,σμ2),v~N(0,σv2)。,σv=1。式中,Г为标准的Gamma函数。整个网络的输出为表具终端的工作时间间隙y和通道N,计算公式如下:;N=j。vj2的初值为(0,1)之间随机数;m表示48种组合方式的Lora通道;i表示传递层中第i个通道;j表示修正层中第j个通道。定义误差函数:式中,y为输出值,y’期望值,η是时隙y随x变化而变化的速度。期望值y’的计算方法如下:LoRa传输用时等于前导码时间和数据包传输时间(有效负载时间)之和。具体算法如下:LoRa符号速率RS:符号周期TS:前导码时间Tpre:Tpre=(npre+4.25)Ts。npre表示前导码长度,其值来自芯片的设定。有效负载时间取决于所使用的报头模式。以下公式计算有效负载的符号数:PL表示有效负载的字节数;使用报头时,H=0;没有报头时,H=1;当LowDataRateOptimize位设置为1时,DE=1;否则DE=0;CR表示编码率,取值范围为1-4;有效负载时间等于符号周期乘以有效负载符号数:Tpay=payloadSymbNb*Ts因此,LoRa传输用时T:T=Tpre+Tpay。期望值:y’=2T。终止计算的条件是误差值小于期望误差或者迭代次数等于最大迭代次数。期望误差为1e-005,最大迭代次数kmax=100。在确定输入节点、传递节点、修正节点、输出节点后,构造一个合适的网络的关键在于确定网络构造中的各个因子[αij、vj2]。为了加快算法的收敛速度以及收敛精度,可以动态调整网络参数,根据算法不同阶段得到的误差,对网络参数进行优化。本发明中,对算法的迭代过程分成算法前期和算法后期两个阶段,前期和后期的分界线是迭代次数达到最大迭代次数的3/4或者误差达到1e-002。算法前期各个因子的更新按照一种非线性递减的方式进行,如下列公式所示:式中,k为迭代次数,kmax为迭代最大次数,αmin、vmin为预先设定的最小值。算法后期引入高斯加权的全局极值。将所有传递函数fi(x)的第k次迭代与第k-1次迭代的差值Δfik(x)的平均值作为高斯加权的均值,其方差作为高斯加权的方差,即:式中,Fi(x)为第i个修正函数中Δfik(x),E[F(x)]为所有修正函数中Δfik(x)的平均值,σj2为其对应的方差。m=48,表示48种组合方式的Lora通道。将当前所有误差值最小的Fmin(x)作为高斯加权的中心,从而就可以得到高斯加权的全局因子为:将所有与上述高斯加权的全局因子Δi(X)进行加权平均,并将此值作为迭代后期所有修正因子,即:上述算法过程如图4所示。其中,“输入数据,计算结果”是在低功耗通信设备中完成。时隙寻优算法的使用。算法验证完成后,将算法内置于表具终端。由于遮挡等因素,与网络基站距离相同的表具终端,发送数据所需时间也有可能不相同的,就是“数学距离”不同。为了得到数学距离,首先要获得数学速度。在实际使用环境中,使用与网络基站的距离为S的表具终端,向网络基站发送固定长度的数据,从表具终端发送,到网络基站收到数据的时间为t,数学速度为v=S/t。例如,在一个小区32层楼的实测,即在此楼的遮挡条件下LoRa无线传输16层楼(48米)用时5秒。由此得出对应的数学速度为v=48/5=9.6(米/秒)。为获得数学距离,表具终端初次使用时,向网络基站发送固定长度的数据,这个数据的长度与格式与为获得数学速度所发送的数据一致。获取发送和接收确认时间,时间间隔为t1,这里默认发送和接收用时一样,表具终端与网络基站间的数学距离为v*t1/2。上述过程中,表具终端一直处于工作状态,即发送数据后保持等待,直到接收到基站的确认帧。输入数学距离,算法输出信道参数及工作时间间隙。表具终端唤醒后,在输出的信道参数上工作,唤醒后的工作时间为计算得出的工作时间间隙。另外,由于环境变化等因素,有可能造成表具终端初次使用时选择的信道和工作时间间隙不再适合使用,具体表现为在选定的工作时间间隙内,收不到网络基站的确认帧。若此现象连续发生,如两天内,6次发送数据都接收不到网络基站的确认帧,则使用优化算法重新选择信道,计算工作时间间隙,使新的工作参数适合新的工作环境。时隙寻优算法仿真验证及比对。利用matlab进行仿真,验证本发明的算法的有效性,并且对比使用神经网络算法优化后的数据。截取最能反应实际应用效果的4组数据,经归一化处理:得到如下输入数据:数据组号特征样本10.2932,0.7526,0.1696,0.6643,1.0000,0.0000,21.0000,0.1730,0.3461,0.0000,0.8076,0.730730.3333,0.0000,0.2682,0.5691,0.1463,1.000040.4088,0.7798,0.0880,0.0000,1.0000,0.3018将数据带入到动态寻优算法中,经过matlab仿真得到如图5所示。通过仿真得到采用本发明披露的算法和采用神经网络算法优化后的时隙(工作时间间隙)如图6所示。其中:1-1为第一组数据使用神经网络算法计算出的时隙,1-2为第一组数据使用时隙寻优算法计算出的时隙,1-3为第一组数据实际传输用时,2-1为第二组数据使用神经网络算法计算出的时隙,2-2为第二组数据使用时隙寻优算法计算出的时隙,2-3为第二组数据实际传输用时。由以上仿真对比可知,本发明的时隙寻优算法较神经网络算法在应用中,误差小,收敛速度快;由得到的数据输出结果可知,由时隙寻优算法计算得到的时隙要比神经网络接近数据实际传输用时,从而验证了时隙寻优算法的可靠性和高效性。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1