课程作业,coords怎么确定坐标

坐标 9
课程作业 背景知识 室内定位系统中,一种常用的定位原理是TDOA(Time-Difference-of-Arrival),即到达时间差定位。
以下图为例: 假设我们待定位的点是P点,为了完成定位任务,即确定P点的坐标,首先需要在场地中部署多个基站。
假设我们部署了3个基站,分别为
A、B、
C,其中A是主基站,它们的坐标已知。
现在通过基站和P点标签之间的通信,可以确定P点到主基站和到其他基站之间的距离差,即已知PA-PB和PA-PC。
显然,通过
A、B坐标和PA-PB,可以确定P在一条双曲线上,同样地,通过
A、C坐标和PA-PC可以确定另外一条双曲线,两者求交点即可得到P点坐标。
相关算法和优化思路 在实际任务中,由于环境中各种因素的影响,误差是普遍存在的,即距离差的测量是不准确的。
为了提升系统的精度和鲁棒性,一般会部署多于3个基站,同样分为1个主基站和多个从基站。
最简单的定位方式是选择主基站和任意2个从基站,通过上述双曲线求交点的方式进行定位,但这种方法在数据误差较大的情况下有明显的偏差。
一种简单的优化策略是每次选择主基站和不同的2个从基站,按上述方式得到多个解,然后选择其中最合理的一个作为定位结果(理论上来讲,如果测量没有误差,所有的双曲线会交于同一个点,即P点,但实际环境下,误差会导致这些双曲线并不交于用一个点)。
选点的策略有很多,比如根据上一时刻的位置选最近的,或是分析运动轨迹,选择位于轨迹上的点(定位系统中并不仅仅是对静止的点进行定位,而是需要给出一段时间内的运动轨迹)。
除了上述通过联立双曲线方程求解坐标的方法,目前还有许多解决TDOA定位的算法,其中比较经典的是文献[1]中提出的Chan算法和[2]中提出的Taylor序列方法,感兴趣的同学可以参考。
任务描述 本次作业的主要任务是了解最小二乘法拟合室内定位系统中的轨迹和对数据进行合理的插值。
拟合个任务需要对给出数据拟合,给出的数据表示一条粗糙的路径,通过拟合提升这条数据的视觉效果,我们事先给出实验数据对应的大致真实轨迹,如下图所示:
1.第一个任务就是拟合形成类似于上图的轨迹,这一轨迹类似于矩形,你可以使用最简单的函数来拟合,也就是4个一次函数(表示四条边),也可以在一些有明显弯曲的地方用二次函数这类曲线来拟合,或是采用一些更复杂的函数,展示效果时你要将数据投影到你所拟合的曲线上。

2.我们建议在左下角(第67-83条数据)和右上角(第269-295条数据)使用二次函数拟合,如果你完成了这一步,请在报告中写明拟合结果,不要求做投影。
用于拟合的数据散点图如下,这部分数据是由tdoa数据通过chan方法得到: 不难看出,Chan算法得到的点已经有了真实轨迹的大致形状。
我们同时给 出tdoa原始数据,你可以通过数值解算方法通过tdoa得到类似的待测点坐标结果,完成这一任务会获得额外分数。
数据中为少量点被添加了随机误差,但忽视它依然能够顺利完成此任务。
,如果你能设计方法对异常点进行处理,你将获得额外的附加分数。

2.第二个任务要求掌握基本的插值方法,我们给出一组真实环境下tdoa的解算结果,这是一组记录人行走的结果,每条数据都包含了准确的时刻,这组结果中包含时间条,解算结果,以及指出了哪些数据为缺失结果(不是时间条上每一个点都能得到解算坐标),你的任务是根据已解算出的坐标插值出部分缺失结果,未插值前的数据如下图: 你的任务是要不通过已有的插值库自行实现“分段线性插值”和“三次样条插值”,“多项式插值”也是工业界常用的插值方法,在这里我们不做硬性要求,通过查阅资料实现“多项式插值”可以获得一定的奖励分数,或者实现我们上述以外的插值算法并进行对比分析也可以得到奖励分数。
完成这项作业我们给出以下几条建议:
1.选择丢失点前后一定范围内的解算坐标作为插值的依据,范围可以自行给 定,可做不同范围的对比实验,需在实验报告中给出。

2.不是所有的缺失结果都能被很好的插值,你需要对得到的插值结果进行一个 简单的评估(根据已有坐标)来决定是否保留它,最后会根据保留的插值结果数量和结果的合理性来进行评分。

3.插值时只使用给出的坐标,不使用自己已经插值出的结果,当然你也可以都进行尝试并对比,我们在这里指出后者的效果没有前者好。

4.我们在数据中设置了了一些较长的连续缺失数据,全部合理的插值出来显然有些难度,你可以只对这些数据的前一部分和后一部分进行插值。

5.在你的实验报告中,需要展现插值数量和插值效果,以及对“分段线性插值”和“三次样条插值”,两种方法的对比和分析,你的实验结果可以和一些现有的插值函数进行对比,比如matlab的interp1()或spline()函数等。

6.如果你想完成“多项式插值”,我们给出的建议是不要超过三次多项式。
数据说明 给出的数据文件为“homework.mat”,这是matlab下的标准数据文件,在matlab下双击或调用load(“homework.mat”)命令即可读取该文件。
读取后可以在workspace中看到该文件包含了四组数据,”tdoa_path”、“path_chan”和“config”用于完成第一个任务,“”coord“用于完成第二个任务。
”tdoa_path”:这是原始的TDOA数据文件,按时间的先后顺序采集,共有385条。
对于每一条数据,第1维表示该数据中基站的个数;假设基站有k个,则随后的k维数据是这k个基站的标号,其中第1个是主基站;再后面的k维数据是待定位的点到主基站和到这k个基站的距离之差,显然,这k维数据中的第1个数据必然为
0,因为待定位点到主基站和到第1个基站(就是主基站)的距离相同。
最后1维数据在本次任务中没有作用,可以忽略。
以上面的一条数据为例,5表示这条数据中有5个基站,其中主基站标号为25,另外的基站标号是16、21、172和230。
我们需要定位的点到25号基站和到25、16、21、172、230号基站的距离之差分别为
0、-495.77、215.76、-364.44、-43.15。
最后1维数据没有截图。
“path_chan”:这是”tdoa_path”数据通过Chan算法得出的点,每一条TDOA数据对应一个点,共385个。
这些点形成的散点图上面已做过展示。
“config”:这是基站的位置数据,第1维是基站标号,后面3维是该基站的x、y、z轴坐标。
注意,我们现在只考虑二维形式,因此只需用到(x,y)。
“coord”:这是用于插值任务的数据,每一行是一条单独的数据,数据的第1维是时间轴上时刻值,第2维和第3为表示了该时刻值得坐标(x,y),最后一维表示数据是否缺失,缺失为
0,未缺失为
1,你的任务是根据缺失数据的时刻值插值坐标。
评分标准 本次作业需要提交matlab代码(建议,但其他语言也行)和实验报告,报告中需给出拟合用的函数、优化策略(如果有的话)、坐标的散点图(如果自己计算坐标的话)和得到的轨迹图像。
本次作业的基本任务是:
1.在我们给出的Chan算法计算结果的基础上,用4条直线进行拟合,对结果没有硬性指标,完成拟合并能够展示拟合路径即可获得基本分数。

2.第二组数据上简单实现两种插值方法,这一任务也没有硬性指标,需要展示你的插值效果(比如插值点和原始点用两种标记展示等)。

3.你的实验报告里要包含你运行的结果。
该作业旨在让同学们体验如何在粗糙数据上用数值方法去优化数据,我们不要求得到特别完善的效果,不设置具体指标,但要求同学们对基础知识点有良好的掌握。
我们会根据作业完成质量做一些分数微调,如果你想要更高的分数,可以(但不限于):
1.自己设计算法(或者查阅相关文献)通过tdoa数据计算坐标
2.用二次函数或其他更复杂的函数进行拟合
3.完成插值部分的奖励题
4.检测异常点并剔除上述几点不做强制要求,你可以完成1点或几点,也可以忽略,我们会依据你采用的算法、策略和得出的结果进行评分。
我们强烈鼓励提出自己的想法,即使这些想法很简单或算出的坐标、轨迹不够理想,只要你的想法有启发性,同样可以得到高分。
参考文献 【1】ChanYT,HoKC.Asimpleandefficientestimatorforhyperboliclocation[J].IEEETransactionsonSignalProcessing,2002,42
(8):1905-1915.【2】FoyWH.Position-LocationSolutionsbyTaylor-SeriesEstimation[J].IEEETransactionsonAerospace&ElectronicSystems,2007,AES-12
(2):187-194.

标签: #转换成 #怎么看 #换行 #邮箱 #cdr #平局 #雷暴 #csgo