APP下载

基于BPNN-MLR的室内可见光定位算法

2022-03-29王凤英徐艳红胡晓莉

光通信研究 2022年2期
关键词:参考点接收器定位精度

秦 岭,刘 哲,王凤英,郭 瑛,徐艳红,胡晓莉

(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)

0 引 言

近年来,随着移动通信网络和电子信息技术的迅速发展,人们对位置服务的关注度不断上升。全球定位系统(Global Positioning System, GPS)能为用户提供米级的位置服务,现已应用于各种室外位置服务中[1]。然而,在室内环境中,GPS的定位精度很低,无法满足室内位置服务的需求[2]。目前,室内定位大多采用蓝牙、红外线、无线局域网、射频信号和超宽带等技术[3-6],但这些技术普遍需要复杂硬件设施的支持,增加了应用成本,而且容易受到电磁干扰。可见光定位技术相对于上述定位技术具有安全性高、抗干扰能力强、设备成本低和定位精度高等优点[7-10]。

传统的室内可见光定位算法有到达时间法、到达时间差法、到达角度法、接收信号强度指示法和位置指纹法等[11-14]。但这些算法要么需要很高的硬件设施支持,要么定位精度较低。针对位置指纹算法存在定位精度低和计算复杂度高等问题,本文提出了一种基于反向传播神经网络(Back Propagation Neural Network, BPNN)和多元线性回归(Multiple Linear Regression, MLR)的室内可见光定位算法。针对多发光二极管(Light Emitting Diode, LED)室内定位系统存在的小区间干扰,本文提出了一种单LED室内定位系统,不仅避免了小区间干扰,还可以应用于某些LED有限的特定场景。实验结果表明,本文提出的定位算法和定位系统能有效提高室内可见光定位的性能。

1 室内定位系统

室内定位系统模型如图1所示,一个LED作为发射器悬挂在天花板的中心,3个水平光电探测器(PhotoDetector, PD)作为接收器放置在地面上的任意位置。接收器模型如图2所示,采用三角形拓扑,待测点位于接收器的中心。

图1 室内定位系统模型

图2 接收器模型

在视距(Line of Sight, LOS)链路中,引入朗伯辐射模型,接收器PDi(i=1, 2, 3)的接收光功率Pr, i可表示为

式中:Pt为LED的发射光功率;H(0)为LOS链路的直流增益,可表示为

式中:m=-ln2/ln(cosφ1/2)为朗伯辐射阶数,φ1/2为LED的半功率角;A为PDi的物理面积;d为LED和PDi之间的传输距离;ψ为PDi的接收角;φ为LED的辐射角;Ts(ψ)为光学滤波器的增益;g(ψ)为光学聚光器的增益;ψc为PDi的视场角。

2 离线准备阶段

2.1 位置指纹库的建立

将室内地面均匀划分成N个小网格,并选取每个小网格的中心位置作为参考点,那么将PDi在每一个参考点接收到的光功率向量作为一个指纹,遍历所有的参考点便可得到N个指纹FP,保存入库,如式(3)所示。

式中,Pmi为在第m个参考点处第i个PD接收到的光功率,即

是指纹库中的一个指纹。每一个指纹对应唯一的位置,位置用二元坐标(x,y)表示,那么每个指纹对应的位置信息Loc表示为

那么,位置指纹库LFDB=[LocFP]。

2.2 BPNN的训练

BPNN是一种多层前馈神经网络,其主要特点是信号的前向传播和误差的后向传播。对于每个训练输入,BPNN算法执行以下操作:首先将输入提供给输入层神经元,并逐层将输入前传,直到产生输出层的结果;然后计算输出层的误差,并将输出误差逆向传播至隐藏层神经元;最后根据隐藏层神经元的误差来对连接权和阈值进行调整。该迭代过程循环进行,直到训练误差或训练次数达到预设时为止[15-16]。BPNN的拓扑结构如图3所示。

图3 BPNN拓扑结构

BPNN的输入为PDi接收到的光功率向量,输出为PDi对应的位置坐标;输入层到隐藏层的连接权和阈值分别为Wih和bh;隐藏层到输出层的连接权和阈值分别为Whj和bj;隐藏层和输出层的神经元激活函数分别为f1(x)和f2(x),则隐藏层中第h个神经元的输出可表示为

设隐藏层的神经元个数为q,则输出层中第j个神经元的输出βj可表示为

将位置指纹库中的数据随机分成训练集和验证集,其中训练集用来训练BPNN模型,验证集用来评估BPNN模型的泛化能力。

3 在线定位阶段

3.1 确定待测点粗略的位置范围

将待测点测得的接收光功率向量输入到离线准备阶段训练好的BPNN模型中,得到待测点的估计位置坐标,由于估计位置坐标和实际位置坐标之间会存在误差,因此可以确定待测点可能的位置范围是以该估计位置坐标作为圆心,r作为半径的圆,图4所示为位置范围示意图。

图4 位置范围示意图

3.2 基于MLR的精确定位

MLR是一种表达一个因变量与多个自变量之间关联的方法[17-18],公式如下:

式中:y为因变量;x1,x2,…,xn为自变量;b0,b1,b2,…,bn为回归系数。

由于MLR模型的因变量只有一个,因此需要使用两个MLR模型分别负责x轴和y轴的位置预测。假设待测点的位置范围中有k个参考点,在这k个参考点的位置指纹数据下,关于x轴位置预测的MLR模型可以表示为

式中:b0,b1,b2,b3为回归系数;y1,y2,…,yk为k个参考点的x轴坐标;{(x11,x12,x13),(x21,x22,x23),…,(xk1,xk2,xk3)}为k个参考点的接收光功率向量。令

则MLR模型也可表示为

式中,Y和X均为已知矩阵,因此求解MLR模型就是求上式中的b,通常采用最小二乘法来求解MLR模型的回归系数b,则b可表示为

同理,关于y轴位置预测的MLR模型也可由上述公式得出。最后将待测点测得的接收光功率向量分别代入到关于x轴和y轴位置预测的MLR模型中,得到待测点的精确位置坐标。

4 实验结果及分析

为了评估本文算法在实际室内环境下的定位性能,在2.0 m×2.0 m×2.5 m的室内空间中进行了实验,LED固定在距离地面高度为2.5 m处,坐标为(1.0,1.0,2.5),3个水平PD作为接收器放置在地面上的任意位置,如图5所示。接收器首先将接收到的光强转化为微弱的电流,然后通过跨阻抗放大器将微弱的电流转化为较大的电压,并由示波器进行测量,最后再通过计算就可得到接收器在某一位置上的光功率向量。接收器实物如图6所示,3个水平PD与中心待测点的距离均为10 cm。

图5 实验场景图

图6 接收器实物图

在离线准备阶段,首先将室内地面均匀划分成196个小网格,并选取每个小网格的中心位置作为参考点;然后测量接收器在每个参考点处接收到的光功率向量,并将每个参考点的位置坐标和对应参考点处接收到的光功率向量形成的位置指纹数据存储到位置指纹库中;最后将位置指纹库中的数据随机分成训练集和验证集,其中训练集用来训练BPNN模型,验证集用来评估BPNN模型的泛化能力。BPNN的隐藏层和输出层的神经元激活函数分别选择tansig和purelin,误差逆传播算法选择梯度下降法。由于隐藏层的神经元个数q不同,得到的BPNN模型也不同,因此,实验比较了BPNN算法在不同q值下的平均定位误差,如图7所示。

图7 不同q值下的平均定位误差

由图可知,随着隐藏层的神经元个数的增加,平均定位误差会先减小后略有回升,最后逐渐稳定下来。选取隐藏层的神经元个数为9时得到的BPNN模型的泛化能力最好。

在在线定位阶段,为了验证本文算法的有效性,在室内地面上选取了100个与位置指纹库中参考点位置坐标不同的测试点作为测试集。首先将测试集中每个测试点的接收光功率向量输入到离线准备阶段训练好的BPNN模型中,得到其对应的估计位置坐标;然后以该估计位置坐标作为圆心,r作为半径来确定测试集中每个测试点粗略的位置范围。由于对不同位置范围中参考点的位置指纹数据应用MLR,得到的MLR模型也不同,因此,实验比较了MLR算法在不同r值下的平均定位误差,如图8所示。

图8 不同r值下的平均定位误差

由图可知,r值过大或过小都会使得到的MLR模型不准确,进而影响定位结果。选取r值为0.30 m时得到的MLR模型的定位效果最好。

最后,对测试集中每个测试点位置范围中参考点的位置指纹数据应用MLR,得到两个关于x轴和y轴位置预测的MLR模型,并将测试集中每个测试点的接收光功率向量分别代入到关于x轴和y轴位置预测的MLR模型中,得到测试集中每个测试点的精确位置坐标。本文算法的定位误差分布如图9所示。

图9 本文算法的定位误差分布

由图可知,本文算法的最大定位误差为16.58 cm,平均定位误差为5.04 cm,与仅使用BPNN算法相比,本文算法的平均定位精度提高了47.61%,已经能够满足大多数室内位置服务对定位精度的要求。

为证明本文算法可有效地提高定位精度,实验比较了本文算法和传统位置指纹算法的定位误差累计分布,如图10所示。

图10 两种算法的定位误差累计分布

由图可知,与传统的位置指纹算法相比,本文算法具有更高的定位精度。经过计算可知,这两种算法的平均定位误差分别为5.04和8.62 cm。相较于传统的位置指纹算法,本文算法的平均定位精度提高了41.53%。

为证明本文算法可有效减少定位时间,在Intel(R) Core(TM) i5-10210 CPU @ 1.60GHz 2.11 GHz和RAM 12.0 GB的计算机上,通过Matlab软件进行实验比较了本文算法和传统的位置指纹算法的平均定位时间,结果如表1所示。

表1 两种算法的平均定位时间

相较于传统的位置指纹算法,本文算法的平均定位时间减少了56.60%。因此,本文算法的定位精度和定位时间都比传统的位置指纹算法更具优势。

5 结束语

本文提出了一种基于BPNN和MLR的单LED室内定位算法,首先使用BPNN确定待测点粗略的位置范围,然后对位置范围中参考点的位置指纹数据应用MLR,进一步对待测点的位置进行更精确地定位。实验结果表明,在2.0 m×2.0 m×2.5 m的室内空间中,本文算法的平均定位误差为5.04 cm,能够满足大多数室内位置服务对定位精度的要求。与传统的位置指纹算法相比,本文算法的平均定位精度提高了41.53%,平均定位时间减少了56.60%,在较低计算复杂度的前提下实现了更精确的定位。在未来的工作中,我们将继续使用机器学习算法来优化定位精度和定位时间。

猜你喜欢

参考点接收器定位精度
北斗定位精度可达两三米
FANUC数控系统机床一键回参考点的方法
GPS定位精度研究
参考点对WiFi位置指纹算法的影响
组合导航的AGV定位精度的改善
JXG-50S型相敏轨道电路接收器自动测试台
数控机床返回参考点故障维修
埃及
FANUC数控机床回参考点故障分析与排除
ZPW-2000A轨道电路接收器冗余电路存在问题分析及对策