Geometrical visibility calculation - DEPRECATED
[visi_dates] = CL_ev_visibilityExtr(cjd,type_oe,mean_oe,stations,stations_masks, sim_period, .. [visi_min,prec,propag_model,ut1_tref,er,mu,j1jn,obla,fun_ci2cf])
This function is deprecated.
Replacement function: CL_ev_stationVisibility
Computes the periods of time (start and end times) when a satellite is visible from a given set of ground stations.
The satellite is visible from a ground station when its elevation is over a given threshold (stations_masks).
The satellite trajectory is computed using an analytical model (specified by propag_model).
The results are computed in the simulation period defined by sim_period.
The intervals returned in visi_dates define the visibility periods start and end times of the satellite by at least one ground station. It means that the visibility intervals for ground stations considered independently are concatenated.
Notes:
- Beware that the default propagation model is "j2sec" (J2 secular effects only).
- Visibility intervals with a duration less than visi_min are discarded.
- Choosing a small value for visi_min will increase the computation time.
- Setting planet oblateness (obla) to 0 (so that computation are done assuming a spherical planet) results in faster computation.
Advanced users can specify an external function (fun_ci2cf) that converts positions from the inertial frame to the body fixed frame.
This is particularly useful when one wants to compute visibilities for a planet that is not the Earth.
The calling sequence of the function must be the following:
pos_cf = fun_ci2cf(cjd_tref,pos_ci,ut1_tref)
- cjd_tref
: Modified (1950.0) julian date (Time scale: TREF)
- pos_ci
: Position vector in the inertial frame.
- pos_cf
: Position vector in the (body) fixed frame.
- ut1_tref
: UT1-TREF [seconds]
If fun_ci2cf is omitted, the frame conversion from ECI to ECF is used. (See Reference frames for more details)
Warning:
- The default propagation model is "j2sec": osculating elements = mean elements.
Modified (1950.0) Julian date (Time scale: TREF) (1x1)
(string) Type of orbital elements used: "kep" or "cir" (1x1)
Satellite's mean orbital elements at date cjd in inertial frame (6x1)
Stations positions in rotating (planet fixed) reference frame in elliptical (geodetic) coordinates [long,lat,alt] [rad,rad,m] (3xN)
Station minimum elevations (above which there can be visibility) [rad] (1xN or 1x1)
Simulation time interval ([cjd_start; cjd_end]). Modified (1950.0) Julian date (Time scale: TREF) (2x1)
(optional) Minimum visibility duration (default is 60 seconds) [sec] (1x1)
(optional) Computation accuracy on start/end visibility times (default is 1 second) [sec] (1x1)
(optional). See CL_ex_propagate for details. Default is "j2sec" (1x1)
(optional) UT1-TREF [seconds]. Default is %CL_UT1_TREF (1x1)
(optional) Planet equatorial radius (default is %CL_eqRad) [m] (1x1)
(optional) Gravitational constant [m^3/s^2] (default value is %CL_mu)
(optional) Vector of j1jn coefficients J1 to Jn (troncated to J6) to be used (default is %CL_j1jn(1:6)) (1xN)
(optional) Planet oblateness (default is %CL_obla) (1x1)
(optional) See description for more details.
Visibility start and end times ([cjd_visi_start ; cjd_visi_end]). Modified (1950.0) Julian date (Time scale: TREF) (2xM)
CNES - DCT/SB
t0 = 21915; mean_kep0 = [7070.e3; 1.e-3; 1.7; 0.1; 0.2; 0.3]; // Definition of ground stations sta1 = [CL_deg2rad(2);CL_deg2rad(70);200]; // high latitude sta2 = [CL_deg2rad(20);CL_deg2rad(0);400]; // equator stations = [sta1,sta2]; stations_masks = [ CL_deg2rad(10) , CL_deg2rad(2) ]; sim_period = [21915 ; 21918 ]; // 3 days // Visibility computation [visi_dates] = CL_ev_visibilityExtr(t0, "kep", mean_kep0, stations, .. stations_masks, sim_period); // Plot visibility duration (mn) as function of time scf(); plot2d3(visi_dates(1,:) - t0, .. (visi_dates(2,:) - visi_dates(1,:)) * 1440, style=2); // Same computation with obla=0 (faster) [visi_dates] = CL_ev_visibilityExtr(t0, "kep", mean_kep0, stations, .. stations_masks, sim_period, obla=0); // Plot visibility duration (mn) as function of time plot2d3(visi_dates(1,:) - t0, .. (visi_dates(2,:) - visi_dates(1,:)) * 1440, style=5); |