资源简介
该文件只是轨迹生成的主函数,子函数及其画图函数此处未说明,具体见以后分享。
代码片段和文件信息
function Progen
%function Progen :profile generator 飞行轨迹发生器
%根据不同运动阶段轨迹参数(segment parameters),生成相应轨迹数据,同时得到加计和陀螺的输出信息(用于纯惯性解算)
%坐标系定义:地理系取为(东北天)ENU;机体系取为右前上;子惯导坐标系取为右前上
%Parameters
% t_simulate 轨迹仿真时间
% th 龙格库塔积分步长
% t_save 轨迹数据保存步长
%Ref
% 1:Design and Analysis of Transfer Alignment Algorithm
% 2:严恭敏硕士论文
% 3:秦永元《惯性导航》
%Checked:2012/04/17
%==========================================================================
clear
close all
clc
global deg minu %deg角度 minu角分
ConstsAndUnits; %基本的参数设置
th = 0.005; %轨迹解算数据更新周期(RK4积分步长)(s)
t_simulate = 600; %轨迹仿真时间(s)
t_save=0.005; %轨迹数据保存周期(s)
%初值姿态、速度、位置设置 根据实际情况调整
att = [0; 0; 0]*deg; %[pitch(俯仰角) roll(横滚角) azimuth(航向角)] 初始姿态角(rad)
vb = [0; 0; 0]; %[0 vby 0] 初始速度(m/s)
pos = [34*deg+14.76289014*minu; 108*deg+54.57983*minu; 380]; %[latitude longitude height]初始位置
Length=t_simulate/t_save;
profile_data = zeros(Length16); %数据保存,每2.5ms保存一次
profile = [att;(Att2Mat(att))*vb; pos;zeros(61)]; %15维列向量 姿态、速度、位置、陀螺角增量输出、加计速度增量(此处的增量是相对零时刻的总增量) Att2Mat作用:将姿态角转化为姿态矩阵Cb2n
profile_data(1:) = [0;profile]‘; %将0和profile列向量中的15个元素赋值给profile_data的第一行
%==========================================================================
%4阶龙格库塔(RK4)轨迹解算
fprintf(‘\r轨迹解算进度:%5.0f s‘ 0); %\r:回车将当前位置移到本行的开头 %5.0f设置输出的格式
segparam2 = getsegparam(0profile); %获取运动阶段轨迹参数初值 初始时刻零O时间
for k=5:5:t_simulate*1000 %RK4轨迹解算步长5ms %for 循环变量=表达式1:表达式2:表达式3,表达式2为步长
segparam0 = segparam2; k1 = RK4(profile segparam0);
segparam1 = getsegparam(k-2.5profile); k2 = RK4(profile+th/2*k1 segparam1);
k3 = RK4(profile+th/2*k2 segparam1);
segparam2 = getsegparam(kprofile); k4 = RK4(profile+ th*k3 segparam2);
profile = profile + th/6*(k1+2*k2+2*k3+k4); %k1到K4都是变化率,乘以时间th/6就是变化量
if mod(kt_save*1000)==0 %5ms保存一次数据
profile_data(k/(t_save*1000):)=[k/1000;profile]‘;
if mod(k1000)==0
fprintf(‘\b\b\b\b\b\b\b%5.0f s‘ k/1000); %解算进度显示(s) \b退格 1s显示一次
end
end
end
%数据保存到Profile_data文件中
save Profile_data profile_data % save 文件名 变量
end
%@@@@@@@@@@@@@@@@@@@@@@@@@ 轨迹参数解算 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
function dprofile = RK4(profilesegparam)
%function RK4:4th-order Runge–Kutta method 轨迹微分方程解算
%INPUTS
% profile(1:3) 姿态角[pitch roll azimuth]
% profile(4:6) 速度地理系投影
% profile(7:9) 位置[latitude longitude h
- 上一篇:跳频扩频通信系统simuli
nk仿真 - 下一篇:MATLAB大作业
相关资源
- MATLAB大作业
- 三参数威布尔分布线性相关法拟合程
- Matlab读取TDMS文件并存储为mat格式
- FW交通均衡求解算法
- matlab打开电脑摄像头动态追踪人脸位
- 捷联惯导matlab程序
- 学生成绩查询系统
- 基于MATLAB的VANET仿真.zip
- PPL锁相环matlab
- 计算SINR的matlab程序,带入参数可以直
- 基于matlab的小车避障仿真
- 最全图像评价性能指标函数matlab
- 图像性能指标matlab版本
- RSSI指纹库
- 图像融合的MATLAB实现
- k均值聚类算方法MATLAB程序
- Matlab+PFH.rar
- 提取水泥路裂缝
- 人群搜索算法SOA的matlab实现
- MATLAB 粒子群图像分割算法
-
MATLAB/Simuli
nk的PMSM的DTC控制仿真 - 粒子群算法matlab含注释
- matlab函数conv_m( xnxhnh )
- 数字基带传输系统MATLAB
- matlab写的指纹识别代码包括图像修复
- 泊松方程MATLAB程序
- 心电信号处理
- MPSK信号调制识别程序
- 神经网络实现调制识别
- 异步电机vf控制matlab仿真模型
评论
共有 条评论