laplace_orbit_fit() implements the Laplace method for orbit determination from 3 distinct azimuth/elevation observations of a body. The underlying theory is described in Bate, White and Mueller. Note that the observations must be closely spaced in order to yield good results.
The other functions are used by laplace_orbit_fit(), but they can be used on their own because they provide useful algorithms for coordinate conversions and Julian Date calculations.
<lat>: Observer latitude (radians). North latitudes are +ve.
<lon>: Observer longitude (radians). East longitudes are +ve.
<alt>: Observer altitude (meters)
<T> : Row vector with three distinct Julian Dates for the observations
<AZI_ELE>: 2x3 matrix. Row 1 must contain azimuth (radians) and row 2 the elevation (radians) for the 3 observations
<RV>: Position (meters) and velocity (m/s) vector of the body at time T(2) in the Earth Centered Inertial reference frame
lat = (42+24/60)*pi()/180
lon = -(71+4/60)*pi()/180
T = 2451545+[0 5 10]/1440
AZ_EL = [10 70 130; 5 45 10]*pi()/180
rv = laplace_orbit_fit(lat,lon,0,T,AZ_EL)
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.