陈 勇 郑 瀚 沈奇翔 刘焕淋
①(重庆邮电大学工业物联网与网络化控制教育部重点实验室 重庆 400065)
②(重庆邮电大学通信与信息工程学院 重庆 400065)
目前,全球定位系统(GPS)通常用于室外定位,由于卫星信号在穿透固体时会受到衰减和阴影效应等影响,很难在室内实现快速的定位。Wi-Fi、蓝牙、射频识别等定位系统可以满足室内定位的要求,但存在成本高、定位精度低和电磁干扰等问题。而基于可见光通信(Visible Light Communication,VLC)的定位系统,具有定位精度高、无电磁干扰、附加设备少、通信机密性好、照明通信一体化等优点,可广泛应用于室内定位中[1]。
目前,Yang等人[2]采用单个发射器和多个倾斜光学接收器,并基于信道增益的差异性实现3维定位。但该方法设备需求较多,而且定位的高度受到限制;文献[3]采用多感知层神经网络架构,通过改变隐藏层中的节点数量,获得神经网络最佳结构。然而该系统需要构建指纹库,一旦室内环境发生些许改变,指纹库和神经网络模型都需进行修正;文献[4]选用加速度计和光传感器测量光强度,并实现25 cm内的定位精度,但其需要精确的测量精度作为保障;Chen等人[5]提出一种基于改进遗传算法的VLC室内定位系统,通过将误差修正因子整合到遗传算法中,将由不同因素引起的定位误差控制在最小值范围内。但所提算法收敛速度不高,不能够满足实时定位的需求;Cai等人[6]和文献[7]分别提出了基于粒子群算法和基于蚁群算法的室内可见光3维定位系统,然而上述方法在构建信道模型时,并没有考虑多径反射对定位精度的影响问题。
针对上述研究中存在的问题,本文提出基于改进免疫粒子群优化(Improved IMmune Particle Swarm Optimization, IIMPSO)的室内可见光3维定位方法。首先利用蒙特卡罗射线跟踪法分析了多径反射对可见光系统的影响,进而提出对接收机的视场角进行合理选择以期降低反射的影响。对此,采用卡尔曼滤波算法对受环境干扰的接收功率进行优化处理,并基于室内可见光模型建立适应度函数;针对粒子在寻优过程中会趋向同一化,并在后期收敛速度变慢易陷入局部收敛的问题,改进了速度权重与学习因子,并就此提出基于粒子浓度和适应度的选择策略。仿真表明,本文所提方法在室内3维空间中可实现高精度定位。
图1给出由9个LED构成阵列,接收机距离地面1 m 的V L C 定位模型,其房间长×宽×高用L×W×H表示,取L=5 m,W=5 m,H=3 m。其中,LED阵列作为发射器安装在房间天花板上,每个发射器设置其坐标的标识码,采用开关键控(OOK)调制方式调制LED。其中A点(2.5 m, 2.5 m,1 m)位于房间中心处,B点(2.5 m, 0, 1 m)位于房间边缘处,C点(0, 0, 1 m)位于房间角落处。LED辐射照度遵循朗伯辐射模型,其信道直流增益[8]为
图1 室内可见光通信模型
在可见光系统中,信道链路不仅存在直射链路,同时还存在反射链路[10],所以本文使用蒙特卡洛射线跟踪法对房间中光功率进行仿真分析。其对应的仿真分别如图3、图4和图5所示。分析可知,房间中心处受反射影响较小,而房间角落和边缘处,非直射功率有明显的增加。
由于可见光通信的信道模型是一个具有有限持续时间脉冲响应的线性时不变系统,其直射脉冲响应为
图2 倾斜状态下可见光通信模型示意图
图3 接收平面总接收功率分布图
图4 接收平面接收到直射功率分布图
图5 接收平面接收到非直射功率分布图
式中, S 表示发射器,R 表示接收器,d Ω表示接收端接收面的立体角,δ 表示脉冲响应,c为光速。
总脉冲响应为各阶脉冲响应之和,其表达式为
式中,k 表示反射次数。
在室内定位中,通过接收功率来估算收发端的距离,然而接收功率受到空间和时间上的影响。故本文在参考文献[11]的基础上,提出采用卡尔曼滤波算法对LED进行滤波操作,如图6所示结果表明卡尔曼滤波后的光功率取值更加精确。
图6 基于卡尔曼滤波算法的接收功率滤波优化图
粒子群算法通过群体中粒子间的合作与竞争来搜索复杂问题空间中的最优解,所有的粒子朝着个体最优和群体最优的目标飞行,然而在进化后期会导致当前优良粒子过于集中或浓度过高,从而陷入局部最优。文献[12]为克服粒子群优化算法多样性不足的缺点,引入免疫算法思想提高寻优能力。基于上述原理,本文提出将IIMPSO算法与可见光3维定位系统相结合的基于改进的免疫粒子群算法(IIMPSO),并由粒子构成3维空间坐标(x ,y,z),表1给出IIMPSO算法与3维定位问题的映射关系。其中,第i个粒子的速度和位置计算式如式(9)和式(10)所示
由于IIMPSO算法的第1代粒子在空间中随机分布,设置粒子群为N,最大迭代次数为 titer。给每个粒子一个随机坐标(x ,y,z)作为定位系统中PD的初始位置和随机速度(vx,vy,vz)。其中,算法中粒子的位置坐标受3维空间约束。
现有文献大都以定位点的真实距离与估计距离之差作为适应度函数,当定位点与某一LED距离较远时,受此影响通过信道模型得到的估计点误差会增大。对此,本文选取与定位点最近的3个LED的距离,并以该距离的倒数作为权重系数设计适应度函数
表1 免疫粒子群与3维定位问题的映射关系
免疫算法有着搜索效率高、多样性好和具备自我调节的特点,若某一类的粒子浓度过高,则很难保证种群的多样性,故设计一种改进的选择概率
根据空间中随机分布的粒子,计算粒子与最近3个LED的坐标差作为真实距离,然后通过定位端接收到的功率值以及可见光信道模型计算得到定位端与最近3个LED之间的距离作为估计距离。其次将真实距离与估计距离之差作为适应度函数,最后通过算法在3维空间中迭代搜索,其算法的最优粒子即为定位位置。表2给出了IIMPSO算法的参数设置[13],可见光3维定位的流程图如图7所示。
表2 IIMPSO算法参数表
将混沌粒子群优化(CPSO) 3维定位系统[14]、蚁群算法3维定位系统[7](Ant Colony Optimization,ACO)中的定位算法与本文所提定位算法分别在如表3所示的几种状况下进行测试。其测试表明,接收平面水平与未采用RSS滤波处理其定位误差明显高于接收平面倾斜或经RSS处理的情况;当分别采用接收平面倾斜或RSS处理,其误差降低贡献基本相当;而当接收平面倾斜并采用RSS进行处理,其定位误差最低。因此在以下的仿真测试中,将接收平面倾斜放置并采用RSS进行预处理。
(1)定位误差测试:表4给出定位系统的仿真参数[15],选取具有代表性的中心点A点(2.5 m, 2.5 m,1 m)、边缘处B点(2.5 m, 0 m, 1 m)和角落处C点(0 m, 0 m, 1 m)展开研究。如图8所示为定位点A,即处于中心处时粒子迭代的状态以及适应度函数的变化,算法在11代收敛,定位点A的解为(2.005 m, 2.024 m, 0.995 m),其定位误差为0.0253 m;当定位点位于边缘处时,算法在16代收敛,定位点B的解为(2.018 m, 0.008 m, 1.011 m),其定位误差为0.0351 m;当定位点位于角落时,算法在20代收敛,定位点C的解为(0.028 m, 0.016 m, 1.019 m),其定位误差为0.0417 m。虽然通过优化FOV,并对噪声进行了滤波处理,但接收机所接收的功率仍包含一定的反射功率和环境噪声,算法中仍会出现适应度为0的粒子,导致误差的产生。
图7 基于IIMPSO算法的室内可见光3维定位流程图
表3 预处理效果测试(平均定位误差(m))
(2)不同高度下定位测试:设置接收机处于不同高度如0.5 m, 1.5 m处,选取接收平面的10×10个接收点作为定位参考点进行研究分别如图9和图10所示。虽然高度不同但误差分布趋势基本一致,即中心小,边缘及角落上误差较大,而且定位误差主要集中在5 cm以内。
为了证明本文算法相对于同类粒子群算法[16,17]以及其他算法的优势,本文将混沌粒子群优化3维定位系统 (Chaotic Particle Swarm Optimization,CPSO)[14]、蚁群算法3维定位系统 (Ant Colony Optimization, ACO)[7]、改进遗传算法3维定位系统(Improved Genetic Algorithm, IGA)[5]、模拟退火粒子群优化算法的3维定位系统 (Simulated Annealing Particle Swarm Optimization, SAPSO)[6]等与所提算法在相同环境与条件下进行仿真如表5所示,并且FOV取为60°,引入接收平面倾斜修正与RSS滤波预处理。表5的结果表明,所提算法的定位精度较高(误差0.031 m)仅次于SAPSO算法(误差0.030 m),定位时间最短(2.03 s)。结果表明所提算法定位与对比方法相比其精度较高,证明可见光通信在室内定位中有着很好的应用前景[18,19]。
表4 IIMPSO算法参数表
图8 位于中心A处的粒子迭代分布及适应度收敛曲线图
图9 接收端高度为0.5 m下定位误差图及误差柱状图
图10 接收端高度为1.5 m下定位误差图及误差柱状图
针对室内可见光定位系统中3维定位困难的问题,本文提出一种基于改进的IIMPSO算法的室内可见光3维定位系统。通过优化FOV以减少多径反射的影响,同时完善倾斜状态下的定位模型,采用卡尔曼滤波算法优化对接收光功率进行处理,最后利用所提算法在3维空间中优化搜索。仿真结果表明,本文所提算法定位与对比方法相比,其精度较高,算法收敛时间更短,为室内定位提供一种具有一定价值参考的方法。
表5 不同算法有效性验证