此项目是关于学习卫星导航定位算法,并使用PY实现卫星定位算法。 目前已实现:
- 将rinex格式数据进行读取。
- 基于测码伪距的单点定位算法。
- 基于EKF的rtk相对定位算法(float解)。
- 提供了doc文档说明算法的推导及实现逻辑。
##doc目录 此目录包含自己对卫星定位理论的学习记录,主要是自己针对理论的理解进行描述,并非严谨的理论文档,但应该适合学习人群,尽可能详细的描述理论推导过程,把书上未详细说明的地方进行了展开,也是对自己踩过的坑进行记录。
- 测码伪距观测方程推导及理论实现.pdf
主要是自己关于整个理论的学习汇总,内容包含了完整的基于码伪距的观测方程的推导,及推导过程中的详细说明,其中针对观测方程进行推导、将非线性方程线性化说明、泰勒级数展开、最小二乘法说明、结合最小二乘法推导计算等等,并给出实现流程。
学习并实现卫星的定位算法,代码并不严谨,仅对算法进行一个实现,不考虑执行效率,仅供学习。
- __init__:初始化类
- CoordinateTransformation.py:XYZ坐标系与BLH坐标系互相转换的功能类。
- NAVDATA.py:包含将rinex格式的星历文件进行提取转换的方法,并打包成星历类。
- OBSDATA.py:包含将rinex格式的观测量文件进行提取转换的方法,并打包成观测值类。
- OPTION.py:包含了一些参数配置。
- RTKCOMMON.py:包含定位算法需要用到的公共方法。
- SATPOS.py:用于计算卫星坐标的方法。
- solution.py:包含定位结果、历元时间、解算卫星数、定位状态、age等信息。
- tool.py:包含了一些常用的常参、数学方法等工具。
- __init__:初始化类
- singlepoint.py:主函数。
- SINGLEPOINTPOSITION.py:实现基于测码伪距的单点定位算法。
- __init__:初始化类
- rtkpoint.py:主函数。
- RTKPOSITION.py:已实现基于EKF的相对定位算法(float解),利用了双差进行计算。
主要是关于py的一些学习,功能实现的方式等。