-
物联网的发展已经涉及生活的方方面面,众多基于位置信息的服务(Location Based Service, LBS),如仓库物流、工作流自动化、医疗康复、家庭活动识别和计算机辅助生活等得到广泛应用[1]。目前室外的定位以全球定位系统(Global Positioning System, GPS)为主,而在室内环境下由于墙壁的阻挡设备很难收到GPS卫星数据[2]。由于室内环境复杂且存在无线信号衰减和多径效应,所以还没有找到一种适用于大部分场景的定位方案。目前室内定位技术有无线网络(Wireless Fidelity, Wi-Fi)、蓝牙、ZigBee、射频识别(Radio Frequency Identification Device, RFID)、超宽带(Ultra-wide Band, UWB)和可见光[3-6]。其中Wi-Fi已经基本覆盖人们生活的各个地方,部署成本低,成为潜力最大的定位技术[7]。
无线定位中使用的无线信号指标包含到达时间[8](Time of Arrival, TOA)、到达时间差[9](Time Difference of Arrival, TDOA)、到达角度[10](Angle of Arrival, AOA)、接收信号强度(Received Signal Strength, RSS)[11]和更细粒子度的信道状态信息(Channel State Information, CSI) [12-13], CSI 在一定程度上刻画了多径传播。文献[14]提出了一种基于CNN的CSI指纹室内定位方法,引入卷积自编码器对CSI降维,保证了准确度和实时性,但模型的训练需要较多的数据集。文献[15]通过Siamese卷积神经网络学习5G蜂窝网络中CSI特征,并通过特征相似度比较估计目标位置,该算法能有效减少定位误差,需要多个基站完成。文献[16]设计的基于CSI的定位系统WiCLoc,在训练阶段融合CSI的幅度和相位来生成指纹,并应用WKNN算法进行指纹匹配。上述这些文献已经获得了不错的定位精度,但每次训练需要大量数据,且没有解决室内环境变化后繁琐的维护问题。
本文提出了一种改进多核极限学习机的室内定位方法提升定位精度,并持续更新定位模型,以跟踪室内环境的持续变化。该方法使用CSI幅值差信息和重构相位信息融合成指纹数据,并采用多核函数加权的形式增强模型的回归精度和泛化性。为了优化核函数中的参数,采用分段式和退火思想改进量子粒子群算法QPSO来提高其全局搜索能力。此外,使用在线增量学习和遗忘机制来改进多核极限学习机FO-MKELM,当环境变化后只需重新采集部分数据就可完成增量学习,而无需重新训练模型,同时为了避免过时的无用数据对模型精度的影响,引入遗忘机制设置有效期窗口剔除旧数据。最后在在线预测阶段对模型输出采用WKNN[17]匹配算法寻找多个最近点加权来获得更好的定位效果。
-
信号传输模型为:
$$ {{{\boldsymbol{Y}}}} = {{{\boldsymbol{H}}{\boldsymbol{X}}}} + n $$ (1) 式中, H是信道频率响应(Channel Frequency Response, CFR)矩阵;n为加性高斯白噪声;
$ {\boldsymbol{X}} $ 和$ {\boldsymbol{Y}} $ 分别表示发送和接收的信号矢量。以信道状态信息CSI的形式获取信道频率响应:$$ {\boldsymbol{H}} = {\left[ {{\text{CS}}{{\text{I}}_1},{\text{CS}}{{\text{I}}_2}, \cdots, {\text{CS}}{{\text{I}}_N}} \right]^{\mathrm{T}}} $$ (2) 式中,
${\mathrm{CS}}{{\mathrm{I}}_k}$ (K=1,2,···,N)表示第$k$ 个子载波的频率响应:$$ {\mathrm{CS}}{{\mathrm{I}}_k} = \left| {{\mathrm{CS}}{{\mathrm{I}}_k}} \right|{{\mathrm{e}}^{{\mathrm{j}}{\theta _k}}} $$ (3) 在MIMO系统中,发射和接收天线之间是相互独立的,此时所有天线对形成的信道信息矩阵为:
$$ {\boldsymbol{H}} = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{H}}_{11}}}&{{{\boldsymbol{H}}_{12}}}& \cdots &{{{\boldsymbol{H}}_{1t}}} \\ {{{\boldsymbol{H}}_{21}}}&{{{\boldsymbol{H}}_{22}}}& \cdots &{{{\boldsymbol{H}}_{2t}}} \\ \vdots & \vdots & \vdots & \vdots \\ {{{\boldsymbol{H}}_{r1}}}&{{{\boldsymbol{H}}_{r2}}}& \cdots &{{{\boldsymbol{H}}_{rt}}} \end{array}} \right] $$ (4) 式中,
${{\boldsymbol{H}}_{rt}}$ 表示由发射和接收天线之间通信链路的信道状态信息矩阵。矩阵${\boldsymbol{H}}$ 的维度为$t \times r \times s$ ,其中$t$ 、$r$ 和$s$ 分别为发射天线数、接收天线数及子载波数。为验证CSI定位性能,本文在实验室内随机选择4个参考点,每个参考点间隔10 min采集3次数据,采样时间10 s,采样频率为100 Hz。图1展示了4个参考点采集的幅值信息每根接收天线的CSI幅值表现出不同的特征,且存在噪声过大的信息。图2为同一个参考点上不同时间点采集到的数据,3次采集数据特征相似表明了CSI信号的稳定性,适用于室内定位。
-
CSI定位中大多使用幅值信息作为指纹进行定位。本文选择使用相邻子载波幅度差来提高其鲁棒性,幅度差计算公式为:
$$ {\mathrm{A}}{{\mathrm{D}}_{i,j}} = \left\{ {\begin{array}{*{20}{c}} {{A_{i,j + 1}} - {A_{i,j}}\quad i = 1,2,3,j = 1,2, \cdots ,29} \\ {{A_{i,1}} - {A_{i,j}}\quad i = 1,2,3,j = 30} \end{array}} \right. $$ (5) 式中,
${A_{i,j}} = \left| {{{\boldsymbol{H}}_{ij}}} \right|$ 表示第$i$ 个天线上第$j$ 个子载的幅值。 -
相比于CSI的幅值信息,其相位信息更稳定,所包含的空间特征更丰富。由于采集到的相位信息受设备中心频率偏差和采样频率偏差影响,无法直接用于定位指纹的构建,所以需要对相位信息进行线性重构。相位线性变换可以表示为:
$$ {\hat \varphi _i} = {\varphi _i} - 2{\text π} \frac{{{k_i}}}{N}\Delta t + \beta + Z $$ (6) 式中,
${\hat \varphi _i}$ 和${\varphi _i}$ 表示第$i$ 个子载波的测量值和真实值;$\Delta t$ 表示接收机与发射机之间的时间差;$\beta $ 为收发端载波频率不同导致的相位偏移量;$Z$ 为测量噪声;${k_i}$ 为第$i$ 个子载波对应的索引号,不同带宽下索引号不同;$N$ 表示快速傅里叶变换的大小。从式(6)中可以看出受$\Delta t$ 和$\beta $ 的影响,导致无法得到真实相位,所以使用一种线性变换的方法对相位信息做进一步的处理。线性变换方程的斜率和截距分别为$a$ 和$b$ ,变换如下:$$ a = \frac{{{{\hat \varphi }_n} - {{\hat \varphi }_1}}}{{{k_n} - {k_1}}} = \frac{{{\varphi _n} - {\varphi _1}}}{{{k_n} - {k_1}}} - \frac{{2{\text π} }}{N} {\text δ} $$ (7) $$ b = \frac{1}{n}\sum\limits_{j = 1}^n {{{\hat \varphi }_j}} = \frac{1}{n}\sum\limits_{j = 1}^n {{\varphi _j}} - \frac{{2{\text π} {\text δ} }}{{nN}}\sum\limits_{j = 1}^n {{k_j}} + \beta $$ (8) 式中,子载波的索引号是对称的,因此有
$ \displaystyle\sum\limits_{j = 1}^n {{k_j}} $ ,当多次测量时,可认为噪声$Z = 0$ ,因此可得到:$$ {\hat \varphi _i} = {\hat \varphi _i} - a{k_i} - b = {\varphi _i} - \frac{{{\varphi _n} - {\varphi _1}}}{{{k_n} - {k_1}}}{k_i} - \frac{1}{n}\sum\limits_{j = 1}^n {{\varphi _j}} $$ (9) 从式(9)可以看出,经过线性变换重构后的相位是真实相位的组合,含有更小的噪声。
-
极限学习机(Extreme Learning Machine, ELM)是一种基于单隐藏层前馈神经网络SLFN改良的机器学习模型[18],其结构如图3所示。
隐藏层具有L个节点的ELM可以表示为:
$$ \begin{split} f(x) = \sum\limits_{i = 1}^L {{\beta _i}G({w_i},{b_i},x) = {{\boldsymbol{h}}}(x){\boldsymbol{\beta}} = y} \quad x \in {R^n} ,{w_i} \in {R^n} \end{split} $$ (10) 式中,
$x$ 是一个$n$ 维输入样本;$y$ 是相对应的d维标签;${w_i}$ 和${b_i}$ 为隐藏层节点的参数,$ \boldsymbol{h}(x)=[G(w_1, b_1,x),\cdots ,G(w_L,b_L,x)] $ 是从$n$ 维输入空间到$L$ 维的特征映射;${{\boldsymbol{\beta}} } = {[{\beta _1},{\beta _2}, \cdots ,{\beta _L}]^{\mathrm{T}}}$ 是输出层权重向量,对于一组不同的训练数据,式(10)可以表示为:$$ {\boldsymbol{H\beta}} = {\boldsymbol{Y}} $$ (11) 式中,
$ {\boldsymbol{Y}} = {[{y_1},{y_2}, \cdots ,{y_N}]^{\mathrm{T}}}$ 表示了所有样本的标签,${{\boldsymbol{H}}_{N \times L}} = {[{h}{({x_1})^{\mathrm{T}}}, \cdots ,{h}{({x_N})^{\mathrm{T}}}]^{\mathrm{T}}}$ 是隐藏层的输出矩阵,采用正则化最小二乘法求解式(12)从而获得$\beta $ 的最优解:$$ \hat {\boldsymbol{\beta}} = {({{\boldsymbol{H}}^{\mathrm{T}}}{\boldsymbol{H}})^{ - 1}}{\boldsymbol{HY}} $$ (12) 通过最小二乘法可以有效避免传统梯度算法的局部极值问题,但容易导致过拟合,影响ELM模型的泛化能力,且稳定性也会随着样本数量的扩大而减弱。为解决上述问题,引入正则化表示:
$$\begin{split} & {\mathrm{Minimize}} : L_{P_{{\mathrm{B L M}}}}=\dfrac{1}{2}\|{\boldsymbol{\beta}}\|^2+\frac{c}{2}\|{\boldsymbol{\xi}}\|^2 \\ &\qquad {\mathrm{subject}} \quad {\mathrm{to}} : {\boldsymbol{H}} {\boldsymbol{\beta}}={\boldsymbol{Y}}-{\boldsymbol{\xi}} \end{split} $$ (13) 式中,
$ {\boldsymbol{\xi}} = {[{\xi _1},{\xi _2}, \cdots ,{\xi _n}]^{\mathrm{T}}}$ 表示训练误差;$c$ 是正则化参数。根据KKT(Karush-Kuhn-Tucker)定理,可将上式的约束优化转化为对偶优化问题:$$ {L_{{D_{{\mathrm{ELM}}}}}} = \frac{1}{2}{\left\| {\boldsymbol{\beta}} \right\|^2} + \frac{c}{2}{\left\| {\boldsymbol{\xi}} \right\|^2} - {\boldsymbol{\alpha}} ({\boldsymbol{H}}{\boldsymbol{\beta}} - {\boldsymbol{Y}} + {\boldsymbol{\xi}} ) $$ (14) 式中,
${\boldsymbol{\alpha}} = [{\alpha _1},{\alpha _2}, \cdots ,{\alpha _N}]$ 为拉格朗日乘子向量,利用KKT最优性条件,最后可以得到输出权重矩阵:$$ \hat {\boldsymbol{\beta}} = \left\{ {\begin{array}{*{20}{c}} {{{({c^{ - 1}}{{{\boldsymbol{I}} + }}{{\boldsymbol{H}}^{\mathrm{T}}}H)}^{ - 1}}{{\boldsymbol{H}}^{\mathrm{T}}}{\boldsymbol{Y}}\quad L \leqslant N} \\ {{{\boldsymbol{H}}^{\mathrm{T}}}(H{H^{\mathrm{T}}} + {c^{ - 1}}{{{\boldsymbol{I}}}}){\boldsymbol{Y}}\quad L \gt N} \end{array}} \right. $$ (15) 隐藏层中特征映射
$h(x)$ 未知的情况下,在ELM中引入核函数来度量样本之间的相似度,根据Mercer条件定义核矩阵,表示为${{\boldsymbol{\varOmega}} } = {\boldsymbol{H}}{{\boldsymbol{H}}^{\mathrm{T}}}$ ,${{{\boldsymbol{\varOmega }}}_{ij}} = h({x_i})h{({x_j})^{\mathrm{T}}} = K({x_i},{x_j})$ ,基于核函数的极限学习机的输出可以表示为:$$\begin{split} &\quad f(x) ={\boldsymbol{h}}(x) {\boldsymbol{\beta}}={\boldsymbol{h}}(x) {\boldsymbol{H}}^{\mathrm{T}}\left(c^{-1} m{{\boldsymbol{I}}}+{\boldsymbol{H H}}^{\mathrm{T}}\right)^{-1} {\boldsymbol{Y}}= \\ & \left[K\left(x, x_1\right), K\left(x, x_2\right), \cdots, K\left(x, x_N\right)\right]\left(c^{-1} {{\boldsymbol{I}}}+{\boldsymbol{\varOmega}}\right)^{-1} {\boldsymbol{Y}} \end{split} $$ (16) 上式中可以看到核矩阵
$ {{\boldsymbol{\varOmega}} } = H{H^{\mathrm{T}}} $ 仅和${x_{}}$ 输入数据以及样本的个数有关联,通过核函数$K({x_i},{x_j})$ 将低维度输入空间中的数据$({x_i},{x_j})$ 转化为高维度内积$ h({x}_{i})\cdot h({x}_{j}) $ ,不需要设置隐藏层的个数,相比于传统的ELM算法,随机映射改为核映射有效改善了隐藏层随机赋值带来的泛化性和稳定性的下降。但在应用中很难找到合适的核函数,本文选择三阶多项式、高斯和拉普拉斯3种核构造多核极限学习机(Multi Kernel Based Extreme Learning Machine, MKELM),其中多元复合核函数为:$$ \begin{gathered} \begin{array}{*{20}{c}} {}&{}&{} \end{array}{K_{{\text{poly}}}}(x,{x_k}) = {[(x_k^{\mathrm{T}}x) + C]^3}\quad C \gt 0 \\ \begin{array}{*{20}{c}} {}&{}&{} \end{array}{K_{{\mathrm{RBF}}}}(x,{x_k}) = \exp \bigg( {\frac{{ - {{\left\| {x - {x_k}} \right\|}^2}}}{{2{\sigma ^2}}}} \bigg) \\ \begin{array}{*{20}{c}} {}&{}&{} \end{array}{K_{{\mathrm{LK}}}}(x,{x_k}) = \exp \bigg( { - \frac{{\left\| {x - {x_k}} \right\|}}{{\sigma '}}} \bigg) \\ K(x,{x_k}) = {c_1}{K_{{\text{poly}}}}(x,{x_k}) + {c_2}{K_{{\text{RBF}}}}(x,{x_k}) + {c_3}{K_{{\text{LK}}}}(x,{x_k}) \\ \end{gathered} $$ (17) 使用分段式QPSO优化算法进行参数寻优,需要寻优的参数有:正则化参数
$c$ ,多项式核函数参数$C$ ,高斯核函数宽度$\sigma $ ,拉普拉斯核函数宽度$ \sigma ' $ 以及核函数对应的权重${c_i}$ ,且${c_1} + {c_2} + {c_3} = 1$ 。其中正则化参数控制模型的复杂度,过大会导致模型欠拟合,过小则容易发生过拟合;多项式核函数参数控制模型的偏置和方差;高斯核函数宽度和拉普拉斯核函数宽度决定了样本之间的相似性程度,选择合适的宽度可以使得模型更好地捕捉样本之间的相似性,提高模型的泛化能力;核函数对应的权重用于控制不同核函数对模型的贡献程度,合理选择和调整参数可以提高模型的精度和泛化能力。室内定位中环境随时间发生变化,单次训练的模型无法保证长期的定位精度,所以需要及时对模型参数进行更新。本文引入在线增量学习和遗忘思想[19],提出一种遗忘的在线多元核函数极限学习机,通过少量新样本更新上一时刻的模型参数,同时采用遗忘机制对久远的训练样本进行遗忘,消除过早样本对当前定位模型的负面影响。在
$k - 1$ 时刻,令:$$ {\begin{split} &\qquad \qquad \qquad \qquad {\boldsymbol{A}}_{k-1}=\left(c^{-1} {{\boldsymbol{I}}}+{\boldsymbol{\varOmega}}_{k-1}\right)= \\ & {\left[\begin{array}{cccc} c^{-1}+K\left(x_s, x_s\right) & K\left(x_s, x_{s+1}\right) & \cdots & K\left(x_s, x_{k-1}\right) \\ K\left(x_{s+1}, x_s\right) & c^{-1}+K\left(x_{s+1}, x_{s+1}\right) & \cdots & K\left(x_{s+1}, x_{k-1}\right) \\ \vdots & \vdots & \text{} & \vdots \\ K\left(x_{k-1}, x_s\right) & K\left(x_{s+1}, x_s\right) & \cdots & c^{-1}+K\left(x_{k-1}, x_{k-1}\right) \end{array}\right]} \end{split}} $$ (18) 在
$k$ 时刻,新的训练样本$({x_k},{y_k})$ 到达,因此:$$ {{\boldsymbol{A}}_k} = {c^{ - 1}}{\boldsymbol I} + {{\boldsymbol{\varOmega}} }{}_k = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{A}}_{k - 1}}}&{{{{\boldsymbol{V}}}_k}} \\ {{{\boldsymbol{V}}}_k^{\mathrm{T}}}&{{{{\boldsymbol{v}}}_k}} \end{array}} \right] $$ (19) 式中,
${{{\boldsymbol{V}}}_k} = {[K({x_k},{x_s}),K({x_k},{x_{s + 1}}), \cdots, K({x_k},{x_k})]^{\mathrm{T}}}$ ;$ {{\boldsymbol{v}}_k} = {c^{ - 1}}{\boldsymbol I} + K({x_k},{x_k}) $ 。利用分块矩阵求逆公式,${{\boldsymbol{A}}_k}$ 的逆矩阵为:$$ \begin{split} &\qquad \qquad {\boldsymbol{A}}_k^{-1} =\left[\begin{array}{ll} {\boldsymbol{A}}_{k-1} & {\boldsymbol{V}}_k \\ {\boldsymbol{V}}_k^{\mathrm{T}} & {\boldsymbol{v}}_k \end{array}\right]^{-1} =\\ & \left[\begin{array}{cc} {\boldsymbol{A}}_{k-1}^{-1}+{\boldsymbol{A}}_{k-1}^{-1} {\boldsymbol{V}}_k \rho_k^{-1} {\boldsymbol{V}}_{k+1}^{\mathrm{T}} {\boldsymbol{A}}_{k-1}^{-1} & -A_{k-1}^{-1} {\boldsymbol{V}}_t \rho_k^{-1} \\ -\rho_k^{-1} {\boldsymbol{V}}_{k+1}^{\mathrm{T}} {\boldsymbol{A}}_{k-1}^{-1} & \rho_k^{-1} \end{array}\right] \end{split}$$ (20) 式中,
${\rho _k} = {{\boldsymbol{v}}_k} - {{\boldsymbol{V}}}_k^{\mathrm{T}}{\boldsymbol{A}}_{k - 1}^{ - 1}{{{\boldsymbol{V}}}_k}$ 。在真实的定位场景下,训练样本往往具有时效性,过早的环境下采集的数据会对当前模型产生误导或不良影响,遗忘机制从样本集中剔除掉最早数据
$({x_s},{y_s})$ 具体实现如下,令:$$ \begin{split} &{{{\bar {{\varOmega}} }}_{ij}} = K({x_{s + i}},{x_{s + j}})\quad i,j = 1,2, \cdots ,k - s \\ &\qquad \qquad \bar {\boldsymbol{A}} = {\bar {\boldsymbol{\varOmega}} } + {c^{ - 1}}{{\boldsymbol{I}}} \\ &\qquad {\bar {\boldsymbol{V}}} = [{K}({x_s},{x_{s + j}}), \cdots ,K({x_s},{x_k})] \\ &\qquad \quad {\bar {\boldsymbol{v}}} = K({x_s},{x_s}) + {c^{ - 1}}{\boldsymbol I} \end{split} $$ (21) ${\boldsymbol{A}}{}_k$ 可以写成分块矩阵:$$ {{\boldsymbol{A}}_k} = {c^{ - 1}}{\boldsymbol I} + {{\boldsymbol{\varOmega}} } = \left[ {\begin{array}{*{20}{c}} {\bar {\boldsymbol{v}}}&{{\bar {\boldsymbol{V}}}} \\ {{{{\bar {\boldsymbol{V}}}}^{\mathrm{T}}}}&{\bar {\boldsymbol{A}}} \end{array}} \right] $$ (22) 利用分块逆矩阵计算可得:
$$\begin{split} &\qquad {\boldsymbol{A}}_k^{-1} =\left(c^{-1} {{\boldsymbol{I}}}+{\boldsymbol{\varOmega}}\right)^{\mathrm{T}}=\left[\begin{array}{cc} \bar{{\boldsymbol{v}}} & \bar{{\boldsymbol{V}}} \\ \bar{{\boldsymbol{V}}}^{\mathrm{T}} & \overline{\mathrm{{\boldsymbol{A}}}} \end{array}\right]^{-1}= \\ & \left[\begin{array}{cc} \bar{\rho}^{-1} & -\bar{\rho}^{-1} \bar{{\boldsymbol{V}}} \bar{{\boldsymbol{A}}}^{-1} \\ -\bar{{\boldsymbol{A}}}^{-1} \bar{{\boldsymbol{V}}}^{\mathrm{T}} \bar{\rho}^{-1} \bar{{\boldsymbol{A}}}^{-1} & \bar{{\boldsymbol{A}}}^{-1}+\bar{{\boldsymbol{A}}}^{-1} \bar{{\boldsymbol{V}}}^{\mathrm{T}} \bar{\rho}^{-1} \bar{{\boldsymbol{V}}} \bar{{\boldsymbol{A}}}^{-1} \end{array}\right] \end{split} $$ (23) 式中,
$\bar \rho = \bar {\boldsymbol{v}} - {{\bar {\boldsymbol{V}}}}{\bar {\boldsymbol{A}}^{ - 1}}{{{\bar {\boldsymbol{V}}}}^{\mathrm{T}}}$ 。将
$ {\boldsymbol{A}}_k^{ - 1} $ 的分块矩阵改写为:$$ {\boldsymbol{A}}_k^{ - 1} = \left[ {\begin{array}{*{20}{c}} {{\boldsymbol{A}}{{_k^{ - 1}}_{(1,1)}}}&{{\boldsymbol{A}}{{_k^{ - 1}}_{(1,2:{\mathrm{end}})}}} \\ {{\boldsymbol{A}}{{_k^{ - 1}}_{(2:{\mathrm{end}},1)}}}&{{\boldsymbol{A}}{{_k^{ - 1}}_{(2:{\mathrm{end}},2:{\mathrm{end}})}}} \end{array}} \right] $$ (24) 对比式(23)和式(24)可以获得:
$$ \begin{split} &\bar{{\boldsymbol{A}}}^{-1} ={\boldsymbol{A}}_{k(\text { (2:end,2:end })}^{-1}-\bar{{\boldsymbol{A}}}^{-1} \bar{{\boldsymbol{V}}}^{\mathrm{T}} \bar{\rho}^{-1} \bar{{\boldsymbol{V}}} \bar{{\boldsymbol{A}}}^{-1}= \\ & {\boldsymbol{A}}_{k(2: {\mathrm{e n d}}, 2: {\mathrm{e n d}})}^{-1}-\frac{\left(-\bar{{\boldsymbol{A}}}^{-1} \bar{{\boldsymbol{V}}}^{\mathrm{T}} \bar{\rho}^{-1}\right)\left(-\bar{\rho}^{-1} \bar{{\boldsymbol{V}}} \bar{{\boldsymbol{A}}}^{-1}\right)}{\bar{\rho}^{-1}}= \\ &\quad {\boldsymbol{A}}_{k(2: {\mathrm{e n d}}, 2: {\mathrm{e n d}})}^{-1}-\frac{{\boldsymbol{A}}_{k(2: {\mathrm{e n d}}, 1)}^{-1} \times {\boldsymbol{A}}_{k(1,2: {\mathrm{e n d}})}^{-1}}{{\boldsymbol{A}}_{k(1,1)}^{-1}} \end{split} $$ (25) 在下一时刻,将
${\bar {\boldsymbol{A}}^{ - 1}}$ 视为${\boldsymbol{A}}_k^{ - 1}$ ,根据式(20)计算${\boldsymbol{A}}_{k + 1}^{ - 1}$ ,这样就可以完全剔除掉原始数据$({x_s},{y_s})$ 对模型的影响。 -
QPSO算法中每个粒子以一定概率出现在解空间的任意位置,每个粒子拥有更大的搜索范围,使得算法有更优的全局搜索能力[20]。
粒子
$i$ 的位置向量为${{\boldsymbol{X}}_i}$ ,通过${{\boldsymbol{P}}_i}$ 可得粒子$i$ 的历史最优位置,${{\boldsymbol{P}}_g}$ 可得全局的最优位置。向量${\boldsymbol{p}}$ 指每个粒子的局部吸引点,由下式获得:$$ {{\boldsymbol{p}}_{_d}} = \varphi {{\boldsymbol{p}}_{id}} + (1 - \varphi ){{\boldsymbol{p}}_{gd}}\begin{array}{*{20}{c}} {} \end{array}\varphi \in [0,1] $$ (26) 粒子的位置更新计算如下:
$$ \begin{split} & {\boldsymbol{X}}_{i d}(t+1)={\boldsymbol{p}} \pm z \cdot\left|{\boldsymbol{m}}_{ {\mathrm{b e s t}}}-{\boldsymbol{X}}_{i d}(t)\right| \ln (1 / \mu) \\ &\qquad \qquad {\boldsymbol{m}} _{ \text {best }}=\frac{1}{{N}} \sum_{i=1}^{{N}} {\boldsymbol{P}}_i =\\ & \quad\left(\frac{1}{{N}} \sum_{i=1}^{{N}} {\boldsymbol{P}}_{i 1}, \frac{1}{{~N}} \sum_{i=1}^{\mathrm{N}} {\boldsymbol{P}}_{i, 2}, \cdots ; \frac{1}{{N}} \sum_{i=1}^{{N}} {\boldsymbol{P}}_{i, d}\right) \\ &\qquad \qquad z=\frac{(1-0.5) {T}}{{T}}+0.5 \end{split} $$ (27) 式中,
$\mu $ 是$[0,1]$ 的随机数,当$\mu $ 大于0.5时式中取‘+’,否则取‘-’;$N$ 为粒子数目;$z$ 是收缩–扩张因子;$t$ 为当前迭代次数;$T$ 为最大迭代次数。局部吸引点
${\boldsymbol{\rho}} $ 调整粒子的运动趋势,其受自身历史最优位置和全局最优位置的双重影响,式(26)中$\varphi $ 选择了随机数,虽然体现了个体和种群信息融合的优点,但在粒子局部搜索方面针对性不够。本文提出了分段式凸显历史最优和全局最优的主导地位,将参数$\varphi $ 取值范围最大值由1变为$\alpha $ ,当$\alpha $ 大于0.5时,$\varphi $ 为$ [0.5,\alpha ] $ 的随机数,否则为$ [0,\alpha ] $ 的随机数:$$ \alpha = (0.9 - 0.3) ({{T}} - {{t}}){{/T}} + 0.3 $$ (28) 在算法迭代初期
$\varphi $ 取值大概率选取较大值,表明粒子更多按自身运行轨迹自主搜索,拥有更大的全局搜索能力。随着迭代进行,$\alpha $ 取值逐渐减小,种群的全局最优将表现出更大的影响力。分段式改进提升了粒子的全局搜索能力,但当某一粒子到达局部最优时也会使其他粒子向该粒子聚集,会使算法陷入局部最优,引入模拟退火算法思想,以一定概率接受差解,避免早熟现象,概率计算公式如下:
$$ p = \left\{ {\begin{array}{*{20}{l}} {1\quad F(t + 1) \gt F(t)} \\ {{{\mathrm{e}}^{ - \big(\tfrac{{F(t + 1) - F(t)}}{{KT}}\big)}} = {{\mathrm{e}}^{ - \big(\tfrac{{{x{\Delta }}F}}{{KT}}\big)}}\;\;\;其他} \end{array}} \right. $$ (29) 式中,
$F(t)$ 为$t$ 时刻粒子的适应度;温度$T$ 会随迭代次数的增加不断减小,算法前期更易接受适应度低的解,跳出局部最优,温度减小,接受概率会越来越小,加快收敛;$K$ 为波尔兹曼常数,利用概率来决定粒子历史最优和全局最优的更新。 -
本文基于CSI的定位方法分为两部分:离线训练阶段和在线定位阶段。定位系统框架如图4所示。
在离线训练阶段,将定位场景进行虚拟网格化,在每个网格中心点位置采集数据,采用下面将介绍到的指纹构造方法对CSI数据进行预处理。许多研究者对参考点编号使用经典one-hot编码作为标签,但由于定位范围内参考点众多使得标签维度过大,且会随着网格大小发生变化。本文采用哈希编码对所有参考点位置坐标进行编码生成维度
$r$ 的标签并保存构造标签库。最后使用分段式QPSO完成对模型参数的寻优。在线定位阶段,随机的选择待测点采集CSI数据,进行预处理后输入到定位模型中,使用WKNN算法从标签库中选取模型输出的多个最近邻点,加权计算最终坐标,定位过程中定时采集新的训练数据完成对模型的更新。
-
由于室内环境复杂、设备的干扰及传输功率的变化等都会使采集到的CSI数据带有噪声。本文提出一种幅值相位信息融合的预处理方法,首先将所获得的CSI数据拆分为幅值信息和相位信息,然后两类信息通过不同的处理方式去除噪声干扰,并采用PCA算法提取相应的特征,最后将两种特征以交叉的形式融合构造成指纹信息。处理过程如图5所示,图6分别展示了40个数据包的CSI幅值信息和相位信息的处理过程。
-
本文中FO-MKELM定位模型的基本思想是利用分段式QPSO对模型中参数进行优化,使验证集可以获得更好的定位效果。其具体步骤如下。
1)使用CSI预处理方法获得训练集和验证集。初始化粒子群、种群规模、迭代次数和初始温度等。
2)每个粒子代表模型的一种可行解,计算每个粒子适应度值,确定个体历史最优和种群最优。将验证集的平均定位误差将作为粒子的适应度,为减小过大误差的定位点存在,本文在适应度函数中加入误差大于1 m的个数百分比和它们的平均定位误差,适应度函数为:
$$ f({z_i}) = \bar E + \frac{j}{n} + 0.1{\bar E_{{\mathrm{max}}}} $$ (30) 式中,
${z_i}$ 表示第$i$ 个粒子;$\bar E$ 为验证集平均定位误差;$j$ 为误差大的定位个数;$n$ 为总的定位点个数;${\bar E_{\max }}$ 为$j$ 个定位点的平均误差。3)依据式(29)更新粒子群。
4)判断是否获得全局最优或到达最大的迭代次数,返回步骤3)。
5)在线定位过程中,定时或环境改变时,采集新的校准数据,依据式(23)和式(25)对定位模型更新,保证定位系统的长期稳定性。
-
实验的硬件平台主要包括CSI采集端和数据发射端。发射端为常见智能手机,支持2.4 GHz和5 GHz两种频率下工作。数据采集端为装有Intel5300无线网卡的ThinkPad X220计算机为无线接入点(Access Point, AP),运行系统为Ubuntu14.04装有CsiTool工具,采集过程都在5 GHz的频率下进行。
本文实验分别在实验室和楼道内进行,如图7所示,图左为实景图,右为简化图,黑色点为参考点(Reference Point, RP),其为50 cm×50 cm的网格中心,三角为测试点(Test Point, TP)。实验室内有若干隔断书桌和学生,而楼道内相对空旷,可以分别视作非视距(Non Line Of Sight, NLOS)和视距(Line Of Sight, LOS)环境。
离线阶段,被测人员会携带智能手机在参考点位置进行数据采集,每个参考点采集2 min,频率为100 Hz,期间被测人员需要随机转动身体改变朝向,保证数据的多样性。采集完成后重复采集过程,每个点采集1 min作为验证数据。
在线阶段,随机选择一些测试点进行预测,在每个测试点上多次采集1 s的CSI数据,记录这些位置的坐标构造测试数据,使用定位算法进行预测。
-
在本文的定位方法中,定位所使用的数据包个数将直接影响到定位模型的效果。在楼道场景下,测试集的平均定位误差作为评价指标,其中模型的参数通过随机方式获得,实验结果如图8所示,数据包个数为30时能获得最好的精度,数据包少时,所含有的位置信息较少,定位精度也相对较低;当数据包个数过多时,由于误差累积,数据含更多的测量噪声,会严重影响定位精度。
为分析本文所提出的分段式QPSO对定位模型参数的优化效果,分别与QPSO、PSO优化算法进行对比,粒子个数和最大迭代次数都选择10和50,适应度计算如式(30)。图9展示了3种算法的适应度收敛情况,可以看到本文算法拥有更好的全局搜索能力,且不易陷入局部最优。
分段式QPSO算法获得最优参数:正则化系数0.42、多项式核参数为223.93、高斯核函数宽度398.29、拉普拉斯核函数宽度9673.62,3种核函数的权值分别为0.32、0.49、0.19时,能够获得最佳的定位精度。其中高斯核函数具有较大的权值,它具有很好的非线性拟合能力,更好的学习局部特点发现样本间的相似性,适用于指纹定位;其次为多项式核,它具有很好的全局平滑性,可以较好地平衡局部细节和全局趋势;拉普拉斯核的权值最小,它对样本之间的相似性比较敏感,能够更好地处理局部数据分布且计算简单,可以减少模型运算时间。
为验证本文算法的定位精度,实验选取了多种机器学习算法,如核极限学习机(Kernel Extreme Learning Machine, KELM)、极限学习机(ELM)、支持向量机(Support Vector Machine, SVM)、贝叶斯(Bayes)、全连接层(Backpropagation Neural Network, BP)、随机森林(Random Forest, RF),在两种场景下进行对比。各种算法的定位误差累计分布函数(Cumulative Distribution Function, CDF)如图10和图11所示,表1和表2展示了平均定位误差、标准差和执行时间。
表 1 楼道场景下各算法对比
定位算法 平均误差/m 标准差/m 时间/s FO-MKELM 0.39 0.75 0.33 KELM 0.63 1.12 0.37 ELM 0.98 1.94 0.31 SVM 0.96 1.73 0.31 Bayes 1.12 2.52 0.34 BP 1.23 2.29 0.35 RF 1.34 2.63 0.36 表 2 实验室场景下各算法对比
定位算法 平均误差/m 标准差/m 时间/s FO-MKELM 0.51 1.22 0.35 KELM 0.98 1.95 0.39 ELM 1.34 2.79 0.33 SVM 1.17 2.18 0.31 Bayes 1.68 3.24 0.32 BP 1.54 3.16 0.38 RF 1.92 3.43 0.41 从图10和表1中可以看到,在楼道环境内本文算法在定位误差1 m时的置信度为92%,获得0.39 m的平均定位误差,将预测过差的信息加入适应度计算中,有效抑制了过大误差点,定位性能比其他算法更加出色。
由图11和表2可知,由于实验室内物品繁多而且人员复杂,存在更复杂的NLOS时延和多径效应,数据含有更多的随机噪声,定位精度相对较低,在定位误差1 m时的置信度为87%,而其他算法均在75%以下,平均定位精度为0.51 m,相对于其他算法拥有更好的鲁棒性。
为更直观地观察定位效果,随机的选取34个测试点,以二维的形式用散点表示测试点和预测结果,图12为多次实验中的一次采样结果,以真实区域的左下角的原点建立直角坐标系,其中楼道场景有23个预测小于平均定位误差,实验室场景有19个定位点小于平均误差。
为分析本文定位算法的长期稳定性,选择环境复杂的实验室进行实验。每次随机地选择部分点采集数据,每天上午和下午各两次,一次采样2 s进行增量学习,一次采样1 s用于模型验证,持续10天获得20组测试数据,期间人员和物品会正常移动,模拟环境的改变。数据有效期设置受环境变化频率所决定,本文选择定位精度变化作为环境改变的依据,图13中原模型在第5个采样时误差接近1 m,第6个采样时误差为1.35 m,大于1 m,认为环境发生较大改变,原始数据已经无法适合当前定位环境,需进行遗忘,所以设置数据有效期窗口为5。分别对比MKELM、O-MKELM、FO-MKELM的定位性能变化,如图13所示,原模型定位误差随着时间的变化呈线性增长,当到达第8次采样时误差已经大于2 m,需重新训练模型;加入在线增量学习有效地抑制了精度的降低,但在13次后由于旧数据对模型的影响,使得精度逐渐下降,引入遗忘机制的模型表现平稳,拥有更好的长期稳定性。
为验证模型的动态定位性能,在相对空旷的楼道内进行实验,测试人员以正常行走速度在区域内分别沿着矩形和直线行走采集数据进行定位,定位效果如图14所示。
选择实验室场景对本文定位系统整体进行测试,并与文献[14, 16, 21]中定位系统性能比较。定位误差累计分布如图15所示,可以看到本系统在定位误差在1 m内的置信度上优于其他系统。因采用在线增量学习方式,所以训练时需要的训练样本更少,更加适用于室内定位需求。
Indoor Location Method Based on CSI and FO-MKELM
-
摘要: 针对Wi-Fi指纹定位精度低、维护繁琐、训练成本大的问题,提出一种基于信道状态信息(CSI)和改进多元核函数极限学习机(FO-MKELM)的室内定位方法。首先在预处理阶段对CSI幅值差和重构相位信息进行融合,以减少环境噪声的影响;其次,在离线训练阶段,采用分段式量子粒子群算法(QPSO)为模型寻找最优参数, 以提高定位精度和泛化性能;然后,为抑制环境改变对定位性能的影响,引入在线增量学习和遗忘机制,添加部分新增数据进行增量学习持续更新定位模型,并设置数据有效期遗忘过旧数据减少不良影响;最终,在在线预测阶段,将模型输出与标签库进行匹配获得更为准确的坐标。在空旷楼道和复杂实验室两种不同的环境下进行实验验证,该算法相比其他定位方法在定位精度和长期稳定性上都有所提升。Abstract: Aiming at the problems of low Wireless Fidelity (Wi-Fi) fingerprint location, cumbersome maintenance and high training cost, an indoor location method based on Channel State Information (CSI) and improved Multiple Kernel Extreme Learning Machine (FO-MKELM) was proposed. Firstly, the CSI amplitude difference and reconstructed phase information are fused in the preprocessing stage to reduce the influence of environmental noise. Secondly, in the off-line training stage, piecewise Quantum Particle Swarm Optimization (QPSO) is used to find the optimal parameters for the model to improve the positioning accuracy and generalization performance. Then, in order to suppress the impact of environment changes on positioning performance, the online incremental learning and forgetting mechanism is introduced, where some new data are added for incremental learning to continuously update the localization model, and the data validity period is set to forget old data to reduce adverse effects. Finally, in the online prediction stage, the model output is matched with the tag library data to obtain more accurate coordinates. The experimental results show that the static average errors of 0.39 m and 0.51 m are obtained in two different environments of open corridors and complex laboratories, respectively. Compared with other positioning methods, the proposed algorithm has improved positioning accuracy and long-term stability.
-
Key words:
- indoor positioning /
- CSI /
- MKELM /
- online incremental learning /
- forgetting mechanism /
- QPSO
-
表 1 楼道场景下各算法对比
定位算法 平均误差/m 标准差/m 时间/s FO-MKELM 0.39 0.75 0.33 KELM 0.63 1.12 0.37 ELM 0.98 1.94 0.31 SVM 0.96 1.73 0.31 Bayes 1.12 2.52 0.34 BP 1.23 2.29 0.35 RF 1.34 2.63 0.36 表 2 实验室场景下各算法对比
定位算法 平均误差/m 标准差/m 时间/s FO-MKELM 0.51 1.22 0.35 KELM 0.98 1.95 0.39 ELM 1.34 2.79 0.33 SVM 1.17 2.18 0.31 Bayes 1.68 3.24 0.32 BP 1.54 3.16 0.38 RF 1.92 3.43 0.41 -
[1] KUUTTI S, FALLAH S, KATSAROS K, et al. A survey of the state-of-the-art localization techniques and their potentials for autonomous vehicle applications[J]. IEEE Internet of Things Journal, 2018, 5(2): 829-846. doi: 10.1109/JIOT.2018.2812300 [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. [3] FARAGHER R, HARLE R. Location fingerprinting with bluetooth low energy beacons[J]. IEEE Journal on Selected Areas in Communications, 2015, 33(11): 2418-2428. [4] 孟宇, 肖小凤, 赵坤. 基于UWB的地下定位算法和拓扑优化[J]. 工程科学学报, 2018, 40(6): 743-753. MENG Y, XIAO X F, ZHAO K. An underground localization algorithm and topology optimization based on ultra-wideband[J]. Chinese Journal of Engineering, 2018, 40(6): 743-753. [5] CHOI H, SON S, KIM J, et al. RF-based indoor locating system for NLOS environment[C]//Proceedings of the 24th IEEE International Conference on Advanced Information Networking and Applications. New York: IEEE, 2010: 628. [6] 王旭东, 董文杰, 吴楠. 基于TDOA/AOA混合的高精度室内可见光定位算法[J]. 系统工程与电子技术, 2019, 41(10): 2371-2377. doi: 10.3969/j.issn.1001-506X.2019.10.29 WANG X D, DONG W J, WU N. Hybrid TDOA/AOA algorithm based high accuracy indoor visible light positioning[J]. Systems Engineering and Electronics, 2019, 41(10): 2371-2377. doi: 10.3969/j.issn.1001-506X.2019.10.29 [7] ALI M U, HUR S, PARK Y. Poster abstract: IoT enabled Wi-Fi indoor positioning system using raster maps[C]//Proceedings of 2019 18th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN). Piscataway: IEEE, 2019: 327-328. [8] 邵小强, 李康乐, 陈熙, 等. 基于改进卡尔曼滤波和参数拟合的矿井TOA定位方法[J]. 煤炭学报, 2019, 44(5): 1616-1624. SHAO X Q, LI K L, CHEN X, et al. MTOA positioning method of coalmine based on Kalman filter and parameter fitting[J]. Journal of China Coal Society, 2019, 44(5): 1616-1624. [9] 闫千里, 万鹏武, 卢光跃, 等. 非视距环境下RSS和TDOA联合的信源被动定位[J]. 西安电子科技大学学报, 2019, 46(3): 180-188. YAN Q L, WAN P W, LU G Y, et al. Passive localization of the signal source based on RSS and TDOA combination in the non-line-of-sight environment[J]. Journal of Xidian University, 2019, 46(3): 180-188. [10] 左燕, 刘雪娇, 彭冬亮. 距离相关噪声AOA协同定位下无人机路径优化方法[J]. 电子与信息学报, 2021, 43(4): 1192-1198. doi: 10.11999/JEIT200078 ZUO Y, LIU X J, PENG D L. UAV path planning for AOA-based source localization with distance-dependent noises[J]. Journal of Electronics & Information Technology, 2021, 43(4): 1192-1198. doi: 10.11999/JEIT200078 [11] 徐志明, 王文清, 刘真真, 等. 基于离散动态网格的信号强度指纹库压缩感知定位方法[J]. 煤炭学报, 2018, 43(增刊2): 672-678. XU Z M, WANG W Q, LIU Z Z, et al. Compressed sensing location method of signal strength fingerprint database based on discrete dynamic grid[J]. Journal of China Coal Society, 2018, 43(Sup 2): 672-678. [12] YANG Z, ZHOU Z M, LIU Y H. From RSSI to CSI[J]. ACM Computing Surveys, 2013, 46(2): 1-32. [13] 张大庆, 张扶桑, 吴丹, 等. 基于CSI的通信感知一体化设计: 问题、挑战和展望[J]. 移动通信, 2022, 46(5): 9-16. ZHANG D Q, ZHANG F S, WU D, et al. Design of CSI-based integrated sensing and communication: Issues, challenges and prospects[J]. Mobile Communications, 2022, 46(5): 9-16. [14] 王旭东, 刘帅, 吴楠. CAEFi: 基于卷积自编码器降维的信道状态信息指纹室内定位方法[J]. 电子与信息学报, 2022, 44(8): 2757-2766. doi: 10.11999/JEIT210663 WANG X D, LIU S, WU N. CAEFI: Channel state information fingerprint indoor location method using convolutional autoencoder for dimension reduction[J]. Journal of Electronics & Information Technology, 2022, 44(8): 2757-2766. doi: 10.11999/JEIT210663 [15] LI Q, LIAO X W, LIU M M, et al. Indoor localization based on CSI fingerprint by Siamese convolution neural network[J]. IEEE Transactions on Vehicular Technology, 2021, 70(11): 12168-12173. doi: 10.1109/TVT.2021.3107936 [16] ZHANG L, HU Y J, LIU Y F, et al. WiCLoc: A novel CSI-based fingerprint localization system[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2020, 34(4): 2058003. doi: 10.1142/S0218001420580033 [17] 王博远, 刘学林, 蔚保国, 等. WiFi指纹定位中改进的加权k近邻算法[J]. 西安电子科技大学学报, 2019, 46(5): 41-47. WANG B Y, LIU X L, YU B G, et al. Improved weighted k-nearest neighbor algorithm for WiFi fingerprint positioning[J]. Journal of Xidian University, 2019, 46(5): 41-47. [18] 刘星, 王文双, 赵建印, 等. 自适应在线增量ELM的故障诊断模型研究[J]. 系统工程与电子技术, 2021, 43(9): 2678-2687. LIU X, WANG W S, ZHAO J Y, et al. Research on an adaptive online incremental ELM fault diagnosis model[J]. Systems Engineering and Electronics, 2021, 43(9): 2678-2687. [19] CAO W P, MING Z, XU Z W, et al. Online sequential extreme learning machine with dynamic forgetting factor[J]. IEEE Access, 2019, 7: 179746-179757. doi: 10.1109/ACCESS.2019.2959032 [20] 张兆娟, 王万良, 唐继军. 适应度二次选择的QPSO和SA协同搜索大规模离散优化算法[J]. 通信学报, 2020, 41(8): 22-31. doi: 10.11959/j.issn.1000-436x.2020173 ZHANG Z J, WANG W L, TANG J J. Second fitness selection QPSO and SA cooperative search for large-scale discrete optimization algorithm[J]. Journal on Communications, 2020, 41(8): 22-31. doi: 10.11959/j.issn.1000-436x.2020173 [21] LIU W, WANG X, DENG Z L. CSI amplitude fingerprinting for indoor localization with dictionary learning[J]. Entropy, 2021, 23(9): 1164. doi: 10.3390/e23091164