2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
Posted Zhi Zhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题相关的知识,希望对你有一定的参考价值。
一、背景
UWB(Ultra-Wideband)技术也被称之为“超宽带”,又称之为脉冲无线电技术。这是一种无需任何载波,通过发送纳秒级脉冲而完成数据传输的短距离范围内无线通信技术,并且信号传输过程中的功耗仅仅有几十µW。UWB因其独有的特点,使其在军事、物联网等各个领域都有着广阔的应用。其中,基于UWB的定位技术具备实时的室内外精确跟踪能力,定位精度高,可达到厘米级甚至毫米级定位。UWB在室内精确的定位将会对卫星导航起到一个极好的补充作用,可在军事及民用领域有广泛应用,比如:电力、医疗、化工行业、隧道施工、危险区域管控等。
UWB的定位技术有多种方法,本文仅考虑基于飞行时间(Time of Flight, TOF)的测距原理,它是UWB定位法中最常见的定位方法之一。TOF测距技术属于双向测距技术,其通过计算信号在两个模块的飞行时间,再乘以光速求出两个模块之间的距离,这个距离肯定有不同程度这个距离肯定有不同程度的误差,但其精度已经比较高。
在室内定位的应用中,UWB技术可以实现厘米级的定位精度(一般指2维平面定位),并具有良好的抗多径干扰和衰弱的性能以及具有较强的穿透能力。但由于室内环境复杂多变UWB 通信信号极易受到遮挡,虽然UWB技术具有穿透能力,但仍然会产生误差,在较强干扰时,数据会发生异常波动(通常是时间延时),基本无法完成室内定位,甚至会造成严重事故。因此,信号干扰下的超宽带(UWB)精确定位问题成为亟待解决的问题。
二、任务
任务1:数据预处理(清洗)
无论是信号无干扰下采集数据,或信号干扰下采集数据,Tag在同一坐标点上都采集多组数据(见附件1中648个数据文件),请用某种方法把每个数据文件相应数值抓取出来,并转换成二维表(矩阵)形式(txt、Excel或其他数据格式),每一行代表一组数据(即一个样品),然后对这些数据文件进行预处理(清洗),删除掉一些“无用”(异常、缺失、相同或相似)的数据(样品)。经处理后,“正常数据”所有数据文件和“异常数据”所有数据文件最后各保留多少组(多少个样品)数据,并重点列出以下4个数据文件,经处理后保留的数据(矩阵形式);
“正常数据”文件夹中: 24.正常.txt、 109.正常.txt
“异常数据”文件夹中: 1.异常.txt、 100.异常.txt
任务2: 定位模型
利用任务1处理后的数据,分别对“正常数据”和“异常数据”,设计合适的数学模型(或算法),估计(或预测)出Tag的精确位置,并说明你所建立的定位模型(或算法)的有效性;同时请利用你的定位模型(或算法)分别对附件2中提供的前5组(信号无干扰)数据和后5组(信号有干扰)数据进行精确定位(3维坐标);
注意:(1)定位模型必须体现实验场景信息;
(2)请同时给出定位模型的3维(x,y,z)精度、2维(x,y)精度以及1维的各自精度。
任务3:不同场景应用
我们的训练数据仅采集于同一实验场景(实验场景1),但定位模型应该能够在不同实际场景上使用,我们希望你所建立的定位模型能够应用于不同场景。附件3中10组数据采集于下面实验场景2(前5组数据信号无干扰,后5组数据信号有干扰),请分别用上述建立的定位模型,对这10 组数据进行精确定位(3维坐标);
实验场景2:
靶点(Tag)范围:5000mm3000mm3000mm
锚点(anchor)位置(单位:mm):
A0(0,0,1200)、 A1(5000,0,1600)、
A2(0,3000,1600),A3(5000,3000,1200)
任务4: 分类模型
上述定位模型是在已知信号有、无干扰的条件下建立的,但UWB在采集数据时并不知道信号有无干扰,所以判断信号有无干扰是UWB精确定位问题的重点和难点。利用任务1处理后的数据,建立数学模型(或算法),以便区分哪些数据是在信号无干扰下采集的数据,哪些数据是在信号干扰下采集的数据?并说明你所建立的分类模型(或算法)的有效性;同时请用你所建立的分类模型(或算法)判断附件4中提供的10组数据(这10组数据同样采集于实验场景1)是来自信号无干扰或信号干扰下采集的?
任务5: 运动轨迹定位
运动轨迹定位是UWB重要应用之一,利用静态点的定位模型,加上靶点自身运动规律,希望给出动态靶点的运动轨迹。附件5是对动态靶点采集的数据(一段时间内连续采集的多组数据),请注意,在采集这些数据时,会随机出现信号干扰,请对这个运动轨迹进行精确定位,最终画出这条运动轨迹图(数据采集来自实验场景1)。
三、任务分析
任务一分析:
正常数据和异常数据均有324个文件,一共是648个文件,而每个文件的编号就是Tag的一个位置,由于Tag在同一位置会停留一会儿时间,而锚点与Tag之间每0.2—0.3秒之间就会发送、接收信号一次,所以在同一位置点,UWB会采集到多组数据(多组数据都代表同一位置的信息),组数的多少视Tag在同一位置的时间而定,停留的时间越长,组数就越多。在每一个文件中,每4行(hang)为一组,表示UWB采集的一组完整数据(一组数据表示一个样品),每一组数据中我们只需要得到锚点(A0,A1,A2,A3)到Tag的距离数据即可。
我们的目标是获取到每个文件中的锚点到Tag的距离数据,将一组距离数据放在一行,因而一个文件里的距离数据可以形成一个二维表(矩阵)。
第一步获取数据,以正常数据中的文件 1.正常 为例,利用MATLAB程序读取txt文件数据。
data = importdata("附件1:UWB数据集\\正常数据\\1.正常.txt");
1.正常文件里的数据存储在data.data矩阵里,有6列,第三列就是Tag到4个锚点的距离数据,每4行为一组数据。
将上述矩阵里的距离数据转换为二维矩阵的形式如下:
A = data.data(:,3);
m = size(A,1);
n = m/4;
B = zeros(n,4);
for i = 1:n
B(i,:) = A(1:4);
end
对正常数据和异常数据均做上述操作可得到648个二维矩阵。
第二步,对获取到的648个二维矩阵进行预处理(清洗),删除掉一些“无用”(异常、缺失、相同或相似)的数据(样品)。我们将每一个二维矩阵进行处理,可以降低矩阵的大小。
第三步,列出“正常数据”所有数据文件和“异常数据”所有数据文件最后各保留多少组(多少个样品)数据,并重点列出任务中指定的4个数据文件,经处理后保留的数据(矩阵形式)。
任务二分析:
利用机器学习算法将正常数据和异常数据分别建立定位模型,测试模型的定位精度可以用 附件1:UWB数据集中Tag坐标信息.txt文件的数据来说明定位模型的有效性,进而借助定位模型对附件2中提供的前5组(信号无干扰)数据和后5组(信号有干扰)数据进行精确定位(3维坐标)。
以正常数据为例,首先将数据集按照3:1的比例划分为训练集和测试集,训练集用于训练定位模型,测试集用于验证模型的准确度。本文采用经PSO改进后的BP神经网络来实现对Tag的定位,在训练阶段,将锚点(A0,A1,A2,A3)到Tag的距离数据作为输入,Tag的实际位置坐标作为输出,以此训练出一个定位模型;在测试阶段,将测试集的距离数据输入到模型,得到输出的数据即为Tag的预测位置坐标。将预测的位置坐标与实际的位置坐标进行比较,可以得到模型的定位精度。
任务三分析:
任务三就是分别利用已经建立的正常数据和异常数据的定位模型对实验场景2(前5组数据信号无干扰,后5组数据信号有干扰)的10组数据进行精确定位。本质就是测试模型的泛化性能。
任务四分析:
利用任务1处理后的数据建立分类模型,从而判断数据是在信号无干扰或信号干扰下采集的。
经过任务一的处理,每一个数据文件是一个二维矩阵,类似于一幅图像,我们可以将此任务转换为图像识别问题,利用正常数据和异常数据训练出一个二分类模型,并测试模型的分类准确度,最后将该模型用于判断UWB在采集数据时的信号有无干扰。
任务五分析
。。。。。。未完待续,后续会补充以上任务分析中涉及到的具体方法及其代码。
参考文献
[1] 缪希仁, 范建威, 江 灏, 等. 基站异常情况下基于改进极限学习机的超宽带室内定位方法[J], 传感技术学报, 2020, 33(10):1457-1466.
[2] 梁 丰, 熊 凌. 基于GA-BP神经网络的移动机器人UWB室内定位[J]. 微电子学与计算机, 2019, 36(4):33-42.
以上是关于2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题的主要内容,如果未能解决你的问题,请参考以下文章