徐岩 王昕昕
摘 要:在漫反射光信道中,可見光室内定位受一阶反射、噪声信号等的影响,边界区域的定位误差相比内部区域较大,针对此问题,提出一种基于多层极限学习机的分区域定位算法,并通过仿真实验验证了算法的有效性. 首先,对整体的实验区域建立第1层极限学习机神经网络,计算出整体的定位误差. 其次,根据定位误差的大小和分布特征建立第2层极限学习机神经网络,将整体实验区域划分为边界区域和内部区域. 对提取出的边界区域建立第3层极限学习机神经网络,计算出边界区域的定位误差. 最后将边界区域的定位误差更新到整体的定位误差中,以实现定位. 实验结果表明,该算法的整体平均定位误差为2.79 cm. 与接收信号强度算法和反向传播神经网络相比,该算法的平均定位误差分别降低了13倍和55.36%. 与单层极限学习机算法相比,边界区域的平均定位误差降低了65.66%,整体的平均定位误差降低了23.77%. 该算法边界区域的定位误差明显降低,具有更高的定位精度和鲁棒性能,可适用于不同的定位场景.
关键词:室内定位系统;可见光通信;极限学习机;分区域;接收信号强度
中图分类号:TN929.1 文献标志码:A
Indoor Positioning Algorithm of Subregional
Visible Light Based on Multilayer ELM
XU Yan,WANG Xinxin?覮
(School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China)
Abstract: In a diffuse optical channel,the visible light indoor positioning is affected by first-order reflection and noise,and thus the positioning error in boundary region is relatively larger than that in interior region. To solve this problem,a positioning algorithm of subregional visible light indoor based on multilayer Extreme Learning Machine (ELM) was proposed in this paper,and the effectiveness of the proposed algorithm was verified by simulation experiments. Firstly,the first layer ELM based on the entire experimental region was established to calculate the entire positioning error. Secondly,the second layer ELM based on the magnitude and distribution characteristics of positioning error was established,and the entire experimental region was divided into boundary subregion and interior subregion. Thirdly,the third layer ELM based on the extracted boundary subregion was established to calculate the boundary positioning error. Lastly,the entire error with updated boundary error was used to realize the positioning. The experimental results show that the entire average positioning error of the proposed algorithm is 2.79 cm. Compared with the Received Signal Strength(RSS) and Back Propagation(BP) neural networks,the average positioning error is reduced by 13 times and 55.36%,respectively. Compared with the single-layer ELM,the boundary average positioning error is reduced by 65.66%,the entire average positioning error is reduced by 23.77%. Experimental results indicate that the boundary positioning error of the proposed algorithm is obviously decreased,which means the proposed algorithm has higher positioning accuracy and robustness,and is suitable for various positioning applications.
Key words: indoor positioning systems;visible light communication;extreme learning machine;divided region;received signal strength
随着位置服务的发展,室内定位成了热门的研究领域. 全球定位系统(Global Positioning System,GPS)广泛应用于室外定位,定位精度可达到几米,但在室内不能满足定位需求[1].目前有许多技术应用于室内定位,如无线(Wireless Local Area Network,WLAN)、超宽带(Ultra-wideband,UWB)、射频识别(Radio Frequency Identification,RFID)等[2],但這些技术存在定位精度不高、电磁干扰及设备昂贵等问题. 基于发光二极管(Light Emitting Diode,LED)的可见光通信(Visible Light Communication,VLC)可用于数据通信、智能交通系统、定位等领域,具有成本低、不受限制的可见光频谱资源、无电磁干扰等优点. 相对于其他的定位技术[3],基于VLC的室内定位得到了发展.
根据接收端的不同,可见光室内定位技术分为基于光电探测器(Photodetector,PD)和基于图像传感器(Image Sensor,IS)的定位. 当PD为接收端时,基础的定位方法有接收信号强度法(Received Signal Strength,RSS)、到达角度差法(Angel Difference of Arrival,ADOA)、到达时间差法(Time Difference of Arrival,TDOA)[4-6]等. 当IS为接收端时,利用LED在传感器上的成像和图像测量原理进行定位[7-10]. 因此,从系统设备和定位精度综合考虑,采用了以PD为接收端,利用RSS进行定位.
文献[11]提出了基于VLC的异步定位算法,利用RSS和线性最小二乘法估计发送端和接收端的距离,但只考虑了视距传播的情况. 文献[12]提出了在漫反射光信道中,基于反向传播(Back Propagation,BP)神经网络的可见光定位算法,建立RSS和位置的训练测试模型进行定位,但边界区域定位误差较大. 文献[13]针对边界定位误差大的问题,提出了边界校正算法,在最小二乘法得到发送端和接收端的距离中引入测量误差,利用牛顿迭代算法使距离误差的残差函数足够小,提高了整体的平均定位误差.
在此基础上,本文提出了一种基于多层极限学习机(Extreme Learning Machine,ELM)的分区域可见光室内定位算法. 首先利用ELM回归算法对整体的实验区域建立第1层神经网络,进行整体的定位. 针对边界区域定位误差大的问题,将整体实验区域划分为边界区域和内部区域,利用ELM分类算法建立第2层神经网络. 将提取出来的边界区域利用ELM回归算法建立第3层神经网络,计算出边界区域的定位误差. 将边界区域误差进行更新,以得到最终的定位. 实验结果表明,建立3层神经网络,可提高整体的定位精度.
1 系统模型
可见光通信利用可见光信号在空间传播传递信息. 发送端将LED的位置信息通过调制、编码以及对LED进行驱动,将电信号转换为光信号. 在接收端,光信号通过光学集中器、滤波器和PD将光信号转换为电信号,通过解调解码得到发送端LED的位置. 基于LED的可见光定位利用LED的位置信息以及PD接收到的功率相对发送端功率的变化实现接收端PD的定位. 本文提出的算法用于定位
阶段.
假设可见光在空间传播符合朗伯发射模型,存在视距传播、一阶反射、二阶反射等形式. 视距传播的影响远大于反射传播的影响,且二阶反射在光信道中的脉冲响应所占比例较低,可忽略不计[14]. 光信道的直流增益H(0)表示为:
H(0) =
■cosm(?准)Ts(ψ)g(ψ)cos(ψ),0≤ψ≤ψc0,?鬃 > ?鬃c
(1)
式中:A为PD的物理面积;m为朗伯阶数;Dd为发送端和接收端之间的距离;?准和?鬃分别为发送端的辐射角和接收端的入射角;?鬃c为接收端的视场角; Ts(ψ)为光学滤波器的增益;g(ψ)为光学集中器的增益,其可表示为:
g(ψ) = ■,0≤ψ≤ψc0,0 > ?鬃c (2)
式中:n为折射指标.
光信道一阶反射的直流增益Href(0)表示为:
Href(0) = ■ρdAwall cosm(?准)cos(α)cos(β)g(ψ)Ts(ψ)cos(ψ),0≤ψ≤ψc0,?鬃 > ?鬃c
(3)
式中:D1为发送端到反射点间的距离;D2为反射点到接收端的距离;ρ为反射因子;dAwall为反射区域的面积;?准和?琢分别为反射点的辐射角和入射角;β和ψ分别为接收端的辐射角和入射角.
当PD接收到光信号时,能够将光功率转换为电功率,电功率表示为:
Prs = {RPt [H(0) + Href(0)]}2 + σ2 noise (4)
式中:R为接收端PD的响应度;Pt为LED的发射功率;σ2 noise为总噪声方差,包含热噪声方差和散粒噪声方差. 散粒噪声方差和接收端接收功率相关,假设背景电流来自直射太阳光[14],将这两项噪声均假设为加性高斯白噪声(Additive White Gaussion Noise,AWGN)[15]. 在对LED进行调制时,当速率为200 kbps时,码间串扰很小可以忽略[15]. 各噪声方差可表示为:
σ2 noise = σ2 thermal + σ2 shot (5)
σ2 thermal = ■ηAI2B2 + ■η2A2I3B3 (6)
σ2 shot = 2qRpPr B + 2qIbg I2 B (7)
式中:σ2 thermal為热噪声方差;σ2 shot为散粒噪声方差;k为玻尔兹曼常数;Tk为绝对温度;G为开环电压增益;η为PD上每单位面积的固定电容;I2为噪声带宽因子;Pr为接收的光功率;B为等效噪声带宽;q为电荷量;Ibg为背景电流;Γ为FET信道噪声因子; gm为FET跨导. 故系统的信噪比可表示为:
SNR = 101g■ = 101g■
(8)
式中:Pr2为接收端的信号功率.
2 算 法
2.1 ELM算法
ELM[16-17]是基于单隐藏层前馈神经网络(Single-hidden Layer Feedforward Neural Networks,SLFNs)的算法,该算法由输入层、隐藏层、输出层组成. 随机产生输入层和隐藏层间的连接权值矩阵和隐藏层神经元的阈值矩阵,且在训练过程中保持不变. 只需要设置隐藏层的个数和隐藏层神经元间的激活函数,通过计算隐藏层的输出矩阵及其广义逆矩阵,便可求得隐藏层和输出层间的连接权值矩阵,进而求得输出,SLFNs可以无限逼近训练样本. 该算法具有设置参数少,训练时间短,学习速度快,良好的泛化性能等优点,可用于分类和回归拟合[18].
假设具有N个训练样本(xi,ti),其中xi = [xi1,xi2,…,xin]T ∈Rn,ti = [ti1,ti2,…,tim]T ∈Rm,n和m分别为输入层和输出层神经元的个数.具有L个隐藏层节点的标准SLFNs表达式为:
■βi g(wi·xj + bi) = oj,j = 1,…,N (9)
式中:wi = [wi1,wi2,…,win]T表示输入层第i个神经元和隐藏层间的连接权值矩阵;βi = [βi1,βi2,…,βin]T表示隐藏层第i个神经元和输出层间的连接权值矩阵;bi是第i个隐藏层神经元的阈值矩阵. 当激活函数无限可微时,具有L个隐藏层节点的标准SLFNs可以零均值误差逼近N个训练样本,即
■‖oj - tj‖= 0 (10)
■βi g(wi·xj + bi) = tj,j = 1,…,N (11)
上式可表示为矩阵的形式:
Hβ = T (12)
式中:H为隐藏层神经元的输出矩阵;β为隐藏层神经元与输出层神经元之间的连接权值矩阵;T为期望输出矩阵.
隐藏层与输出层间的连接权值矩阵β可通过求解以下方程组的最小二乘解获得:
■‖Hβ - T‖ (13)
其解为:
■ = H?覮T (14)
式中:H?覮为隐藏层输出矩阵H的广义逆矩阵.进一步求得输出:
oj = H■ (15)
当ELM神经网络用于回归时,定位误差表
示为:
err = |oj - T | (16)
当ELM神经网络用于分类时,对应的类标为:
label(x) = arg ■(oj) (17)
式中:m为样本的类别总数.
2.2 基于多层ELM的分区域可见光定位算法
可见光信号在传播过程中,随着距离的增加信号会逐渐衰减,在边界处信号强度较弱,而一阶反射和噪声信号在边界处的信号强度较强,从而相对内部区域,边界区域的一阶反射和噪声信号对直射信号的影响较大,故边界处定位误差较大. 针对边界区域存在的此问题,将整体实验区域划分为边界区域和内部区域,采用3层神经网络进行定位,进一步提高整体的定位效果.
总的算法流程图如图1所示. 第1层神经网络对整体实验区域进行初步定位. 首先根据上述的光信道增益,利用PD采集来自每一个LED的总电功率,将总电功率归一化到[-1,1]区间,以归一化的电功率为输入,对应的位置坐标为输出,建立训练和测试样本集数据1. 利用ELM回归算法对训练样本1建立神经网络模型,将测试样本1输入到训练好的神经网络中以实现对接收端的定位,分别根据式(16)计算训练和测试样本的定位误差.
第2层神经网络利用ELM分类算法实现了整体区域的划分. 综合考虑第1层神经网络得到的训练和测试样本的定位误差大小和分布特征,将靠近墙体且定位误差大于平均定位误差的区域定义为边界区域,其他区域定义为内部区域,其可表示为:
I(err) = 1,if err > ave0,if err < ave (18)
■
图7 RSS算法定位误差
Fig.7 Positioning error of RSS algorithm
■
图8 BP神经网络测试数据定位误差
Fig.8 Testing positioning error of BP neural network
为了进一步表示多层ELM、单层ELM、BP以及RSS算法的定位性能,比较了它们各误差值的累积分布函数(Cumulative Distribution Function,CDF). 从图9可以看出,多层ELM的定位精度优于其他算法. 单层ELM误差小于5 cm的概率是81.738%,BP神经网络定位误差小于5 cm的概率是64.994%,RSS误差小于5 cm的概率是4%,而多层ELM误差小于5 cm的概率是86.54%,定位精度较高.
■
定位误差/m
图9 各算法定位误差的累积分布函数
Fig.9 CDF of the positioning error of different algorithms
神经网络的性能受隐藏层个数的影响,图10表示了多层ELM、单层ELM、BP以及RSS算法随隐藏层个数变化的平均距离误差(Average Distance Error,ADE)和均方根误差(Root Mean Square Error,RMSE). 其中,隐藏层个数为0时,代表RSS定位算法. 从图中可看出,RSS算法的ADE和RMSE值最高,表示其定位性能最差. 随着隐藏层个数的增加,多层ELM、单层ELM、BP的定位性能逐渐提高并趋于稳定,且多层ELM算法的ADE和RMSE值最小,其定位性能优于RSS、单层ELM和BP算法. 当隐
■
隐藏层个数
图10 不同隐藏层个数的定位误差
Fig.10 Positioning error with different number hidden layer
藏层个数为30时,多层ELM的定位性能最好,此时ADE为2.79 cm,RMSE为3.32 cm. 隐藏层个数为20时,BP的定位性能最好,此时ADE为6.25 cm,RMSE为8.44 cm. 而隐藏层个数为450时,单层ELM的定位性能最好,此时ADE为3.66 cm,RMSE为5.35 cm. 其中本文的第1层ELM神经网络即基于此数据.
ELM算法只需要设置隐藏层个数和激活函数,训练时间复杂度低. 以下算法测试时间均是在最佳隐藏层个数以及62 500组数据下计算所得,取10次实验的平均时间作为其时间复杂度. 其中3层ELM神经网络总的平均测试时间为1.504 9 s;单层ELM神经网络平均测试时间为0.968 8 s;BP神经网络的平均测试时間为0.125 0 s;RSS算法定位时间为2.843 8 s. 虽然BP测试时间最短,但其定位精度不及多层ELM算法.
在实际环境中,信号容易受到各种噪声的影响,为了评估所提算法的鲁棒性,图11表示了在不同的信噪比水平下各种算法的定位性能. 随着信噪比的降低,多层ELM、单层ELM、BP定位算法对噪声容忍高,具有较好的定位效果,且多层ELM定位精度最高. 但RSS算法的定位性能明显降低.
■
信噪比SNR/dB
图11 不同信噪比下的定位误差
Fig.11 Positioning error with different SNR
由以上分析可知,多层ELM分区域定位算法的定位精度较高,优于传统的RSS算法、单层ELM和BP神经网络,且鲁棒性较强. 时间复杂度上虽不是最低,但所需时间较少. 因此综合考虑算法的定位误差、时间复杂度和鲁棒性,该算法与上述算法相比,能够满足室内定位的需求,且能适应于噪声较大的不同的场景中,如室内、走廊、展厅、博物馆等.
5 结 论
本文针对漫反射光信道中,边界区域定位误差大的问题,提出一种多层ELM的分区域可见光室内定位算法. 由理论分析和仿真实验可得:
1)所提算法能够实现可见光室内定位,平均定位误差为2.79 cm,具有良好的定位效果,且鲁棒性较强.
2)受一阶反射和噪声信号的影响,边界区域定位误差较大,该算法通过建立3层ELM神经网络,降低了边界区域误差,提高了定位精度.
3)该算法具有ELM原有的设置参数少,学习速度快,泛化能力强等优点,无需求解复杂的非线性方程组.
4)与传统的RSS定位算法和BP神经网络相
比,平均定位误差分别降低了13倍和55.36%,和ELM神经网络相比,边界区域定位误差降低65.66%,整体平均定位误差降低23.77%,进一步证明了该算法的有效性.
本文的研究结果表明,该算法具有较好的定位性能,且训练测试时间较少,解决了边界区域定位误差较大的问题,具有较强的鲁棒性,对于可见光室内定位的应用具有一定的参考意义.
参考文献
[1] OH J,UM J. Acoustic signal-based indoor global coordinates system for smartphones [J]. IEEE Sensors Journal,2018,18(8):3248—3254.
[2] YASSIN A,NASSER Y,AWAD M,et al. Recent advances in indoor localization: a survey on theoretical approaches and applications [J]. IEEE Communications Surveys & Tutorials,2017,19(2): 1327—1346.