发明内容
基于此,有必要针对上述技术问题,提供一种基于加权效用函数的LoRa网络参数分配方法及装置。
第一方面,本申请提供了一种基于加权效用函数的LoRa网络参数分配方法,所述方法包括:
获取LoRa网络对应的扩频因子集合、所述LoRa网络对应的编码率集合;
基于所述扩频因子集合和所述编码率集合,得到所述LoRa网络的网络参数分配方案集合;所述网络参数分配方案集合包括若干网络参数分配方案;
根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各所述网络参数分配方案对应的总效用值;
将各所述网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案;
基于所述目标网络参数分配方案、所述扩频因子集合中的各扩频因子对应的最大节点容量,对所述LoRa网络中的相应网络节点进行网络参数分配,直至确认所述LoRa网络中的全部网络节点均完成所述网络参数分配。
在其中一个实施例中,所述根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各所述网络参数分配方案对应的总效用值,包括:
采用所述网络链路性能效用函数,分别处理每一所述网络参数分配方案对应的链路误帧率,得到对应所述网络参数分配方案的第一效用值;采用所述碰撞概率效用函数,分别处理每一所述网络参数分配方案对应的数据包不发生碰撞的概率,得到对应所述网络参数分配方案的第二效用值;采用所述能耗效用函数,分别处理基于每一所述网络参数分配方案对应的能量效率,得到对应所述网络参数分配方案的第三效用值;分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和,得到每一所述网络参数分配方案的总效用值。
在其中一个实施例中,所述采用所述网络链路性能效用函数,分别处理每一所述网络参数分配方案对应的链路误帧率,得到对应所述网络参数分配方案的第一效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第一效用值:
其中,
u 1为所述网络链路性能效用函数;
p e为每一所述网络参数分配方案对应的链路误帧率;
为所述链路误帧率的预设惩罚阈值。
在其中一个实施例中,所述采用所述碰撞概率效用函数,分别处理每一所述网络参数分配方案对应的数据包不发生碰撞的概率,得到对应所述网络参数分配方案的第二效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第二效用值:
其中,
u 2为所述碰撞概率效用函数;
p nc为每一所述网络参数分配方案对应的数据包不发生碰撞的概率;
为每一所述网络参数分配方案对应的扩频因子;/>
为所述扩频因子对应的最大节点容量阈值。
在其中一个实施例中,所述采用所述能耗效用函数,分别处理基于每一所述网络参数分配方案对应的能量效率,得到对应所述网络参数分配方案的第三效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第三效用值:
其中,u 3为所述能耗效用函数;W为每一所述网络参数分配方案对应的能量效率;W th为所述能量效率对应的能耗门限。
在其中一个实施例中,所述分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和,得到每一所述网络参数分配方案的总效用值的步骤中,采用如下公式得到每一所述网络参数分配方案的总效用值:
其中,
U为用于分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和的目标函数;
u 1为所述网络链路性能效用函数;
p e为每一所述网络参数分配方案对应的链路误帧率;
u 2为所述碰撞概率效用函数;
p nc为每一所述网络参数分配方案对应的数据包不发生碰撞概率;
为每一所述网络参数分配方案对应的扩频因子;
u 3为所述能耗效用函数;
W为每一所述网络参数分配方案对应的能量效率;/>
为用于分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和的预设权重系数。
第二方面,本申请还提供了一种基于加权效用函数的LoRa网络参数分配装置,所述装置包括:
数据获取模块,用于获取LoRa网络对应的扩频因子集合、所述LoRa网络对应的编码率集合;
分配方案获取模块,用于基于所述扩频因子集合和所述编码率集合,得到所述LoRa网络的网络参数分配方案集合;所述网络参数分配方案集合包括若干网络参数分配方案;
总效用获取模块,用于根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各所述网络参数分配方案对应的总效用值;
分配方案选取模块,用于将各所述网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案;
网络参数分配模块,用于基于所述目标网络参数分配方案、所述扩频因子集合中的各扩频因子对应的最大节点容量,对所述LoRa网络中的相应网络节点进行网络参数分配,直至确认所述LoRa网络中的全部网络节点均完成所述网络参数分配。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
上述基于加权效用函数的LoRa网络参数分配方法及装置,首先,获取LoRa网络对应的扩频因子集合、LoRa网络对应的编码率集合。然后,基于扩频因子集合和编码率集合,得到LoRa网络的网络参数分配方案集合;前述网络参数分配方案集合包括若干网络参数分配方案。接着,根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各网络参数分配方案对应的总效用值。之后,将各网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案。最后,基于目标网络参数分配方案、扩频因子集合中的各扩频因子对应的最大节点容量,对LoRa网络中的相应网络节点进行网络参数分配,直至确认LoRa网络中的全部网络节点均完成网络参数分配。本申请基于赏罚思想,构建了用于获取网络参数分配方案对应的总效用值的网络链路性能效用函数、碰撞概率效用函数以及能耗效用函数,并将对应总效用值最大的网络参数分配方案,作为用于实际进行LoRa网络的扩频因子和编码率分配的目标方案,不仅能够解决基于现有技术提升网络节点的数据包成功传输概率时,需要以牺牲能耗为代价的问题,还能够在实现了针对数据包成功传输概率和网络能耗这两大矛盾指标的有效平衡的前提下,提升采用LoRa网络进行通信的过程中的能量效率。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于加权效用函数的LoRa网络参数分配方法,可以应用于服务器或终端执行。其中,数据存储系统可以存储服务器需要处理的数据;数据存储系统可以集成在服务器上,也可以放在云上或其他网络服务器上;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现;终端可以但不限于是各种个人计算机、笔记本电脑以及平板电脑。
在一个实施例中,如图1所示,提供了一种基于加权效用函数的LoRa网络参数分配方法,以该方法应用于服务器执行为例进行说明,包括以下步骤:
步骤S110,获取LoRa网络对应的扩频因子集合、LoRa网络对应的编码率集合。
本步骤中,LoRa(Long Range,LoRa)网络对应的扩频因子集合,是指由LoRa网络中采用的各个扩频因子(Spreading Factor,SF)组成的扩频因子集合;LoRa网络对应的编码率集合,是指由LoRa网络中采用的各个编码率(Code Rate,CR)组成的编码率集合。
示例性的,在已知上述LoRa网络对应的扩频因子为7,8,9,10,11,12的情况下,上述LoRa网络对应的扩频因子集合SF的具体表现形式,可以是SF={7,8,9,10,11,12};在已知上述LoRa网络对应的编码率为1,2,3,4的情况下,上述LoRa网络对应的编码率集合CR具体表现形式,可以是CR={1,2,3,4}。
在实际应用中,上述LoRa网络,可以是一个单网关的LoRa网络,其网络半径为R,其网关位于其圆心位置,其网络节点的数量为N,且各个网络节点具有相同的发射周期T、均采用无时隙ALOHA协议(即纯ALOHA协议)接入无线信道;前述纯ALOHA(Additive Link On-line HAwaii,ALOHA)协议,是指当网络中的任意一个站点需要发送数据(即将网络中的任意一个站点作为发送站点)时,可以在无需进行任何检测的前提下,直接发送数据,假设前述发送站点在一段时间内未收到来自接收站点的确认,则该站点会认为在数据传输过程中,发生了冲突,其需要等待一段时间后再发送数据,直至发送成功。
步骤S120,基于扩频因子集合和编码率集合,得到LoRa网络的网络参数分配方案集合;前述网络参数分配方案集合包括若干网络参数分配方案。
本步骤中,扩频因子集合,是指LoRa网络对应的扩频因子集合,即由LoRa网络中采用的各个扩频因子组成的扩频因子集合;编码率集合,是指LoRa网络对应的编码率集合,即由LoRa网络中采用的各个编码率组成的编码率集合;LoRa网络的网络参数分配方案集合,是指由若干LoRa网络的网络参数分配方案组成的网络参数分配方案集合。
在实际应用中,上述网络参数分配方案,可以包括该方案对应的扩频因子和该方案对应的编码率;上述网络参数分配方案、上述扩频因子和上述编码率之间的数量关系,可以是一个网络参数分配方案对应于一个扩频因子和一个编码率。
步骤S130,根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各网络参数分配方案对应的总效用值。
本步骤中,各网络参数分配方案,是指上述LoRa网络的网络参数分配方案集合中的各网络参数分配方案;各网络参数分配方案对应的总效用值,是指基于网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到的各网络参数分配方案对应的总效用值。
在实际应用中,上述总效用值,可以是通过将各网络参数分配方案对应的扩频因子和编码率,分别代入网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各网络参数分配方案对应的多个效用值,并基于前述多个效用值,计算得到各网络参数分配方案对应的总效用值。
步骤S140,将各网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案。
本步骤中,各网络参数分配方案,是指上述LoRa网络的网络参数分配方案集合中的各网络参数分配方案;对应总效用值最大的网络参数分配方案,是指上述LoRa网络的网络参数分配方案集合中的各网络参数分配方案中,对应的总效用值最大的网络参数分配方案;总效用值,是指基于网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到的网络参数分配方案对应的总效用值;目标网络参数分配方案,是指基于上述LoRa网络的网络参数分配方案集合中的各网络参数分配方案中,对应的总效用值最大的网络参数分配方案,来进行确定的目标网络参数分配方案。
步骤S150,基于目标网络参数分配方案、扩频因子集合中的各扩频因子对应的最大节点容量,对LoRa网络中的相应网络节点进行网络参数分配,直至确认LoRa网络中的全部网络节点均完成网络参数分配。
本步骤中,目标网络参数分配方案,是指基于上述LoRa网络的网络参数分配方案集合中的各网络参数分配方案中,对应的总效用值最大的网络参数分配方案,来进行确定的目标网络参数分配方案;扩频因子集合,是指LoRa网络对应的扩频因子集合,即由LoRa网络中采用的各个扩频因子组成的扩频因子集合;扩频因子集合中的各扩频因子对应的最大节点容量,是指LoRa网络对应的扩频因子集合中的各个扩频因子对应的最大节点容量;对LoRa网络中的相应网络节点进行网络参数分配,是指向LoRa网络中的相应网络节点,分配其对应的扩频因子和编码率,其中,LoRa网络中的各个网络节点对应的扩频因子和编码率,是基于目标网络参数分配方案、扩频因子集合中的各扩频因子对应的最大节点容量确定的。
在实际应用中,若基于当前目标网络参数分配方案、扩频因子集合中的各扩频因子对应的最大节点容量,并未完成LoRa网络中的全部网络节点的网络参数分配,则可以继续执行上述步骤S140,以便重新确定下一个目标网络参数分配方案。
上述基于加权效用函数的LoRa网络参数分配方法,首先,获取LoRa网络对应的扩频因子集合、LoRa网络对应的编码率集合。然后,基于扩频因子集合和编码率集合,得到LoRa网络的网络参数分配方案集合;前述网络参数分配方案集合包括若干网络参数分配方案。接着,根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各网络参数分配方案对应的总效用值。之后,将各网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案。最后,基于目标网络参数分配方案、扩频因子集合中的各扩频因子对应的最大节点容量,对LoRa网络中的相应网络节点进行网络参数分配,直至确认LoRa网络中的全部网络节点均完成网络参数分配。本申请基于赏罚思想,构建了用于获取网络参数分配方案对应的总效用值的网络链路性能效用函数、碰撞概率效用函数以及能耗效用函数,并将对应总效用值最大的网络参数分配方案,作为用于实际进行LoRa网络的扩频因子和编码率分配的目标方案,不仅能够解决基于现有技术提升网络节点的数据包成功传输概率时,需要以牺牲能耗为代价的问题,还能够在实现了针对数据包成功传输概率和网络能耗这两大矛盾指标的有效平衡的前提下,提升采用LoRa网络进行通信的过程中的能量效率。
对于获取每一网络参数分配方案的总效用值的具体方式,在一个实施例中,如图2所示,上述步骤S130具体包括:
步骤S210,采用网络链路性能效用函数,分别处理每一网络参数分配方案对应的链路误帧率,得到对应网络参数分配方案的第一效用值。
本步骤中,网络链路性能效用函数,是指为了保障LoRa网络中的链路误帧率低于预设惩罚阈值,而设置的网络链路性能效用函数;对应网络参数分配方案的第一效用值,是指通过将每一网络参数分配方案对应的链路误帧率,代入网络链路性能效用函数,得到的对应网络参数分配方案的第一效用值。
步骤S220,采用碰撞概率效用函数,分别处理每一网络参数分配方案对应的数据包不发生碰撞的概率,得到对应网络参数分配方案的第二效用值。
本步骤中,碰撞概率效用函数,是指由于LoRa网络的各个网络节点的数据包发生碰撞的概率的主要影响因素,为该网络节点对应的扩频因子和扩频因子对应的网络节点数量,为了使得LoRa网络中的数据包发生碰撞的平均概率达到最小,而设置的碰撞概率效用函数;对应网络参数分配方案的第二效用值,是指通过将每一网络参数分配方案对应的数据包不发生碰撞的概率,代入碰撞概率效用函数,得到的对应网络参数分配方案的第二效用值。
步骤S230,采用能耗效用函数,分别处理基于每一网络参数分配方案对应的能量效率,得到对应网络参数分配方案的第三效用值。
本步骤中,能耗效用函数,是指为了使得能耗效用函数的取值能够归一化至[0,1]范围内,而采用指数函数构建的、用于表征每一网络参数分配方案对应的能量效率与效用函数之间的关系的能耗效用函数;对应网络参数分配方案的第三效用值,是指通过将每一网络参数分配方案对应的能量效率,代入能耗效用函数,得到的对应网络参数分配方案的第三效用值。
步骤S240,分别将第一效用值、第二效用值、以及第三效用值进行加权求和,得到每一网络参数分配方案的总效用值。
本步骤中,第一效用值,是指对应网络参数分配方案的第一效用值,即通过将每一网络参数分配方案对应的链路误帧率,代入网络链路性能效用函数,得到的对应网络参数分配方案的第一效用值;第二效用值,是指对应网络参数分配方案的第二效用值,即通过将每一网络参数分配方案对应的数据包不发生碰撞的概率,代入碰撞概率效用函数,得到的对应网络参数分配方案的第二效用值;第三效用值,是指对应网络参数分配方案的第三效用值,即通过将每一网络参数分配方案对应的能量效率,代入能耗效用函数,得到的对应网络参数分配方案的第三效用值;每一网络参数分配方案的总效用值,是指通过将前述第一效用值、前述第二效用值、以及前述第三效用值进行加权求和处理,得到的每一网络参数分配方案的总效用值。
上述实施例通过基于网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,获取每一网络参数分配方案的总效用值方式,实现了在兼顾LoRa网络的误帧率、碰撞概率和能耗效率的前提下,进行LoRa网络的扩频因子和汉明码编码率的参数分配,进而有效提升了LoRa网络的平均能量效率。
对于获取对应上述网络参数分配方案的第一效用值的具体方式,在一个实施例中,在上述步骤S210中,采用如下公式得到对应上述网络参数分配方案的第一效用值:
其中,
u 1为上述网络链路性能效用函数;
p e为每一上述网络参数分配方案对应的链路误帧率;
为上述链路误帧率的预设惩罚阈值。
具体而言,上述每一上述网络参数分配方案对应的链路误帧率p e,可以基于如下推导过程,来进行获取:
假设采用以下公式,表征高斯信道下LoRa网络调制的误比特率(Bit Error Rate,BER):
其中,
Q(x)为标准正态分布下的互补累计分布函数,且
;/>
为每一比特信息能量与噪声的功率谱密度之间的比值,且其与信噪比(Signal Noise Ratio,SNR)/>
之间的关系,可以采用如下公式进行表示:
其中,SF为扩频因子;CR为汉明码(即LoRa网络中的编码)冗余比特的数量。
进一步的,基于上述LoRa网络中的汉明码的纠错特性,可以采用如下公式,表示汉明码发生码字错误的概率:
其中,n为上述汉明码编码后的码字长度;c为上述汉明码可进行纠错的比特数量。
更进一步的,由于LoRa网络的物理层支持4/5、4/6、4/7、4/8四种码率,当码率为4/5和4/6时,汉明码仅具备检错功能,即c=0,当码率为4/7和4/8时,汉明码最多可以纠正1比特的错误,即c=1。因此,在假设待编码的数据字节长度为L的前提下,可以采用如下公式,表示上述每一上述网络参数分配方案对应的链路误帧率p e:
上述实施例通过基于网络链路性能效用函数,获取每一网络参数分配方案对应的第一效用值的方式,有效保障了后续基于每一网络参数分配方案对应的总效用值,选取出的用于筛选目标网络参数分配方案的总效用值的数据准确性,进而有效提升了LoRa网络的链路性能。
对于获取对应上述网络参数分配方案的第二效用值的具体方式,在一个实施例中,在上述步骤S220中,采用如下公式得到对应上述网络参数分配方案的第二效用值:
其中,
u 2为上述碰撞概率效用函数;
p nc为每一上述网络参数分配方案对应的数据包不发生碰撞的概率;
为每一上述网络参数分配方案对应的扩频因子;/>
为上述扩频因子对应的最大节点容量阈值。
进一步的,为了使得运算过程更为简便,在计算
时,可以暂不考虑捕获效应和不完美正交特性,在此情况下,LoRa网络的平均不碰撞概率可表示为:
其中,n m 表示扩频因子为m的节点数量。
假设放宽节点数量为整数的约束条件,则可以推导出使偏导为零的解为:
另外,由于解
对所有m均能使偏导为零,因此,其必然为一个最大值解或最小值解。即当/>
时,系统处于稳定状态,/>
为最大值解;反之,当/>
时,系统处于高通信负荷状态,/>
为最小值解。
假设考虑物联网大部分应用中节点的消息速率不高,则可以仅针对上述稳定状态进行考虑,得到
等于/>
。
具体而言,上述每一上述网络参数分配方案对应的数据包不发生碰撞的概率p nc,可以基于如下推导过程,来进行获取:
假设LoRa网络中的网络节点数量为
N,且所有网络节点均以相同的发射周期
T发射数据,则消息速率
,网络通信负荷/>
。
假设在每次进行数据发射时,各节点数据均已准备好,在上述发射周期T内,各个数据包的到达时刻均满足泊松分布条件,则可以采用如下公式,表示在上述发射周期T内,有k个数据包到达的概率:
在无时隙ALOHA通信中,数据包可以成功发射的前提条件,是其他网络节点在可能发生碰撞的时间窗口内,均保持静默状态。因此,可以采用如下公式,表示两个数据包不发生碰撞的概率:
其中,ToA i 和ToA j 分别表示节点i和节点j发射信号的空中时间。基于LoRa网络的物理层帧格式,可以采用如下公式,表示发射信号的空中时间:
其中,
L pre为前导码长度;
T s为发射信号的符号周期,且
,BW为信号带宽;
n payload为负载数据生成的符号数量,可以采用如下公式,对其进行具体表示:
其中,PL为待编码的数据字节长度;SF为扩频因子;IH=0,表示采用显性模式(即采用显性帧头),IH=1,表示采用隐性模式(即采用隐性帧头);DE=1,表示采用低速率的发射模式,DE=0,表示采用正常速率的发射模式;由于LoRa网络的物理层规定,当SF小于11时,采用正常模式发射数据,否则自动开启低速率模式;CR表示汉明码冗余比特长度,且
,对应的码率为{4/5,4/6,4/7,4/8};/>
表示向上取整函数。
将上述ToA和上述n payload的公式,代入上述表示两个数据包不发生碰撞的概率的公式中,即可得到两个数据包不发生碰撞的概率。进一步的,考虑LoRa网络中所有节点,可以采用如下公式,表示节点i的数据包不与网络中的其他节点发生碰撞概率:
其中,N i 表示LoRa网络中可能与节点i的数据包发生碰撞,而造成丢包的节点数量。
进一步的,LoRa网络具备特有的捕获效应和不完美正交特性,只有在节点i发射信号的信干比小于干扰阈值的情况下,数据包的碰撞才会造成丢包事件。因此,可以采用如下公式表示上述N i :
其中,
N为LoRa网络中的网络节点的数量;
和/>
分别为数据包
i和数据包
j 在网关处的信噪比;/>
在/>
为真时,返回1,否则返回0;/>
为扩频因子相关的干扰阈值,当节点
i 的扩频因子和节点
j 的扩频因子一致时,/>
等于/>
,否则/>
等于/>
。
此外,还可以采用如下推导过程,得到LoRa网络的平均数据包成功传输概率:
假设将co-SF干扰阈值
设置为固定值1dB,并将inter-SF干扰阈值/>
,作为一个与节点
i的扩频因子SF
i 和节点
j扩频因子SF
j 相关的矩阵。考虑到/>
主要受到节点
i的扩频因子SF
i 的影响,因此,可以通过将其简化为向量形式,建立如表1所示的映射关系(即/>
与SF
i 之间的映射关系):
表1
SF |
7 |
8 |
9 |
10 |
11 |
12 |
(dB) |
-7.5 |
-9 |
-13.5 |
-15 |
-18 |
-22.5 |
假设网络中所有节点采用固定的发射功率PT,路径损耗为PL,则接收信号的功率PR,可以表示为PR=PT-PL,且可以采用如下公式,表示路径损耗PL:
其中,
为参考距离
d 0下的平均路径损耗,/>
为路径损耗系数;/>
均值为零且服从高斯分布的噪声方差,根据接收灵敏度的公式,即可获取每个节点的信噪比:
其中,d i 为节点i与网关的距离,BW为信号带宽,NF为接收机噪声系数。
综合考虑碰撞概率和误帧率,则节点i的数据包成功传输概率,可以采用如下公式进行表示:
由此可见,可以采用如下公式,表示整个LoRa网络的平均数据包成功传输概率:
上述实施例通过基于碰撞概率效用函数,获取每一网络参数分配方案对应的第二效用值的方式,有效保障了后续基于每一网络参数分配方案对应的总效用值,选取出的用于筛选目标网络参数分配方案的总效用值的数据准确性,进而有效提升了LoRa网络的数据包成功传输概率。
对于获取对应上述网络参数分配方案的第三效用值的具体方式,在一个实施例中,在上述步骤S230中,采用如下公式得到对应上述网络参数分配方案的第三效用值:
其中,u 3为上述能耗效用函数;W为每一上述网络参数分配方案对应的能量效率;W th为上述能量效率对应的能耗门限。
具体而言,每一上述网络参数分配方案对应的能量效率W,可以基于如下推导过程,来进行获取:
假设将能量效率(Energy Efficiency,EE),定义为每单位焦耳能够成功传输的比特数量:
其中,W i 为成功传输一帧数据需要消耗的能量,可以采用如下公式进行表示:
其中,ToA i 为信号的空中时间;V tx 为工作电压,一般设置为3.3V;I tx 为工作电流,其取值取决于辐射功率。
进一步的,假设固定辐射工作PT为14dBm,则此时的I tx 为125mA,可以采用如下公式表示网络平均能量效率:
上述实施例通过基于能耗效用函数,获取每一网络参数分配方案对应的第三效用值的方式,有效保障了后续基于每一网络参数分配方案对应的总效用值,选取出的用于筛选目标网络参数分配方案的总效用值的数据准确性,进而有效提升了采用LoRa网络进行通信的过程中的能量效率。
对于获取每一上述网络参数分配方案的总效用值的具体方式,在一个实施例中,在上述步骤S240中,采用如下公式得到每一上述网络参数分配方案的总效用值:
其中,
U为用于分别将上述第一效用值、上述第二效用值、以及上述第三效用值进行加权求和的目标函数;
u 1为上述网络链路性能效用函数;
p e为每一上述网络参数分配方案对应的链路误帧率;
u 2为上述碰撞概率效用函数;
p nc为每一上述网络参数分配方案对应的数据包不发生碰撞概率;
为每一上述网络参数分配方案对应的扩频因子;
u 3为上述能耗效用函数;
W为每一上述网络参数分配方案对应的能量效率;/>
为用于分别将上述第一效用值、上述第二效用值、以及上述第三效用值进行加权求和的预设权重系数,该预设权重系数,可以基于用户在使用LoRa网络时,对数据包成功传输概率和能耗的实际需求进行设置。
上述实施例通过将基于网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,获取得到的第一效用值、第二效用值和第三效用值,进行加权求和,以得到各网络参数分配方案对应的总效用值的方式,不仅将多目标优化问题转换成了处理成本更低的单目标优化问题,还实现了在兼顾LoRa网络的误帧率、碰撞概率和能耗效率的前提下,进行LoRa网络的扩频因子和汉明码编码率的参数分配,有效提升了LoRa网络的平均能量效率。
在一个实施例中,结合上述各实施例,如图4所示,针对上述基于加权效用函数的LoRa网络参数分配方法在实际应用中的整体应用流程,进行总体说明:
首先,将上述基于加权效用函数的LoRa网络参数分配方法,运行在LoRa网络的网关侧。基于应用服务器的指令,LoRa网关会定时执行上述基于加权效用函数的LoRa网络参数分配方法,以获得网络中所有节点的扩频因子(以下简称SF)和编码率(以下简称CR)的分配方案(即上述目标网络参数分配方案),并在节点接收窗口期发射下行指令,依次更新节点的辐射参数。
接着,将N个网络节点的N个节点的SF和CR均初始化为0,根据节点负载数据长度PL、节点距离网关的位置d
i 等先验信息,计算上述扩频因子对应的最大节点容量阈值
,为后续SF和CR参数的分配做准备。
然后,由于SF和CR之间存在内在的相互影响关系,因此,对两者进行分配时,需要依据两者对系统性能的共同影响来同时进行,以保证上述基于加权效用函数的LoRa网络参数分配方法的运行性能能够达到最优。
之后,基于SF集合和CR集合的数量,可知,每个网络节点最多有6*4=24种候选解。其中,可以采用如表2所示的方式,表示前述24种候选解中的14种优选解。
表2
k
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
SF |
7 |
7 |
7 |
7 |
8 |
8 |
9 |
9 |
10 |
10 |
11 |
11 |
12 |
12 |
CR |
1 |
2 |
3 |
4 |
1 |
3 |
1 |
3 |
1 |
3 |
1 |
3 |
1 |
3 |
最后,基于如表2所示的编号k与SF和CR之间的映射关系,按照如图4中的行5至行9所示的运行流程,计算上述14种优选解对应的总效用函数,并搜索其中的最大效用值,将对应最大效用值的编号k *对应的SF*和CR*分配给相应的网络节点,直至完成所有网络节点的参数分配。
在一个实施例中,结合上述各实施例,针对上述基于加权效用函数的LoRa网络参数分配方法在实际应用中产生的实际效果,进行总体说明:
为了针对本申请提供的基于加权效用函数的LoRa网络参数分配方法进行有效性验证,采用如图5所示的仿真参数,基于Matlab软件,对其进行性能仿真验证,并将现有技术中的FADR算法和CA-ADR算法,作为针对本申请提供的基于加权效用函数的LoRa网络参数分配方法进行验证时的对照组。
经上述验证可知,如图6所示,当网络半径小于5km时,采用上述三种方法得到的网络平均成功传输概率(即上述数据包成功传输概率)相差不大,但本申请提供的基于加权效用函数的LoRa网络参数分配方法的网络平均能量效率,远远高于CA-ADR算法和FADR算法的网络平均能量效率。
此外,如图6所示,在网络半径为3km时,虽然本申请提供的基于加权效用函数的LoRa网络参数分配方法的网络平均成功传输概率,仅比CA-ADR算法低2%、比FADR算法高1%,但是,本申请提供的基于加权效用函数的LoRa网络参数分配方法的网络平均能量效率,达到了CA-ADR算法的两倍、FADR算法的三倍。
基于以上分析可知,本申请提供的基于加权效用函数的LoRa网络参数分配方法,能够在实现了针对数据包成功传输概率和网络能耗这两大矛盾指标的有效平衡的前提下,有效提升LoRa网络的平均能量效率(即上述采用LoRa网络进行通信的过程中的能量效率)。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于加权效用函数的LoRa网络参数分配方法的基于加权效用函数的LoRa网络参数分配装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于加权效用函数的LoRa网络参数分配装置实施例中的具体限定可以参见上文中对于基于加权效用函数的LoRa网络参数分配方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种基于加权效用函数的LoRa网络参数分配装置,该装置300包括:
数据获取模块310,用于获取LoRa网络对应的扩频因子集合、所述LoRa网络对应的编码率集合;
分配方案获取模块320,用于基于所述扩频因子集合和所述编码率集合,得到所述LoRa网络的网络参数分配方案集合;所述网络参数分配方案集合包括若干网络参数分配方案;
总效用获取模块330,用于根据网络链路性能效用函数、碰撞概率效用函数和能耗效用函数,得到各所述网络参数分配方案对应的总效用值;
分配方案选取模块340,用于将各所述网络参数分配方案中,对应总效用值最大的网络参数分配方案,作为目标网络参数分配方案;
网络参数分配模块350,用于基于所述目标网络参数分配方案、所述扩频因子集合中的各扩频因子对应的最大节点容量,对所述LoRa网络中的相应网络节点进行网络参数分配,直至确认所述LoRa网络中的全部网络节点均完成所述网络参数分配。
在其中一个实施例中,总效用获取模块330,具体用于采用所述网络链路性能效用函数,分别处理每一所述网络参数分配方案对应的链路误帧率,得到对应所述网络参数分配方案的第一效用值;采用所述碰撞概率效用函数,分别处理每一所述网络参数分配方案对应的数据包不发生碰撞的概率,得到对应所述网络参数分配方案的第二效用值;采用所述能耗效用函数,分别处理基于每一所述网络参数分配方案对应的能量效率,得到对应所述网络参数分配方案的第三效用值;分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和,得到每一所述网络参数分配方案的总效用值。
在其中一个实施例中,总效用获取模块330,还用于所述采用所述网络链路性能效用函数,分别处理每一所述网络参数分配方案对应的链路误帧率,得到对应所述网络参数分配方案的第一效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第一效用值:
其中,
u 1为所述网络链路性能效用函数;
p e为每一所述网络参数分配方案对应的链路误帧率;
为所述链路误帧率的预设惩罚阈值。
在其中一个实施例中,总效用获取模块330,还用于所述采用所述碰撞概率效用函数,分别处理每一所述网络参数分配方案对应的数据包不发生碰撞的概率,得到对应所述网络参数分配方案的第二效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第二效用值:
其中,
u 2为所述碰撞概率效用函数;
p nc为每一所述网络参数分配方案对应的数据包不发生碰撞的概率;
为每一所述网络参数分配方案对应的扩频因子;/>
为所述扩频因子对应的最大节点容量阈值。
在其中一个实施例中,总效用获取模块330,还用于所述采用所述能耗效用函数,分别处理基于每一所述网络参数分配方案对应的能量效率,得到对应所述网络参数分配方案的第三效用值的步骤中,采用如下公式得到对应所述网络参数分配方案的第三效用值:
其中,u 3为所述能耗效用函数;W为每一所述网络参数分配方案对应的能量效率;W th为所述能量效率对应的能耗门限。
在其中一个实施例中,总效用获取模块330,还用于所述分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和,得到每一所述网络参数分配方案的总效用值的步骤中,采用如下公式得到每一所述网络参数分配方案的总效用值:
其中,
U为用于分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和的目标函数;
u 1为所述网络链路性能效用函数;
p e为每一所述网络参数分配方案对应的链路误帧率;
u 2为所述碰撞概率效用函数;
p nc为每一所述网络参数分配方案对应的数据包不发生碰撞概率;
为每一所述网络参数分配方案对应的扩频因子;
u 3为所述能耗效用函数;
W为每一所述网络参数分配方案对应的能量效率;/>
为用于分别将所述第一效用值、所述第二效用值、以及所述第三效用值进行加权求和的预设权重系数。
上述基于加权效用函数的LoRa网络参数分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储LoRa网络参数相关数据等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于加权效用函数的LoRa网络参数分配方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于加权效用函数的LoRa网络参数分配方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7或图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。