
Citation: | Xiaoping JIANG, Miaoyu WANG, Hao DING, Chenghua LI. Passive Fingerprint Indoor Positioning Based on CSI Amplitude-phase[J]. Journal of Electronics & Information Technology, 2020, 42(5): 1165-1171. doi: 10.11999/JEIT180871 |
Indoor positioning technology based on Channel State Information (CSI) receives much attention in recent years. The existing indoor positioning solution is continuously innovative and improved in terms of deployment implementation and positioning accuracy. This paper proposes a passive one-transmitter two-receivers fingerprint indoor positioning system. The CSI data is collected by two fixed receiving end-devices. In the signal preprocessing stage, the CSI amplitude is singular value removed and low pass filtered, and the CSI phase is corrected by a linear fitting method, and the CSI amplitude and phase information obtained by the two receiving ends are collectively used as fingerprint samples. The fingerprint samples are finally trained through the fully connected neural network, and matched with the collected real-time data. Experiments show that the matching recognition rate reaches 98% by using two receivers and the combination of amplitude and phase positioning, and the positioning accuracy is 0.69 m. It proves that the system can accurately and effectively achieve indoor positioning.
随着物联网的兴起,基于位置的定位服务(Location Based Service, LBS)在室内环境入侵检测等一些场合扮演着重要的角色,传统的GPS技术由于在建筑物遮挡的情况下严重影响其定位准确度,故无法作为室内定位的关键技术。如今的室内环境,大多有局域网覆盖,再加上802.11协议的支持,为基于无线技术的室内定位提供了诸多可能,也由此涌现了各种室内定位方法。
传统的传感器技术例如苹果公司的iBeacon技术等虽然同样能实现有效的室内定位[1],但在实施过程中,需大量部署传感器节点,费时费力。利用摄像头可以实现实时监控,但是存在监控盲区。超声波室内定位技术在应用中存在成本昂贵的问题。文献[2,3]利用WiFi接收信号强度(RSSI)计算节点之间的距离实现室内定位,但由于室内信号在传播过程中存在多径效应,影响了最终的定位精度。研究人员发现了物理层的信道状态信息(CSI)能够细粒度地描述信号传播过程中的衰减情况,因此利用CSI进行室内定位得到了广泛的关注。
基于CSI的室内定位,目前研究的热点主要集中在被定位对象是否携带设备,识别算法等。Li等人[4]利用一台安装有Atheros AR9462 网卡的Lenovo Y410P移动设备接入室内局域网,采集室内标记点的幅值和相位信息,利用FOS快速搜索算法实现位置识别,平均定位误差为1.5 m左右,该方案虽然能满足一定的定位精度,但是需要被定位对象携带移动设备才能确定其位置,在某些应用场景下不适用。Wu等人[5]提出了一种无需被定位对象携带设备的室内定位方法,该方案将室内通信链路周围的区域按信号敏感度划分,利用CSI幅值的变异系数分布作为指纹特征,通过概率算法进行位置识别,但是由于该方案只利用到了CSI幅值信息,最终的平均定位精度在1~2 m。Wang等人[6]提出了一种DeepFi室内指纹定位方案,该方案将CSI幅值作为指纹,利用一个基于深度学习的带有4个隐层的神经网络算法,实现室内指纹定位识别,平均定位误差为1.55 m。该方案的作者接着又提出一种PhaseFi室内指纹定位方案[7],将CSI相位作为指纹,使用神经网络算法进行目标位置匹配识别,平均定位误差为1.38 m。Zhou等人[8]提出了一种基于CSI幅值指纹的SVM定位算法,该方案对比了会议室和实验室两种实验场景,定位误差分别为1.39 m和1.22 m。Chapre等人[9]提出一种基于CSI幅值与相位的KNN结合贝叶斯概率算法CSI-MIMO,平均定位误差为2.13 m。
本文提出了一种无需被定位对象携带移动设备的CSI幅值和相位指纹室内定位方案,分别在室内固定点放置1个支持802.11协议的WiFi接入点(Access Point, AP)作为发送端,2个装有Intel 5300网卡的台式机(ComPuter, CP)作为接收端,形成两条通信链路,采用基于深度学习的神经网络算法对信号处理后的CSI样本指纹进行训练,采集实时CSI数据进行匹配识别。
整个系统设计主要包括数据预处理阶段、训练阶段和在线阶段。采集到的CSI样本信号,在传输的过程中会受到周围环境的噪声干扰,同时由于硬件限制等原因会产生相位偏移,因此需要对CSI数据进行信号预处理。对提取到的幅值信息进行奇异值去除与低通滤波,用线性拟合的方法对提取到的相位信息进行校正。将得到的有效幅值和有效相位进行数据融合,得到每个位置的指纹信息,并添加位置标签,作为指纹样本输入到神经网络中进行离线训练,构建特征指纹库。在线阶段,将实时采集到的CSI数据进行数据预处理后,输入到训练好的神经网络中匹配识别得到位置标签。具体流程如图1所示,为方便表示,粗箭头为离线过程,细箭头为在线过程。
本文的主要贡献包括以下几点:
(1) 本文首次提出了在无需被定位对象携带移动设备的前提下利用CSI幅值信息和相位信息作为定位指纹。在室内环境下,人的活动对接收端接收到的CSI幅值和相位信息的影响不同,人在室内某个位置活动,会对CSI各信道幅值造成不同程度的增强或减弱,而对于CSI各信道的相位会造成不同程度的延迟。有必要充分利用这些特征,提高定位准确率。
(2) 本文方案尝试利用1发2收的实验场景进行数据采集,并通过实验取得显著效果。相较于传统的单发单收,1发2收增强了室内某些信号不敏感区域的敏感度,提高了空间覆盖率。
(3) 本文采用基于深度学习的神经网络分类算法对处理后的CSI样本的幅值和相位同时进行训练,相较于只利用幅值信息或只利用相位信息,将幅值和相位信息共同作为指纹信息能全面地表征数据特征,另外,两个接收端的信息相对于单一接收端的信息,增加了训练集的数据量,有效地提高了识别率。
通过intel 5300商业网卡可以采集到CSI信息。在信号发送端,选取5G频段的WiFi信号,在接收端,利用网卡上安装的天线采集CSI数据。5 GHz频带的WiFi信道可以被认为是OFDM系统的窄带平坦衰落信道[10]。信道模型可描述为
Y=HX+N |
(1) |
其中
选取20 MHz带宽的OFDM系统的30个子载波的信号,各信道的频率响应是复数值,表示为
Hi=|Hi|exp{j∠Hi} |
(2) |
其中
由于室内环境复杂,且实验设备容易受室内温度等影响,采集到的CSI并非有效可用的信息。本文利用汉佩尔滤波器,将找到的奇异值,用更具代表性的数据代替[11],采用巴特沃斯低通滤波器来完成幅值滤波[12]。
相位误差产生的原因主要分为两类:载波频移(CFO)和采样频移(SFO)[13]。
(1) CFO是由发送端和接收端的信道中心频率不能完全同步造成的。载波频移可由接收机的CFO校正器补偿,但由于硬件不完善,补偿不完整,信号仍然携带残留CFO,这导致了载波之间的时变CSI相位偏移。
(2) SFO是由于发送器和接收器的采样频率存在非同步时钟导致的,采样频移可由接收机的SFO矫正器补偿,但剩余的SFO会导致旋转误差。因为时钟偏移在短时间内相对稳定,所以这种相位旋转误差几乎是恒定的。
基于相位偏移的以上特点,采用一种简单而有效的线性拟合的方法进行相位矫正[14],将提取到第
∠˜Hi=∠Hi+2πmikΔt+β+N |
(3) |
其中
由于
∠ˆH=∠˜H−kmi−b |
(4) |
其中
k=|∠˜H30−∠˜H1|m30−m1 |
(5) |
b=13030∑i=1∠˜Hi |
(6) |
提取采集得到的CSI数据中的CSI相位信息,通过以上相位校正算法,去掉了载波频移和旋转误差,将相位值聚集在
将数据预处理后的幅值和相位信息加上位置标签作为指纹,表示为
由于采集到的CSI信号是统计信号,CSI幅值和相位特征已经足够简单而全面地反映位置信息,对于特征较简单信号,采用复杂的神经网络模型反而会增加额外的计算复杂度,为了保证基于信号处理方法的有效性和普适性,更倾向于使用简单、基本和流行的分类器[15]。基于此,本文设计了一个包含3个隐层的全连接分类神经网络,输入层120个节点,第1个隐层200个节点,第3个隐层100个节点,第3个隐层
训练阶段,将样本数据,即3.3节中提出的指纹样本数据
在介绍本方案的反向传播算法之前,首先引入交叉熵损失函数的算法,用softmax函数将输出层第
C=−1nK∑k=1[lklnyk+(1−lk)ln(1−yk)] |
(7) |
其中
(1) 输入训练样本的集合。
(2) 计算前向传播:对于训练样本
(3) 计算输出误差向量:
(4) 计算反向传播误差:对
(5) 梯度下降:对
将训练阶段训练好的权重和偏置表示为
硬件平台,一台支持802.11协议的TP-Link路由器作为WiFi接入点(AP),选取5 GHz频段信号,2台安装有intel 5300网卡的台式机(CP)作为接收端。软件平台,每台电脑安装Ubuntu11.04系统,导入CSI-Tools工具包,并配置相关内核,通过ping命令进行信号收发,发包率为1包/s,利用CSI-Tools工具包将接收到的CSI数据保存到目标文件。
选取一个空旷的房间和一个环境相对较复杂的实验室两个地方作为不同的实验场景,空房间大小为7.5 m
将幅值指纹数据作为训练集,采集实时数据,输入到神经网络中进行匹配识别,得到幅值指纹的匹配识别率。将相位指纹数据作为训练集,通过神经网络与实时指纹数据进行匹配识别,得到相位指纹的匹配识别率。将本文方案既包含幅值信息又包含相位信息的指纹数据,即2.3节中提到的
本文选取了多个经典的指纹定位方案进行定位误差比较,其中包括利用CSI幅值的基于深度学习的神经网络算法定位方案DeepFi、利用CSI相位的基于深度学习的神经网络算法定位方案PhaseFi、基于KNN和贝叶斯概率算法的定位方案CSI-MIMO,定位误差比较见表1。实验对比结果表明,相比同样使用基于深度学习的神经网络算法的DeepFi和PhaseFi指纹定位方案,本文方案同时利用了CSI幅值和相位信息,定位误差更小。在同时使用幅值与相位特征作为指纹的情况下,相比使用KNN和贝叶斯概率算法的CSI-MIMO定位方案,本文方案的基于深度学习的神经网络算法的定位误差要小得多。具体数据见表1。
空房间 | 实验室 | |||||
平均误差 | 误差方差 | 平均误差 | 误差方差 | |||
本文方案 | 0.69 | 0.36 | 1.25 | 1.01 | ||
PhaseFi | 0.94 | 0.56 | 1.81 | 1.34 | ||
DeepFi | 1.08 | 0.41 | 2.01 | 1.01 | ||
CSI-MIMO | 1.55 | 0.62 | 2.70 | 1.42 |
本文采用累计概率密度函数(PDF)来评估系统稳定性,图6(a)和图6(b)分别是空房间和实验室定位误差的累积概率密度,可以看出,空房间实验场景下,本文方案90%的定位误差在1.5 m以内,60%的定位误差在1.0 m内,相比之下,其他方案90%的定位误差最低为1.5~2.0 m,最高达到2.5 m, 60%的定位误差最低在1.0~1.5 m,最高达到2.0 m。在实验室场景下,本文方案60%的定位误差在2.0 m之内,相比之下,其他方案60%的定位误差最高达到3.0 m。由此得出,采用本文方案进行室内定位的稳定性更好。
由于神经网络在训练阶段使用多个数据包,因此如何预处理这些数据包对于本文方案降低计算复杂度非常重要。在训练阶段之前,数据包被分成几个批次,每个批次包含相同数量的数据包。由于数据包是批量并行处理的,因此可以在处理大量数据包时显著缩短处理时间。在测试阶段每批设置50, 100, 150和200个包,研究数据包处理个数对定位误差和训练平均执行时间这两个主要参数的影响。
图7(a)显示了在空房间和实验室两种不同实验环境中,不同数量数据包的平均定位误差。在两种实验环境中,随着数据包数量增多,距离误差减小。特别是,在空房间环境中,平均距离误差从1.0 m减小到0.6 m,在实验室环境中,当数据包数量从50增加到100时,定位误差从1.8 m减小到0.65 m。当数据包数量增加200时,只能实现定位误差的微小减少。由图7(b)可以看出,随着数据包数量的增加,执行时间也会迅速增加。例如,200个数据包的执行时间是2.5 s,约为50包(约0.7 s)的1.75倍。因此,即使更多的数据包有助于略微提高定位精度,我们也希望减少数据包的数量以节省数据采集和处理时间。
由以上参数分析可以得出,在本文方案中使用100个数据包进行在线测试,这不仅实现了良好的定位精度,而且实现了实时定位应用的低计算复杂度。
本文在现有的WiFi室内定位系统基础上提出了一种基于一发多收的被动式CSI室内指纹定位方案,无需被定位者携带设备,降低成本的同时提高了普适性。基于1发多收的方法扩大了信号的空间覆盖范围,有利于信号的采集以及后期的定位识别。本文将信息处理得到的CSI幅值和相位共同作为位置指纹,提取特征更全面,有利于提高位置识别的准确率。在空房间和实验室不同的实验场景采集样本指纹,利用神经网络算法对样本进行特征提取和分类,并与实时采集到的数据进行匹配,匹配识别率达到的98%,定位误差达到0.69 m。文章最后比较了本文方案与其他方案的定位误差,表明误差有明显降低。接下来的工作,探索研究其他室内定位方案,在改进算法提高准确率的同时,考虑搭建一发多收3维实验模型,实现目标特征识别、行为识别,为将来研究多目标识别和轨迹跟踪提供一定的基础。
ZHUANG Yuan, YANG Jun, LI You, et al. Smartphone-based indoor localization with bluetooth low energy beacons[J]. Sensors, 2016, 16(5): No. 596. doi: 10.3390/s16050596
|
BANDIRMALI N and TORLAK M. ERLAK: On the cooperative estimation of the real-time RSSI based location and k constant term[J]. Wireless Personal Communications, 2017, 95(4): 3923–3932. doi: 10.1007/s11277-017-4032-7
|
KOO J and CHA Hojung. Localizing WiFi access points using signal strength[J]. IEEE Communications Letters, 2011, 15(2): 187–189. doi: 10.1109/LCOMM.2011.121410.101379
|
LI Jinsong, LI Yunzhou, and JI Xinsheng. A novel method of Wi-Fi indoor localization based on channel state information[C]. The 8th International Conference on Wireless Communications & Signal Processing, Yangzhou, China, 2016: 1–5.
|
WU Yang, GONG Liangyi, MAN Dapeng, et al. Enhancing the performance of indoor device-free passive localization[J]. International Journal of Distributed Sensor Networks, 2015, 2015: 256162. doi: 10.1155/2015/256162
|
WANG Xuyu, GAO Lingjun, MAO Shiwen, et al. DeepFi: Deep learning for indoor fingerprinting using channel state information[C]. 2015 IEEE Wireless Communications and Networking Conference, New Orleans, USA, 2015: 1666–1671.
|
WANG Xuyu, GAO Lingjun, and MAO Shiwen. CSI phase fingerprinting for indoor localization with a deep learning approach[J]. IEEE Internet of Things Journal, 2016, 3(6): 1113–1123. doi: 10.1109/JIOT.2016.2558659
|
ZHOU Rui, LU Xiang, ZHAO Pengbiao, et al. Device-free presence detection and localization with SVM and CSI fingerprinting[J]. IEEE Sensors Journal, 2017, 17(23): 7990–7999. doi: 10.1109/JSEN.2017.2762428
|
CHAPRE Y, IGNJATOVIC A, SENEVIRATNE A, et al. CSI-MIMO: Indoor Wi-Fi fingerprinting system[C]. The 39th Annual IEEE Conference on Local Computer Networks, Edmonton, Canada, 2014: 202–209.
|
YANG Zheng, ZHOU Zimu, and LIU Yunhao. From RSSI to CSI: Indoor localization via channel response[J]. ACM Computing Surveys, 2013, 46(2): No. 25. doi: 10.1145/2543581.2543592
|
WU Chenshu, YANG Zheng, and LIU Yunhao. Smartphones based crowdsourcing for indoor localization[J]. IEEE Transactions on Mobile Computing, 2015, 14(2): 444–457. doi: 10.1109/TMC.2014.2320254
|
WANG Yan, LIU Jian, CHEN Yingying, et al. E-eyes: Device-free location-oriented activity identification using fine-grained WiFi signatures[C]. The 20th Annual International Conference on Mobile Computing and Networking, Maui, USA, 2014: 617–628.
|
ZHOU Yiwei, ZHU Hongzi, XUE Hua, et al. Perceiving accurate CSI phases with commodity WiFi devices[C]. IEEE NFOCOM 2017-IEEE Conference on Computer Communications, Atlanta, USA, 2017: 1–9.
|
WANG Xuyu, YANG Chao, and MAO Shiwen. TensorBeat: Tensor decomposition for monitoring multiperson breathing beats with commodity WiFi[J]. ACM Transactions on Intelligent Systems and Technology, 2018, 9(1): No. 8. doi: 10.1145/3078855
|
BRUNATO M and BATTITI R. Statistical learning theory for location fingerprinting in wireless LANs[J]. Computer Networks, 2005, 47(6): 825–845. doi: 10.1016/j.comnet.2004.09.004
|
空房间 | 实验室 | |||||
平均误差 | 误差方差 | 平均误差 | 误差方差 | |||
本文方案 | 0.69 | 0.36 | 1.25 | 1.01 | ||
PhaseFi | 0.94 | 0.56 | 1.81 | 1.34 | ||
DeepFi | 1.08 | 0.41 | 2.01 | 1.01 | ||
CSI-MIMO | 1.55 | 0.62 | 2.70 | 1.42 |