Rinex文件格式中知识点&卫星导航知识点

一、观测数据

1、观测值

其中观测值(伪距、载波相位)的格式为:

m( F14. 3,
I1,
I1)

表达意思:这一行的内容从第 1 列开始依次是宽度为14位、小数点后有3位的单精度浮点数、宽度为 1 的整型、宽度为 1 的整型。

示例:

C1=24465528.830;LLI整数值为4,二进制表示为:00000100b;S/N整数值为:5;

L1=128567213.018;LLI整数值为4,二进制表示为:00000100b;S/N整数值为:5;

其中对于LLI:

      LLI的范围为0~7。0或空格表示正常或未知;bit0置1表示在前一历元与当前历元之间发生了失锁,可能有周跳;bit1置1表示该卫星的波长因子与前面WAVELENGTHFACTL1/2记录中的定义相反,仅对当前历元有效;bit2置1表示为反欺骗(AS)下的观测值(可能会受到噪声增加的影响)。其中,bit0和bit1仅用于相位。

即此时的L1不存在周跳!

 

 

 

二、导航电文

 

三、其他:

1、相关信息:

轨道:
GEO:地球静止轨道;MEO:中地球轨道;IGSO:倾斜地球同步轨道。
PRN:伪随机噪声码(Pseudo random noise code, PRN)
SVN:空间飞行器编号(Space vehicle number, SVN)
火箭:
CZ-3A:长征三号甲;CZ-3B:长征三号乙;CZ-3C:长征三号丙。
链接:https://blog.csdn.net/m0_37362454/article/details/93887012

2、电离层穿刺点与穿刺点星下点

       电离层分布在离地面约 50~1000km 的高度范围内,且不同高度电子密度不相同。卫星导航定位用户往往只关心总电子含量,而非电子的分布密度,因此在 GNSS 电离层研究领域常常引入单层假设,即将电离层单层假设是二维 TEC 模型建立的基础。其基本原理是忽略电子密度在垂直方法的分布,假设电离层集中于地球上方某一高度处的无限薄的一个薄层上面。在这一假设之下,电离层成为只具有总电子含量的位置、时间分布特征的物理量,从而可以以位置和时间为自变量,并将总电子含量看做这几个自变量的函数,进而对一定时间、空间范围之内的电离层变化进行数学表达,可以通过某些数学模型,如多项式模型、球谐函数模型等进行曲面拟合。

        单层假设中,信号传播路径与中心电离层的交点称为穿刺点,如图1所示,O为地心,P为穿刺点,P′为穿刺点对应的星下点,z、z′分别为接收机和穿刺点处卫星的天顶距,Δz为对应地心角。

3、Kalman中状态协方差矩阵从卡尔曼增益k的表达式

从kalman增益Km的表达式:

 
       可以看出,当R的对角线上某元素很大时,对应的Km中的元素会很小,说明由对应的观测量导致的δx很小;如果P的某元素很小时,对应的Km中的元素很小,说明此时的δx也很小。

       通过上述分析,我们可以看出卡尔曼滤波每次对系统状态的更新是基于当前系统状态的不确定度和观测量的不确定度之间的折中。如果当前的系统状态估计的不确定度为零,即当前的系统状态估计非常可靠,则由观测量导致的更新将非常小;反之,如果观测量的不确定度非常低,即观测量非常可信,则系统状态的更新将主要由观测量决定。所以卡尔曼滤波是一种自适应的过程,卡尔曼滤波中的P矩阵提供了对系统状态误差的方差估计,即
 
       在实际中,P矩阵往往被用来对x的状态估计误差作出评估,如果P矩阵中的元素比较大,则说明对应的系统状态量可信度较低;反之,则说明对应的系统状态量可信度较高。
 

 

 

 

 

 

 

 

参考:

1、rinex数据格式

2、《多卫星导航系统电离层穿刺点分布的仿真分析》

3、《北斗/GPS双模软件接收机原理与实现技术》

  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 卫星导航RINEX格式的O文件,也就是观测数据文件,可以通过MATLAB读取和解析。 首先,我们需要使用MATLAB的文件IO函数来打开O文件。使用fopen函数打开文件时,需要指定文件名和打开模式。因为O文件是ASCII文本文件,所以我们需要使用"rt"模式: fid = fopen('obs_file.O','rt'); 然后,我们可以使用fgetl函数逐行读取文件内容。RINEX O文件的每一行都包含了与卫星观测相关的信息。我们可以使用一些条件语句来筛选我们需要的信息。 接下来,我们可以使用MATLAB的字符串处理函数,例如strsplit,来将每一行的文本拆分成一个字符串数组。这样,我们可以方便地提取出每个字段的值。 最后,我们可以将提取出来的数据存储在MATLAB的变量,以便后续分析和处理。我们可以使用MATLAB的文件IO函数fclose来关闭文件。 这样,我们就可以通过MATLAB读取和解析RINEX格式的O文件了。需要注意的是,O文件的结构比较复杂,处理起来可能需要一定的数据解析知识和算法,具体的处理方式会根据具体需求而有所不同。 希望以上信息对你有所帮助。如果你对卫星导航RINEX格式的O文件有进一步的问题,可以进一步提问。 ### 回答2: 要用MATLAB读取卫星导航RINEX格式的O文件,你可以按照以下步骤进行操作: 1. 打开MATLAB软件,并确保已经将RINEX的O文件保存在你要读取的文件夹。 2. 在MATLAB命令窗口输入以下命令,设置读取文件路径: `folderPath = '你的文件夹路径';` 3. 利用dir函数,获取文件夹所有的O文件: `fileListing = dir(fullfile(folderPath, '*.O'));` 4. 利用循环读取每个O文件: `for i = 1:length(fileListing)` `filePath = fullfile(folderPath, fileListing(i).name);` `fileID = fopen(filePath, 'r');` `end` 5. 通过调用fscanf函数,逐行读取文件数据: `data = fscanf(fileID, '%f', [数据维度]);` 6. 关闭文件: `fclose(fileID);` 7. 现在,你可以在MATLAB环境对读取的数据进行进一步的处理和分析了。 注意:在上述代码,'你的文件夹路径'需要替换为你实际保存RINEX O文件的文件夹路径。另外,'[数据维度]'需要根据实际数据的维度进行设置。 希望以上步骤对于你读取卫星导航RINEX格式的O文件有所帮助! ### 回答3: 卫星导航RINEX(Receiver Independent Exchange)格式的O文件是一种常用的卫星导航数据文件格式,包含了GPS、GLONASS等卫星系统的导航观测数据。要用Matlab读取RINEX格式的O文件,可以按照以下步骤进行: 1. 首先,打开Matlab软件,并创建一个新的脚本文件。 2. 在脚本文件,使用Matlab的`fopen`函数打开RINEX格式的O文件,并将其赋值给一个文件句柄变量,例如`fid`。 3. 利用Matlab的`fscanf`函数逐行读取O文件数据。可以根据RINEX格式的规范,使用对应的格式字符串提取出需要的导航观测数据。例如,使用`'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f'`来读取O文件导航数据。 4. 通过循环读取文件的每一行,并将提取到的数据存储在Matlab的变量,以便后续分析和处理。 5. 当完成读取操作后,使用Matlab的`fclose`函数关闭O文件。 下面是一个简单的示例代码,演示了如何用Matlab读取RINEX格式的O文件: ```matlab % 使用Matlab读取RINEX格式的O文件 filename = 'your_file_path/OBS0020A.20O'; % 替换为你的文件路径和文件名 % 打开文件 fid = fopen(filename, 'r'); % 逐行读取数据 data = []; while ~feof(fid) line = fscanf(fid, '%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f'); data = [data; line]; end % 关闭文件 fclose(fid); % 数据处理和分析 % ... ``` 需要注意的是,在实际使用时,需要根据具体的RINEX文件格式,调整`fscanf`函数的格式字符串,确保正确读取导航观测数据。另外,还可以根据实际需要,对读取的数据进行进一步的处理、分析和可视化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值