基于PSO_BP神经网络的三维定位方法与流程

文档序号:12790199阅读:604来源:国知局
基于PSO_BP神经网络的三维定位方法与流程

本发明设计了一种基于粒子群算法优化后的BP神经网络的终端三维定位方法,可广泛应用于无线定位领域。



背景技术:

随着无线通信网络和移动互联网的蓬勃发展,提供基于地理位置信息的服务(Location Based Service,简称LBS)已经成为最具市场前景和发展潜力的业务之一。从传统的GPS导航,到电子商务、餐饮平台等基于地理位置的消费信息服务和社交软件,实现其功能的基础就是要获取用户手持终端(包括手机或者平板等设备)的位置。

虽然商用GPS已经随着智能手机的发展而得到了广泛的应用,但是在诸如室内、地下、高楼林立的市区等诸多场景中,GPS定位性能较差。基于无线网络基站的定位系统相比GPS存在覆盖范围广、信号质量高、用户期望其移动终端意愿强烈的优势,同时,基于无线网络基站,运营商推进定位服务的盈利模式清晰,在基础的数据服务之外,还可以通过为用户提供增值服务而促进运营商的业务发展。因此,基于无线通信基站的定位技术有着广阔的应用前景和巨大的商业价值。

受定位时间、定位精度以及复杂室内环境等条件的限制,特别在三维定位环境,比较完善的定位技术目前还无法很好地利用。以室内环境为例,无线电信号的传播过程中会经过墙面的多次反射、室内物体的折射和吸收等。这些物理因素会导致通信基站测量得到的诸如距离、角度等信息存在噪声。如何基于这些有噪声的测量,得到对于位置信息的准确估计,也是通信基站实现对终端定位需要解决的问题。

求解分析三维条件下移动终端定位相关问题的有创新性和可实现性强的算法,都将有可能被快速部署到现代商业通信网络中,带来巨大的社会和经济效益。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术中室内多基站情况下的终端定位方法精度不高的问题而提出的一种基于PSO_BP神经网络的终端三维定位方法。

一个区域内会存在多个基站,从终端所处的位置(mxi,myi,mzi)的由近及远选取前不在同一平面内的四个基站,终端到基站之间利用TDOA技术实测的距离分别为r1i,r2i,r3i,r4i,有r1i≤r2i≤r3i≤r4i

由四个基站到移动终端的实测距离计算终端含非视距误差的位置,采用最小二乘法估算。则三维坐标的最小二乘估计位置为

利用AOA方法,计算由基站坐标(bxj,byj,bzj)到由该基站参与估计的三维终端位置所确定的三维方向角

位置误差与方位角误差产生由2个部分产生,分别由非视距传播误差和测量误差2个部分组成。

构建BP神经网络,网络的输入特征值是终端位置,基站到终端之间距离,三维AOA方向角。网络为多层,隐层结构待优化后确定,输出层为最终预测的终端点位置。

采用PSO算法优化BP神经网络,建立PSO_BP神经网络算法模型。

利用采集的部分处理后的样本数据进行PSO_BP神经网络的误差分析,通过神经网络的误差分析确定一个较好的网络结构。

利用全部处理后转化为特征值的数据样本,首先利用PSO算法初次训练BP神经网络,然后利用梯度下降方法二次优化,最终确定网络的权值阈值参数。该网络实现了从特征向量M到样本中终端点精确位置(xi,yi,zi)的一个函数映射关系,消除了环境非视距带来的误差,获得较精确的终端点位置。

本发明根据多基站在三维空间内先初步估计终端的位置,提取了估计位置坐标、基站到终端的距离以及基站到终端的三维空间方位角作为特征值输入向量,这组特征值向量较好的反映了终端位置和基站与终端相对关系能反映非视距因素和测量误差影响的相关因素。从样本点中提取出特征量数据集在BP神经网络中训练,误差函数的寻优按照PSO算法进行,当收敛到一个区域时,再用梯度下降以小步长迭代到误差函数最小值点附近。对于误差函数进行误差分析,通过学习曲线来综合确定网络的结构,以及是否增加数据量等操作。确定网络结构和训练好网络后,得到消除非视距误差和测量误差情况下比较精确的终端位置点。该方法收敛速度快、精确度高、适应各种特定环境,适合推广使用。

附图说明

图1是本发明所述方法实施过程流程图;

图2是四个基站确定终端位置的示意图;

图3是本发明中基站点到终端点三维AOA方位角的示意图;;

图4是本发明中BP网络的拓扑图;

图5是本发明中利用PSO算法优化BP神经网络参数过程示意图;

图6是本发明中基于PSO_BP神经网络的终端三维定位方法算法过程的流程图。

具体实施方式

以下将对本发明的基于PSO_BP神经网络的三维终端定位方法作进一步额的详细描述,图1为本发明实施过程流程图,具体实现步骤如下:

S1.通过无线电信号传播计算基站到终端的距离过程中,存在非视距的影响,这种影响会使多基站定位终端误差时带来偏差。一个区域内会存在多个基站,从终端所处的位置(mxi,myi,mzi)的由近及远选取前四个基站,四基站坐标按顺序分别命名为(bx1,by1,bz1),(bx2,by2,bz2),(bx3,by3,bz3),(bx4,by4,bz4)。图2为四个基站确定终端位置的示意图,基站一测距覆盖面(A)、基站二测距覆盖面(B)、基站三测距覆盖面(C)和基站四测距覆盖面(D)分别为以四个基站为球心的球面,四个基站的覆盖面交于终端M,当四个基站不在同一个平面内,终端到基站之间利用TDOA技术实测的距离分别为r1i,r2i,r3i,r4i,有r1i≤r2i≤r3i≤r4i。本发明讨论四个不在平面内的基站的情形,当前四基站点处在一个平面内就连续选取前5个基站,以此类推。

S2.由四个基站到移动终端的实测距离计算终端含非视距误差的位置,由于存在测量误差,四个球可能不交与一个点,为减小误差的影响,采用最小二乘法估算。则三维坐标的最小二乘估计位置为

在S2中,基站到终端之间的距离测量无误差时,可交于一个点,据两点间的距离公式列出四个方程:

则i点的坐标(mxi,myi,mzi)的矩阵表示为:

由于存在测量误差,四个球能不交与一个点,为了减小误差的影响,采用最小二乘法对数据进行处理。三维坐标的最小二乘估计位置为则

运用最小二乘法求解得:

其中

由于本发明研究的是4个不共面的基站,故n=4。多于4个基站的情况可按照这个公式计算。

S3.利用AOA方法,计算由基站坐标(bxj,byj,bzj)到由该基站参与估计的三维终端位置所确定的三维方向角如图3是基站点到终端点三维AOA方位角的示意图,表示基站Mi到终端Bi的三维方位角,是无误差的三维方向角。则PSO_BP神经网络的输入特征值向量为M。

由于本发明研究的是以基于4个不共面的基站为特例,故n=4。多于4个基站的情况可按照此一般形式表示。

其中

在S3中,三维方位角的计算过程为:

S4.位置误差与方位角误差产生都由2个部分组成,其中终端的估计位置坐标与无误差位置坐标(xi,yi,zi)之间的误差是非视距传播误差和测量误差则有

从基站位置坐标(bxj,byj,bzj)到终端估计位置的三维方向角也包含由于非视距因素影响的误差与测量误差有其中是无误差的三维方向角。

S5.构建BP神经网络,BP神经网络由输入层、隐含层和输出层组成。输入特征值向量为M。输入特征向量为3n+4维。本发明中n=4。输出层为3维,输出层是所求的精确终端位置坐标。隐层为多层,隐层结构的由神经网络学习曲线的误差分析确定。如图4是该BP网络的拓扑图。

在S5中,BP神经网络的隐含层传递函数tansig函数,其表达式为:输入值可以是任意值,输出值值域为[-1,1]。输出层由3个神经元构成,输出层采用线性传递函数fo(x)=kx。输出向量为[xi,yi,zi]T,这个向量元素是消除误差之后的坐标精确值。设样本点i对应的实际位置为

设Piotuput=[xi,yi,zi]T

则误差函数是W和B是网络的权值和阈值参数。||||为范数符号,m为输入样本个数。

S6.PSO_BP神经网络算法的过程是据S5构建BP神经网络,采用PSO算法在给定特征值的定义域内搜索误差函数全局最小值解,当PSO算法收敛到一个小区域并终止迭代后,采用梯度下降的方式局部以较小步长二次寻求最小值解。如图5是PSO算法优化BP神经网络参数过程的示意图。

在S6中,PSO算法的具体数学描述为:

在D维搜索空间内,一个群体包含N个粒子,计作X=[x1,...,xN]T,粒子i的位置变化率记作vi=[vi1,vi2,...,viD]T,其位置记作xi=[xi1,xi2,...,xiD]T,其中i=1,2,...,N;粒子i到当前迭代为止自身发现的最优位置记作pi=[pi1,pi2,...,piD]T,到当前为止全部粒子发现的最优位置记作pg=[pg1,pg2,...,pgD]T,在找到这两个值之后,粒子通过下列公式进行更新:

vid(t+1)=ω(t)vid(t)+c1r1(pid-xid(t))+c2r2(pgd-xid(t))

xid(t+1)=xid(t)+vid(t+1)

其中,

式中,i=1,2,...,N,d=1,2,...,D;c1,c2为学习因子,是非负常数,一般设为2;r1,r2是在[0,1]内的随机数;ω(t)为惯性权重;t为迭代次数;Tmax为最大迭代次数;vid(t),xid(t)分别是粒子i当前的速度和位置;pid是粒子i发现的个体最优位置;

如图6所示是基于PSO_BP神经网络的终端三维定位方法算法过程的流程图,PSO_BP算法具体步骤如下:

(1)初始化参数。这些参数包括种群的规模、迭代次数、学习因子、速度、位置。

(2)按照输入、隐层、输出、激励函数建立BP神经网络。随机生成一个粒子群Xi=[xi1,xi2...,xiN]T,i=1,2,...,n,每个粒子所包含的元素是BP神经网络上所有的权值W和阈值B,W和B中元素按一定前后顺序对应规则放在一维向量X中。

式中,i是粒子的序号,n是粒子的种群数。

(3)通过BP网络计算每个粒子的评价函数的适应度值。初始化BP神经网络参数,把(2)中确定的粒子群的每个粒子所包含的权值和阈值分别带入到BP神经网络中。输入特征值矩阵到每个粒子的BP网络中得到训练输出向量Pioutput,此时该粒子的适应度值为网络的误差函数E(W,B):

式中,Pioutput为网络输出向量;Pireal为期望输出向量;||||为范数符号,m为输入样本个数。

(4)计算Xi(i=1,2,...,n)对应的适应度值,对当前粒子的适应度值与先前的最佳适应度值进行比较,将二者中较小的值替换成当前粒子的局部极值。然后选择所有粒子适应度值最小的作为当前的全局极值。

(5)据PSO算法数学模型中描述的位置和速度的迭代公式在每一次的迭代过程中更新每个粒子的速度和位置;

速度更新公式:vid(t+1)=ω(t)vid(t)+c1r1(pid-xid(t))+c2r2(pgd-xid(t))

位置更新公式:xid(t+1)=xid(t)+vid(t+1)

(6)计算新粒子的适应度值,根据粒子群此时的各粒子适应度值按照第(4)步更新粒子个体极值和群体极值。

(7)满足最大迭代次数或者满足设定的误差标准后退出PSO算法,否则返回步骤(2)。

(8)将粒子群算法得到的最优粒子所包含的权值和阈值赋给BP网络进行二次优化,二次优化时寻找最优解是一个按梯度规则下降的过程,经过PSO算法训练的权值和阈值是接近全局最优的,这是由于PSO算法终止时可能由于其飞行步长比较长,并没有完全的达到最优,此处设置一个很小的学习效率的BP网络在最后的位置上进一步小范围小步长的搜索。如果搜索的结果优于搜索前的结果那么输出此结果,否则保持原有结果不变。

S7.利用采集的部分处理后的样本数据进行PSO_BP神经网络的误差分析,通过神经网络的误差分析确定一个较好的网络隐层结构。

在S7中神经网络的隐层结构与场景有关,场景越复杂,则网络结构应越复杂。通过神经网络的学习曲线中的方差与偏差曲线可以看出网络是否欠拟合或者过拟合。对于不同的情况采取不同的措施调整策略。这些常用措施中包括单不限于:(1)新特征量的提取;(2)训练样本的数据量;(3)惩罚项因子的大小;(4)网络层数或神经元数目的增减。

在建立一个神经网络算法开始时,首先构建一个简单的网络,训练简单网络,绘制学习曲线,判断简单网络的学习曲线中偏差与方差曲线是怎样的。根据学习曲线决定采取哪种措施或者哪些措施配合改进神经网络,使得神经网络有恰当的拟合表现,从而提高网络的泛化性能。

S8.利用全部处理后转化为特征值的数据样本,训练PSO_BP神经网络确定网络的权值阈值参数。从而该网络学习特定具体环境中由非视距因素和测量误差导致的误差信息,最后实现从特征向量。

本发明提供了一种基于PSO_BP神经网络的终端三维精确定位方法,适用与各种特定的环境,特别是环境内有较多不规则障碍物,散射和多径现象明显,如大型商场、地下隧洞内、山陵地区等环境,是一种实用的定位技术。该方法根据在三维空间中实测终端位置坐标信息来计算终端精确的位置。从实测的终端位置中提取了终端点坐标、基站到终端的距离以及基站到终端的三维方位角作为特征值,经过PSO_BP神经网络算法计算得到目标的精确位置。本发明提供了三维终端定位方法能有效的通过神经网络学习到环境带来的非视距误差影响和测量带来的误差影响,具有可行性高、适应特定环境、精度高优点。可推广使用。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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