%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% 航迹发生器
%
% 输入参数:
% t 仿真时间
% T 仿真步长
% atti 横滚、俯仰、航向(单位:度)
% atti_rate 横滚速率、俯仰速率、航向速率(单位:度/秒)
% veloB 飞机运动速度——X右翼、Y机头、Z天向(单位:米/秒)
% acceB 飞机运动加速度——X右翼、Y机头、Z天向(单位:米/秒/秒)
% posi 航迹发生器初始位置经度、纬度、高度(单位:度、度、米)
% veloN 飞机运动速度——X东向、Y北向、Z天向(单位:米/秒)
% posiN 经度、纬度、高度(单位:度、度、米)
% 程序设计:吴玲 日期:2007/12/05
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%仿真时间设置%%%%%%
t=0;
T=1;
TraceData=[];
t_stop=3600.0;
%%%%%%%%%%%%%%%%航迹发生器%%%%%%%%%%%%%%%%%
atti=zeros(3,1); %横滚、俯仰、航向(单位:度)
atti_rate=zeros(3,1);%横滚速率、俯仰速率、航向速率(单位:度/秒)
veloB=zeros(3,1); %飞机运动速度——X右翼、Y机头、Z天向(单位:米/秒)
acceB=zeros(3,1); %飞机运动加速度——X右翼、Y机头、Z天向(单位:米/秒/秒)
posi=zeros(3,1); %航迹发生器初始位置经度、纬度、高度(单位:度、度、米)
posi=[118;32;300.0];
Re=6378137.0; %地球半径(米)
f=1/298.257; %地球的椭圆率
posiN=posi; %初始位置与航迹位置一致
long=posiN(1,1)*pi/180.0;lati=posiN(2,1)*pi/180.0;heig=posiN(3,1);
%飞行器位置
Rm=Re*(1-2*f+3*f*sin(lati)*sin(lati));
Rn=Re*(1+f*sin(lati)*sin(lati));
%地球曲率半径求解
atti(1,1)=0.0;
atti(2,1)=0.0;
atti(3,1)=90.0; %初始航向角度(单位:度)
veloB(2,1)=0.0; %飞机初始运动速度——机头(单位:米/秒)
while t<=t_stop
%
if( t==0 )
acceB(2,1) = 0; %初始对准时间
elseif(t<=20) %滑跑
acceB(2,1)=4.0;
elseif(t<=24) %加速拉起
atti_rate(2,1)=7.5;
acceB(2,1)=5.0;
elseif (t<=64) %爬高
atti_rate(2,1)=0.0;
elseif (t<=68) %改平
atti_rate(2,1)=-7.5;
acceB(2,1)=0.0;
elseif (t<=668) %平直飞行
atti_rate(2,1)=0.0;
elseif (t<=671) %倾斜预转弯
atti_rate(1,1)=10.0;
elseif (t<=731) %转弯
atti_rate(3,1)=1.5;
atti_rate(1,1)=0.0;
elseif (t<=734) %改平
atti_rate(3,1)=0.0;
atti_rate(1,1)=-10.0;
elseif (t<=1334) %平直飞行
atti_rate(1,1)=0.0;
elseif (t<=1342) %加速拉起
atti_rate(2,1)=7.5;
acceB(2,1)=2.0;
elseif (t<=1374) %加速爬高
atti_rate(2,1)=0.0;
elseif (t<=1382) %改平
atti_rate(2,1)=-7.5;
acceB(2,1)=0.0;
elseif (t<=1862) %平直飞行
atti_rate(2,1)=0.0;
elseif (t<=1902) %减速飞行
acceB(2,1)=-2.5;
elseif (t<=1905) %倾斜预转弯
atti_rate(1,1)=10.0;
acceB(2,1)=0.0;
elseif (t<=1965) %转弯
atti_rate(3,1)=1.5;
atti_rate(1,1)=0.0;
elseif (t<=1968) %改平
atti_rate(3,1)=0.0;
atti_rate(1,1)=-10.0;
elseif (t<=2568) %平直飞行
atti_rate(1,1)=0.0;
elseif (t<=2574) %低头
atti_rate(2,1)=-7.5;
elseif (t<=2594) %俯冲
atti_rate(2,1)=0.0;
elseif (t<=2600) %改平
atti_rate(2,1)=7.5;
elseif (t<=2603) %倾斜预转弯
atti_rate(2,1)=0.0;
atti_rate(1,1)=10.0;
elseif (t<=2663) %转弯
atti_rate(3,1)=1.5;
atti_rate(1,1)=0.0;
elseif (t<=2666) %改平
atti_rate(3,1)=0.0;
atti_rate(1,1)=-10.0;
elseif (t<=3600) %平直飞行
atti_rate(1,1)=0.0;
end
%
t=t+T;
t
veloB(2,1)=veloB(2,1)+acceB(2,1)*T;
atti(1,1)=atti(1,1)+atti_rate(1,1)*T;
atti(2,1)=atti(2,1)+atti_rate(2,1)*T;
atti(3,1)=atti(3,1)+atti_rate(3,1)*T;
roll=atti(1,1)*pi/180.0;pitch=atti(2,1)*pi/180.0;head=atti(3,1)*pi/180.0;
%坐标系N(地理系)-->B(机体系)
Cbn=[cos(roll)*cos(head)+sin(roll)*sin(pitch)*sin(head), -cos(roll)*sin(head)+sin(roll)*sin(pitch)*cos(head), -sin(roll)*cos(pitch);
cos(pitch)*sin(head), cos(pitch)*cos(head), sin(pitch);
sin(roll)*cos(head)-cos(roll)*sin(pitch)*sin(head), -sin(roll)*sin(head)-cos(roll)*sin(pitch)*cos(head), cos(roll)*cos(pitch)];
veloN=Cbn'*veloB;
Ve=veloN(1,1);Vn=veloN(2,1);Vu=veloN(3,1);
heig=heig+T*Vu;
lati=lati+T*(Vn/(Rm+heig));
long=long+T*(Ve/((Rn+heig)*cos(lati)));
posiN(1,1)=long*180.0/pi; %单位:度
posiN(2,1)=lati*180.0/pi; %单位:度
posiN(3,1)=heig;
TraceData=[TraceData;t,posiN',veloB(2,1),veloN'];
end
figure(1);
plot3(TraceData(:,2),TraceData(:,3),TraceData(:,4),'m');
title('飞行航迹仿真');
xlabel('经度(^{\circ})');ylabel('纬度(^{\circ})');zlabel('高度(m)');
grid;
figure(2);
subplot(3,1,1);plot(TraceData(:,1),TraceData(:,2));title('飞行器经、纬、高度仿真');ylabel('经度(^{\circ})');grid;
subplot(3,1,2);plot(TraceData(:,1),TraceData(:,3));ylabel('纬度(^{\circ})');grid;
subplot(3,1,3);plot(TraceData(:,1),TraceData(:,4));xlabel('t(sec)');ylabel('高度(m)');grid;
figure(4);
subplot(3,1,1);plot(TraceData(:,1),TraceData(:,6));title('飞行器东、北、天速度仿真');ylabel('东向速度(m/s)');grid;
subplot(3,1,2);plot(TraceData(:,1),TraceData(:,7));ylabel('北向速度(m/s)');grid;
subplot(3,1,3);plot(TraceData(:,1),TraceData(:,8));xlabel('t(sec)');ylabel('天向速度(m/s)');grid;
%%%%%%%%%%%%%存储仿真数据%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
save trace1.dat TraceData -ASCII; %存储航迹数据
没有合适的资源?快使用搜索试试~ 我知道了~
GPS卫星信号模拟器
共51个文件
gif:13个
fig:13个
jpg:9个
3星 · 超过75%的资源 需积分: 50 71 下载量 65 浏览量
2010-06-10
23:15:00
上传
评论 1
收藏 433KB RAR 举报
温馨提示
MATLAB编写的GPS信号模拟程序,用于模拟卫星产生的信号
资源推荐
资源详情
资源评论
收起资源包目录
11912923trace.rar (51个子文件)
trace
trace5.dat 457KB
trace0.dat 235KB
trace0.fig 68KB
Figure
trace1.fig 92KB
trace0.fig 54KB
trace42.fig 52KB
trace11.fig 93KB
trace12.fig 119KB
trace52.fig 98KB
trace51.fig 72KB
trace21.fig 89KB
trace32.fig 18KB
trace22.fig 115KB
trace31.fig 12KB
trace41.fig 39KB
trace2.dat 454KB
trace0.m 5KB
GPS信号模拟器卫星状态参数的算法研究,模拟器,轨道参数,非球形地球引力,GPS-中电网.files
xsj074523w-4.jpg 28KB
xwzx.gif 1KB
bk.gif 2KB
jjfa.gif 2KB
xp.gif 2KB
xsj074523w-5.jpg 49KB
jqrc.gif 1KB
zxsd.gif 2KB
sjyy.gif 2KB
POINT.jpg 18KB
zxzt.gif 2KB
yth.gif 2KB
xsj074523w-1.jpg 15KB
jslt.gif 2KB
home.gif 1KB
eccn.jpg 43KB
xsj074523w-2.jpg 17KB
login.files
MAINcss.css 5KB
maincss.css 5KB
top-bg.jpg 3KB
dzbk.gif 1KB
left-menu-bg.jpg 397B
login.htm 2KB
left_ee.gif 3KB
xsj074523w-3.jpg 4KB
trace2.m 5KB
GPS信号模拟器卫星状态参数的算法研究,模拟器,轨道参数,非球形地球引力,GPS-中电网.htm 29KB
trace5.m 4KB
trace3.dat 63KB
trace1.dat 457KB
trace4.m 5KB
trace1.m 6KB
trace3.m 5KB
trace4.dat 182KB
共 51 条
- 1
资源评论
- Xshiny2012-12-23有点问题,打不开。
- val19952017-09-27一般,没什么用。
- ma65669662012-10-10不能用啊!
- liang198811302013-04-19有些问题,不好用。
- ghhailang2012-10-11不能用的,假的
maxy_1115
- 粉丝: 5
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功