《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 一种基于BP-GA的室内定位模型
一种基于BP-GA的室内定位模型
来源:微型机与应用2013年第22期
王立辉1,王佳斌2
(1.华侨大学 信息科学与工程学院,福建 厦门361021; 2.华侨大学 工学院,福建 泉州362
摘要: 使用BP-GA算法相结合的方法来作为室内定位模型的主要定位算法,在得到初始坐标后利用泰勒级数定位算法优化得到最终待测点坐标。该算法很好地减弱了室内环境对定位精度的影响,并且具有较高的精度。仿真实验验证了该模型的有效性。
Abstract:
Key words :

摘  要: 使用BP-GA算法相结合的方法来作为室内定位模型的主要定位算法,在得到初始坐标后利用泰勒级数定位算法优化得到最终待测点坐标。该算法很好地减弱了室内环境对定位精度的影响,并且具有较高的精度。仿真实验验证了该模型的有效性。
关键词: 室内定位;BP算法;GA算法;泰勒级数定位算法

    室内定位技术按所借助的手段不同可以分为[1-2]基于无线电信号的定位技术、基于红外线的定位技术、基于超声波的定位技术、基于蓝牙的定位技术、基于激光的定位技术、基于射频识别技术的定位技术以及基于WiFi的定位技术等。由于室内环境存在非视距、多径、干扰多变等因素, 同时考虑到设备费用和实现的复杂程度等,本文选择了利用ZigBee技术基于RSSI值的定位算法。
    当前,广泛使用的ZigBee技术无线定位系统主要通过测量节点间的距离来实现[3]。基于RSSI的测距是无线传感网络定位技术中较常采用的方法,该类方法大多数通过设置已知参考节点。首先利用待定位节点接收到的RSSI值计算出该节点到各个参考节点的距离,再通过各类定位算法推导出目标点的坐标。传统的基于RSSI的室内定位技术基本上都是以无线信号传播模型为基础的,在不同的定位环境中,通过拟合或直接根据经验得出无线信号传播模型中未知参数A和n,再根据一些位置距离算法来最终实现定位。但这些算法过于依赖一些经验模型,对于不同的环境的适应性不强,在一些室内情况复杂的条件下会有很大的误差。本文在基于ZigBee组成的网络的基础上,使用BP神经网络和GA算法融合来初步算出待定位物体的位置,再融入泰勒级数定位算法来算出最终待定位物体的位置。
  

    由此可以看出,A和n为值直接影响到了根据RSSI值得到的距离,进一步影响到定位的精度。无论是理想环境还是室内环境下,传输信号与传输距离之间有一定的关系,在实际环境下RSSI值的变化有一定的规律可循,RSSI值与距离d之间是一个连续的非线性关系,而Kolmogorov定理也已经证明[5-6],任意一连续函数可由一个3层BP网络来实现,所以可由一个3层的BP网络来代替RSSI经验公式来得到RSSI值与d之间的关系,并且可以直接由BP网络直接得到待测节点的坐标值。
2 BP神经网络模型的确定
    根据RSSI与坐标值之间的一一对应关系,本系统设计由4个参考节点确定一个盲节点位置,所以BP神经网络的输入有4个(即4个参考节点到盲节点的RSSI值),输出有2个(x,y)(即盲节点的坐标值),对于隐含层层数和神经元数的选择是一个难点,目前还没有理论上的指导,只有经过大量的实验来选择最佳的隐含层层数。
    本文采用4:35:2结构的BP神经网络,如图1所示。使用相似的方法可以确定出计算RSSI值与d之间关系的BP网络结构图,与图1结构相似,采用1:20:1的结构。传统的BP神经网络[6-7]算法确定权重时所采用的学习算法是基于梯度下降的,不可避免地存在着训练时间长、收敛速度慢、易陷于局部极小值以及完全不能训练等问题。所以本文结合使用遗传算法来优化BP神经网络,改善BP神经网络的缺陷,使算法避免陷入局部极小值、收敛速度慢等问题。

3 BP-GA算法
    在GA每一代进行遗传操作之前,对群体中的最优个体进行次数较多的BP训练[8-10],使最优个体得到足够的训练后目标误差能很快地下降,作为混合学习算法指导误差下降的主导搜索方向,然后将经BP训练后的最优个体与群体中的其他个体逐一进行启发式的交叉式算法,能在最优个体与群体的其他个体所形成的寻优空间中并行寻优,再从交叉子代和经BP训练后的原最优个体中选出当代最优个体进行下一次的BP训练。
4 泰勒级数定位算法
    泰勒级数定位方法[11-12]是一种基于泰勒级数展开的加权最小二乘估计迭代算法。它适用于所有的定位系统,并利用所有的测量参量来改善定位精度。该方法的核心思想为:(1)在目标位置的初始估计点利用泰勒级数展开,并忽略二次及以上项,将非线性方程变为线性方程,并采用最小二乘算法对偏移量进行估计;(2)利用估计的偏移量修正估计的目标位置,并不断迭代,使估计的目标位置逼近真实位置,从而得到对目标位置的最优估计。
5 ZigBee定位系统模型
    本系统设计的这套二维室内无线定位系统主要由主机、网关、定位节点、参考节点4个部分组成。主机是一台笔记本电脑,负责处理网关发送的信息,计算出盲节点坐标和显示盲节点位置等。网关由CC3430组成,负责网络的组建、节点地址的分配和负责主机与参考节点、盲节点之间的通信等,参考节点由CC2430组成,是位置已知且固定不动的节点。盲节点由CC2431组成,是位置未知的移动节点。
5.1 系统模型定位流程图
    系统总体流程图如图2所示。首先建立ZigBee网络,然后待测节点收到各个参考节点的RSSI值,将RSSI值发送到网关,由网关送入主机中的BP-GA算法计算得到待测节点的初始坐标,将此坐标值确定为送入泰勒级数定位算法的初始值,进行循环泰勒级数展开,泰勒级数定位算法的计算达到要求的精度值后,输出最终待测节点坐标,发送到监控软件界面显示。

5.2 实验仿真结果分析
    由ZigBee网络中盲节点收集到的各个参考节点到其RSSI值送入到算法网络中作为输入,该RSSI值所在节点的实际坐标为输出标准进行训练,将得到的初始坐标值送入泰勒级数定位算法中进行二次优化得到最终的盲节点坐标。
    首先,选用4个参考节点a、b、c、d,其坐标(0,0)、(0,13)、(7,13)、(7,0)组成一个实验环境,其中每格为30 cm。在其中随机选取20个点作为测试点,将这些值分别送入BP算法、BP-GA算法和本文算法,得到盲节点的坐标如图3所示。
    由图3、图4、图5可以看出在本文算法用于定位优于单独使用BP算法或是使用BP-GA算法进行定位。使用本文算法所得到的盲节点坐标值与盲节点的实际坐标值非常接近,较好地克服了定位时环境中的各种干扰因素的影响。

 

 

    本文通过在ZigBee组成网络基础上,通过使用BP-GA算法和泰勒级数定位算法相结合的定位方法,并且通过引入BP网络来代替RSSI经验公式来得到RSSI值与d之间的关系,避免了对环境中复杂参数A和n的拟合,很好地减弱了环境因素对定位精度的影响,且通过上面的仿真可以发现,只要在一个室内环境中采集足够多的RSSI值,利用该算法就能够达到很好的定位精度,误差能够控制在30 cm内。
参考文献
[1] Yu Kengen,SHARP L,GUO Y J.Ground-based wireless positioning[M].Wiley-IEEE Press,2009.
[2] 万群,郭贤生,陈章鑫.室内定位理论、方法和应用[M].北京:电子工业出版社,2012.
[3] 吕源,李军.基于CC2431的室内定位系统[J].现代电子技术,2009(2):95-101.
[4] 朱明辉,张会清.基于RSSI的室内测距模型的研究[J].传感器与为系统,2010,29(8):19-22.
[5] KHOSHGOFTAAR T M,PANDYA A S,LANNING D L. Applicationof neural networks for predicting defects[J].An nals of Software Engineering,1995,1(1):141-154.
[6] HAYKIN S.Neural Networks[M].Prentice Hall,1998.
[7] 陆琼瑜,童学锋.BP算法改进研究[J].计算机工程与设计,2007,28(3):648-649.
[8] 陈永龙,何国良,徐宗昌.基于BP-GA的融合算法实现[J].装备指挥技术学报,2007,18(4):107-110.
[9] Lu Chun,Shi Bingxue,Chen Lu.Hybrid BP-GA for multilayer feedforward neural network[J].ICECS 2000,2002(2):958-961.
[10] Li Jianping,BALAZS M E,PARKS G T,et al.A speciesconserving genetic algorithm for multimodal function optimization[J].Evol Comput.,2002,10(3):207-234.
[11] 张会清,石晓伟,邓贵华,等.基于BP神经网络和泰勒级数的室内定位算法研究[J].电子学报,2012,40(9):1876-1879.
[12] 田孝华,周义建.无线电定位理论与技术[M].北京:国防工业出版社,2011.

此内容为AET网站原创,未经授权禁止转载。