⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps_sat.m

📁 GPS/GALILEO/BEIDOU兼容接收机自主完好性检测程序
💻 M
字号:
function [xs,ys,zs]=gps_sat(t);

%*********************************
% ** gps 星座(地心地固坐标) 
% **********************************

%得出时刻t的卫星坐标
a = 26559800*ones(6,4); % a 轨道面半长轴
% ne=0.01*ones(6,4); % e 偏心率
ne=0.0*ones(6,4); % e 偏心率
i=55*ones(6,4); % i 轨道面与赤道面倾角
bomigar=[296,296,296,296;  % omiga 升交点赤经
    356,356,356,356;
    56,56,56,56;
    116,116,116,116;
    176,176,176,176;
    236,236,236,236];
w=0*ones(6,4); % w 近地点角
v0=[225,315,45,135;  % v0 真近地点角初始值
    255,345,75,165;
    195,285,15,105;
    225,315,45,135;
    255,345,75,165;
    195,285,15,105];
% 卫星运行周期 11小时58分43080。近似12小时43200
v = 360/43080*t*ones(6,4)+v0;
we = 0;%7.2921151467e-5*360/(2*pi);   %0;  % we 地球自转角速度7.2921151467e-5弧度
bomigarG0=0;
bomigarG=bomigarG0+we*t; % omiga_G 地心地固坐标系旋转
trans=2*pi/360;   
r=a.*(ones(6,4)-ne.^2)./(ones(6,4)+ne.*cos(trans*v));
xs=r.*cos(trans*(v+w)).*cos(trans*(bomigar-bomigarG))-r.*sin(trans*(v+w)).*sin(trans*(bomigar-bomigarG)).*cos(trans*i);
ys=r.*cos(trans*(v+w)).*sin(trans*(bomigar-bomigarG))+r.*sin(trans*(v+w)).*cos(trans*(bomigar-bomigarG)).*cos(trans*i);
zs=r.*sin(trans*(v+w)).*sin(trans*i);

% a=26559800*ones(1,24);%a是轨道半径
% i=55.0*ones(6,4); % i 轨道面与赤道面倾角
% ne=0.0*ones(1,24); % ne是轨道离心率,用圆轨道,所以为0
% bomigar=[272.85,272.85,272.85,272.85;  % omiga 升交点赤经
%     332.85,332.85,332.85,332.85;
%     32.85,32.85,32.85,32.85;
%     92.85,92.85,92.85,92.85;
%     152.85,152.85,152.85,152.85;
%     212.85,212.85,212.85,212.85];
% w=0*ones(6,4); % w 近地点角
% v0=[11.68,41.81,161.79,268.13;  % v0 真近地点角初始值
%     80.96,173.34,204.38,309.98;
%     111.88,241.57,339.67,11.80;
%     135.27,167.36,265.45,35.16;
%     197.05,302.60,333.69,66.07;
%     238.89,345.23,105.21,135.35];
% v=360/43080*t*ones(6,4)+v0;
% we=(7.2921151467e-5)*360/(2*pi);                      %地球自转角速度    
% bomigarG0=0;
% bomigarG=bomigarG0+we*t; % omiga_G 地心地固坐标系旋转
% trans=2*pi/360;   
% r=a.*(ones(6,4)-ne.^2)./(ones(6,4)+ne.*cos(trans*v));
% xs=r.*cos(trans*(v+w)).*cos(trans*(bomigar-bomigarG))-r.*sin(trans*(v+w)).*sin(trans*(bomigar-bomigarG)).*cos(trans*i);
% ys=r.*cos(trans*(v+w)).*sin(trans*(bomigar-bomigarG))+r.*sin(trans*(v+w)).*cos(trans*(bomigar-bomigarG)).*cos(trans*i);
% zs=r.*sin(trans*(v+w)).*sin(trans*i);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -