当前位置: 首页 > 专利查询>吉林大学专利>正文

基于sx1280测距模块的多次测量组合筛选定位方法技术

技术编号:34179255 阅读:28 留言:0更新日期:2022-07-17 12:40
本发明专利技术提出了一种基于sx1280测距模块的多次测量组合筛选定位方法,输入N个锚点的坐标及各锚点到待定位点M次测距结果矩阵D;初始化组合结果矩阵为M

【技术实现步骤摘要】
基于sx1280测距模块的多次测量组合筛选定位方法


[0001]本专利技术属于无线定位
,尤其涉及基于sx1280测距模块的多次测量组合筛选定位方法。

技术介绍

[0002]全球导航卫星系统(Global Navigation Satellite System,GNSS)已经给人们的生产、生活带来巨大的改变,并不断刷新人们对位置服务的需求认知。然而,由于室内场景受到建筑物的遮挡,卫星信号强度迅速衰减,GNSS难以在室内获取准确的位置信息,因此如何在GNSS失效情况下提供精确、稳定的位置服务是定位领域的关键问题之一。
[0003]现阶段,GNSS失效情形或室内定位领域的无线测量定位技术主要有WiFi、 ZigBee、蓝牙、UWB和Lora等,利用TOA、TDOA和RSSI等方式获取两个节点之间的距离信息,通过多边测量、Taylor迭代等算法即可获得待定位点和已知节点的相对位置。然而,由于室内建筑和实体结构的复杂性,测距信号的反射、折射和衍射导致测距存在多径效应或非视距测量问题,距离测量数据存在较大误差,由此影响定位精度,因此在定位中消除多径效应以及非视距测量的影响是提高定位精度的一种有效途径。
[0004]LoRa作为一种低功耗远距离的通信技术,近年来应用越来越广泛。而且 LoRa sx1280模块在通信的基础上,加入了测距的功能。LoRa测距同样面临室内定位中的多径效应以及非视距问题,除此之外,由于LoRa使用开放频段,在室内使用时会受到同频段的WiFi、蓝牙等信号的干扰,LoRa的测距数据存在较大波动。目前LoRa测距使用的策略是通过在不同信道上的多次测量,对测量结果进行滤波处理以获取较为准确的测距数据,但滤波效果受到测量样本量的影响,较大的样本量虽然可以提高测量精度,但同时导致定位耗时过长,无法提供定位的实时性保障。本专利提出一种算法,利用定位模型的几何相容性约束,可以在较少的测距样本中,对存在大误差的测距信息进行筛选,从而在保证定位实时性的基础上提高系统的定位精度。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提出了一种基于sx1280测距模块的多次测量组合筛选定位方法,包括如下步骤:
[0006]步骤1,输入N个锚点的坐标及各锚点到待定位点M次测距结果矩阵D;
[0007]步骤2,初始化组合结果矩阵combination_matrix为M
N
×
N维零矩阵,通过组合算法combination获取组合结果矩阵combination_matrix,按行遍历该矩阵;
[0008]步骤3,利用距离方程组计算出待定位点坐标X
k
并计算对应的距离误差F
k

[0009]步骤4,选择集合P中距离误差最小的坐标作为最终待定位点坐标的估计值 (x,y)。
[0010]进一步地,所述组合算法combination具体过程如下:
[0011]a.初始化N层堆栈combiantion_tmp,令该堆栈的第i层对应第i个锚点的测量数
据,并记栈顶指针为top;初始化一个全为1的N维数组num,表示第i 个锚点的第num(i)次测量数据在堆栈中,将各锚点的测量数据依照数组num依次入栈;
[0012]b.将堆栈combination_tmp中的数据存储到组合结果矩阵combiantion_ matrix的第一个全零行;如果数组num中的元素值全为M,则结束该组合过程;
[0013]c.栈顶元素对应的num元素加1,即num(top)加1,为下一种测量数据组合做准备;
[0014]d.栈顶元素出栈,判断出栈元素在num数组中对应元素的值是否大于M, 若大于M,num数组中对应元素重新设置为1,使得下一次入栈数据重新变为第 1次的测量值,并跳转至步骤c;
[0015]e.测量结果矩阵D中对应锚点的下一次测量数据入栈,
[0016]即D(top+1,num(top+1))入栈;
[0017]f.判断堆栈是否为满栈,若堆栈已满,则跳转至步骤b;否则,跳转至步骤e。
[0018]进一步地,所述步骤3具体包括如下步骤:
[0019]根据距离方程组(1)计算点X的坐标其中k=1,2,...,M
N

[0020][0021]用方程组(1)中的各个方程减去第一个方程,移项之后可以获得线性方程组 (2):
[0022]AX=B
ꢀꢀ
(2);
[0023]其中,
[0024][0025]由此可以得到方程组(2)的最小二乘解为:
[0026]X=(A
T
A)
‑1A
T
B
ꢀꢀ
(3);
[0027]定义到已知锚点A
m
的距离为l
km
,其中k=1,2,...,M
N
,m=1,2,...,N;定义第k个计算所得坐标的距离误差
[0028]将M
N
个计算所得的坐标依据对应的距离误差F
k
从小到大进行排序,得到一组有序的位置集合
[0029]进一步地,所述步骤1中:假设在一个二维空间中,有N个已知坐标的锚点A
i
(i=1,2,...,N),坐标分别为(x1,y1),(x2,y2),...,(x
N
,y
N
),空间中待定位点X的坐标为(x,y),用已知的N个锚点对待定位点X进行M次测距,得到一个N
×
M 维的测量数据矩阵D={d
ij
}(i=1,2,...,N;j=1,2,...,M),其中,d
ij
为第i个锚点 A
i
的第j次测量值。
[0030]本专利技术的有益效果
[0031]1.利用锚点与待测点间多次测量并结合排列组合的方式将小量样本转化成大量样本,在相同样本量需求下,获取样本耗时更少,提高定位系统的实时性。
[0032]2.利用小误差测量数据距离差相容性特点对测距样本进行筛选,可将大误差测量移除,提高定位精度。
附图说明
[0033]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]附图1为本专利技术的组合优选定位方法的流程图;
[0035]附图2为定位模型示意图;
[0036]附图3为组合算法combination流程图。
具体实施方式
[0037]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于sx1280测距模块的多次测量组合筛选定位方法,其特征在于,包括如下步骤:步骤1,输入N个锚点的坐标及各锚点到待定位点M次测距结果矩阵D;步骤2,初始化组合结果矩阵combination_matrix为M
N
×
N维零矩阵,通过组合算法combination获取组合结果矩阵combination_matrix,按行遍历该矩阵;步骤3,利用距离方程组计算出待定位点坐标X
k
并计算对应的距离误差F
k
;步骤4,选择集合P中距离误差最小的坐标作为最终待定位点坐标的估计值2.根据权利要求1所述的多次测量组合筛选定位方法,其特征在于,所述组合算法combination具体过程如下:a.初始化N层堆栈combiantion_tmp,令该堆栈的第i层对应第i个锚点的测量数据,并记栈顶指针为top;初始化一个全为1的N维数组num,表示第i个锚点的第num(i)次测量数据在堆栈中,将各锚点的测量数据依照数组num依次入栈;b.将堆栈combination_tmp中的数据存储到组合结果矩阵combiantion_matrix的第一个全零行;如果数组num中的元素值全为M,则结束组合过程;c.栈顶元素对应的num元素加1,即num(top)加1,为下一种测量数据组合做准备;d.栈顶元素出栈,判断出栈元素在num数组中对应元素的值是否大于M,若大于M,num数组中对应元素重新设置为1,使得下一次入栈数据重新变为第1次的测量值,并跳转至步骤c;e.测量结果矩阵D中对应锚点的下一次测量数据入栈,即D(top+1,num(top+1))入栈;f.判断堆栈是否为满栈,若堆栈已满,则跳转至步骤b;否则,跳转至步骤e。3.根据权利...

【专利技术属性】
技术研发人员:孙大洋王宇骞程禹祝宇鸿李红阳韩双雪
申请(专利权)人:吉林大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1