无源感知网络点对点链路数据传输机制切换方法转让专利

申请号 : CN201710361737.X

文献号 : CN107302417B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱树伟李燕君曹蓉

申请人 : 汕头职业技术学院

摘要 :

一种无源感知网络点对点链路数据传输机制切换方法,包括以下步骤:发送方S的操作流程:步骤11.从RF信号中捕获能量,持续时间为Th;步骤12.求解优化问题OP_n得到数据包中有效载荷的最优分块个数n*;步骤13.判断n*是否等于1,若n*等于1,将数据包首部中的TM字段置为0,生成数据包并采用ARQM传输数据;否则将TM字段置为1,生成数据包并采用BRM传输数据;步骤14.结束;接收方R的操作流程:步骤21.从RF信号中捕获能量,持续时间为Th;步骤22.接收来自S的数据包,检查数据包首部中TM字段的值,若TM=0,采用ARQM接收并处理数据包;若TM=1,则按BRM接收并处理数据包;步骤23.结束。本发明链路吞吐量较高。

权利要求 :

1.一种无源感知网络点对点链路数据传输机制切换方法,其特征在于:包括以下步骤:发送方S的操作流程:

步骤11.从RF信号中捕获能量,持续时间为Th;

步骤12.求解优化问题OP_n得到数据包中有效载荷的最优分块个数n*;

数据包中的数据块长度的确定:以l表示每个数据块的长度:

其中,LPacket表示数据包的总长度,LHead表示首部的长度,LHCS表示头部校验序列HCS的长度,LFCS表示尾部的长度;

首部和数据块传输成功的概率:以表示S和R之间的通信链路,以b表示链路的误码率,那么,S传输一个数据包给R时,首部传输成功的概率q以及每个数据块传输成功的概率p分别为:p=(1-b)l                         (6)数据包第k次传输成功的概率:以Pk(x)表示包含x个数据块的数据包第k次传输成功的概率,x=1,2,...,n;k=1,2,...,K,其中,K表示同一个数据包的最大传输次数,结合式(5)和式(6)可得到求解Pk(x)的递归式如下:节点传输一个数据包成功的概率为:

以Lk表示节点第k次传输平均发送的比特数,有:

其中, 表示前k-1次传输失败的概率;Ek(n)表示节点第k次传输时发送包含1个数据块,2个数据块,...,n个数据块的数据包及对应概率的乘积的累加,其表达式如下:节点传输一个数据包的平均时延:以r表示节点传输数据的速率,以LA和LN分别表示ACK和NACK的长度,以Tr表示重传计时器,以t表示节点传输一个数据包的平均时延,有:以M表示S向R传输数据包的总个数,则链路中的吞吐率为:其中,LBCS表示BCS的长度;

使得链路中的吞吐率最大化的优化问题OP_n如下:

上式中,nmin和nmax分别表示数据包分块个数的下界和上界;

通过求解式(13)可得到数据包分块个数的最优值n*,当n*=1时,说明在当前链路环境下,数据包的有效载荷分为1块吞吐率最大,因此,可设置数据包头部中TM字段为0,采用ARQM进行传输;当n*>1时,说明在当前链路环境下,需要将数据包的有效载荷分为2块及以上才能使吞吐率最大,那么,可设置TM字段为1,采用BRM进行传输;

步骤13.判断n*是否等于1,若n*等于1,将数据包首部中的TM字段置为0,生成数据包并采用ARQM传输数据;若n*不等于1,则将TM字段置为1,生成数据包并采用BRM传输数据;

步骤14.结束;

接收方R的操作流程:

步骤21.从RF信号中捕获能量,持续时间为Th;

步骤22.接收来自S的数据包,检查数据包首部中TM字段的值,若TM=0,采用ARQM接收并处理数据包;若TM=1,则按BRM接收并处理数据包;

步骤23.结束;

所述ARQM的过程如下:发送方S发送数据包给接收方R,发送结束后启动重传计时器;若R正确接收到数据包,立即向S回复一个ACK以确认数据包收到;若数据包出现比特错,则R什么也不做;那么,S会在重传计时器超时之后立即重传数据包,若重传次数达到事先所设定的最大重传次数,S停止发送当前数据包;

所述BRM的过程如下:发送方S先将数据包的有效载荷划分为n个数据块,每个数据块中包含有效数据和块校验序列BCS两个部分,块校验序列用于校验数据块是否出错,此外,有效载荷中还包含头部校验序列HCS,用于校验数据包首部是否出错;数据包划分为n块之后,其有效载荷中包含HCS,n个有效数据D1,D2,…,Dn和n个块校验序列C1,C2,…,Cn;接着,发送方S将数据包发送给接收方R,R接收到数据包之后,采用尾部中的FCS对数据包进行校验,若正确,则向S回复一个ACK;若存在比特错,则先采用HCS对首部进行校验,若首部出错,则什么也不做,等待S重传原数据包;若首部正确,则依次采用C1,C2,…,Cn对数据块1,数据块

2,...,数据块n进行校验,然后,把正确的数据块存入缓冲区中对应的存储区域并丢弃发生错误的数据块,然后向S回复一个负确认NACK以告知S哪些数据块出错;随后,S向R重传一个其有效载荷中仅包含出错数据块的数据包;如此反复,直到R成功收到n个数据块或重传次数达到上限为止。

2.如权利要求1所述的无源感知网络点对点链路数据传输机制切换方法,其特征在于:所述步骤11和21中,节点能量捕获时间Th的确定:以Ph表示节点的能量捕获功率,由Friss传输方程可知:其中,Gs和Gr分别表示供能点和节点的天线增益,λ是电磁波的波长,Plost是路径功率损耗,d是节点与供能点之间的距离,Ps是供能点的发送功率,μ是RF信号转换为电能的效率系数;

以e0表示节点的初始能量,以eth表示节点运行的能量阈值,即只有当S和R这两个节点的剩余能量均大于或等于eth时,S才开始传输数据;以τ表示节点从初始能量e0开始捕获能量直至其剩余能量达到eth所持续的时间,利用式(1)可得:τ=(eth-e0)/Ph                         (2)以τS和τR分别表示S和R的能量捕获时间,那么,从S和R开始捕获能量的时刻起直至它们的剩余能量均大于或等于eth所持续的时间为:Th=max{τS,τR}                       (3)。

3.如权利要求2所述的无源感知网络点对点链路数据传输机制切换方法,其特征在于:nmin和nmax的确定:在式(13)中,取nmin=1,表示数据包的分块个数至少为1块;同时,为了保证数据包的传输效率,令每个数据块的长度不小于数据包首部LHead加上首部校验序列LHCS,可得到nmax的计算公式如下:

说明书 :

无源感知网络点对点链路数据传输机制切换方法

技术领域

[0001] 本发明属于无源感知网络领域,尤其涉及一种射频供能无线传感器网络点对点链路数据传输机制切换方法,可用于捕获射频能量进行通信的无线传感器网络。

背景技术

[0002] 无源感知网络(Battery Free Wireless Sensor Network,BF-WSN)的节点通过环境中泛在的射频(Radio Frequency,RF)信号捕获能量,为解决传统无线传感器网络(Wireless Sensor Networks,WSN)节点的能源供给提供了一种新的途径。BF-WSN节点运行所需的能量来自于RF供能点(如电视塔、蜂窝基站或Wi-Fi等通信设施)所发射的RF信号,能量捕获功率极低,通常只有mW甚至μW级。在能量捕获功率如此之极的情况下,节点用于数据传输的功率也随之降低,这会导致通信链路的误码率增加。而且,由于通信链路时常会受到周围电磁信号的干扰,无线链路的质量时好时坏,极不稳定。
[0003] 在基于IEEE 802.11标准的无线域局网(Wireless Local Area Network,WLAN)和基于IEEE 802.15.4标准的无线个域网(Wireless Personal Area Network,WPAN)中,自动请求重传(Automatic Repeat reQuest,ARQ)机制被广泛采用,ARQ的主要特点在于只要接收方接收到的数据包出现比特错,发送方就需要在重传计时器超时之后重传整个数据包,直到接收方正确接收到数据包或重传次数达到上限为止。诚然,在链路质量较好(即数据包传输成功率较高,重传次数较少)时,ARQ能很好地工作。但是,在链路质量较差的情况下,频繁的比特错会触发频繁的数据包重传,这不仅会浪费带宽,而且会增加收发双方的传输能耗和传输时延,降低网络吞吐率。为了克服ARQ的不足,公开号为CN 102340391的专利文献提供一种分段ARQ自动重传方法,该方法将源节点到目的节点的传输路径分为若干ARQ段,每个ARQ段的端节点为ARQ节点,传输路径中除ARQ节点之外的节点为普通节点,在传输数据时,普通节点仅转发数据包,而ARQ节点除了转发数据包之外还负责发送确认和重传数据包等操作;公开号为CN 102684854的专利文献提供了一种MAC(Medium Access Control)层ARQ参数的自适应调整方法,该方法根据发送方接收到的NACK(Negative Acknowledgement,负确认)与ACK(Acknowledgement,确认)的比值将网络状况分为好、中和差三种情况,并根据网络的不同状况对ARQ参数(ARQ块大小、超时重传时间、滑动窗口大小等)进行调整。
[0004] 以上方案并没有充分考虑无线链路质量呈动态变化的特性,且节点所采用的数据传输机制固定不变,不能很好地适用于BF-WSN。

发明内容

[0005] 为了克服无源感知网络中节点采用固定数据传输机制导致通信链路吞吐率较低的不足,本发明提供一种链路吞吐量较高的无源感知网络点对点链路数据传输机制切换方法,该方法能根据当前的链路质量进行数据传输机制自动切换:当链路质量较好时,节点采用ARQM(Automatic Repeat reQuest Mechanism,自动请求重传机制);当链路质量较差时,节点自动切换为BRM(Blocking Retransmission Mechanism,分块重传机制),提高链路的吞吐率。
[0006] 本发明解决其技术问题所采用的技术方案是:
[0007] 一种无源感知网络点对点链路数据传输机制切换方法,包括以下步骤:
[0008] 发送方S的操作流程:
[0009] 步骤11.从RF信号中捕获能量,持续时间为Th;
[0010] 步骤12.求解优化问题OP_n得到数据包中有效载荷的最优分块个数n*;
[0011] 步骤13.判断n*是否等于1,若n*等于1,将数据包首部中的TM字段置为0,生成数据包并采用ARQM传输数据;若n*不等于1,则将TM字段置为1,生成数据包并采用BRM传输数据;
[0012] 步骤14.结束;
[0013] 接收方R的操作流程:
[0014] 步骤21.从RF信号中捕获能量,持续时间为Th;
[0015] 步骤22.接收来自S的数据包,检查数据包首部中TM字段的值,若TM=0,采用ARQM接收并处理数据包;若TM=1,则按BRM接收并处理数据包;
[0016] 步骤23.结束。
[0017] 进一步,所述ARQM的过程如下:发送方S发送数据包给接收方R,发送结束后启动重传计时器;若R正确接收到数据包,立即向S回复一个ACK以确认数据包收到。若数据包出现比特错,则R什么也不做;那么,S会在重传计时器超时之后立即重传数据包,若重传次数达到事先所设定的最大重传次数,S停止发送当前数据包。
[0018] 所述BRM的过程如下:发送方S先将数据包的有效载荷划分为n个数据块,每个数据块中包含有效数据和块校验序列(Block Check Sequence,BCS)两个部分,块校验序列用于校验数据块是否出错,此外,有效载荷中还包含头部校验序列(Header Check Sequence,HCS),用于校验数据包首部是否出错;数据包划分为n块之后,其有效载荷中包含HCS,n个有效数据D1,D2,…,Dn和n个块校验序列C1,C2,…,Cn;接着,发送方S将数据包发送给接收方R,R接收到数据包之后,采用尾部中的FCS对数据包进行校验,若正确,则向S回复一个ACK;若存在比特错,则先采用HCS对首部进行校验,若首部出错,则什么也不做,等待S重传原数据包;若首部正确,则依次采用C1,C2,…,Cn对数据块1,数据块2,...,数据块n进行校验,然后,把正确的数据块存入缓冲区中对应的存储区域并丢弃发生错误的数据块,然后向S回复一个负确认NACK以告知S哪些数据块出错;随后,S向R重传一个其有效载荷中仅包含出错数据块的数据包,如此反复,直到R成功收到n个数据块或重传次数达到上限为止。
[0019] 更进一步,所述步骤1.1和2.1中,节点能量捕获时间Th的确定:以Ph表示节点的能量捕获功率,由Friss传输方程可知:
[0020]
[0021] 其中,Gs和Gr分别表示供能点和节点的天线增益,λ是电磁波的波长,Plost是路径功率损耗,d是节点与供能点之间的距离,Ps是供能点的发送功率,μ是RF信号转换为电能的效率系数;
[0022] 以e0表示节点的初始能量,以eth表示节点运行的能量阈值,即只有当S和R这两个节点的剩余能量均大于或等于eth时,S才开始传输数据;以τ表示节点从初始能量e0开始捕获能量直至其剩余能量达到eth所持续的时间,利用式(1)可得:
[0023] τ=(eth-e0)/Ph  (2)
[0024] 以τS和τR分别表示S和R的能量捕获时间,那么,从S和R开始捕获能量的时刻起直至它们的剩余能量均大于或等于eth所持续的时间为:
[0025] Th=max{τS,τR}  (3)。
[0026] 再进一步,数据包中的数据块长度的确定:以l表示每个数据块的长度:
[0027]
[0028] 其中,LPacket表示数据包的总长度,LHead表示首部的长度,LHCS表示头部校验序列HCS的长度,LFCS表示尾部的长度;
[0029] 首部和数据块传输成功的概率:以表示S和R之间的通信链路,以b表示链路的误码率,那么,S传输一个数据包给R时,首部传输成功的概率q以及每个数据块传输成功的概率p分别为:
[0030]
[0031] p=(1-b)l  (6)
[0032] 数据包第k次传输成功的概率:以Pk(x)表示包含x个数据块的数据包第k次传输成功的概率,x=1,2,...,n;k=1,2,...,K,其中,K表示同一个数据包的最大传输次数,结合式(5)和式(6)可得到求解Pk(x)的递归式如下:
[0033]
[0034] 节点传输一个数据包成功的概率为:
[0035]
[0036] 以Lk表示节点第k次传输平均发送的比特数,有:
[0037]
[0038] 其中, 表示前k-1次传输失败的概率;Ek(x)表示节点第k次传输时发送包含1个数据块,2个数据块,...,x个数据块的数据包及对应概率的乘积的累加,其表达式如下:
[0039]
[0040] 节点传输一个数据包的平均时延:以r表示节点传输数据的速率,以LA和LN分别表示ACK和NACK的长度,以Tr表示重传计时器,以t表示节点传输一个数据包的平均时延,有:
[0041]
[0042] 以M表示S向R传输数据包的总个数,则链路中的吞吐率为:
[0043]
[0044] 其中,LBCS表示BCS的长度;
[0045] 使得链路中的吞吐率最大化的优化问题OP_n如下:
[0046]
[0047] 上式中,nmin和nmax分别表示数据包分块个数的下界和上界;
[0048] 通过求解式(13)可得到数据包分块个数的最优值n*,当n*=1时,说明在当前链路环境下,数据包的有效载荷分为1块吞吐率最大,因此,可设置数据包头部中TM字段为0,采用ARQM进行传输;当n*>1时,说明在当前链路环境下,需要将数据包的有效载荷分为2块及以上才能使吞吐率最大,那么,可设置TM字段为1,采用BRM进行传输。
[0049] 优选的,nmin和nmax的确定:在式(13)中,取nmin=1,表示数据包的分块个数至少为1块;同时,为了保证数据包的传输效率,令每个数据块的长度不小于数据包首部LHead加上首部校验序列LHCS,可得到nmax的计算公式如下:
[0050]
[0051] 本发明的有益效果主要表现在:该方法能根据当前的链路质量在自动请求重传和分块重传这两种数据传输机制之间自动切换,适应了通信链路质量动态变化的特性,提高通信链路的吞吐率。

附图说明

[0052] 图1是ARQM的数据包格式。
[0053] 图2是BRM的数据包格式。
[0054] 图3是缓冲区分块编号。
[0055] 图4是NACK的格式。
[0056] 图5是TM字段示意图。
[0057] 图6是发送方操作流程图。
[0058] 图7是接收方操作流程图。

具体实施方式

[0059] 下面结合附图对本发明作进一步描述。
[0060] 参照图1~图7,一种无源感知网络点对点链路数据传输机制切换方法,包括ARQM和BRM两种数据传输机制可供选择。
[0061] ARQM的过程如下:S(表示发送方)发送数据包给R(表示接收方),发送结束后启动重传计时器。若R正确接收到数据包,立即向S回复一个ACK以确认数据包收到。若数据包出现比特错,则R什么也不做。那么,S会在重传计时器超时之后立即重传数据包,若重传次数达到事先所设定的最大重传次数,S停止发送当前数据包。ARQM的数据包格式如图1所示。
[0062] BRM的过程如下:S先将数据包的有效载荷划分为n个数据块,每个数据块中包含有效数据和块校验序列(Block Check Sequence,BCS)两个部分,块校验序列用于校验数据块是否出错,此外,有效载荷中还包含头部校验序列(Header Check Sequence,HCS),用于校验数据包首部是否出错。数据包划分为n块之后,其有效载荷中包含HCS,n个有效数据D1,D2,…,Dn和n个块校验序列C1,C2,…,Cn。接着,S将数据包发送给R,R接收到数据包之后,采用尾部中的FCS对数据包进行校验,若正确,则向S回复一个ACK;若存在比特错,则先采用HCS对首部进行校验,若首部出错,则什么也不做,等待S重传原数据包;若首部正确,则依次采用C1,C2,…,Cn对数据块1,数据块2,...,数据块n进行校验,然后,把正确的数据块存入缓冲区中对应的存储区域(见图3)并丢弃发生错误的数据块,然后向S回复一个NACK(Negative Acknowledgement,负确认)以告知S哪些数据块出错。随后,S向R重传一个其有效载荷中仅包含出错数据块的数据包。如此反复,直到R成功收到n个数据块或重传次数达到上限为止。BRM的数据包格式如图2所示。
[0063] 如上所述,在每次传输中,R把正确的数据块存入缓冲区中对应的存储区域并丢弃发生错误的数据块,同时必须找出错误数据块的序号。为此,我们对BRM所采用的缓冲区做了特别的设计,它除了用于暂存数据包(或数据块)之外,另一个作用就是通过对缓冲区进行分块编号来记录每个数据块在数据包中的相对位置,如图3所示。在图3中,1号缓冲区块存储数据块1,2号缓冲区块存储数据块2,以此类推,n号缓冲区块存储数据块n。此外,0号缓冲区块存储首部和首部校验序列,而n+1号缓冲区块存储尾部。收发双方在数据传输过程中维护相同格式的缓冲区,接收方通过检查缓冲区中尚未存入正确数据块的存储区域的编号,即可知道哪些数据块发生错误,随后,生成NACK并回复给发送方。NACK的格式如图4所示,其中,b1,b2,…,bn是一串二进制数,当bx=0时,表示第x块正确;当bx=1时,表示第x块错误,x∈{1,2,…,n}。当发送方收到NACK之后,检查b1,b2,…,bn的值即可知道哪些数据块出错需要重传。
[0064] 一种无源感知网络点对点链路数据传输机制切换方法,包括以下步骤:
[0065] 发送方S的操作流程:
[0066] 步骤11.从RF信号中捕获能量,持续时间为Th;
[0067] 步骤12.求解优化问题OP_n得到数据包中有效载荷的最优分块个数n*;
[0068] 步骤13.判断n*是否等于1,若n*等于1,将数据包首部中的TM字段置为0,按图1的格式生成数据包,采用ARQM传输数据;若n*不等于1,则将TM字段置为1,按图2的格式生成数据包,采用BRM传输数据;
[0069] 步骤14.结束。
[0070] 接收方R的操作流程:
[0071] 步骤21.从RF信号中捕获能量,持续时间为Th;
[0072] 步骤22.接收来自S的数据包,检查数据包首部中TM字段的值,若TM=0,采用ARQM接收并处理数据包;若TM=1,则按BRM接收并处理数据包。
[0073] 步骤23.结束。
[0074] 数据包首部中的Frame Control字段中有3个位是保留位,可将这3个保留位中的1位定义为Transmission Mechanism(TM)字段,TM字段用于指明本次传输采用何种数据传输机制。如图5所示。
[0075] 节点能量捕获时间Th的确定:以Ph表示节点的能量捕获功率,由Friss传输方程可知:
[0076]
[0077] 其中,Gs和Gr分别表示供能点和节点的天线增益,λ是电磁波的波长,Plost是路径功率损耗,d是节点与供能点(蜂窝基站、Wi-Fi接入点或电视塔等)之间的距离,Ps是供能点的发送功率,μ是RF信号转换为电能的效率系数。
[0078] 以e0表示节点的初始能量,以eth表示节点运行的能量阈值,即只有当S和R这两个节点的剩余能量均大于或等于eth时,S才开始传输数据。以τ表示节点从初始能量e0开始捕获能量直至其剩余能量达到eth所持续的时间,利用式(1)可得:
[0079] τ=(eth-e0)/Ph  (2)
[0080] 以τS和τR分别表示S和R的能量捕获时间,那么,从S和R开始捕获能量的时刻起直至它们的剩余能量均大于或等于eth所持续的时间为:
[0081] Th=max{τS,τR}  (3)
[0082] 数据包中的数据块长度的确定:以l表示每个数据块的长度(单位
[0083] 为比特),由图2可知:
[0084]
[0085] 其中,LPacket表示数据包的总长度,LHead表示首部的长度,LHCS表示头部校验序列HCS的长度,LFCS表示尾部的长度。
[0086] 首部和数据块传输成功的概率:以表示S和R之间的通信链路,以b表示链路的误码率,那么,S传输一个数据包给R时,首部传输成功的概率q以及每个数据块传输成功的概率p分别为:
[0087]
[0088] p=(1-b)l  (6)
[0089] 数据包第k次传输成功的概率:以Pk(x)表示包含x个数据块的数据包第k次传输成功的概率,x=1,2,...,n;k=1,2,...,K,其中,K表示同一个数据包的最大传输次数,结合式(5)和式(6)可得到求解Pk(x)的递归式如下:
[0090]
[0091] 节点传输一个数据包成功的概率为:
[0092]
[0093] 以Lk表示节点第k次传输平均发送的比特数,有:
[0094]
[0095] 其中, 表示前k-1次传输失败的概率;Ek(x)表示节点第k次传输时发送包含1个数据块,2个数据块,...,x个数据块的数据包及对应概率的乘积的累加,其表达式如下:
[0096]
[0097] 节点传输一个数据包的平均时延:以r表示节点传输数据的速率,以LA和LN分别表示ACK和NACK的长度,以Tr表示重传计时器,以t表示节点传输一个数据包的平均时延,有:
[0098]
[0099] 以M表示S向R传输数据包的总个数,则链路中的吞吐率为:
[0100]
[0101] 其中,LBCS表示BCS的长度。
[0102] 使得链路中的吞吐率最大化的优化问题OP_n如下:
[0103]
[0104] 上式中,nmin和nmax分别表示数据包分块个数的下界和上界。
[0105] 通过求解式(13)可得到数据包分块个数的最优值n*,当n*=1时,说明在当前链路环境下,数据包的有效载荷分为1块吞吐率最大,因此,可设置数据包头部中TM字段为0,采用ARQM进行传输;当n*>1时,说明在当前链路环境下,需要将数据包的有效载荷分为2块及以上才能使吞吐率最大,那么,可设置TM字段为1,采用BRM进行传输。
[0106] nmin和nmax的确定:此外,在式(13)中,取nmin=1,表示数据包的分块个数至少为1块;同时,为了保证数据包的传输效率,令每个数据块的长度不小于数据包首部LHead加上首部校验序列LHCS,可得到nmax的计算公式如下:
[0107]
[0108] 本实施例中,参数设置如表1所示。
[0109]
[0110] 表1
[0111] 根据表1的参数值和式(14),可求得nmax=11。即在优化问题OP_n中,n∈[1,11],可通过枚举法求解最优分块个数n*。
[0112] 此外,分别设置链路的误码率b=1000-1,2000-1,3000-1,4000-1,5000-1。S和R与供能点之间的距离在5至15米之间随机选取,S向R传输的数据包个数M=5000,节点接收或发送1比特数据的能耗为10nJ。