文章目录

  • 简介
  • 一、LAMBDA工具箱
  • 二、使用步骤
  • 三、算法阅读
  • 总结
  • 参考文献

简介

本系列文章主要是对LAMBDA开源工具箱中的模糊度固定的算法模型进行学习研究,对代码不做介绍(官方获取链接:LAMBDA工具箱)。注:更快捷的获取方式是在评论区留下邮箱

一、LAMBDA工具箱

解决双差模糊度固定问题一直是高精度定位的关键,Teunissen(1993)提出了LAMBDA方法,该方法两个关键1.Z变换去相关,2.模糊度搜索。论文看了一大堆但是让自己实现有点难搞!!!,但是LAMBDA工具箱解决了这个问题(不必重复造轮子)该工具箱是一个模糊度固定的MATLAB开源工具箱。

二、使用步骤


可以看到两个文件夹,
1. src为源代码文件,其中有demo和对应的数据;
2. man 里面有两个文档工具箱的介绍文档和算法模型文档
直接运行demo即可

三、算法阅读

1.摘要
高精度定位采用的是双差载波相位观测量,载波相位观测量的关键点是模糊度固定,本篇文章主要阐述了基于双差GPS观测模型的参数估计方法,着重描述了双差模糊度的整数估计。LAMBDA方法分为2步,Z变换去相关和整数搜索,最终归结为最小二乘整数估计。
2.固定解的基本流程
设双差载波相位和伪距不相关,有如下双差观测方程:

y 为双差观测量,B为设计矩阵 a为n维的模糊度矩阵;A为m*n的模糊度设计矩阵,e为噪声向量;
针对该模型一般采用最小二乘法,分四步解决:
2.1 获取浮点解
此时的浮点解不考虑a的整数特性,进行参数估计获取待估参数的浮点解及其对应的协方差阵:

2.2 整数估计
由于a具有整数特性,因此根据2.1 获取的浮点模糊度参数进行整数估计获取整数模糊度。浮点模糊度的整数估计过程是将n维实数空间映射到n维整数空间,映射方法各有千秋(也可以说是映射函数不同)。目前比较受欢迎的主要有以下三种方法ILS(整数最小二乘)、IB(序贯归整法)、IR(四舍五入取整),ILS效果最优,IB、IR使用LAMBDA去相关后效果也不错。
2.3 整数估计的可靠性测试
对获取的整数模糊度进行可靠性测试,测试不通过则整数模糊度估计失败。目前常采用ratio test,阈值设为3.
2.4 固定解
根据通过ratio检验的整数模糊度重新带入观测方程进行参数估计,获取固定解及其对应的协方差阵:

LAMBDA工具包主要处理2.2和2.3步骤。
3. 去相关技术
2.3中的整数估计是采用DD模糊度,然而模糊度元素不仅精度低而且各元素之间具有较强的相关性,因此必须采用Z 变换去相关并进行参数重构,Z变换后得到新的模糊度矢量以及方差、协方差阵的变换如下:

得到新的浮点解决方案:

在计算固定基线解时并不需要以上的反向变换,直接采用以下公式计算固定解

3.1.Z变换
参考文献:高斯消元法详解
矩阵的三角分解(LU)法(高斯消去法的矩阵形式分析)_Reborn Lee-CSDN博客

4.模糊度搜索
参考文献:
最小二乘

4.1. Integer rounding
四舍五入取整:针对经过Z 变换的模糊度参数进行四舍五入取整,获取模糊度的整数解z,再经过反变换得到双差整数模糊度,代码参考以下:

4.2. Integer bootstrapping
序贯归整法:仍然采用四舍五入取整,但是需要考虑一些模糊度之间的相关项。计算方法如下:如果有n个模糊度可以获取,我们从第n个开始消除相关性,假设最后一个模糊度是Zn,同时四舍五入取其整数ZnB,针对其他浮点模糊度的修正利用它们和最后一个模糊度的相关性来修正。利用已经四舍五入矫正的实数模糊度和实数模糊度之间的偏差矫正其他模糊度的和其之间的相关性。如下计算公式:

z ̂_(i|I) 是指第I={i+1…n}整数模糊度条件下的第i个模糊度,此处我们假设最开始模糊度Zn是精度最高的。实数序列的最小二乘解可以根据对方差-协方差矩阵的LDL分解,其中L为单位下三角矩阵(此处的Zn和Qn均值经过Z变换去相关后的模糊度序列及对应的方差-协方差);下面第一个公式需要详细理解(可以自行推导LDL分解,搞清楚以下每个字符的含义)

对应代码块:

4.3. Integer least squares
下面讨论的均是经过去相关的浮点模糊度和对应的方差协方差:

最小而成整数估计核心思想是求取F(z)的极小值,条件约束(z为整数),式中X^2 是一个n维度的超椭球边界,用来限制搜索范围。总结来看其实就是在一个n维超椭球中搜索一组整数解使F(z)最小。
将Q 进行LDL分解展开


根据1 和2式得到:

展开得到下式:

得到z的整数估计公式如下:

备注建议这些公式都手撕一遍,才能深刻理解公式;

总结

以前做高精度定位一直把模糊度固定作黑箱处理,此刻也算下定决心深入学习。本文简单介绍LAMBDA ,开启LAMBDA的学习记录过程。本系列文章主要对LAMBDApapers.pdf文档进行阅读、学习、总结。

参考文献

  1. rtklib AR模型简单介绍

LAMBDA工具箱阅读相关推荐

  1. java8 streams_Java 8 Streams:过滤和谓词否定

    java8 streams 最近,有关LJC 邮件列表的成员在流中.filter方法中使用谓词否定的有趣讨论,因此我认为值得在博客文章中进行总结. 讨论是关于使用.filter和否定谓词的方法. 这篇 ...

  2. Java 8 Streams:过滤和谓词否定

    最近,有关LJC 邮件列表的成员在流中.filter方法中使用谓词否定的有趣讨论,因此我认为值得在博客文章中进行总结. 讨论的主题是使用.filter和否定谓词的方法. 这篇文章的代码可以在我的git ...

  3. python将一个字典的内容添加到另一个字典_将两个字典值合并为一个,然后将其添加到Python中的另一个字典中...

    我的任务是使部门和部门列表,教授和学科作为参数接收.我需要过滤整个列表并返回该部门的代码,教授和学科,而无需迭代或使用递归.我已经过滤了该部门的输入,但是我不知道如何列出仅由名字和姓作为第一字典级联的 ...

  4. 关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解

    lambda是Python编程语言中使用频率较高的一个关键字.那么,什么是lambda?它有哪些用法?网上的文章汗牛充栋,可是把这个讲透的文章却不多.这里,我们通过阅读各方资料,总结了关于Python ...

  5. Mybatis源码阅读(一):Mybatis初始化1.2 —— 解析别名、插件、对象工厂、反射工具箱、环境

    *************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如 ...

  6. 数据库仓工具箱及阿里大数据之路--阅读总结

    一.数据仓库工具箱 1.主要内容 结合业务场景,阐述 1.维度建模以及事实表的基本及相关概念. 2.根据业务主题的总线矩阵图,梳理业务流程.指标以及对应的维度. 3.关于事实表的阐述. 4.企业层面的 ...

  7. 【文献阅读笔记】利用CVX工具箱求解复数问题的方法

    文章目录 方法一:直接使用hermitian 方法二:将复数问题转换为实数问题 方法一:直接使用hermitian 方法一: 使用hermitian关键词 CVX工具箱支持复数的问题,因此可以直接使用 ...

  8. 《core JAVA for the impatient》阅读笔记(2) lambda表达式

    lambda表达式 只有一个抽象方法的接口对象,就可以提供一个lambda表达式(函数式接口) 将lambda表达式放入类型为函数式接口的变量中,这样它就被转换为该接口的实例 list.removeI ...

  9. 文献阅读_Joint Prostate Cancer Detection and Gleason Score Prediction in mp-MRI via FocalNet

    Joint Prostate Cancer Detection and Gleason Score Prediction in mp-MRI via FocalNet 0 储备知识 0.1 Gleas ...

最新文章

  1. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二
  2. iOS - UIAlertController
  3. Spring-boot国际化
  4. 关于node js和 npm 版本不匹配的情况
  5. fork()函数_fork()函数的使用
  6. 多伦多一人学计算机科学本科,加拿大多伦多大学计算机科学Essay要求
  7. android 和 iphone x,在快充方面,iPhone X和iPhone 8系列都落后于Android 旗舰
  8. java中Future的使用
  9. mysql 四种存储引擎
  10. linux中bash命令是什么,linux中bash是什么意思?
  11. 大数据和人工智能属于什么专业 - 学大数据和人工智能出来做什么
  12. 细粒度的、安全高效的基于区块链数据溯源系统 Fine Grained, Secure and Efficient Data Provenance on Blockchain Systems(一)
  13. C# task await 等待任务完成
  14. 【顺序栈】32 顺序栈ADT模板简单应用算法设计:火车调度
  15. 字节跳动面经(2020春招)
  16. 基于脚手架 3 分钟搞定 SpringBoot 后端管理项目
  17. 有趣的23000----整理(05)E、F词根
  18. Android Q适配攻略(一)(图标适配)
  19. 为了网络安全被束缚的无人机背后的故事!
  20. Revit二次开发_获取视图样式替换

热门文章

  1. python使用m3u8库解析m3u8文件
  2. 指针数组和数组指针的区别及其详解
  3. eclipse 字体大小设置
  4. 澳大利亚技术移民 - FLYabroad
  5. python全球购代码_京东全球购?
  6. asp.net1044-学院宿舍报修信息系统#毕业设计
  7. 读书笔记2014第4本:程序员修炼之道-从小工到专家(第一章)
  8. 微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)
  9. error LNK2005: _DllMain@12 already defined in MSVC 2009-10-29 17:49
  10. 第27章 LTDC/DMA2D—液晶显示—零死角玩转STM32-F429系列