低功耗无线物联网中的节点,绝大部分时间必须处于休眠状态才能降低功耗,以支持电池长时间续航。如果有节点要发起通信,其在与目标节点进行通信之前,必须对目标节点实施唤醒,然后才能进行有效通信。本文中提出一种信道编码相关算法,具有抗干扰能力强、功耗低、快速识别身份、隐含时间戳、实现简单等特点,性能优于现有的唤醒方法或算法。
现有的唤醒方法
现有的唤醒方法有三种,分别是:
①RSSI(场强)唤醒法:Ts期间发送载波即可,从节点测试接收到的场强强度,超过设定的门限则被唤醒,否则继续休眠。
②Sniff(嗅探)唤醒法:Ts期间发送010101010……比特流,从节点计数接收的01或10的个数,超过设定的个数则被唤醒,否则继续休眠。
③数据包唤醒法:Ts期间重复发送一个数据包,从节点接收到完整的其中一个数据包则被唤醒,否则继续休眠。
方法①和②致命的缺点是不能识别非法信号,很容易受到干扰导致误唤醒,并且误唤醒的概率无法计算和评估,从而导致系统可靠性大幅降低,能量损耗无法补偿。即这两种方法,存在无法抗干扰的严重问题。另外一个缺陷是,其只能实现广播唤醒,增加了不需要参与通信的节点的功耗。
方法③的最大缺点是功耗大,为了可靠探测到数据包的帧同步信号,探测窗口t值需要设定为数据包总发射宽度的2倍,从而导致功耗增大。
基于自相关的唤醒方法
新的唤醒方法,需要在增加抗干扰能力的同时,降低功耗,从而克服现有方法中最大的两个缺陷。高度自相关编解码唤醒方法,不但可以完全替代现有方法,克服现有缺陷,并且还能增加一些新的有用功能。我们称这种新方法为HAC动态循环码唤醒法,以下简称动态码唤醒法。
高度自相关编码方法,最佳的首推巴克码,但因为巴克码太短且不多,不能使用。那么伪随机序列码,则是可以利用的一种非常好的编码方式,其不但具有高度自相关性,而且可以提供的编码方式是无限的。将这种编码方式灵活运用到无线物联网的唤醒环节,是非常合适的,具体方法如下:
对于发送端,如果要唤醒目标节点,则通过编码方式产生一串连续的比特流,比特流的长度和通信波特率以及唤醒时长Ts有关。
其生成方程式:an=c1an-1⊕c2an-2⊕…⊕cn-1a1⊕cna0
节点在发送唤醒序列的当前码元an时,an是根据前n个码元通过一个特定的运算得来的,这个特定的运算是由抽头C0~Cn决定的。即码元an和前面的n个码元an-1~a0具有相关性。n值称为阶。接收节点则可以通过判决相关性来决定是否被唤醒。
对于目标节点来说,无论其探测窗口处于主节点发送唤醒信号期间的哪个位置,其都可以从空中任意截取一小段接收到的码元进行解码,并且任何码元都可以作为起始位。当接收到n个码元后,可以开始解码,如果发送端和接收端的C0~Cn取值相同,则解码器开始连续输出0,不会输出1。输出0表示当前收到的码元,和前面的n个码元是满足约定的相关特性的,如果连续输出M个0,则认为扫描到唤醒信号,节点被唤醒,如果接收到1,则立即退出探测,进入休眠,以节省电能。M可以根据实际应用的要求,取值8~20。实际普通应用中,阶n可以取值9~22,特殊应用中,比如高速率的情况下,n可以取得更长。