前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)
微信公众号:创享日记
发送:指纹定位
获取完整报告(含源码+结果+思考)
一、实验目的
理解Wi-Fi定位中的位置指纹法,掌握使用路径损耗模型模拟相关指纹数据,使用MATLAB实现基于信号强度的位置指纹定位仿真。
二、实验要求
已知4个基站位置坐标分别为[0 0],[0 21],[21 0],[21 21]。每间隔一米设置400个参考点,通过路径损耗模型计算每个参考点的位置相关的RSS指纹(四个基站的RSS),建立离线数据库。路径损耗参数设为:d_0=1;p_0=-30dB;n=-3;σ=1。当目标处于position_target=[9.5,10.7]时,通过路径损耗模型得出目标指纹,并与数据库进行在线匹配,得到最近的参考点坐标。
三、实验内容
1、位置指纹
一个位置指纹通常是指,一个MS在某个特定位置,采集不同AP发送过来的信号构成与特定位置相关的信号特征。通常可分为参考RF指纹与目标RF指纹。
2、位置指纹法
位置指纹法通常都是一个两阶段的工作模式:
(1)离线阶段:使用移动设备采集各AP发出来的RSSI(接收信号强度),关联上采集时的位置信息,构建一个位置指纹数据库。
(2)在线阶段:用用户采集到的各AP的RSSI去搜索位置指纹数据库,得到最近的参考点坐标,估算用户位置。
3、位置指纹数据库
位置指纹数据库(LFDB)的构建是在离线阶段完成。位置指纹数据库由众多数据库元素组成。数据库元素为:DBE={L,R}。其中L表示物理位置,R表示在该位置上采集到的指纹,表述如下:
N_r表示的是离线阶段在参考位置点上采样设备通信范围内的AP数目。r_i表示的是采样设备接收自第i个AP的信号参数,id_i表示的是AP的ID。
3、实验分析过程
(1)利用路径损耗模型,计算出区域内400个参考点的路径损耗,构建指纹库。
(2)根据路径损耗模型,求出目标位置的路径损耗。路径损耗模型如下公式。
(3)使用曼哈顿距离将目标位置损耗值与数据库进行匹配,权重距离L_P最小对应的位置就是目标指纹的位置。
此次实验运用MATLAB时,主要注意循环结构和结构体的使用。
程序代码详见附录3。
四、实验结果
代码运行结果如下图:
由于路径损耗计算中存在随机数,故程序每次运行计算出的路径损耗结果会有所不同,相应地,匹配出的具体坐标也将不同。但RSS0大致能够稳定在-68至-63dB间。
五、实验讨论
WI-FI指纹定位的核心思想,是把实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。这个指纹可以是单维或多维的,比如从某个特定位置的信号中提取指纹,那么指纹可以是这个信号的一个特征或多个特征(最常见的是信号强度)。
在实际应用中,一般通过在定位空间采集通信设备的物理地址和信号特征,构成指纹数据库,而非采集基站信息构建数据库,故不需要知道基站位置坐标。若要对某个待定位点进行定位,则采集该点的信号特征,并于指纹数据库进行对比,将数据库中与待定位点信号特征最接近的采样点,作为该定位点的定位结果。