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

📄 greenwichsidereal.m

📁 This are files abouth gps simulation toolbox.
💻 M
字号:
%*******************************************************
% function Theta_GST = GreenwichSidereal(date, time)
%
% DESCRIPTION:
%
%  Calculates the corresponding Greenwich Sidereal Time at each time step
%  in the time vector argument (Reference: Vallado, pg.67)
%  
% ARGUMENTS:
%
%  date - struct containing date information (see loadInput)
%  time - vector of time values for which to calculate Theta_GST
%  
% OUTPUT:
%
%  Theta_GST - Greenwich Sidereal Time at each time (rad)
%  
% CALLED BY:
%
%  getSatelliteState
%
% FUNCTIONS CALLED:
%
%  julianDate
%
% MODIFICATIONS:    
% 
%       03-04-04  :  Stephen Russell - Original, modified from code written
%           by Lisa Reeh
% 
% 
% Colorado Center for Astrodynamics Research
% Copyright 2004 University of Colorado, Boulder
%*******************************************************
function Theta_GST = GreenwichSidereal(dateStructure, timeVector)

sec2day = 1/60/60/24;               % unit conversion

dt = timeVector(2) - timeVector(1);

% calculate the Julian Date from the reference starting time
JD_init = julianDate([dateStructure.year, dateStructure.month, dateStructure.day, dateStructure.hour, dateStructure.min, dateStructure.sec]);

% Calculate the adjusted Julian Date
JD_adj = JD_init*ones(size(timeVector)) + dt*ones(size(timeVector))*sec2day;

% Calculate the number of Julian centuries elapsed from the epoch J2000
T = (JD_adj - 2451545)./36525;

% Update the Greenwich Sidereal Time in radians
Theta_GST = rem((67310.54841 + (876600*3600+8640184.812866).*T + 0.093104.*T.^2 -...
    6.2e-6.*T.^3), 86400)./240 .* pi/180;

% Quadrant check
Theta_GST = mod(Theta_GST,2*pi);

⌨️ 快捷键说明

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