【技术实现步骤摘要】
一种异构设备室内定位算法
[0001]本专利技术涉及一种室内定位算法,属于室内定位
,尤其是涉及一种异构设备室内定位算法。
技术背景
[0002]Wi
‑
Fi室内定位主要有两大类:基于测距的方法和基于指纹的方法。前者通过Wi
‑
Fi 信号传播模型计算待定位节点到若干Wi
‑
Fi接入点(AP)的距离,然后用三边定位等几何算法进行定位;后者则把定位环境的每个位置都用一个唯一的“指纹”来表示,并用特定的指纹匹配算法确定目标位置。
[0003]测距定位需要预先知道AP的位置并使用额外设备精准测距,且由于室内环境的复杂性,Wi
‑
Fi信号易受非视距环境和多径效应的影响,难以建立准确的信号传播模型并进行较精准的测距,进而影响定位精度;而后者只通过采集若干指纹即可进行定位,包括离线和在线两个阶段。
[0004]离线阶段在每个位置采集由若干AP发送的接收信号强度指示(Received SignalStrength Indicator,RSSI)作为指纹并构成离线指纹库,在线阶段则通过各种定位算法进行定位。在线定位算法主要有概率性定位算法和确定性定位算法,前者将一个时间段中的RSSI采样值建模为概率分布函数作为指纹,计算复杂度高;后者则使用相似性度量待定位节点的指纹与离线指纹库中的数据来进行定位。常用的确定性定位算法有KNN、 WKNN、GBRT等经典机器学习算法,但由于RSSI指纹波动性较大且存在噪声,这类传统算法难以实现较高的定位精度。深 ...
【技术保护点】
【技术特征摘要】
1.一种异构设备室内定位算法,包括,其特征在于,包括如下步骤:1)模型建立阶段,在定位区域中选定坐标原点,以正北方向作为y轴正向,以正东作为x轴正向建立坐标系,然后以特定的间隔绘制网格;2)在每个网格点上收集Wi
‑
Fi信息,建立基于网格点的指纹库,然后使用数据增强扩充原始指纹库;3)使用轨迹生成算法分别以每个网格点为起点生成大量轨迹数据,生成基于行人轨迹的指纹库;4)把基于行人轨迹的指纹库用作训练数据,训练基于CNN和RNN的定位模型;5)在定位过程中,实时收集Wi
‑
Fi信息并转换为差分矩阵指纹,与模型上一时刻的定位坐标一起输入到定位模型中,模型输出的坐标即为估计位置。2.如权利要求1所述的异构设备室内定位算法,其特征在于,步骤1)具体为:在定位区域内设定原点坐标,以定位区域的最西南方向的点作为原点(x0,y0),在该区域内建立坐标系,坐标系的x轴正向为正东方向,坐标系的y轴正向为正北方向;在定位区域内绘制n*m的网格,每个网格点的坐标形如(x
i
,y
j
),表示x轴第i条线与y轴第j条线相交处的网格点坐标;此时区域内网格点个数N
grid
=n*m。3.如权利要求1所述的异构设备室内定位算法,其特征在于,步骤2)具体为:1)采集者使用不同型号的智能手机在定位区域的每个坐标点上采集Wi
‑
Fi指纹;假设定位区域有N
ap
个Wi
‑
Fi接入点,那么以坐标点(x
i
,y
j
)为例,当前时刻t采集到的Wi
‑
Fi信号的向量为:其中,分量表示时刻t在坐标(x
i
,y
j
)采集到的第k个Wi
‑
Fi接入点的接收信号强度(RSSI);2)构建基于网格点的指纹库在定位区域内所有坐标点上采集完Wi
‑
Fi后,即可构建基于网格点指纹库D:D=(D
0,0
,D
0,1
,...D
i,j
,...,D
n,m
););其中,N
grid
为网格个数,N
rss
为每个点上采集RSSI指纹的次数,D
i,j
为网格点(x
i
,y
j
)对应的指纹,为该指纹中第k个Wi
‑
Fi接入点的所有RSSI采样值构成的向量。4.如权利要求1所述的异构设备室内定位算法,其特征在于,步骤3)具体为:1)数据增强由于实际定位过程中,部分型号较旧的智能手机搭载的低版本Android系统(如Android 7、Android 8)无法修改RSSI的采样频率,难以获取大量采样数据以保证模型精度。为了减少指纹采集工作量,使用如下数据增强算法生成新指纹:
①
对指纹库D中第i个网格点的指纹D
i
,初始化新指纹RSSI_New
i
;
②
计算D
i
中第n个AP的RSSI采样值的缺失值所占比例r,以及去除缺失值(>
‑
100)的的均值μ、标准差σ
o
;生成一个在[0,1]范围内的随机数rand_num,如果rand
num
<r,将缺失值(
‑
100)添加到RSSI_New
i
,否则根据正态分布N(μ,σ2)生成随机数并添加到RSSI_New
i
中;
③
对D
i
中每个AP的采样值执行
②
,得到RSSI_New
i
;
④
对任意D
i
执行若干次
①
~
③
,得到增强后的指纹库D
*
;2)构建基于行人轨迹的指纹库由于采集的指纹库是基于网格点的,而训练基于RNN的定位模型,需要基于行人轨迹的指纹作为训练数据。定位目标的移动速度有限,离当前位置越近的点被选作轨迹的下一个点的概率越大;取RSSI采样周期Δt=1s,行人最大移动速度v
max
=1.8m/s,采样周期内的最大移动距离σ=v
max
×
Δt=1.8m,按如下的步骤生成大量轨迹数据:
①
对指纹库中每个网格点l
k
=(x
i
,y
j
),计算其它网格点到该点的欧氏距离得到欧氏距离矩阵
②
初始化概率矩阵令p
ko
为Δt内目标从当前位置l
k
=(x
i
,y
j
)移动到下一位置的概率,为归一化的p
ko
°
;假设pk
o
服从以当前坐标为均值、σ为标准差的正态分布,则有:则有:
③
初始化行人轨迹数据集T;
④
初始化行人轨迹tragectory=[l
i
],使用矩阵p生成轨迹;对当前点l
i
,在概率矩阵p的第i行p
i
中按概率选择轨迹的下一个点l
j
,并添加到path中;p
ij
越大,则l
j
成为下一个点的概率就越大;重复添加轨迹点直到tragectory的长度为l;
⑤
对区域内所有网格点,以当前网格点(x
i
,y
j
)为起点,重复执行N
tr
次步骤
④
,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。