用Psins工具箱复现傅科周期与修拉周期:一个40小时静基座仿真的完整流程
惯性导航系统在静基座条件下的误差传播特性是理解其核心机理的关键窗口。当我们将IMU(惯性测量单元)固定在地面某处,理论上速度矢量为零且地理位置精确已知,但实际解算中仍会出现周期性振荡——这正是地球自转与重力场共同作用的物理现象。本文将手把手带您用Psins工具箱搭建40小时静基座仿真环境,通过调整纬度参数和IMU误差设置,让84分钟的修拉周期和约40小时的傅科周期在误差曲线中清晰浮现。
1. 环境准备与参数设定
在MATLAB中运行静基座仿真前,需要明确几个关键参数对周期现象的影响程度。纬度决定了傅科周期的具体数值,而IMU误差类型则影响振荡幅值的表现。
1.1 基础参数配置
推荐使用以下初始化代码建立基准场景:
glv.pos0 = [34.246048*glv.deg; 108.909664*glv.deg; 380]; % 西安纬度 T = 40*3600; % 40小时转换为秒 ts = 0.01; % 采样间隔10ms avp0 = avpset([0;0;0], [0;0;0], glv.pos0); % 初始姿态/速度/位置纬度选择技巧:
- 傅科周期与纬度余弦成反比,赤道处周期无限大(无傅科效应)
- 中纬度地区(30°-60°)适合观察典型40小时周期
- 极地附近周期缩短至约24小时
1.2 IMU误差模型设置
通过imuerrset函数配置误差参数时,重点考虑陀螺零偏对傅科周期的影响:
% 典型误差配置(单位:deg/h陀螺零偏,ug加速度计零偏) imuerr = imuerrset(0.01, 10, 0.001, 0.2); % 关键参数说明: % 1. 陀螺零偏0.01°/h → 影响傅科周期幅值 % 2. 加速度计零偏10μg → 影响修拉周期幅值 % 3. 陀螺随机游走0.001°/√h → 长期误差累积 % 4. 加速度计随机游走0.2μg/√Hz → 高频噪声注意:实际仿真时可先设置imuerr为零值,观察理想周期特性后再逐步添加误差分析影响
2. 静基座IMU数据生成原理
静基座仿真的核心在于正确模拟IMU在固定位置的"理想输出"。此时地球自转和重力场是仅有的物理量来源。
2.1 陀螺仪输出模型
静基座下陀螺测量的是地球自转在载体坐标系的分量:
eth = earth(avp0(7:9)); % 获取地球参数 Cbn = a2mat(avp0(1:3))'; % 载体到导航系转换矩阵 gyro_output = Cbn * eth.wnie; % 理想陀螺输出物理意义解析:
eth.wnie是地球自转角速度在导航系的投影- 当载体坐标系与导航系对齐时,北向分量最大,天向分量次之
2.2 加速度计输出模型
静止状态下加速度计应测量到反向重力矢量:
accel_output = -Cbn * eth.gn; % 理想加速度计输出典型的重力矢量值在导航系中表现为:
[0; 0; -9.7803] m/s² (赤道) [0; 0; -9.8322] m/s² (极地)3. 完整仿真流程实现
3.1 数据生成与误差注入
使用imustatic函数生成带误差的IMU数据:
imu = imustatic(avp0, ts, T, imuerr);关键参数验证点:
- 检查
imu矩阵的列数应为7(3轴陀螺+3轴加速度+时间戳) - 时间戳列应严格按
ts间隔递增 - 可通过
plot(imu(:,7), imu(:,1:3))可视化陀螺输出
3.2 惯导解算与误差分析
执行纯惯性导航解算并绘制误差曲线:
avp = inspure(imu, avp0); % 纯惯导解算 avperr = avpcmp(avp, avp0); % 计算误差 inserrplot(avperr); % 绘制误差曲线典型输出曲线特征:
- 东向速度误差:84分钟修拉周期主导
- 北向速度误差:84分钟与40小时周期叠加
- 位置误差:长期累积趋势明显
4. 周期现象的理论验证
4.1 修拉周期计算验证
修拉周期是地球半径与重力加速度的函数:
T_schuler = 2π/√(g/R) ≈ 5063秒 ≈ 84.4分钟在Psins中可通过以下代码验证:
R = sqrt(eth.RNh*eth.RMh); % 地球曲率半径 T_schuler = 2*pi/sqrt(-eth.gn(3)/R) % 计算结果应≈5063秒4.2 傅科周期计算验证
傅科周期与纬度的关系为:
T_foucault = 2π/(wie*sinφ)对应MATLAB实现:
wie = 7.292115e-5; % 地球自转角速度(rad/s) T_foucault = 2*pi/(wie*sin(avp0(7))) % 34°纬度结果≈144158秒≈40小时4.3 理论误差模型对比
建立误差状态空间模型进行理论预测:
F = [ 0 wU -wN 0 -1/R 0 0; -wU 0 0 1/R 0 -wU 0; wN 0 0 0 tL/R 0 wN; 0 -g 0 0 2*wU 0 0; g 0 0 -2*wU 0 0 0; 0 0 0 1/R 0 0 0; 0 0 0 0 eL/R 0 0 ]; [Fk, Bk] = c2d(F, eye(size(F)), ts);将理论预测曲线(红色)与仿真结果叠加显示,可验证两者的一致性。