PSINS工具箱函数介绍——ggnss(ggpsvars+gbdvars+gglovars)

在这里插入图片描述

关于工具箱

kfinit是kf的参数初始化函数,用于初始化滤波参数
本文所述的代码需要基于PSINS工具箱,工具箱的讲解:

工具箱概述

PSINS(Precision Strapdown Inertial Navigation System)是面向高精度惯性导航算法开发的MATLAB工具箱,集成了150+个导航相关函数与20+种典型场景案例。其核心功能涵盖:

  • 惯性器件误差建模(陀螺随机游走、加速度计零偏)
  • 组合导航算法(GNSS/INS松耦合/紧耦合)
  • 初始对准与标定(静态基座对准、行进间对准)
  • 轨迹生成与可视化(三维轨迹动画、误差椭圆绘制)

学习路径指南

  1. 环境配置

    % 添加工具箱路径
    addpath(genpath('PSINS_toolbox'));
    % 验证安装
    psins_init;
    
  2. 入门实践

  3. 开发资源

    资源类型获取途径
    官方文档/PSINS/docs 目录下的PDF技术手册
    函数速查表psins_functionlist.xlsx(含300+函数分类说明)
    测试数据集\data\marine_navigation.mat(含船舶运动IMU/GNSS实测数据)

GNSS参数初始化函数 ggnss

函数功能

ggnss 是面向多卫星导航系统仿真的全局参数初始化函数,主要用于为GPS(美国)、北斗(中国)、GLONASS(俄罗斯)三大卫星导航系统创建标准化的仿真参数结构体。该函数通过调用 ggpsvarsgbdvarsgglovars 三个子系统初始化模块,在工作区生成符合国际卫星导航标准的参数集合。

参数体系结构

结构体名称对应系统核心参数组成
ggpsGPS系统载波频率(L1/L2)、星历参数、电离层延迟模型、卫星钟差参数、DOP计算门限
gbd北斗系统B1/B2频点参数、GEO/IGSO/MEO卫星特性、时间系统参数、坐标转换矩阵
ggloGLONASS系统FDMA频分多址参数、PZ-90坐标系参数、卫星健康状态标识、频偏校正系数
glv公共参数光速常量、地球自转角速率、WGS-84椭球参数、仿真步长设置、可见卫星仰角门限

典型应用场景

%% 多系统组合定位仿真初始化
ggnss; % 初始化全局参数
traj = pathtrajgen(glv.dt); % 生成运动轨迹
[eph, iono] = gnss_ephemeris(traj.t(1)); % 获取卫星星历
obs = gnss_obsgen(traj, eph, iono, ggps, gbd, gglo); % 生成观测数据
pos = gnss_pos(obs, glv); % 解算定位结果

系统参数初始化操作指南

执行流程

  1. 运行初始化脚本

    >> ggpsvars;  % 初始化GPS参数
    >> gbdvars;   % 初始化北斗参数
    >> gglovars;  % 初始化GLONASS参数
    >> glv = psinsglv; % 加载公共参数
    
  2. 参数查看与修改

    >> disp(ggps.freq); % 查看GPS载波频率
    >> ggps.ionoAlpha = [0.1397e-7, -0.7451e-8]; % 修改电离层延迟系数
    
  3. 参数持久化存储

    save('gnss_config.mat','ggps','gbd','gglo'); % 保存配置
    load('gnss_config.mat'); % 加载历史配置
    

运行结果解析

参数结构体示意图

  • ggps:包含GPS L1C/A码的C/A码周期(1ms)、码速率(1.023Mchip/s)、导航电文结构(HOW/TLM字)等参数
  • gbd:定义北斗B1I信号调制方式(QPSK)、GEO卫星轨道特征(定点经度)、RDSS短报文协议字段
  • gglo:设置GLONASS FDMA频偏公式中的频道号k与频点间隔(0.5625MHz)
  • glv:包含通用大地测量常数(如地球扁率1/298.257223563)、蒙特卡洛仿真次数设置(默认1000次)

函数源码深度解析

代码架构

function ggpsvars
    ggps.freq = [1575.42e6, 1227.60e6];  % L1/L2频点 (MHz)
    ggps.CA_rate = 1.023e6;              % C/A码速率 (chip/s)
    ggps.ionoAlpha = [0.1397e-7, -0.7451e-8]; % Klobuchar alpha参数
    % ... 其余参数约50项
    assignin('base', 'ggps', ggps); 
end

扩展开发建议

  1. 多频点支持扩展

    % 添加Galileo系统支持
    function ggalvars
        ggal.freq = [1575.42e6, 1176.45e6, 1278.75e6]; % E1/E5a/E5b
        % ... Galileo特有参数
        assignin('base', 'ggal', ggal);
    end
    
  2. 动态参数重载

    function update_glonass_freq(k)
        global gglo;
        gglo.freq = 1602e6 + k*0.5625e6; % 根据频道号k更新频点
    end
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MATLAB卡尔曼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值