关于RTKLIB中的相对定位relpos解算的理解

RTKLIB中的相对定位采用了KF滤波的方式;

先从预测更新来说,更新了常规状态量(位置、速度、加速度)、大气参数、模糊度相关的参数;

重点说与模糊度相关的参数:

1 预测更新

%% 计算概略单差模糊度
    bias=zeros(ns,1);
    % estimate approximate ambiguity by code adn phase comparison method

    % 通过相位和伪距观测值得到大概的单差相位偏移
    % 概略模糊度 = 伪距单差 - 相位单差/lambda
    % 这里的这个偏移从数学公式上来看实质是相位伪距观测值之差的差值,
    % 推公式中能发现这个量
    
    j=0; % 单差模糊度累加计数
    offset=0;
    for i=1:ns
        if rtk.opt.ionoopt~=glc.IONOOPT_IFLC  % 若不是消电离层组合,则
            cp=sdobs(obsr(ir(i)),obsb(ib(i)),f);% 相位观测值
            pr=sdobs(obsr(ir(i)),obsb(ib(i)),NFREQ+f); % 伪距观测值
            lami=nav.lam(sat(i),f);
            if cp==0||pr==0||lami<=0,continue;end
            bias(i)=cp-pr/lami; % 单差浮点模糊度
        else% 若是消电离层组合
            cp1=sdobs(obsr(ir(i)),obsb(ib(i)),1); 
            cp2=sdobs(obsr(ir(i)),obsb(ib(i)),2);
            pr1=sdobs(obsr(ir(i)),obsb(ib(i)),NFREQ+1);
            pr2=sdobs
### RTKLIB不支持北斗的原因分析 RTKLIB是一款广泛应用于GNSS数据分析的开源工具包,尽管其功能强大,但在处理某些特定卫星系统的数据时仍存在局限性。以下是关于RTKLIB不支持北斗的主要原因及其配置方法: #### 1. 软件设计的历史背景 RTKLIB最初开发时主要针对GPS和其他早期全球导航卫星系统(GNSS),而北斗系统的全面应用是在较晚的时间才被纳入考虑范围。因此,RTKLIB的部分核心法可能未充分优化以适应北斗信号的独特特性[^1]。 #### 2. 数据格式兼容性问题 虽然RTKLIB声称能够析RINEX 3.0及以上版本的数据文件,这些版本理论上已包含对北斗的支持,但由于实际实现中的细节差异,可能导致部分功能无法正常运行。例如,在读取和析北斗观测数据时可能会遇到错误或遗漏的情况。 #### 3. 函数库覆盖不足 在具体操作层面,像`readrnx`, `pntpos`, 和 `postpos`这样的关键函数虽可用于多种GNSS系统,但对于北斗特有的轨道模型、钟差校正等方面可能存在缺失或者不够精确的问题。这使得即使完成了初步设置,也可能得不到理想的计结果。 #### 4. 开发环境适配难题 对于希望自行调整源码来增强北斗支持能力的研究者来说,构建适合的工作环境本身就是一大挑战。比如当尝试通过Visual Studio编译项目时发现缺少必要的`.vcxproj` 文件等问题,则进一步增加了技术门槛[^2]。 #### 配置建议与决办法 为了克服上述困难并有效提升RTKLIB 对于北斗系统的适用程度,可以采取以下几个方面的措施: - **更新至最新版**: 使用最新的稳定发行版本(如提到过的v2.4.3b33),因为开发者社区持续改进程序使其更贴近当前需求. - **自定义修改代码**: 如果标准发布版仍然存在问题,可以根据实际情况动手改动相应模块内的逻辑结构;特别是涉及输入/输出流程管理以及坐标转换运的部分. - **借助外部资源**: 参考其他已经完成类似工作的案例分享 (例如来自博主Michael Beechan 的经验总结)[^3],从中学习如何针对性地修补缺陷区域. ```python # 示例: 修改 readrnx.py 中有关 BDS 卫星编号映射规则 def adjust_bds_satellite_mapping(satellites_list): adjusted_map = {} for sat in satellites_list: if 'C' == sat[:1]: # Assuming C represents BeiDou constellation here new_id = convert_to_custom_format(sat) adjusted_map[sat] = new_id return adjusted_map ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园度

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值