一种基于DBSCAN算法的室内定位方法与流程

文档序号:11139571阅读:684来源:国知局
一种基于DBSCAN算法的室内定位方法与制造工艺

本发明属于室内定位技术领域,具体涉及一种基于DBSCAN算法的室内定位方法。



背景技术:

随着物联网的发展,对室内定位的需求也与日俱增,诸如在商场、学校、写字楼、医院、酒店、飞机场、仓库等室内环境中都需要室内定位技术来对资源、人员进行高效的管理,VR领域也存在着大量的需求来定位玩家的室内位置信息等,因此,如何更好的满足日益增加室内定位需求,已经成为当前定位技术中的热点问题。

现有的室内定位技术中,基于无线信号强度(RSSI)的指纹定位方法已被广泛应用于各种室内定位系统中,在室内环境中,由于无线信号的传播容易受温度、湿度和人员走动的影响,因此无线信号强度(RSSI)的测量值波动较大;为了提高测量的稳定性和精度,常用匹配指纹库的方式实现室内定位,利用匹配指纹数据库实现室内定位的常用方法有朴素贝叶斯法,K近邻法(KNN),贝叶斯估计,神经网络法等,这些皆为监督学习的方法,通常需要人为划分网格,这些网络一般通过平分面积来划分,由于实际中无线信号强度(RSSI)分布不平均,会导致无线信号强度(RSSI)序列相似的地点被分入不同网格中,出现多个邻近网格信号强度(RSSI)序列很相近,但最终被随机定位到其中一个网格的情况发生,导致定位结果不准确。



技术实现要素:

为解决现有技术的不足,本发明提出一种基于DBSCAN算法的室内定位方法,包括以下步骤:

步骤1、在所需定位的建筑内,安装若干个信号发射器和若干个信号采集器;

步骤2、设定样本点的个数,确定每个样本点的坐标,并获得每个样本点的信号强度序列,即每个样本点到各个信号发射器的信号强度;

步骤3、将每个样本点的坐标和信号强度序列进行纪录编号;

步骤4、根据编号后的每个样本点的坐标和信号强度序列,利用DBSCAN算法建立室内定位模型,包括以下步骤:

步骤4.1、设定密度选择参数,即设定邻域的长度和每个核心对象至少包含的样本点的个数;

步骤4.2、根据编号后的每个样本点的信号强度序列和所设定的密度选择参数设定核心对象的约束条件,根据约束条件确定样本点的核心对象,通过核心对象进一步确定聚类簇;所述的核心对象的约束条件为:每个样本点的邻域内所包含的其他样本点的个数是否大于等于所设定的每个核心对象至少包含的样本点的个数;

步骤4.3、获得每个聚类簇的平均信号强度,并根据编号后的每个样本点的坐标,获得每个聚类簇的平均位置坐标,即室内定位模型建立完成;

步骤5、获得待定位点的信号强度序列,并根据建立完成的室内定位模型获得该待定位点的定位坐标,具体为:获得该待定位点与每个聚类簇的平均信号强度的欧氏距离,并选择与其欧氏距离最小的聚类簇的平均位置坐标作为该待定位点的定位坐标。

步骤4.2所述的核心对象的约束条件,公式如下:

|Nθ(xj)|≥Minpts (1)

其中,Nθ表示某个样本点的θ邻域内的样本个数;θ表示邻域的长度;xj表示第j个样本点,j表示自然数;Minpts表示每个核心对象至少包含的样本点的个数;

其中,

Nθ(xj)={xi∈D|d(xi,xj)≤θ} (2)

其中,xi表示第i个样本点;i表示自然数;D表示编号后的每个样本点的坐标和信号强度序列的数据集;d(xi,xj)表示xi与xj两个样本点之间的欧氏距离;

其中,

其中,n表示每个样本点记录的无线信号强度的个数;k表示自然数;rik表示第i个样本点的第k个无线信号强度值;rjk表示第j个样本点的第k个无线信号强度值。

本发明的优点:

本发明提出一种基于DBSCAN算法的室内定位方法,利用非监督学习算法进行建模,根据无线信号强度值(RSSI)进行分类聚簇,而非人为进行网格划分,使网格划分更符合实际,提高了室内定位的稳定性和精确度。

附图说明

图1为本发明一种实施例的基于DBSCAN算法的室内定位方法流程图;

图2为本发明一种实施例的室内定位的示意图。

具体实施方式

下面结合附图对本发明一种实施例做进一步说明。

本发明实施例中,一种基于DBSCAN算法的室内定位方法,方法流程图如图1所示,包括以下步骤:

步骤1、在所需定位的建筑内,安装若干个信号发射器和若干个信号采集器;

步骤2、设定样本点的个数,确定每个样本点的坐标(Z1,Z2),并获得每个样本点的信号强度序列{r1,r2,···,rn},即每个样本点到各个信号发射器的信号强度;

步骤3、将每个样本点的坐标和信号强度序列作为一个样本数据进行记录编号,获得数据集D={x1,x2,···,xm};其中m表示自然数,即样本数据的序号;

步骤4、根据编号后的每个样本点的坐标和信号强度序列,利用DBSCAN算法建立室内定位模型,包括以下步骤:

步骤4.1、设定密度选择参数,即设定邻域的长度θ和每个核心对象至少包含的样本点的个数Minpts;

步骤4.2、根据编号后的每个样本点的信号强度序列和所设定的密度选择参数设定核心对象的约束条件,根据约束条件确定样本点的全部的核心对象,通过核心对象进一步确定聚类簇;所述的核心对象的约束条件为:每个样本点的邻域内所包含的其他样本点的个数是否大于等于所设定的每个核心对象至少包含的样本点的个数,具体步骤如下:

步骤4.2.1、根据编号后的每个样本点的信号强度序列和所设定的邻域的长度设定核心对象的约束条件,并根据约束条件确定样本点中全部的核心对象,约束条件公式如下:

|Nθ(xj)|≥Minpts (1)

其中,Nθ表示某个样本点的θ邻域内的样本个数;θ表示邻域的长度;xj表示第j个样本点,j表示自然数,即样本点的序号;Minpts表示每个核心对象至少包含的样本点的个数;

本发明实施例中,对于xj∈D,其θ邻域包含样本集D中与xj的距离小于等于θ的样本,公式为:

Nθ(xj)={xi∈D|d(xi,xj)≤θ} (2)

其中,xi表示第i个样本点;i表示自然数,即样本点的序号;D表示编号后的每个样本点的坐标和信号强度序列的数据集;

本发明实施例中,d(xi,xj)表示xi与xj两个样本点之间的欧氏距离,即信号强度序列{r1,r2,···,rn}构成的n维欧氏空间中xi与xj两点间的距离,公式如下:

其中,n表示每个样本点记录的无线信号强度的个数;k表示自然数,即无线信号强度值的序号;rik表示第i个样本点的第k个无线信号强度值;rjk表示第j个样本点的第k个无线信号强度值;

步骤4.2.2、通过核心对象进一步确定全部的聚类簇;

本发明实施例中,若xj位于xi的θ的领域中,且xi是核心对象,则称xj由xi密度直达;对于xi与xj,若存在样本序列{p1,p2,···,pn},其中p1=xi,pn=xj,且样本序列中每一个样本都可由前一个样本密度直达,则称xj由xi密度可达;任意选择样本集D中的一个核心对象为“种子”,由此出发找出其所有密度可达的样本点,即确定了相应的聚类簇;将全部的核心对象进行访问,获得全部的聚类簇;

步骤4.3、获得每个聚类簇的平均信号强度,并根据编号后的每个样本点的坐标,计算获得每个聚类簇的平均位置坐标,即室内定位模型建立完成;

本发明实施例中,所述的获得每个聚类簇的平均信号强度,采用以下公式:

其中,h表示每个聚类簇中样本点的个数;ri1表示每个聚类簇中第i个样本点的第一个无线信号强度;ri2表示每个聚类簇中第i个样本点的第二个无线信号强度;rin表示每个聚类簇中第i个样本点的第n个无线信号强度;

本发明实施例中,所述的获得每个聚类簇的平均位置坐标,采用以下公式:

其中,Zi1表示每个聚类簇中第i个样本点的横坐标值;Zi2表示每个聚类簇中第i个样本点纵坐标值;

步骤5、通过在线测量等方式获得待定位点的信号强度序列,并根据建立完成的室内定位模型获得该待定位点的定位坐标,具体为:获得该待定位点与每个聚类簇的平均信号强度的欧氏距离,并选择与其欧氏距离最小的聚类簇的平均位置坐标作为该待定位点的定位坐标;

本发明实施例中,如图2所示,在电脑上对本方法进行模拟,设定14个样本点,并随机设定一个待定位点,每个样本点接收到的无线信号强度序列为{r1,r2},利用DBSCAN算法把样本点分成了C1和C2两个聚类簇,分别获得每个聚类簇的中心点,即平均信号强度点;获得待定位点与每个聚类簇中心点的欧氏距离,这里与聚类簇C1的欧氏距离最小,则定位的坐标即为聚类簇C1的平均位置坐标。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1