基于免疫粒子群优化的DV-HOP室内定位方法与流程

文档序号:16131289发布日期:2018-12-01 00:21阅读:200来源:国知局

本发明涉及室内无线传感器网络技术领域,尤其涉及一种用于基于免疫粒子群优化的dv-hop室内定位方法。

背景技术

无线传感器网络(wirelesssensornetwork,wsns)由部署在检测区域内大量廉价的微型传感器节点,通过无线通信的方式形成的一个多跳、自组织的网络系统。无线传感器网络最基本的功能之一是实时获知事件发生的位置信息或获取节点的位置。相对于室外环境,室内环境更加复杂,无线传感器网络节点定位比gps定位更加精确。

定位技术是无线传感器网络的主要支撑技术之一,受到研究人员的广泛关注。现有的无线传感器网络定位主要分为基于距离的定位和距离无关的定位。基于距离的定位算法对未知节点的定位利用的是节点之间的信号强度或者角度信息,需要有外在的硬件设备支持。而距离无关的定位算法实现简单且对网络节点没有额外要求,具有成本低、开销小等优点,典型代表是dv-hop算法。

现有dv-hop定位算法的定位过程一般分为三个阶段:第一阶段所有的锚节点(锚节点是指自身位置已知的节点)用泛洪的方式给它的邻居节点发送一个数据分组,所有的节点都可以获得锚节点的相关信息;第二阶段,节点接收到锚节点发送过来的数据分组后,计算并且广播校正值;第三阶段,未知节点根据第一阶段接收到的最小跳数以及第二阶段计算出的平均每跳距离的校正值,得到其与各个锚节点之间的估计距离,再根据三边测量法、极大似然估计法和粒子群优化(particleswarmoptimization,pso)等算法计算未知节点的定位坐标。

粒子群优化算法是一种基于种群搜索策略的全局优化算法,种群中每个成员叫做粒子,代表着一个潜在的可行解,而食物位置则代表全局最优解。粒子在d维搜索空间内飞行,根据自身经验和整个群体的经验动态的来调整自己的速度,每个粒子通过两个极值来更新其速度和位置,一个是粒子本身至今为止所找到的最优解pbest,另外一个是整个群体至今为止所找到的最优解gbest。粒子每更新一次位置,就计算一次适应度值,然后根据所有粒子的pbest和gbest来确定新的个体极值和群体极值,并且更新各自pbest所对应的位置和群体gbest对应的位置。但是,标准粒子群算法存在着收敛速度慢、精度低、种群易早熟等缺点,使得基于标准粒子群算法的dv-hop定位方法存在收敛速度慢、效率低、定位精度差、搜索能力弱等技术缺陷。



技术实现要素:

为了解决现有技术中的室内定位方法存在的上述技术问题,本发明提供一种基于免疫粒子群优化的dv-hop室内定位方法。

本发明是通过以下技术方案实现的:

一种基于免疫粒子群优化的dv-hop室内定位方法,适用于室内无线传感器网络,包括如下步骤:

步骤1,在室内无线传感器网络的目标区域内随机部署若干个锚节点和未知节点,利用每个锚节点通过泛洪的方式向该锚节点的邻居节点发送数据分组信息。

所述数据分组信息包括:锚节点的标识i,锚节点坐标(xi,xj),跳数hi(初始化为0)。

步骤2,每个未知节点根据接收到的来自相应锚节点发送的数据分组信息计算每个锚节点的平均跳距。

步骤3,每个未知节点根据步骤1中接收到的最小跳数和步骤2中计算出的平均跳距,计算出每个未知节点到各个锚节点修正后的估计距离。

步骤4,初始化粒子群,确定每个粒子的速度和位置;初始化参数包括:粒子种群规模n,学习因子c1、c2,繁殖代数m,惯性权重ω,搜索空间维数d。

步骤5,根据预设的目标函数计算当代粒子的适应度值,确定粒子群的历史最优值和全局最优值;检查迭代计算的终止条件,判断是否达到预设的最大迭代次数或最佳的适应度值条件:如果达到,则结束计算,输出结果;否则,继续执行步骤6。

步骤6,生成免疫记忆细胞:按照亲和度从大到小的顺序进行排序,将亲和度较大的m个抗体存入记忆库中作为免疫细胞。

步骤7,生成免疫疫苗:从所述免疫记忆细胞中选择两个亲和度最大的抗体进行交叉操作,把得到的公共子集部分存入疫苗库中作为疫苗。

步骤8,根据公式(12)、公式(13)和动态惯性权重公式(14)更新每个粒子的速度和位置;将更新后得到n个新的粒子,和从所述记忆库中随机抽取q个免疫细胞,组成规模为n+q个的粒子种群。

vi(t+1)=ωvi(t)+c1r1(pbesti-xi(t))+c2r2(gbesti-xi(t))(12)

xi(t+1)=xi(t)+vi(t+1)(13)

其中,i=1,2,…,n,ω为惯性权重,ωmax、ωmin分别为最大和最小惯性权重,t为当前迭代次数,tmax为最大迭代次数,r1、r2是[0,1]内服从均匀分布的随机数,pbesti为粒子i的历史最优位置,gbesti为粒子i的全局历史最优位置。

步骤9,抗体的促进或抑制:根据公式(15)计算步骤8得到的粒子种群中每个粒子的选择概率:

其中,i=1,2,…,n+m,xi表示第i个粒子,g(xi)表示第i个粒子的亲和度函数值;p(xi)表示第i个粒子的选择概率。

根据所述选择概率的大小,选择出概率最大的n个粒子组成新的抗体群。

步骤10,接种疫苗获取:从步骤9得到的抗体群中选择两个亲和度最大的抗体进行相互交叉操作,将得到的公共子集作为接种疫苗。

步骤11,免疫选择:计算所述接种疫苗的适应度值,若所述接种疫苗的适应度值小于步骤5中的适应度值,则接受所述接种疫苗进行接种操作,否则放弃所述接种疫苗,保留原值;回转执行步骤5。

本发明相对于现有技术的有益效果在于:

(1)本发明提供的基于免疫粒子群优化的dv-hop室内定位方法,将免疫粒子群算法引入dv-hop室内定位方法,利用免疫算法改进粒子群方法,通过粒子群的交叉和变异操作,寻求迭代精度最大和适应度最好的情况,提高了粒子种群的多样性维持能力,扩大解的搜索空间,提高了算法的收敛速度,在精度和全局搜索能力方面都有明显的提高。因此,相对于传统的基于标准粒子群算法的dv-hop室内定位方法,定位精度得到显著提升。

(2)本发明提供的基于免疫粒子群优化的dv-hop室内定位方法属于非测距方式的室内定位方法,相对于测距方式的室内定位方法,不需要外在的硬件支持,成本低、开销小、减少人力投入。在保证较高定位精度的前提下,又兼顾成本开销,有利于大规模推广适用。

附图说明

图1为基于免疫粒子群优化的dv-hop室内定位方法的节点平面布置图。

图2为基于免疫粒子群优化的dv-hop室内定位方法的总流程图。

图3为基于免疫粒子群优化的dv-hop室内定位方法的仿真实验分析结果图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

实施例1:

基于免疫粒子群优化的dv-hop室内定位算法,主要引入了免疫算法中的免疫进化机理与粒子群算法相结合。本发明以100m×100m的区域作为室内无线传感器网络的实验仿真环境,如图1所示。仿真的室内无线传感器网络区域内所有节点之间通信正常,通信半径为30m,种群规模为n=30,最大迭代次数为gmax=50,最大速度vmax=10,最大惯性权重ωmax=0.8,最小惯性权重ωmin=0.2,学习因子c1=c2=1.4962,搜索空间维数d=3,所有仿真实验均进行200次,利用平均定位误差判断算法定位精度:

其中,为未知节点估计的平均位置,x为未知节点实际位置,q为网络中未知节点个数,r为通信半径。

如图2所示,本实施例提供一种基于免疫粒子群优化的dv-hop室内定位方法,适用于室内无线传感器网络,包括如下步骤:

步骤1,在室内无线传感器网络的目标区域内随机部署若干个锚节点和未知节点,在部署锚节点时,将每个锚节点之间对应的跳数数据信息进行初始化归零处理。利用每个锚节点通过泛洪的方式向该锚节点的邻居节点发送数据分组信息。在本实施例中,结合如图1实验中布置的20个锚节点和5个未知节点进行举例说明。

所述数据分组信息包括:锚节点的标识i,锚节点坐标(xi,xj),跳数hi(初始化为0)。

步骤2,每个未知节点根据接收到的来自相应锚节点发送的数据分组信息计算每个锚节点的平均跳距。

具体的,根据公式(1)计算每个锚节点的平均跳距:

其中,ci为锚节点i的平均每跳距离,hij表示锚节点i和锚节点j之间的最小跳数(i≠j),(xi,yi)、(xj,yj)表示锚节点i和锚节点j的坐标。

步骤3,每个未知节点根据步骤1中接收到的最小跳数(最小跳数指的是未知节点接收到同一个锚节点的数据分组中跳数的最小值)和步骤2中计算出的平均跳距,计算出每个未知节点到自己数据分组中各个锚节点修正后的估计距离di(距离di是未知节点到锚节点的测量距离)。

计算每个未知节点到各个锚节点修正后的估计距离的过程具体包括:

步骤301,根据公式(3)计算锚节点i和j之间的实际距离drij;

步骤302,根据公式(4)计算锚节点i和j之间的测量距离deij;

deij=ci×hij(4)

步骤303,根据公式(5)计算锚节点i平均每跳距离的误差εi;

其中,l为网络中锚节点数目;

步骤304,根据公式(6)计算第i个锚节点平均每跳距离的加权值λi;

步骤305,根据公式(7)、公式(8)计算未知节点每跳距离修正值c;

c=λk×ck+λs×cs+λt×ct(7)

λk+λs+λt=1(8)

其中,k,s,t为离未知节点最近的三个锚节点。

步骤306,根据公式(9)计算未知节点到自己数据分组中锚节点i的距离值;

di=c×hi(9)

其中,c为未知节点每跳距离修正值,hi为未知节点接收锚节点i的最小跳数。

步骤4,初始化粒子群,确定每个粒子的速度和位置;初始化参数包括:粒子种群规模n,学习因子c1、c2,繁殖代数m,惯性权重ω,搜索空间维数d。

步骤5,根据预设的目标函数计算当代粒子的适应度值,确定粒子群的历史最优值和全局最优值;检查迭代计算的终止条件,判断是否达到预设的最大迭代次数或最佳的适应度值条件:如果达到,则结束计算,输出结果;否则,继续执行步骤6。

其中计算粒子适应度值的方法具体为:

根据公式(10)计算当前每个粒子的适应度值,

其中,l为锚节点个数,(xi,yi)为未知节点位置坐标,(xj,yj)为锚节点位置坐标。

步骤6,生成免疫记忆细胞:按照亲和度从大到小的顺序进行排序,将亲和度较大的m个抗体存入记忆库中作为免疫细胞。亲和度表示抗体和抗原间的接近程度,粒子表示为抗体,目标函数的解表示为抗原,本发明中的亲和度affinity(xi)为

式(11)中,f(xi)为粒子i的适应度值。

步骤7,生成免疫疫苗:从所述免疫记忆细胞中选择两个亲和度最大的抗体进行相互交叉操作,把得到的公共子集部分存入疫苗库中作为疫苗。

步骤8,根据公式(12)、公式(13)和动态惯性权重公式(14)更新每个粒子的速度和位置;将更新后得到n个新的粒子,和从所述记忆库中随机抽取q个免疫细胞,组成规模为n+q个的粒子种群;

vi(t+1)=ωvi(t)+c1r1(pbesti-xi(t))+c2r2(gbesti-xi(t))(12)

xi(t+1)=xi(t)+vi(t+1)(13)

其中,i=1,2,…,n,ω为惯性权重,ωmax、ωmin分别为最大和最小惯性权重,t为当前迭代次数,tmax为最大迭代次数,r1、r2是[0,1]内服从均匀分布的随机数,pbesti为粒子i的历史最优位置,gbesti为粒子i的全局历史最优位置。

步骤9,抗体的促进或抑制:根据公式(15)计算步骤8得到的粒子种群中每个粒子的选择概率:

公式(15)中,i=1,2,…,n+m,xi表示第i个粒子,g(xi)表示第i个粒子的亲和度函数值;p(xi)表示第i个粒子的选择概率;

根据所述选择概率的大小,选择出概率最大的n个粒子组成新的抗体群。

步骤10,接种疫苗获取:从步骤9得到的抗体群中选择两个亲和度最大的抗体进行相互交叉操作,将得到的公共子集作为接种疫苗。

步骤11,免疫选择:计算所述接种疫苗的适应度值,若所述接种疫苗的适应度值小于步骤5中的适应度值,则接受所述接种疫苗进行接种操作,否则放弃所述接种疫苗,保留原值;回转执行步骤5。

本发明中未知节点的定位就是求解目标函数即适应度函数中未知节点的坐标(x,y)。

粒子的适应度函数为:

其中,(xi,yi)为锚节点i的坐标位置,di是经过测量得到的未知节点和锚节点之间的距离,而适应度函数f(x,y)的极小值点则为要求的定位坐标。

下面以具体实例,针对本发明方法进行实验论证,具体内容如下:

1、实验环境

为验证本发明基于免疫粒子群优化的dv-hop室内定位方法的定位效果,在matlabr2011b环境下对基于标准粒子群算法(pso算法)的dv-hop室内定位方法基于免疫粒子群优化(ia-pso算法)的dv-hop室内定位方法进行仿真实验。

仿真实验环境为100m×100m的平面室内区域,在该区域中随机布置20个位置已知的锚节点,5个未知节点。

2、评价指标

本实施例使用定位误差值作为实验评价指标,定位误差值越小,即认为定位精度越高。

3、实验结果

为了验证本发明所提出的方法的有效性,将基于标准粒子群算法(pso算法)的dv-hop室内定位方法与基于免疫粒子群优化(ia-pso算法)的dv-hop室内定位方法的定位误差值进行对比,对比结果如图3所示。根据图3可知,基于免疫粒子群优化(ia-pso算法)的dv-hop室内定位方法的定位精度明显高于基于标准粒子群算法(pso算法)的dv-hop室内定位方法,说明本发明提供的基于免疫粒子群优化(ia-pso算法)的dv-hop室内定位方法能够有效提高无线传感器网络的定位精度。

本领域的技术人员容易理解,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1