北斗多频多系统卫星端硬件延迟改正(DCB OSB)

2023-10-09 00:30

本文主要是介绍北斗多频多系统卫星端硬件延迟改正(DCB OSB),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

卫星端硬件延迟改正通常有两种做法:1、DCB文件改正 2、OSB文件改正(推荐)

下面推导北斗系统DCB改正公式(采用 CAS GFZ产品)

发布的精密星历和精密钟差产品BDS2和BDS3均采用B1I、B3I无电离层组合模型进行参数估计。

在传统的无电离层组合观测数据处理中,该项误差包含在钟差参数中,不需要单独考虑该误差。但是如果用户端不采用同样的无电离层组合,则必须对每个频率上的观测值进行DCB改正。所以对于BDS3 B1C和B2a等新频点无电离层组合,需要将卫星端硬件时延偏差考虑进去

1、无电离层组合

信号频率BDS-2BDS-3
B1I1561.098C2I C2Q C2XC2I C2Q C2X
B2I1207.14C7I C7Q C7X
B3I1268.52C6I C6Q C6XC6I C6Q C6X
B1C1574.42C1D C1P C1X
B2a1176.45C5D C5P C5X
B2b1207.14C7D C7P C7Z
B2(B2a+B2b)1191.795C8D C8P C8X
无电离层组合CASDLR
B1I-B2IC2I-C7IC2I-C7I
B1I-B3IC2I-C6IC2I-C6I
B1I-B1CC1X-C2I
B1I-B2aC2I-C5X
B1I-B2bC2I-C7Z
B1I-B2abC2I-C8X
B2I-B3I
B3I-B1CC1X-C6I/C1P-C6I
B3I-B2a
B3I-B2b
B3I-B2ab
B1C-B2aC1X-C5X/C1P-C5P
B1C-B2bC1X-C7X
B1C-B2abC1X-C8X

CASDLR提供不同种类的DCB产品

B1IB2IB3IB1CB2aB2bB2(B2a+B2b)分别对应f1f2f3f4f5f6f7

北斗双频无电离层组合

以下为14种多频无电离层组合DCB改正:

B1I-B2I无电离层组合(CAS、DLR产品)

B1I-B1C无电离层组合(DLR产品)

B1I-B2a无电离层组合(DLR产品)

B1I-B2b无电离层组合(DLR产品)

B1I-B2ab无电离层组合(DLR产品)

B2I-B3I无电离层组合(CAS产品)

B1C-B3I无电离层组合 (CAS产品)

B3I-B2a无电离层组合(CAS产品)

B3I-B2b无电离层组合(CAS产品)

B3I-B2ab无电离层组合(CAS产品)

B1C-B2a无电离层组合(CAS产品)

B1C-B2b无电离层组合(CAS产品)

B1C-B2ab无电离层组合(CAS产品)

2、非差非组合

参考文献:李昕博士《多频率多星座GNSS快速精密定位关键技术研究 》

我选用第二种方法,通过差分码偏差产品进行改正。

OSB改正(推荐)

非常方便且同时配合UPD产品,以下是OSB文件读取程序

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include<map>struct OSBData {string time1;string time2;double value;double STD;
};map<string,map<int,map<string, OSBData>>>readOSBData(const string& filename) {map<string, map<int, map<string, OSBData>>>obscontainers;map<int, map<string, OSBData>> obscontainer;map<string, OSBData>obscontainer_;ifstream file(filename);if (!file.is_open()) {std::cerr << "Failed to open file: " << filename << std::endl;return {};}string line;std::string system;int prn;std::string code;std::string time1;std::string time2;double value;double STD;while (std::getline(file, line)) {if (line.find("OSB ") != std::string::npos && line.find(" ns") != std::string::npos){std::istringstream iss(line);std::string item;while (iss >> item) {iss >> item;iss >> item;system = item.substr(0, 1);prn = stoi(item.substr(1));  iss >> item;code = item;iss >> item;time1 = item;iss >> item;time2 = item;iss >> item;iss >> item;value = stod(item);iss >> item;STD = stod(item);obscontainer_[code] = { time1, time2, value, STD };obscontainer[prn] = obscontainer_;obscontainers[system] = obscontainer;}}}file.close();return obscontainers;}

此程序很简单,还需要根据自己的程序修改读入的time1 time2,容器为:

“GNSS系统”[卫星号][code] .value or std;

由于本人水平有限,如果公式推导有误,请大家批评指正,目前重构PPP代码中,欢迎交流。

这篇关于北斗多频多系统卫星端硬件延迟改正(DCB OSB)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/cxy0711/article/details/132889215
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/169064

相关文章

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文