File Exchange

image thumbnail

SGP4 Orbit Propagator with GUI

version 1.2.0.0 (304 KB) by Damon DeLuca
Determines visibility times from observer location for specified period. LLA and KML output.

31 Downloads

Updated 26 Mar 2018

View License

Main function: OrbProp.m
NOTE: 1. Output generated by this program has not been validated, other than ensuring close agreement with AGI STK results. Prior to MAR 2018, expired Earth Orbit Parameters (EOP) were used for xp, yp, LOD, etc. This incurred slight variation from STK results (~0-30s offset). The program now downloads EOP data automatically from the internet, or allows selection of an EOP file the user may have.
2. Mapping toolbox and external program needed to execute distance, elevation, reckon, and azimuth functions; and plot LLA ground tracks.
This script runs the SGP4 propagator using the manual method, afspc, with
WGS72 ellipsoid. SGP4 output in ManualOut.out is transformed from TEME
to ECEF. The transformation teme2ecef is executed for each line of output in ManualOutput.out using time parameters for that iteration.
Input: TLE, UTC start, UTC stop, observer location, sector parameters. TLE input is a single two line file.
Output:
1. Access_Summary.txt: Summary of visibility times from observer's location, with az/el/slantrange
2. Access_Transit.txt: Used for plotting ground tracks for passes in Access_Summary.txt. Only visibility periods are included. Format: line number, lat, lon, alt (m geodetic), el(deg), az(degT), timevector
3. LLA_Transit.txt: Used for plotting ENTIRE ground track for period specified in the GUI. Format: line number, lat, lon, alt (m geodetic), timevector
4. PolarPlot.png: Az-El polar plot of passes in Access_Summary.txt
5. KML_Transit_Altitude.kml: Plot orbit at altitude for entire period in Google Earth
6. KML_Transit_GroundTrack.kml: Plot orbit ground track for entire period in Google Earth
--External program using mapping toolbox required for plotting ground tracks.
--A sector may be specified for the observer that constrains visibility windows.
--Geodetic horizon at observer location used for visibility when no sector specified.
Will appreciate any feedback/rating if difficulty is encountered or works as needed.

Comments and Ratings (9)

Not working with R2018a:

Index in position 2 exceeds array bounds (must not exceed 1).

Error in OrbProp>run_Callback (line 657)
polar(accesstransit(:,6).*3.14159/180,90-accesstransit(:,5),'r');

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in OrbProp (line 83)
gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)OrbProp('run_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

Is there a way to obtain the velocity or range rate at a given orbit point too?

Ahsan Waqas

Damon DeLuca

#Bing:
KML output for access transit ground tracks is included. Thanks for the comment!

Blewis

Bing

Could you also please add in the result a kml file for all the access transit ground tracks?

Sean Kim

need to state that mapping toolbox is required

Updates

1.2.0.0

Updated program to incorporate Earth Orientation Parameters. Results now agree with AGI STK.

1.1.0.0

Added access period labels to polar plot. Changed from .piz file to .zip.

1.0.0.0

None

1.0.0.0

1. Updated to include KML output files.
2. Removed several mapping toolbox functions that had dependencies.

1.0.0.0

None

1.0.0.0

Included additional required Matlab functions not previously included.
Mapping toolbox still required to plot ground tracks using output files.

1.0.0.0

Mapping toolbox needed. Will include those functions next update.

1.0.0.0

None

1.0.0.0

None

1.0.0.0

None

1.0.0.0

None

1.0.0.0

None

1.0.0.0

None

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux