编辑: 学冬欧巴么么哒 2019-07-14
课程作业 背景知识 室内定位系统中, 一种常用的定位原理是 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 数据文件, 按时间的先后顺序采集, 共有

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题