matlab编程求卫星轨道长度,GPS卫星轨道计算及其MATLAB仿真.pdf
GPS 卫星轨道计算及其MATLAB 仿真
黎奇,白征东,李帅,陈波波
(清华大学地球空间信息研究所,北京100084)
一、程序设计思路
1. 读取RINEX 文件(注意:文件路径)
2. 计算测量日周积秒(测量日的格里历→GPST )
3. 按卫星轨道计算步骤计算WGS-84 坐标系坐标 (内插)
4. 按需要将WGS-84 坐标系下坐标转换为所需坐标系坐标
5. 画图输出
主程序
function tracePlot() % 主程序
format long
%读取RINEX格式n文件
data被赋值为RinexNreader函数的结果;其中参数包括指定的输入文件路径和卫星编号1;注释:请确保指定正确的数据文件路径及对应的卫星编号以避免错误运行。
%计算测量日的周积秒
[JD,FOD,GPSW,SOW,DOY,DOW] =
GCtoGPS(data(1,1),data(2,1),data(3,1),data(4,1),data(5,1),data(6,1));
t0 = SOW; % SOW-周积秒
%计算卫星坐标
i = 1;
for t = t0:10*60:(t0+86400) % 从 t0 到 t0+86400秒(1天) 间隔 600秒(10min),决定轨迹疏密
satPosECEF(:,i) = orbitDetermine(data,t);
% 输入:卫星PRN编号、时刻t
% 输出:卫星WGS-84坐标x、y、z
[B_ECEF(i),L_ECEF(i)] = XYZtoBLH(satPosECEF(1,i),satPosECEF(2,i),satPosECEF(3,i));
XYZtoBLH - 实现卫星坐标的XYZ形式转换为BLH坐标系,并规定以东经为正方向、北纬为正方向
i = i + 1;
end
geoshow('landareas.shp','FaceColor', [0.15 0.5 0.15]),hold on % 绘制底图地球
plot(L_ECEF,B_ECEF,'r.'); % 绘制坐标
end
二、n 文件说明及读取程序
参考时刻 的 RINEX 格式的 “ . n ”广播星历文件具体如下:(加粗部分为本次轨道
t
oe
计算中实际使用的参数)
(头文件)
END OF HEAD
(61-73)
卫星PRN 号 参考时刻toe 2
卫星钟差常数项a ,秒 卫星钟差漂移项a ,秒/秒 卫星钟差漂移速率a ,秒/秒
f 0 f 1 f 2
