Line of Sight Access
Determine line of sight (LOS) access between one or more source positions and one or more target positions
Since R2024b
Libraries:
Aerospace Blockset /
Spacecraft /
Spacecraft Dynamics
Description
The Line of Sight Access block determines whether line of sight (LOS) access exists from one or more source positions to one or more target positions at the current time step.
Source and Target Central Bodies
The Line of Sight Access block lets you define sources and targets with respect to different central bodies. You cannot set the same central body for both the source and target Central body parameter. If you want to use the same central body for the source and target, in the Target tab, select the Use same central body as Source parameter.
Ports
Input
TJD — Julian date
scalar
Julian date specified as a scalar in UTC (Universal Coordinated Time).
Dependencies
To enable this port, set Time source to Port
(Julian date)
.
Data Types: double
T0JD — Julian date epoch
scalar
Julian date epoch from which to base elapsed Julian time, specified as a scalar in UTC (Universal Coordinated Time).
Dependencies
To enable this port, set Time source to Port
(T0 and elapsed Julian time)
.
Data Types: double
ΔTJD — Elapsed Julian time with respect to T0JD
scalar
Elapsed Julian time with respect to ΔTJD, specified as a scalar elapsed time in UTC (Universal Coordinated Time).
Dependencies
To enable this port, set Time source to Port
(Julian date)
.
Data Types: double
Src position
— Source position
3-element vector | 4-element vector | M-by-3 array | M-by-4 array
Source position (such as that of the spacecraft) with respect to the source
central body, specified as a 3-element vector or M-by-3 array.
position
can be
Xicrf,
Xff, or LLA,
depending on the Position coordinate frame setting on the
Source tab.
Dependencies
When you specify the source position as an M-by-3 array, you must also specify the target position as an M-by-3 array.
Data Types: double
Src attitude
— Source attitude
3-element vector | M-by-3 array
Source attitude defined as a rotation from the Attitude reference coordinate frame parameter on the Source tab to the body frame as the current time step, specified as one of these values:
4-element vector — Attitude representation set to
Quaternion
.3-element vector — Attitude representation set to
Euler angles
.
attitude
can be q or
[R1, R2, R3], depending on the Attitude
representation setting on the Source tab.
Dependencies
To enable this port, select the Use field of view (FOV) parameter on the Source tab.
When you specify the source attitude as an M-by-3 array, you must also specify the target attitude as an M-by-3 array.
Data Types: double
Src FOV orientation
— Source field of view orientation
4-element vector | 3-element vector
Source field of view orientation, defined as a rotation from the body frame to the sensor frame, specified as one of these values:
4-element vector — Attitude representation set to
Quaternion
.3-element vector — Attitude representation set to
Euler angles
.
orientation
can be q or
[R1, R2, R3], depending on the Attitude
representation setting on the Source tab.
Dependencies
To enable this port,
Select the Use field of view (FOV) parameter on the Source tab.
Set the Source FOV orientation sourceto
Port
.
When you specify the source FOV orientation as an M-by-3 array, you must also specify the target FOV orientation as an M-by-3 array.
Tgt position
— Target position
3-element vector | M-by-3 array
One or more target positions, specified as a 3-element vector or
M-by-3 array. position
can be
Xicrf,
Xff, or LLA,
depending on the Position coordinate frame setting on the
Source tab.
Dependencies
When you specify the source position as an M-by-3 array, you must also specify the target position as an M-by-3 array. However if source position is a 3-element vector, target position can have any number of rows (M-by-3).
Data Types: double
Tgt attitude
— Target attitude
3-element vector | M-by-3 array
One or more target attitude, specified as a 3-element vector or
M-by-3 array. attitude
can be
q or [R1, R2, R3], depending on the
Attitude representation setting on the
Source tab.
Dependencies
When you specify the source attitude as an M-by-3 array, you must also specify the target attitude as an M-by-3 array.
Data Types: double
Tgt FOV orientation
— Target field of view orientation
4-element vector | 3-element vector
Target field of view orientation, defined as a rotation from the body frame to the sensor frame, specified as one of these:
4-element vector — Attitude representation set to
Quaternion
.3-element vector — Attitude representation set to
Euler angles
.
orientation
can be q or
[R1, R2, R3], depending on the Attitude
representation setting on the Source tab.
Dependencies
To enable this port,
Select the Use field of view (FOV) parameter on the Target tab.
Set the Source FOV orientation sourceto
Port
.
When you specify the source attitude as an M-by-3 array, you must also specify the target central body as an M-by-3 array.
Rssbary,cb — Custom central body position
3-by-1 array
Custom central body position with respect to the solar system barycenter, in the
ICRF coordinate frame. cb can be
cbsrcor
cbtgt depending on whether
Central body on the Source or
Target tab is set to Custom
.
Dependencies
To enable this port on the Source or
Target tab, set Central body to
Custom
.
Data Types: double
φθψ — Moon libration angles
3-element vector
Moon libration angles for transformation between the International Celestial Reference Frame (ICRF) and Moon-centric fixed frame, specified as a 3-element vector. To get these values, use the Moon Libration block.
Note
The fixed frame used by this block when a Central body on
the Source or Target tab is set to
Moon
is the mean Earth/pole axis (ME) system. For more
information, see Algorithms.
Dependencies
To enable this port:
On the Source or Target tab, set Central body to
Moon
.Select the Input Moon libration angles parameter.
Data Types: double
Output
Access — Total combined line of sight access status
0
(false) | 1
(true)
Total combined line of sight access status for all enabled obstructions or constraints.
0
(false) — No line of sight.1
(true) — Established line of sight.
Dependencies
To display this port as Access, clear the Output access status for each occulting body parameter.
To display this port as Accesstotal, select the Output access status for each occulting body parameter.
Data Types: Boolean
AccesssourceCB — Line of sight access status for source central body
0
(false) | 1
(true)
Status of line of sight access from source to target for only the source central
body. This status is 1
(true) if line of sight access between the
source and target is not blocked by the source central body. source
depends on the Central body option set on the
Source tab.
0
(false) — No line of sight.1
(true) — Established line of sight.
Dependencies
To enable this port, select the Output access status for each occulting body parameter.
Data Types: Boolean
AccessEarth/Moon — Line of sight access status for Earth or Moon
0
(false) | 1
(true)
Line of sight access status from source to target for the Earth or Moon when either is enabled for the source central body or target central body. This status is 1 (true) if the Earth or Moon does not block the line of sight access between the source and target.
1
(true) — If the Earth or Moon does not block the line of sight access between the source and target.0
(false) — If the Earth or Moon blocks the line of sight access between the source and target.
Dependencies
To enable this port:
Select the Output access status for each occulting body parameter.
Select the Include Moon or Include Earth parameter for source or target central body.
Data Types: Boolean
AccesstargetCB — Line of sight access status for target central body
0
(false) | 1
(true)
Line of sight access status from source to target for only the target central
body. This status is 1
(true) if the target central body does not
block the line of sight access between the source and target.
0
(false) — No line of sight.1
(true) — Established line of sight.
Dependencies
To enable this port:
Select the Output access status for each occulting body parameter.
Clear the Use same central body as Source parameter.
Data Types: Boolean
AccessSrc FOV — Status of line of sight access from source to target for source field of view
0
(false) | 1
(true)
Status of line of sight access from source to target for only the source field of
view (FOV). This status is 1
(true) when the target is inside of
the FOV of the source.
0
(false) — No line of sight.1
(true) — Established line of sight.
Dependencies
To enable this port:
Select the Output access status for each occulting body parameter.
Select the Use field of view (FOV) parameter on the Source tab.
Data Types: Boolean
AccessTgt FOV — Status of line of sight access from source to target for the target field of view
0
(false) | 1
(true)
Status of line of sight access from source to target for only the target field of
view (FOV). This status is 1
(true) when the source is inside of
the FOV of the target.
0
(false) — No line of sight.1
(true) — Established line of sight.
Dependencies
To enable this port:
Select the Output access status for each occulting body parameter.
Select the Use field of view (FOV) parameter on the Target tab.
Data Types: Boolean
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Main
Units — Parameter and port units
Metric (m)
(default) | Metric (km)
| English (ft)
| English (M)
Parameter and port units, specified as Metric (m)
,
Metric (km)
, English (ft)
, or
English (M)
.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | Units |
Values: | Metric (m) (default) | Metric (km) | English (ft) | English (M) |
Time source — Time source method
Dialog
(default) | Port (Julian date)
| Port (T0 and elapsed Julian time)
Time source method, specified as one of these values:
Dialog
— Block dialog box parameterPort (Julian date)
— TJD portPort (T0 and elapsed Julian time)
— TJD and ΔTJD ports
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | timeSource |
Values: | Dialog (default) | Port (Julian date) | Port (T0 and elapsed Julian time) |
Start date/time (JD) — Initial start date and time for simulation
juliandate(2020, 1, 1)
(default) | valid scalar Julian date
Initial start date and time of simulation, specified as a valid scalar Julian date. To determine the current time at each simulation time step, the block adds elapsed simulation time to this value.
Tip
To calculate the Julian date, use the juliandate
function.
Dependencies
To enable this parameter, set Time source to
Dialog
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | startDate |
Values: | juliandate(2020, 1, 1) (default) | valid scalar Julian date |
Access calculation type — Method to control access type
Cumulative
(default) | Element-wise
Method to control how access is calculated between sources and targets.
Cumulative
Scalar source and M targets — The block establishes access if the source can see each target (for example, Access port is
1
(true) if theSrc
can seeTgt 1
andTgt 2
). Access status outputs are scalar.M sources and M targets — The block establishes access if line of sight access exists between all corresponding indices of source and target (for example, Access is true if
Src 1
can seeTgt 1
andSrc 2
can seeTgt 2
). Access status outputs are scalar.
Element-wise
Scalar source and M targets — The block establishes and reports access individually between the source and each target (for example,
Access 1
element is1
(true) ifSrc
can seeTgt 1
andAccess 2
is true ifSrc
can seeTgt 2
). Access status outputs are of size M.Access 1
andAccess 2
are the first and second element of the Access port, respectively.M sources and M targets — The block establishes and reports access individually for corresponding indices of sources and targets (for example,
Access 1
is1
(true) ifSrc 1
can seeTgt 1
andAccess 2
is1
(true) ifSrc 2
can seeTgt 2
). Access status outputs are of size M.Access 1
andAccess 2
are the first and second element of the Access port, respectively.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetType |
Values: | Cumulative (default) | Element-wise |
Output access status for each occulting body — Output access status for each occulting body
off
(default) | on
Output access status for obstructions for the source central body, target central body, and the Earth, the Moon, or both. By default, the block outputs only the combined total access.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | outputIndividualAccess |
Values: | off (default) | on |
Ephemeris model — Ephemeris model
DE405
(default) | DE421
| DE423
| DE430
| DE432t
Select one of these ephemeris models defined by the Jet Propulsion Laboratory. The block uses ephemeris data to calculate relative celestial positions of central bodies required for line of sight access calculations.
Ephemeris Model | Description |
---|---|
| Released in 1998. This ephemeris takes into account the Julian date range 2305424.50 (December 9, 1599) to 2525008.50 (February 20, 2201). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2008. This ephemeris takes into account the Julian date range 2414992.5 (December 4, 1899) to 2469808.5 (January 2, 2050). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2010. This ephemeris takes into account the Julian date range 2378480.5 (December 16, 1799) to 2524624.5 (February 1, 2200). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in 2013. This ephemeris takes into account the Julian date range 2287184.5 (December 21, 1549) to 2688976.5 (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in April 2014. This ephemeris takes into account the Julian date range 2287184.5, (December 21, 1549 ) to 2688976.5, (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
The Line of Sight Access block loads Jet Propulsion Laboratory planetary ephemeris data when:
The source central body differs from the target central body.
You define the source or target custom central body with respect to the solar system barycenter.
Note
This block requires that you download ephemeris data using the Add-On Explorer.
To start the Add-On Explorer, in the MATLAB® Command Window, type aeroDataPackage
. in the MATLAB desktop toolstrip, click Add-Ons .
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | ephemerisModel |
Values: | DE405 (default) | DE421 | DE423 | DE430 | DE432t |
Limit ephemerides date range — Option to enable start and end of range of ephemeris data
on
(default) | off
Control how much data is loaded into memory during simulation and how much data is included in generated code for the block:
Clear this parameter to include data for the complete date range defined in the Ephemeris model table.
Select this parameter to limit the loading of ephemeris data to a specified date range.
Dependencies
To enable this parameter, select the Limit ephemerides date range parameter.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | useDateRange |
Values: | on (default) | off |
Start date (JD) — Start date of ephemerides date range
juliandate(2020, 1, 1)
(default) | Julian date
Start date of ephemerides date range, specified as a Julian date.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | ephemerisStartDate |
Values: | juliandate(2020, 1, 1) (default) | Julian date |
End date (JD) — End date of ephemerides date range
juliandate(2035, 1, 1)
(default) | Julian date
End date of ephemerides date range, specified as a Julian date.
Dependencies
To enable this parameter, select the Limit ephemerides date range parameter.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | ephemerisEndDate |
Values: | juliandate(2035, 1, 1) (default) | Julian date |
Action for out-of-range input — Out-of-range block behavior
Warning
(default) | Error
| None
Out-of-range block behavior, specified as one of these values.
Action | Description |
---|---|
None
| No action. |
Warning (default) | Warning in the Diagnostic Viewer. Model simulation continues. |
Error | Error in the Diagnostic Viewer. Model simulation stops. |
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | action |
Values: | Warning (default) | Error | None |
Source
Central body — Celestial central body for source position
Earth
(default) | Moon
| Mercury
| Venus
| Mars
| Jupiter
| Saturn
| Uranus
| Neptune
| Sun
| Custom
Celestial central body for source position, specified as
Earth
, Moon
,
Mercury
, Venus
,
Mars
, Jupiter
,
Saturn
, Uranus
,
Neptune
, Sun
, or
Custom
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceCentralBody |
Values: | Earth (default) | Moon | Mercury | Venus | Mars | Jupiter | Saturn | Uranus | Neptune | Sun | Custom |
Include Moon — Option to include Moon
off
(default) | on
Option to include Moon as a secondary occulting body in access calculations when source central body is Earth.
Dependencies
To enable this parameter, set the Source tab
Central body parameter to
Earth
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceIncludeMoon |
Values: | off (default) | on |
Include Earth — Option to include Earth
off
(default) | on
Option to include Earth as a secondary occulting body in access calculations when source central body is Moon.
Dependencies
To enable this parameter, set the Source tab
Central body parameter to
Moon
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceIncludeEarth |
Values: | off (default) | on |
Position coordinate frame — Position coordinate frame
ICRF
(default) | Fixed-frame
| Latitude, Longitude, Altitude
Position coordinate frame, specified as ICRF
,
Fixed-frame
, or Latitude, Longitude,
Altitude
. For more information, see Algorithms.
Dependencies
To enable this parameter, set the Central body parameter
in the Source tab to any option other than
Custom
. When the central body is
Custom
, the position coordinate frame is always
International Celestial Reference Frame (ICRF).
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceFrame |
Values: | ICRF (default) | Fixed-frame | Latitude, Longitude, Altitude |
Minimum elevation angle (deg) — Minimum elevation angle
0
(default) | double scalar | vector
Minimum elevation angle,
Minimum elevation angle to use when computing access for the source object, specified as a double scalar or vector.
If the elevation angle between the source and target is less than the minimum elevation angle, the block does not establish access. Values must be in the range
[–90, 90]
.If more than one source is provided and you specify Minimum Elevation Angle as a scalar, the block assigns the value to each source input.
If more than one source is provided and you specify Minimum Elevation Angle as a vector, the vector length must be equal to the number source inputs provided to the block.
Dependencies
To enable this parameter, set the Position coordinate
frame parameter on the Source tab to
Latitude, Longitude, Altitude
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceFrame |
Values: | ICRF (default) | Fixed-frame | Latitude, Longitude, Altitude |
Data Types: double
Input Moon libration angles — Moon libration
off (default) | on
To specify Moon libration angles (φ θ ψ) for Moon orientation, select this parameter. Otherwise, clear this parameter.
Dependencies
To enable this parameter, set Central body on the
Source tab to Moon
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceUseMoonLib |
Values: | 'off' (default) | 'on' |
Use Earth orientation parameters (EOPs) — Option to use Earth orientation parameters
on (default) | off
Select this check box to use Earth orientation parameters for the transformation between the ICRF and fixed-frame coordinate systems. Otherwise, clear this check box.
Dependencies
To enable this parameter, set Central body on the
Source tab to Earth
.
Programmatic Use
Block Parameter:
useEOPs |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
IERS EOP data file — Earth orientation data
aeroiersdata.mat
(default) | MAT file
Custom list of Earth orientation data, specified in a MAT file. To create this
file, see aeroReadIERSData
.
Dependencies
To enable this parameter:
Select the Use Earth orientation parameters (EOPs) parameter.
Set Central body on the Source tab to
Earth
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceEOPFile |
Values: | aeroiersdata.mat (default) | MAT file |
Equatorial radius — Custom equatorial radius
3.3962e6
(default) | double scalar
Custom equatorial radius for a custom central body, specified as a double scalar.
Tunable: Yes
Dependencies
To enable this parameter, set Central body on the
Source tab to Custom
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceCustomR |
Values: | 3.3962e6 (default) | double scalar |
Use field of view (FOV) — Option to specify field of view
off
(default) | on
Option to specify whether to constrain access calculation to a conical field of view. This option simulates the behavior of a sensor or camera.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceUseFOV |
Values: | off (default) | on |
FOV half angle (deg) — Field of view half angle
22.5
(default) | double scalar
Field of view half angle, specified as a double scalar.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Source tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceFOVHalfAngle |
Values: | 22.5 (default) | double scalar |
Attitude representation — Attitude representation
Quaternion
(default) | Euler angles
Attitude representation for source attitude and FOV orientation, specified as
Quaternion
or Euler
angles
.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Source tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceRotationFormat |
Values: | Quaternion (default) | Euler angles |
FOV orientation source — Field of view orientation source method
Dialog
(default) | Port
Field of view orientation source, specified as one of these values:
Dialog
— Block dialog parameter.Port
— Src FOV port
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Source tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceFOVOrientationSrc |
Values: | Dialog (default) | Port |
FOV orientation — Field of view orientation
4-element vector | 3-element vector
Orientation of the FOV boresight with respect to the source body frame, specified as a 4-element vector (quaternion) or 3-element vector (Euler angles).
4-element vector — Attitude representation set to
Quaternion
.3-element vector — Attitude representation set to
Euler angles
.
Dependencies
To enable this parameter:
Set FOV orientation source to
Dialog
.Select the Use field of view (FOV) parameter on the Source tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceRotationFormat |
Values: | Quaternion (default) | Euler angles |
Attitude reference coordinate frame — Attitude reference coordinate frame
ICRF
| Fixed-frame
| NED
Coordinate system used for source attitude definition, specified as
ICRF
, Fixed-frame
, or
NED
. Attitudes are the rotation
from the attitude reference coordinate frame to the body frame.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Source tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceRotationFormat |
Values: | ICRF | Fixed-frame | NED |
Angle rotation order — Angle rotation order
ZYX
(default) | ZYX
| ZYZ
| ZXY
| ZXZ
| YXZ
| YXY
| YZX
| YZY
| XYZ
| XYX
| XZY
| XZX
Rotation angle sequence for Euler angle attitude representation.
Tunable: Yes
Dependencies
To enable this parameter, on the Source tab:
Select the Use field of view (FOV) parameter.
Set the
Attitude Representation
parameter toEuler Angles
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | sourceRotationOrder |
Values: | ZYX (default) | ZYX | ZYZ | ZXY | ZXZ | YXZ | YXY | YZX | YZY | XYZ | XYX | XZY | XZX |
Target
Use same central body as Source — Option to use same central body as specified for source body
on
(default) | off
Option to use same central body for target as specified for source.
The Line of Sight Access block lets you define source and target central bodies. You cannot set the same planet for both central bodies using the Central body parameter. If you want to use the same central body for the source and target, in the Target tab, select the Use same central body as Source parameter.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | useTargetCentralBodyForTarget |
Values: | on (default) | off |
Central body — Celestial central body for target position
Earth
(default) | Moon
| Mercury
| Venus
| Mars
| Jupiter
| Saturn
| Uranus
| Neptune
| Sun
| Custom
Celestial central body for target position, specified as
Earth
, Moon
,
Mercury
, Venus
,
Mars
, Jupiter
,
Saturn
, Uranus
,
Neptune
, Sun
, or
Custom
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetCentralBody |
Values: | Earth (default) | Moon | Mercury | Venus | Mars | Jupiter | Saturn | Uranus | Neptune | Sun | Custom |
Include Moon — Option to include Moon
off
(default) | on
Option to include Moon as a secondary occulting body in access calculations when target central body is Earth.
Dependencies
To enable this parameter, set the Central body parameter
on the Target tab to Earth
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetIncludeMoon |
Values: | off (default) | on |
Include Earth — Option to include Earth
off
(default) | on
Option to include Earth as a secondary occulting body in access calculations when target central body is Moon.
Dependencies
To enable this parameter, set the Central body parameter
on the Target tab to Moon
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetIncludeEarth |
Values: | off (default) | on |
Position coordinate frame — Position coordinate frame
ICRF
(default) | Fixed-frame
| Latitude, Longitude, Altitude
Position coordinate frame, specified as ICRF
,
Fixed-frame
, or Latitude, Longitude,
Altitude
. For more information, see Algorithms.
Dependencies
To enable this parameter, set the Central body parameter
on the Target tab to any option other than
Custom
. When the central body is
Custom
, the position coordinate frame is always
International Celestial Reference Frame (ICRF).
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetCustomR |
Values: | ICRF (default) | double scalar |
Minimum elevation angle (deg) — Minimum elevation angle
0
(default) | double scalar | vector
Minimum elevation angle,
Minimum elevation angle to use when computing access for the target object, specified as a double scalar or vector.
If the elevation angle between the source and target is less than the minimum elevation angle, the block does not establish access. Values must be in the range
[–90, 90]
.If more than one target is provided and you specify Minimum Elevation Angle as a scalar, the block assigns the value to each source input.
If more than one target is provided and you specify Minimum Elevation Angle as a vector, the vector length must be equal to the number source inputs provided to the block.
Dependencies
To enable this parameter, set the Position coordinate
frame parameter on the Target tab to
Latitude, Longitude, Altitude
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetMinimumElevationAngle |
Values: | 0 (default) | double scalar |
Data Types: double
Input Moon libration angles — Moon libration angles
off (default) | on
To specify Moon libration angles (φ θ ψ) for Moon orientation, select this check box. Otherwise, clear this check box.
Dependencies
To enable this parameter, set the Central body parameter on
the Target tab to Moon
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetUseMoonLib |
Values: | 'off' (default) | 'on' |
IERS EOP data file — Earth orientation data
aeroiersdata.mat
(default) | MAT file
Custom list of Earth orientation data, specified in a MAT file. To create this
file, see aeroReadIERSData
.
Dependencies
To enable this parameter, on the Target tab:
Select the Use Earth orientation parameters (EOPs) parameter.
Set Central body to
Earth
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetEOPFile |
Values: | aeroiersdata.mat (default) | MAT file |
Equatorial radius — Custom equatorial radius
3.3962e6
(default) | double scalar
Custom equatorial radius for a custom central body, specified as a double scalar.
Tunable: Yes
Dependencies
To enable this parameter, set the Central body parameter
on the Target tab to Custom
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetCustomR |
Values: | 3.3962e6 (default) | double scalar |
Use field of view (FOV) — Option to specify field of view
off
(default) | on
Option to specify whether a field of view is used for targets in access calculations.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetUseFOV |
Values: | off (default) | on |
FOV half angle (deg) — Field of view half angle
22.5
(default) | double scalar
Field of view half angle, specified as a double scalar.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Target tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetFOVHalfAngle |
Values: | 22.5 (default) | double scalar |
Attitude representation — Attitude representation
Quaternion
(default) | Euler angles
Attitude representation, specified as Quaternion
or
Euler angles
.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Target tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetRotationFormat |
Values: | Quaternion (default) | Euler angles |
FOV orientation source — Field of view orientation source method
Dialog
(default) | Port
Field of view orientation source method, specified as one of these values:
Dialog
— Block dialog box parameterPort
— Tgt FOV port
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Target tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetFOVOrientationSrc |
Values: | Dialog (default) | Port |
FOV orientation — Field of view orientation
4-element vector | 3-element vector
Orientation of the FOV boresight with respect to the target body frame, expressed as a 4-element vector (quaternion) or 3-element vector (Euler angles).
4-element vector — Attitude representation set to
Quaternion
.3-element vector — Attitude representation set to
Euler angles
.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Target tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetRotationFormat |
Values: | Quaternion (default) | Euler angles |
Attitude reference coordinate frame — Attitude reference coordinate frame
ICRF
(default) | Fixed-frame
| NED
Coordinate system used for target attitude definition, specified as
ICRF
, Fixed-frame
, or
NED
. Attitudes are the rotation from the attitude
reference coordinate frame to the body frame.
Dependencies
To enable this parameter, select the Use field of view (FOV) parameter on the Target tab.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetRotationFormat |
Values: | ICRF | Fixed-frame | NED |
Angle rotation order — Angle rotation order
ZYX
(default) | ZYX
| ZYZ
| ZXY
| ZXZ
| YXZ
| YXY
| YZX
| YZY
| XYZ
| XYX
| XZY
| XZX
Rotation angle sequence for Euler angle attitude representation.
Tunable: Yes
Dependencies
To enable this parameter, on the Target tab:
Select the Use field of view (FOV) parameter.
Set the
Attitude Representation
parameter toEuler Angles
.
Programmatic Use
To set the block parameter value
programmatically, use the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | targetRotationOrder |
Values: | ZYX (default) | ZYX | ZYZ | ZXY | ZXZ | YXZ | YXY | YZX | YZY | XYZ | XYX | XZY | XZX |
Algorithms
Earth-Centric Coordinate Systems
The Line of Sight Access block works in the ICRF and fixed-frame coordinate systems.
ICRF — International Celestial Reference Frame. This frame can be treated as equal to the ECI coordinate system realized at J2000 (Jan 1 2000 12:00:00 TT). For more information, see ECI Coordinates.
Fixed-frame — Fixed-frame is a generic term for the coordinate system that is fixed to the central body. The axes of the system rotate with the central body and are not fixed in inertial space.
When Central Body is
Earth
and the Use Earth orientation parameters (EOPs) parameter is selected, the fixed-frame coordinate system for Earth is the International Terrestial Reference Frame (ITRF). This reference frame is realized by the IAU2000/2006 reduction from the ICRF coordinate system using the earth orientation parameter file provided. If the Use Earth orientation parameters (EOPs) parameter is not selected, the block still uses the IAU2000/2005 reduction, but with Earth orientation parameters set to 0.When Central Body is
Moon
and the Input Moon libration angles parameter is selected, the fixed-frame coordinate system for the Moon is the Mean Earth/pole axis frame (ME). This frame is realized by two transformations. First, the values in the ICRF frame are transformed into the Principal Axis system (PA), the axis defined by the libration angles provided as inputs to the block. For more information, see Moon Libration. The states are then transformed into the ME system using a fixed rotation from the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [1]. If the Input Moon libration angles parameter is not selected, the fixed frame is defined by the directions of the poles of rotation and prime meridians defined in the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [1].When Central Body is
Custom
, all positions are in International Celestial Reference Frame (ICRF) and fixed-frame is not available.In all other cases, the fixed frame for each central body is defined by the directions of the poles of rotation and prime meridians defined in the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [1].
Vehicle-Centric Coordinate Systems
The Line of Sight Access block system works in the body frame and north-east-down (NED) coordinate systems.
Body frame — Fixed in both origin and orientation to the moving craft. For more information, see Body Coordinates.
North-east-down — Noninertial system with its origin fixed at the aircraft or spacecraft center of gravity. For more information, see NED Coordinates.
References
[1] Seidelmann, P. Kenneth et al. "Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements: 2006." Celestial Mech Dyn Astr 98 (20017): 155–180 (2007).
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2024b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)