galalmanacread
Description
reads data from the Galileo XML almanac file specified by data = galalmanacread(filename)filename, and
returns the parameters of each associated satellite as a timetable.
In Almanac format, the week number is aligned with the Galileo system time (GST). The GST start epoch is 13 seconds before 00:00 UTC on Sunday 22nd August 1999 (midnight between 21st and 22nd August).
Examples
Read navigation data from a Galileo almanac file and use the navigation data to:
Get satellite positions, velocities, and IDs at a given timestamp.
Compute satellite visibility and look angles for a given receiver position by using the extracted satellite positions.
First, read GPS navigation message data from a Galileo almanac file.
filename = "galAlmanac_2019-08-06.xml";
data = galalmanacread(filename)data=22×16 timetable
Time SVID aSqRoot ecc deltai omega0 omegaDot w m0 af0 af1 iod t0a wna statusE5a statusE5b statusE1B
____________________ ____ ________ __________ __________ ________ ___________ ________ _________ ___________ ___________ ___ _________ ____ _________ _________ _________
06-Aug-2019 08:39:42 1 0.011719 0.00022888 0.0030518 -0.11984 -1.8626e-09 -0.81259 -0.053925 -0.00066185 -7.276e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 2 0.017578 0.00010681 0.0030518 -0.11984 -1.8626e-09 -0.50497 0.63766 7.2479e-05 0 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 3 0.042969 0.00036621 -0.0076904 -0.78656 -1.7462e-09 -0.1449 0.94464 -0.00019646 -3.638e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 4 0.039062 0.00027466 -0.0076904 -0.78653 -1.7462e-09 -0.40698 -0.041412 -0.00033951 -7.276e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 5 0.042969 0.00021362 -0.0076904 -0.78656 -1.7462e-09 -0.33777 -0.61145 -0.00045967 3.638e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 7 0.042969 0.00041199 -0.0076904 -0.78656 -1.7462e-09 -0.285 0.58496 -0.00024033 -7.276e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 8 0.039062 0.00036621 -0.0057983 -0.789 -1.7462e-09 -0.19412 0.74414 0.0063114 -7.276e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 9 0.039062 0.00045776 -0.0057983 -0.789 -1.7462e-09 -0.21506 -0.4855 0.0063572 -1.0914e-11 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 11 0.017578 0.00038147 0.0021973 0.54333 -1.7462e-09 0.28098 -0.3125 0.0056324 -1.0914e-11 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 12 0.015625 0.0002594 0.0021973 0.54333 -1.7462e-09 0.10056 0.12363 0.0062618 -1.819e-11 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 13 0.021484 1.5259e-05 0.0032349 0.54181 -1.7462e-09 0.23178 0.73837 0.00039101 0 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:29:42 15 0.017578 3.0518e-05 0.0032349 0.54178 -1.7462e-09 -0.60843 -0.19565 0.00090027 0 3 2.034e+05 1041 0 0 0
06-Aug-2019 08:39:42 19 0.027344 0.00024414 -0.0058594 -0.78732 -1.7462e-09 -0.47565 0.30069 -3.8147e-06 0 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 21 0.021484 0.00022888 0.0029297 -0.12067 -1.8626e-09 -0.91656 0.30164 -0.00054741 -3.638e-12 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 24 0.011719 0.00024414 0.0022583 -0.11884 -1.8626e-09 0.27414 0.35886 0.0059395 -1.819e-11 4 2.04e+05 1041 0 0 0
06-Aug-2019 08:39:42 25 0.027344 0.00032043 0.0029297 -0.1207 -1.8626e-09 -0.7215 -0.89252 0.0017204 -1.0914e-11 4 2.04e+05 1041 0 0 0
⋮
Specify the timestamp for which to find the satellite positions, velocities, and IDs.
t = datetime(2021,06,24,01,59,44)
t = datetime
24-Jun-2021 01:59:44
Get the satellite positions, velocities, and IDs at the specified timestamp by using the gnssconstellation function.
[satPos,satVel,satID] = gnssconstellation(t,data,GNSSFileType="galalmanac");Specify a receiver position in geodetic coordinates (latitude, longitude, altitude) to compute the satellite look angles and visibility.
recPos = [42.3013162 -71.3782972 0];
Specify the elevation mask angle for the receiver.
maskAngle = 5;
Compute the look angles and visibilities of satellite positions for the given receiver position. The vis output indicates which satellites are visible. Get the total using nnz.
[az,el,vis] = lookangles(recPos,satPos,maskAngle);
fprintf('%d satellites visible at %s.\n',nnz(vis),t)10 satellites visible at 24-Jun-2021 01:59:44.
Plot the visible satellite positions with the elevation mask.
figure skyplot(az(vis),el(vis),satID(vis),MaskElevation=maskAngle)

Input Arguments
Galileo XML almanac filename, specified as a string scalar or character vector. The
filename can include an absolute path, relative path, or no path, but must include the
file extension .xml.
Example: "galAlmanac_2023-02-17.xml"
Example: "mydir/galAlmanac_2023-02-17.xml"
Example: "C:/mydir/galAlmanac_2023-02-17.xml"
Data Types: char | string
Almanac file issue date, specified as a datetime. This value enables the computation of the actual week
number.
Example: IssueDate=datetime("yesterday")
Data Types: datetime
Output Arguments
Parameters of each satellite, returned as a timetable with a row for each record and a column for each parameter in that
record. For more information on the Galileo almanac parameters definitions, see the
almanac
parameters table on the European GNSS Service Center site.
| Parameter | Data Type | Description |
|---|---|---|
Time | datetime | UTC Time, calculated using actual week number and
|
SVID | double | Satellite vehicle ID. |
aSqRoot | double | Difference with respect to the square root of the nominal semimajor axis (29,600,000 m), in meters1/2. |
ecc | double | Eccentricity of the orbit. |
deltai | double | Inclination angle offset from the nominal orbital inclination of 56 degrees, in semicircles. |
omega0 | double | Longitude of the ascending node of the orbital plane at the weekly epoch, in semicircles. |
omegaDot | double | Rate of change in the measurement of the angle of right ascension, in semicircles per second. |
w | double | Argument of perigee, in semicircles. |
m0 | double | Satellite mean anomaly at reference time, in semicircles. |
af0 | double | Satellite clock correction bias (truncated), in seconds. |
af1 | double | Satellite clock correction linear (truncated), in seconds per second. |
iod | double | Almanac Issue of Data. |
t0a | double | Almanac reference time, in seconds. |
wna | double | Galileo week number, continuous, not
|
statusE5a | double | Satellite E5a signal health status. |
statusE5b | double | Satellite E5b signal health status. |
statusE1B | double | Satellite E1-B/C signal health status. |
References
[1] 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.
[2] European GNSS Service Centre (GSC). "Galileo Almanac." Accessed March 13, 2023. https://www.gsc-europa.eu/gsc-products/almanac.
Version History
Introduced in R2023b
See Also
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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)