galalmanacread
Description
lit les données du fichier d'almanach XML Galileo spécifié par data
= galalmanacread(filename
)filename
et renvoie les paramètres de chaque satellite associé sous forme d'horaire.
Au format Almanach, le numéro de la semaine est aligné sur l'heure du système Galileo (GST). L'heure de début de la TPS est 13 secondes avant 00h00 UTC le dimanche 22 août 1999 (minuit entre le 21 et le 22 août).
Exemples
Lire les données de navigation du fichier Galileo Almanac
Lisez les données de navigation à partir d'un fichier d'almanach Galileo et utilisez les données de navigation pour :
Obtenez les positions, les vitesses et les identifiants des satellites à un horodatage donné.
Calculez la visibilité du satellite et les angles de visée pour une position de récepteur donnée en utilisant les positions des satellites extraites.
Tout d’abord, lisez les données des messages de navigation GPS à partir d’un fichier d’almanach Galileo.
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
⋮
Spécifiez l'horodatage pour lequel rechercher les positions, vitesses et identifiants des satellites.
t = datetime(2021,06,24,01,59,44)
t = datetime
24-Jun-2021 01:59:44
Obtenez les positions, vitesses et identifiants des satellites à l'horodatage spécifié en utilisant la fonction gnssconstellation
.
[satPos,satVel,satID] = gnssconstellation(t,data,GNSSFileType="galalmanac");
Spécifiez la position du récepteur en coordonnées géodésiques (latitude, longitude, altitude) pour calculer les angles de vue et la visibilité du satellite.
recPos = [42.3013162 -71.3782972 0];
Spécifiez l'angle du masque d'élévation pour le récepteur.
maskAngle = 5;
Calculez les angles de regard et les visibilités des positions des satellites pour la position du récepteur donnée. La sortie vis
indique quels satellites sont visibles. Obtenez le total en utilisant 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.
Tracez les positions des satellites visibles avec le masque d'élévation.
figure skyplot(az(vis),el(vis),satID(vis),MaskElevation=maskAngle)
Arguments d'entrée
filename
— Nom du fichier d'almanach XML Galileo
chaîne scalaire | vecteur de caractère
Nom de fichier d'almanach XML Galileo, spécifié sous forme de chaîne scalaire ou de vecteur de caractères. Le nom de fichier peut inclure un chemin absolu, un chemin relatif ou aucun chemin, mais doit inclure l'extension de fichier .xml
.
Exemple : "galAlmanac_2023-02-17.xml"
Exemple : "mydir/galAlmanac_2023-02-17.xml"
Exemple : "C:/mydir/galAlmanac_2023-02-17.xml"
Types de données : char
| string
date
— Date d'émission du fichier almanach
dateheure
Date d'émission du fichier almanach, spécifiée sous la forme datetime
. Cette valeur permet le calcul du numéro de semaine réel.
Exemple : IssueDate=datetime("yesterday")
Types de données : datetime
Arguments de sortie
data
— Paramètres de chaque satellite
calendrier
Paramètres de chaque satellite, renvoyés sous la forme d'un timetable
avec une ligne pour chaque enregistrement et une colonne pour chaque paramètre de cet enregistrement. Pour plus d'informations sur les définitions des paramètres de l'almanach Galileo, consultez le almanac parameters table sur le site du European GNSS Service Center.
Paramètre | Type de données | Description |
---|---|---|
Time | datetime | Heure UTC, calculée en utilisant le numéro de semaine réel et |
SVID | double | ID du véhicule satellite. |
aSqRoot | double | Différence par rapport à la racine carrée du demi-grand axe nominal (29 600 000 m), en mètres1/2. |
ecc | double | Excentricité de l'orbite. |
deltai | double | Angle d'inclinaison décalé par rapport à l'inclinaison orbitale nominale de 56 degrés, en demi-cercles. |
omega0 | double | Longitude du nœud ascendant du plan orbital à l'époque hebdomadaire, en demi-cercles. |
omegaDot | double | Taux de variation de la mesure de l'angle d'ascension droite, en demi-cercles par seconde. |
w | double | Argument de périgée, en demi-cercles. |
m0 | double | Anomalie moyenne du satellite à l'heure de référence, en demi-cercles. |
af0 | double | Biais de correction de l'horloge satellite (tronqué), en secondes. |
af1 | double | Correction de l'horloge satellite linéaire (tronquée), en secondes par seconde. |
iod | double | Numéro d'almanach des données. |
t0a | double | Temps de référence de l'almanach, en secondes. |
wna | double | Numéro de semaine Galileo, continu, pas |
statusE5a | double | L’état de santé du signal du satellite E5a. |
statusE5b | double | État de santé du signal du satellite E5b. |
statusE1B | double | État de santé du signal du satellite E1-B/C. |
Références
[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.0.pdf.
[2] European GNSS Service Centre (GSC). "Galileo Almanac." Accessed March 13, 2023. https://www.gsc-europa.eu/gsc-products/almanac.
Historique des versions
Introduit dans R2023b
Voir aussi
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
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)