一种非视距误差消除的测距方法及系统

申请号 CN201510780461.X 申请日 2015-11-13 公开(公告)号 CN105445699A 公开(公告)日 2016-03-30
申请人 哈尔滨工业大学深圳研究生院; 发明人 赵登康; 马丹; 张强; 张霆廷;
摘要 本 发明 提供了一种非视距误差消除的测距方法及系统,该测距误差消除方法包括如下步骤:第一步,建立误差 数据库 ;第二步,进行实际测量,通过K近邻法消除误差。本发明的有益效果是:本发明能够实现对 定位 过程中非视距 鉴别 和误差消除一体化,其计算量小,易实现,能够大大提高测距 精度 。
权利要求

1.一种非视距误差消除的测距方法,其特征在于,包括如下步骤:
第一步,建立误差数据库
第二步,进行实际测量,通过K近邻法消除误差。
2.根据权利要求1所述的测距方法,其特征在于,在所述第一步中,误差数据库的建立方法为:
A.初始化步骤:选择具体的实验环境和区域;
B.选择步骤:选择训练点;
C.包括采集提取步骤和测量步骤,在采集提取步骤中:采集训练点波形和提取波形特征,在测量步骤中:测出训练点实际距离:每采集一个训练点并提取其波形特征时,测出该训练点的实际距离,从而能够计算出该点的测量误差;
D.计算步骤:根据步骤C,计算出训练点的误差y,从而建立误差数据库Y。
3.根据权利要求2所述的测距方法,其特征在于,在所述步骤D中,根据特征向量X进行机器学习,不断地重复训练,建立数据库{X1,…,XN},该数据库中含有N个样本,用实际值减去测量值就是误差, 对应于以上的N个训练样本测距误差。
4.根据权利要求1所述的测距方法,其特征在于,在所述第二步中,首先执行新数据采集和提取步骤、误差数据库初始化和特征提取步骤,然后再依次执行计算欧式距离步骤、找出最近K个近邻点步骤、计算回归误差步骤和更新步骤;
新数据采集和提取步骤:对实际测量点进行测距,并提取该测距波形的特征值;
误差数据库初始化和特征提取步骤:初始化误差数据库并提取误差数据库中各点的特征值;
计算欧式距离步骤:根据新数据采集和提取步骤、误差数据库初始化和特征提取步骤,计算出测量点与误差数据库中样本点之间的欧式距离,通过计算测距点与样本点之间的欧式距离,可以得到
Di=||X-Xi||=((X-Xi)T(X-Xi))1/2;
找出最近K个近邻点步骤:根据计算欧式距离步骤计算出欧式距离的结果,按照计算出的欧式距离Di大小进行排序,0≤D(1)≤D(2)≤ ...≤D(n),每个欧式距离值D(i)对应数据库样本X(i),同样按照欧式距离值对X(i)进行排序,可得{X(1),X(2),X(3),...X(n)},这就是X的K个最邻近的点,其中X(1)是第一邻近的点,X(2)是第二邻近点,依次类推X(n)是第n个邻近点;
计算回归误差步骤:最近K个近邻点误差加权,计算回归误差,利用找出最近K个近邻点步骤找出的最近K个近邻点,对这K个近邻点的误差进行加权得到一个新的误差,这个新的误差就作为对应测量点的误差,也就是回归误差;
更新步骤:将回归误差加到未经处理的测量值上去,得到一个新的测量值,这个新的测量值就是经过K-NN误差消除后的测量值。
5.根据权利要求4所述的测距方法,其特征在于,在所述计算回归误差步骤中,利用加权K-NN回归算法计算回归误差,加权K-NN回归算法:
6.一种非视距误差消除的测距系统,其特征在于,包括:
数据库建立单元,用于建立误差数据库;
处理单元,用于进行实际测量,通过K近邻法消除误差。
7.根据权利要求6所述的测距系统,其特征在于,在所述数据库建立单元中,包括:
初始化模:用于选择具体的实验环境和区域;
选择模块:用于选择训练点;
采集提取模块和测量模块,在采集提取模块中:用于采集训练点波形和提取波形特征,在测量模块中:用于测出训练点实际距离:每采集一个训练点并提取其波形特征时,测出该训练点的实际距离,从而能够计算出该点的测量误差;
计算模块:计算出训练点的误差y,从而建立误差数据库Y。
8.根据权利要求7所述的测距系统,其特征在于,在所述计算模块中,根据特征向量X进行机器学习,不断地重复训练,建立数据库{X1,...,XN},该数据库中含有N个样本,用实际值减去测量值就是误差, 对应于以上的N个训练样本测距误差。
9.根据权利要求6所述的测距系统,其特征在于,在所述处理单元中,首先执行新数据采集和提取模块、误差数据库初始化和特征提取模块,然后再依次执行计算欧式距离模块、找出最近K个近邻点模块、计算回归误差模块和更新模块;
新数据采集和提取模块:用于对实际测量点进行测距,并提取该测距波形的特征值;
误差数据库初始化和特征提取模块:用于初始化误差数据库并提取误差数据库中各点的特征值;
计算欧式距离模块:根据新数据采集和提取模块、误差数据库初始化和特征提取模块,计算出测量点与误差数据库中样本点之间的欧式距离,通过计算测距点与样本点之间的欧式距离,可以得到
Di=||X-Xi||=((X-Xi)T(X-Xi))1/2;
找出最近K个近邻点模块:用于根据计算欧式距离模块计算出欧式距离的结果,按照计算出的欧式距离Di大小进行排序,0≤D(1)≤D(2)≤ ...≤D(n),每个欧式距离值D(i)对应数据库样本X(i),同样按照欧式距离值对X(i)进行排序,可得{X(1),X(2),X(3),...X(n)},这就是X的K个最邻近的点,其中X(1)是第一邻近的点,X(2)是第二邻近点,依次类推X(n)是第n个邻近点;
计算回归误差模块:最近K个近邻点误差加权,计算回归误差,利用找出最近K个近邻点模块找出的最近K个近邻点,对这K个近邻点的误差进行加权得到一个新的误差,这个新的误差就作为对应测量点的误差,也就是回归误差;更新模块:用于将回归误差加到未经处理的测量值上去,得到一个新的测量值,这个新的测量值就是经过K-NN误差消除后的测量值。
10.根据权利要求9所述的测距系统,其特征在于,在所述计算回归误差模块中,利用加权K-NN回归算法计算回归误差,加权K-NN回归算法:

说明书全文

一种非视距误差消除的测距方法及系统

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种非视距误差消除的测距方法及系统。

背景技术

[0002] 现有的非视距鉴别和误差消除方法主要有基于参数的信道模型方法,基于参数的信道模型法鉴别率低,而且这种方法在多径非视距(NLOS)误差消除过程中需要大量先验知识,不切实际的,很难实现。信道模型法将LOS和NLOS鉴别、误差消除分开进行,也未能实现鉴别和消除一体化,实现过程中效率较低。

发明内容

[0003] 本发明提供了一种测距误差消除方法,包括如下步骤:
[0004] 第一步,建立误差数据库
[0005] 第二步,进行实际测量,通过K近邻法消除误差。
[0006] 作为本发明的进一步改进,在所述第一步中,误差数据库的建立方法为:
[0007] A.初始化步骤:选择具体的实验环境和区域;
[0008] B.选择步骤:选择训练点;
[0009] C.包括采集提取步骤和测量步骤,在采集提取步骤中:采集训练点波形和提取波形特征,在测量步骤中:测出训练点实际距离:每采集一个训练点并提取其波形特征时,测出该训练点的实际距离,从而能够计算出该点的测量误差;
[0010] D.计算步骤:根据步骤C,计算出训练点的误差y,从而建立误差数据库Y。
[0011] 作为本发明的进一步改进,在所述步骤D中,根据特征向量X进行机器学习,不断地重复训练,建立数据库{X1,...,XN},该数据库中含有N个样本,用实际值减去测量值就是误差, 对应于以上的N个训练样本测距误差。
[0012] 作为本发明的进一步改进,在所述第二步中,首先执行新数据采集和提取步骤、误差数据库初始化和特征提取步骤,然后再依次执行计算欧式距离步骤、找出最近K个近邻点步骤、计算回归误差步骤和更新步骤;
[0013] 新数据采集和提取步骤:对实际测量点进行测距,并提取该测距波形的特征值;
[0014] 误差数据库初始化和特征提取步骤:初始化误差数据库并提取误差数据库中各点的特征值;
[0015] 计算欧式距离步骤:根据新数据采集和提取步骤、误差数据库初始化和特征提取步骤,计算出测量点与误差数据库中样本点之间的欧式距离,通过计算测距点与样本点之间的欧式距离,可以得到
[0016]
[0017] 找出最近K个近邻点步骤:根据计算欧式距离步骤计算出欧式距离的结果,按照计算出的欧式距离Di大小进行排序,0≤D(1)≤D(2)≤ ...≤D(n),每个欧式距离值D(i)对应数据库样本X(i),同样按照欧式距离值对X(i)进行排序,可得{X(1),X(2),X(3),...X(n)},这就是X的K个最邻近的点,其中X(1)是第一邻近的点,X(2)是第二邻近点,依次类推X(n)是第n个邻近点;
[0018] 计算回归误差步骤:最近K个近邻点误差加权,计算回归误差,利用找出最近K个近邻点步骤找出的最近K个近邻点,对这K个近邻点的误差进行加权得到一个新的误差,这个新的误差就作为对应测量点的误差,也就是回归误差;
[0019] 更新步骤:将回归误差加到未经处理的测量值上去,得到一个新的测量值,这个新的测量值就是经过K-NN误差消除后的测量值。
[0020] 作为本发明的进一步改进,在所述计算回归误差步骤中,利用加权K-NN回归算法计算回归误差,加权K-NN回归算法:
[0021]
[0022] 本发明还提供了一种测距误差消除系统,包括:
[0023] 数据库建立单元,用于建立误差数据库;
[0024] 处理单元,用于进行实际测量,通过K近邻法消除误差。
[0025] 作为本发明的进一步改进,
[0026] 初始化模:用于选择具体的实验环境和区域;
[0027] 选择模块:用于选择训练点;
[0028] 采集提取模块和测量模块,在采集提取模块中:用于采集训练点波形和提取波形特征,在测量模块中:用于测出训练点实际距离:每采集一个训练点并提取其波形特征时,测出该训练点的实际距离,从而能够计算出该点的测量误差;
[0029] 计算模块:计算出训练点的误差y,从而建立误差数据库Y。
[0030] 作为本发明的进一步改进,在所述计算模块中,根据特征向量X进行机器学习,不断地重复训练,建立数据库{X1,...,XN},该数据库中含有N个样本,用实际值减去测量值就是误差, 对应于以上的N个训练样本测距误差。
[0031] 作为本发明的进一步改进,在所述处理单元中,首先执行新数据采集和提取模块、误差数据库初始化和特征提取模块,然后再依次执行计算欧式距离模块、找出最近K个近邻点模块、计算回归误差模块和更新模块;
[0032] 新数据采集和提取模块:用于对实际测量点进行测距,并提取该测距波形的特征值;
[0033] 误差数据库初始化和特征提取模块:用于初始化误差数据库并提取误差数据库中各点的特征值;
[0034] 计算欧式距离模块:根据新数据采集和提取模块、误差数据库初始化和特征提取模块,计算出测量点与误差数据库中样本点之间的欧式距离,通过计算测距点与样本点之间的欧式距离,可以得到
[0035]
[0036] 找出最近K个近邻点模块:用于根据计算欧式距离模块计算出欧式距离的结果,按照计算出的欧式距离Di大小进行排序,0≤D(1)≤D(2)...≤D(n),每个欧式距离值D(i)对应数据库样本X(i),同样按照欧式距离值对X(i)进行排序,可得{X(1),X(2),X(3),...X(n)},这就是X的K个最邻近的点,其中X(1)是第一邻近的点,X(2)是第二邻近点,依次类推X(n)是第n个邻近点;
[0037] 计算回归误差模块:最近K个近邻点误差加权,计算回归误差,利用找出最近K个近邻点模块找出的最近K个近邻点,对这K个近邻点的误差进行加权得到一个新的误差,这个新的误差就作为对应测量点的误差,也就是回归误差;
[0038] 更新模块:用于将回归误差加到未经处理的测量值上去,得到一个新的测量值,这个新的测量值就是经过K-NN误差消除后的测量值。
[0039] 作为本发明的进一步改进,在所述计算回归误差模块中,利用加权K-NN回归算法计算回归误差,加权K-NN回归算法:
[0040]
[0041] 本发明的有益效果是:本发明能够实现对定位过程中非视距鉴别和误差消除一体化,其计算量小,易实现,能够大大提高测距精度附图说明
[0042] 图1是本发明的误差数据库建立流程图
[0043] 图2是本发明的训练点和测量点分布图;
[0044] 图3是本发明的实际测量流程图;
[0045] 图4是本发明的测距误差对比图;
[0046] 图5是本发明的定位误差对比图。

具体实施方式

[0047] 鉴于现有技术缺陷,本发明提出了基于机器学习的K近邻法(K-NN),即,本发明公开了一种测距误差消除方法,该测距误差消除方法能够实现对定位过程中非视距鉴别和误差消除一体化,其计算量小,易实现,能够大大提高测距精度。
[0048] K近邻法是数据挖掘分类、回归技术中最简单的方法之一,对于某一需要分类或回归的数据点,通过在训练集中寻找距离最近的K个点,并将该K个点的特征属性赋给该点。由于K-NN方法主要依靠有限个数邻近样本,因此对于分类有交叉的样本来说,基于K-NN算法的分类方法比其他方法更有效。KNN算法不仅用于分类,也可以用于回归,分别求出到测试点最近的K个样本点,并根据特征值欧式距离的长短赋予不同的权重,将K个点的权重分别加权赋给测试点,回归出测试点的属性。
[0049] 在视距(LOS)和非视距环境下测距接收到的波形有较大区别,NLOS条件下由于障碍物的遮挡和多径影响,信号衰落得更严重,能量和幅度也更小,在LOS条件下最强信号分量最先到达,而在NLOS情况下则不一定。基于以上描述,在NLOS和LOS中多个信号统计参数有较大区别,可以利用这些信号特征进行传播路径鉴别。信号特征有很多,这里仅列举信号的某些特征来阐明方法。如信号最大幅度、信号能量、峰均值能量比、均方根时延、超量时延方差、峭度、均值、方差等统计特征。
[0050] 本发明的测距误差消除方法包括如下两个步骤:
[0051] 第一步,建立误差数据库;
[0052] 第二步,进行实际测量,通过K近邻法消除误差。
[0053] 如图1所示,在所述第一步中,误差数据库的建立方法为:
[0054] 步骤S1.初始化步骤:选择具体的实验环境和区域;
[0055] 步骤S2.选择步骤:选择训练点;
[0056] 步骤S3.包括采集提取步骤和测量步骤,在采集提取步骤中:采集训练点波形和提取波形特征,在测量步骤中:测出训练点实际距离:每采集一个训练点并提取其波形特征时,测出该训练点的实际距离,从而能够计算出该点的测量误差;
[0057] 步骤S4.计算步骤:根据步骤S3,计算出训练点的误差y,从而建立误差数据库Y。
[0058] 在步骤S2.选择步骤中,图2是训练点和测量点分布,空心点为训练点,实心点为测量点,训练点的参数为15个测距点,为了不失一般性,在每个点处测距32次,然后求平均。也就是说数据库的样本容量为15个点
[0059] 在采集提取步骤中,在多径环境中(有障碍物遮挡的环境),一个周期内的接收信号r(t)如下,其中N(m)是多径分量数,ai和τ(i)分别是第i个分量的幅度和延时,n(t)是加性高斯白噪声,p(t)是多径分量。
[0060] 信号模型
[0061]
[0062] 最大幅度值
[0063] rmax=max|r(t)|        (2)
[0064] 信号能量
[0065] εr=∫T|r(t)|2dt        (3)
[0066] 峰均值能量比
[0067]
[0068] 超量时延
[0069]
[0070] 均方根时延
[0071]
[0072] 峭度
[0073]
[0074] 信号均值
[0075]
[0076] 信号方差
[0077]
[0078] 其中Ts为采样间隔,Ns为采样次数。以上这些特征,在NLOS的环境中由于信号传播受到障碍物的遮挡,能量会有损失且不集中,信噪比降低,因此NLOS环境下信号的最大幅度、能量、峭度、均值相对于LOS环境都会减小,接收信号的方差变大。同时由于多径环境下,信号传播会产生超量时延和均方根时延。基于以上这些信号特征,构造特征向量[0079] 在步骤S4.计算步骤中,具体实现就是根据特征向量X进行机器学习,不断地重复训练,建立数据库{X1,...,XN},该数据库中含有N个样本。用实际值减去测量值就是误差,Y=[y1,y2,...,yN]对应于以上的N个训练样本测距误差。
[0080] 在初始化步骤中,实验具体的测量场景是:一个超宽带节点固定在泥墙背面,另一个超宽带节点不断移动测量。如图2所示,灰色矩形块代表水泥墙,在灰色矩形块上面单独的空心点,就是在墙背面固定放置的超宽带节点。空心点是建立数据库的训练点,实心点是实际测量点。
[0081] 如图3所示,在第二步中,首先执行新数据采集和提取步骤、误差数据库初始化和特征提取步骤,然后再依次执行计算欧式距离步骤、找出最近K个近邻点步骤、计算回归误差步骤和更新步骤;
[0082] 新数据采集和提取步骤:现在是测距过程,也就是实际应用阶段,对图2中的实心点进行测距,并提取该测距波形的特征值;
[0083] 误差数据库初始化和特征提取步骤:初始化误差数据库并提取误差数据库中各点的特征值;
[0084] 计算欧式距离步骤:根据新数据采集和提取步骤、误差数据库初始化和特征提取步骤,计算出测量点与误差数据库中样本点之间的欧式距离,通过计算测距点与样本点之间的欧式距离,可以得到
[0085] Di=||X-Xi||=((X-Xi)T(X-Xi))1/2       (10)
[0086] 找出最近K个近邻点步骤:根据计算欧式距离步骤计算出欧式距离的结果,按照计算出的欧式距离Di大小进行排序,0≤D(1)≤D(2)≤...≤D(n),每个欧式距离值D(i)对应数据库样本X(i),同样按照欧式距离值对X(i)进行排序,可得{X(1),X(2),X(3),...X(n)},这就是X的K个最邻近的点,其中X(1)是第一邻近的点,X(2)是第二邻近点,依次类推X(n)是第n个邻近点;
[0087] 计算回归误差步骤:最近K个近邻点误差加权,计算回归误差,利用找出最近K个近邻点步骤找出的最近K个近邻点,对这K个近邻点的误差进行加权得到一个新的误差,这个新的误差就作为对应测量点的误差,也就是回归误差;
[0088] 更新步骤:将回归误差加到未经处理的测量值上去,得到一个新的测量值,这个新的测量值就是经过K-NN误差消除后的测量值。
[0089] 利用K-NN方法计算回归误差有两种方法,分别是经典K-NN算法和加权K-NN算法。经典的K-NN算法
[0090]
[0091] 通过对经典的K-NN算法进行改进可得到加权K-NN回归算法
[0092]
[0093] 经典K-NN算法和加权K-NN算法均可用于NLOS误差消除,加权K-NN算法能够得到更好地效果。本发明采用的是加权K-NN估计算法。
[0094] 图1、3两个流程图是基于K-NN方法进行误差消除的整体实施方案。下面通过消除结果来说明达到的实际效果。
[0095] 发明效果:
[0096] 通过实际的场景测量,将采集到的数据进行处理,得到如下结果,如图4和图5所示。图4是测距误差的对比,其中带叉的线是在障碍物遮挡(NLOS)环境下且未经过K-NN算法处理时的测距误差;带五星的线是在障碍物遮挡(NLOS)环境下,但经过K-NN算法处理后的测距误差。通过仿真图的对比可以看出,与未经过K-NN处理的测距结果相比,经过K-NN算法处理后的测距误差明显变小,测距精度明显提高。而且由于K-NN算法仅需要计算多维欧氏距离,排序简单,因此计算量较小,实时性好,为硬件开发提供了便利,在硬件上更容易实现,易于推广。
[0097] 图5是定位误差的对比,定位误差主要受到测距误差的影响,一旦测距很精确,那么得到的定位结果也相对很精确。测距精度提高将直接提升定位性能。从图5中可以看出经过,与未经过K-NN处理的定位结果相比,经过K-NN算法处理后的定位精度明显提高,因此,基于K-NN算法的超宽测距定位中的非视距误差消除方法很有效的,达到了该方法预先设计的目的。
[0098] 本发明不局限于以上八个特征值,本发明仅仅是列举出信号的八个特征值,只要使用这种方法的都应视为本专利的保护范围。同理,本发明是以超宽带技术为例,其他类似的测距定位技术,只要使用本发明方法的也应视为本发明的保护范围。
[0099] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
QQ群二维码
意见反馈