gnssconstellation
The position of the satellites at a given time.
| Library |
|
Description
Function gnssconstellation returns the coordinates and velocity vectors of the satellites for the specified time points in the geocentric coordinate system associated with the Earth.
Syntax
Function call
Function gnssconstellation determines the position and speed of the satellites by extrapolating the current orbital parameters (taken from the RINEX file, SEM or YUMA almanacs)
at the time of the request. To get more accurate data on the position and speed of the satellites, make sure that you are using a navigation file that is relevant to the requested time. For more information about the validity period of the orbital parameters, see Orbital parameters.
|
Arguments
Input arguments
# t is the current time for satellite simulation
+
DateTime array
Details
The current time for satellite simulation, set as an array DateTime.
The default time zone for the array DateTime it is UTC.
The starting point of the GPS time is January 6, 1980, 00:00 (UTC).
| Типы данных |
|
+
tabular data
Details
Navigation data set as DataFrame.
The reading of navigation data from the RINEX file
Function gnssconstellation It can process GPS or Galileo data read from a RINEX file. The contents of the structure returned by the function rinexread, depends on the type of satellite system described in the RINEX file. For more information about the contents of the structure, see the description of the argument. data functions rinexread.
To read the GPS navigation message data from the RINEX file, extract the field GPS from the returned structure. For example:
import EngeeNavigation.Functions: rinexread
rinexData = rinexread("GODS00USA_R_20211750000_01D_GN.rnx")
navData = rinexData.GPS
To read the Galileo navigation message data from the RINEX file, extract the field Galileo from the returned structure. For example:
rinexData = rinexread("GODS00USA_R_20211750000_01D_EN.rnx")
navData = rinexData.Galileo
To read the GLONASS navigation message data from the RINEX file, extract the field GLONASS from the returned structure. For example:
rinexData = rinexread("GODS00USA_R_20211750000_01D_RN.rnx")
navData = rinexData.GLONASS
To read the data of the Beidou navigation message from the RINEX file, extract the field BeiDou from the returned structure. For example:
rinexData = rinexread("GODS00USA_R_20211750000_01D_CN.rnx")
navData = rinexData.BeiDou
To read the NavIC/IRNSS navigation message data from the RINEX file, extract the field NavIC from the returned structure. For example:
rinexData = rinexread("ARHT00ATA_R_20211750000_01D_IN.rnx")
navData = rinexData.NavIC
To read the QZSS navigation message data from the RINEX file, extract the field QZSS from the returned structure. For example:
rinexData = rinexread("ARHT00ATA_R_20211750000_01D_JN.rnx")
navData = rinexData.QZSS
To read the SBAS navigation message data from the RINEX file, extract the field SBAS from the returned structure. For example:
rinexData = rinexread("GOP600CZE_R_20211750000_01D_SN.rnx")
navData = rinexData.SBAS
| When reading Galileo data in RINEX format, the week number is linked to the GPS week. GPS week begins at midnight from January 5 to January 6, 1980. |
The reading of navigation data from the SEM almanac file
Function gnssconstellation It can process GPS data read from the SEM almanac file. Tabular data returned by the function semread, contain the parameters of each satellite from the almanac file corresponding to the specified date. For more information about the contents of the tabular data, see the description of the argument. data functions semread.
Because the function semread returns tabular data, which can be directly specified as its output argument. navData. For example:
import EngeeNavigation.Functions: semread
navData = semread("semalmanac_2022-1-18.al3")
The reading of navigation data from the YUMA almanac file
Function gnssconstellation It can process GPS and QZSS data read from the YUMA almanac file. Tabular data returned by the function yumaread, contain the parameters of each satellite from the almanac file corresponding to the specified date. For more information about the contents of the tabular data, see the description of the argument. data functions yumaread.
Because the function yumaread returns tabular data, which can be directly specified as its output argument. navData. For example:
import EngeeNavigation.Functions: yumaread
navData = yumaread("yumaalmanac_2022-4-20.alm")
| Типы данных |
|
#
GNSSFileType —
the type of GNSS
+ file
"RINEX" | "SEM" | "YUMA"
Details
The GNSS file type specified by one of the following values:
| Типы данных |
|
Output arguments
# satPos — satellite positions
+
the matrix
Details
Satellite positions in meters in the geocentric coordinate system associated with the Earth, returned as a matrix of the size on , where — the number of satellites in the grouping.
| Типы данных |
|
# satVel — satellite speeds
+
the matrix
Details
Satellite velocities in m/s in the geocentric coordinate system associated with the Earth, returned as a matrix of the size on , where — the number of satellites in the grouping.
| Типы данных |
|
# satIDs — satellite identification numbers
+
vector
Details
Satellite identification numbers returned as a column vector of length , where — the number of satellites in the grouping.
| Типы данных |
|
Additional Info
Orbital parameters
Details
The orbital parameters determine the initial positions and velocities of the satellite and allow you to calculate its past and future positions and velocities based on these initial data. These parameters ensure the accuracy of calculations in a certain time interval relative to the time point to which the ephemeris relate (or the initial time point for satellites that do not record the time of the ephemeris). To obtain accurate position and velocity calculation results, make sure that you use the correct orbital parameters for the appropriate time in the request.
The time intervals during which the orbital parameters are suitable for calculating position and velocity are shown below.:
-
GPS, Galileo, Beidou, NavIC, QZSS:
-
GLONASS, SBAS:
where — ephemeris time or the starting point of time for satellites that do not record ephemeris time.
For GPS, Galileo, Beidou, NavIC, and QZSS satellites, see Table A.2-2 standards GPS SPS Performance Standard defines the positions and velocities of satellites in a geocentric coordinate system associated with the Earth. The positions are calculated using the equations in Table 30-II of the interface specification. IS-GPS-200M. The velocities are calculated according to equations 8.21–8.27 from [1].
For GLONASS and SBAS satellites, the equations for calculating positions and velocities in the geocentric coordinate system associated with the Earth are defined in section A.3.1.2 GLONASS ICD Edition 5.1 2008.
Literature
-
Groves, Paul D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. Boston: Artech House, 2013.
-
International GNSS Service (IGS), Daily 30-Second GPS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021. Accessed Jun. 25, 2021. https://dx.doi.org/10.5067/GNSS/gnss_daily_n_001.
-
United States Coast Guard. GPS Almanacs, NANUs, and OPS Advisories Archives. US Coast Guard Navigation Center. Accessed May 6, 2022. https://www.navcen.uscg.gov/archives.
-
QZSS almanac archives, Quasi-Zenith Satellite System(QZSS). QZSS (Quasi-Zenith Satellite System) - Cabinet Office (Japan) Accessed September 20, 2022. https://sys.qzss.go.jp/dod/en/archives/pnt.html.
-
European GNSS Service Centre (GSC). Galileo Open Service Signal-In-Space Interface Control Document. Accessed March 13, 2023. https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.1.pdf.