北斗多频多系统卫星端硬件延迟改正(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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/169064

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi