gnssconstellation
Syntaxe
Description
[
renvoie les positions et les vitesses des satellites au satPos
,satVel
] = gnssconstellation(t
)datetime
t
. La fonction renvoie les positions et les vitesses dans le système de coordonnées centré sur la Terre et fixe (ECEF), respectivement en mètres et en mètres par seconde. Si le fuseau horaire de la date/heure n’est pas spécifié, il est supposé être UTC.
[
spécifie en outre le type de fichier GNSS à partir duquel vous avez obtenu les données du message de navigation. Cette syntaxe vous permet de traiter les données de navigation obtenues à partir d'un fichier RINEX, d'un fichier d'almanach SEM, d'un fichier d'almanach YUMA ou d'un fichier d'almanach Galileo XML.satPos
,satVel
,satID
] = gnssconstellation(t
,navData
,GNSSFileType=gnssFileType
)
Remarque
La fonction gnssconstellation
détermine la position et la vitesse du satellite en propageant les paramètres orbitaux actuels spécifiés par le fichier RINEX, le fichier d'almanach SEM, un fichier d'almanach YUMA ou un fichier d'almanach Galileo XML à l'heure de la requête. Pour obtenir des positions et des vitesses satellites plus précises, assurez-vous d'utiliser le fichier de navigation publié pour l'heure à laquelle vous effectuez la requête.
Exemples
Obtenez les positions et vitesses actuelles des satellites
Obtenez les positions et vitesses actuelles des satellites GNSS. Accédez aux paramètres orbitaux à partir de la spécification d'interface IS-GPS-200M et calculez la position et les vitesses en coordonnées ECEF pour le temps donné. Afficher les positions des satellites.
t = datetime('now','TimeZone','Local'); [satPos,satVel] = gnssconstellation(t); disp(satPos)
1.0e+07 * 1.7636 -1.9840 -0.0868 -1.6347 -0.3626 -2.0617 0.7402 1.3977 2.1337 -0.3600 2.0641 1.6321 -2.5537 -0.7098 -0.1708 -2.5028 0.0618 0.8869 0.0198 -1.5467 -2.1591 1.7781 1.4044 1.3857 1.3632 -1.1150 -1.9881 -0.1920 -2.5266 -0.7961 -1.5815 -0.0632 2.1328 -1.0861 1.3173 2.0346 1.3851 2.0083 -1.0500 2.0696 -0.6477 -1.5334 -2.0051 1.6793 0.4621 -1.5270 2.1220 -0.4685 0.1150 -1.9608 1.7878 1.4951 0.5719 -2.1194 -1.0680 1.2522 -2.0846 -2.0089 -1.2944 1.1588 2.4990 -0.0699 0.8969 -0.8593 -1.5937 1.9432 -1.4255 -1.9308 -1.1376 1.4570 -0.4448 2.1756 0.9583 -1.5291 1.9488 0.3812 2.5691 -0.5555 -0.4773 2.1131 -1.5366
Obtenez les angles de vision du satellite pour la position du récepteur
Utilisez la fonction lookangles
pour obtenir les angles d'azimut et d'élévation des satellites pour des positions données du satellite et du récepteur. Spécifiez un angle de masque de 5 degrés. Obtenez les positions des satellites en utilisant la fonction gnssconstellation
.
Spécifiez une position du récepteur en coordonnées géodésiques (latitude, longitude, altitude).
recPos = [42 -71 50];
Obtenez les positions des satellites pour l'heure actuelle.
t = datetime('now');
gpsSatPos = gnssconstellation(t);
Spécifiez un angle de masque de 5 degrés.
maskAngle = 5;
Obtenez les angles de vue en azimut et en élévation pour les positions des satellites. La sortie vis
indique quels satellites sont visibles. Obtenez le total en utilisant nnz
.
[az,el,vis] = lookangles(recPos,gpsSatPos,maskAngle);
fprintf('%d satellites visible at %s.\n',nnz(vis),t);
8 satellites visible at 16-Oct-2023 22:47:48.
Récupérer les positions, les vitesses et les identifiants des satellites à partir du fichier RINEX
Lisez un ensemble de satellites GPS à partir du message de navigation GPS dans un fichier RINEX.
filename = "GODS00USA_R_20211750000_01D_GN.rnx";
data = rinexread(filename);
gpsData = data.GPS;
[~,satIdx] = unique(gpsData.SatelliteID);
gpsData = gpsData(satIdx,:);
Obtenez les positions, vitesses et identifiants des satellites dès le premier pas de temps.
t = gpsData.Time(1); [satPos,satVel,satID] = gnssconstellation(t,gpsData)
satPos = 31×3
107 ×
-1.5630 -0.1882 2.1186
1.3808 2.1970 -0.4861
-2.0061 0.7606 1.5492
-2.5625 -0.0140 -0.7096
1.4896 0.5448 -2.1487
0.6129 2.5407 0.4615
-1.0081 1.3751 -1.9877
-2.5811 -0.6135 -0.3246
-1.9289 0.8690 -1.6134
0.9542 -2.2526 1.0113
⋮
satVel = 31×3
103 ×
-0.8888 -2.5914 -0.8416
0.0362 0.7543 3.1043
1.1203 -1.6505 2.2591
-0.8301 -0.4385 2.9967
-1.6023 2.1607 -0.5493
-0.3948 -0.4708 3.1591
-1.0322 -2.4133 -1.1748
0.4370 -0.1710 -3.1339
-1.9860 -0.5032 2.1087
0.9968 -0.8308 -2.8502
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
⋮
Récupérer les positions, les vitesses et les identifiants des satellites à partir du fichier SEM Almanac
Lisez les données des messages de navigation GPS à partir d'un fichier d'almanach SEM.
data = semread("semalmanac_2022-4-10.al3")
data=31×16 timetable
Time GPSWeekNumber GPSTimeOfApplicability PRNNumber SVN AverageURANumber Eccentricity InclinationOffset RateOfRightAscension SqrtOfSemiMajorAxis GeographicLongitudeOfOrbitalPlane ArgumentOfPerigee MeanAnomaly ZerothOrderClockCorrection FirstOrderClockCorrection SatelliteHealth SatelliteConfiguration
____________________ _____________ ______________________ _________ ___ ________________ ____________ _________________ ____________________ ___________________ _________________________________ _________________ ___________ __________________________ _________________________ _______________ ______________________
12-Apr-2022 16:50:54 2205 2.3347e+05 1 63 0 0.01171 0.014391 -2.4484e-09 5153.6 -0.9271 0.28359 -0.23387 0.00038624 -7.276e-12 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 2 61 0 0.020515 0.0074596 -2.5029e-09 5153.6 -0.95587 -0.45355 -0.18869 -0.00065327 0 0 9
12-Apr-2022 16:50:54 2205 2.3347e+05 3 69 0 0.0040326 0.0096912 -2.5757e-09 5153.6 -0.59787 0.29979 -0.59118 -0.00020409 -1.4552e-11 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 4 74 0 0.0017715 0.0059814 -2.4665e-09 5153.6 -0.25353 -0.95004 0.31619 -0.00017643 3.638e-12 0 12
12-Apr-2022 16:50:54 2205 2.3347e+05 5 50 0 0.0059118 0.0055599 -2.6193e-09 5153.6 -0.61097 0.32122 0.61334 -7.8201e-05 0 0 10
12-Apr-2022 16:50:54 2205 2.3347e+05 6 67 0 0.0026565 0.014187 -2.452e-09 5153.7 -0.92973 -0.28158 -0.1523 0.00026417 1.4552e-11 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 7 48 0 0.015865 0.0028152 -2.5138e-09 5153.6 0.07053 -0.72524 -0.44853 0.00032043 0 0 10
12-Apr-2022 16:50:54 2205 2.3347e+05 8 72 0 0.0074387 0.0068531 -2.4738e-09 5153.7 0.72894 0.048076 0.467 -6.3896e-05 0 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 9 68 0 0.0021076 0.0037479 -2.5029e-09 5153.5 -0.27053 0.59743 0.61325 -0.00034428 3.638e-12 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 10 73 0 0.0075555 0.0096321 -2.5793e-09 5153.6 -0.59875 -0.79359 -0.88495 -0.0003767 -1.0914e-11 0 11
12-Apr-2022 16:50:54 2205 2.3347e+05 11 78 0 0.00031376 0.0064716 -2.5393e-09 5153.7 -0.9136 0.85276 0.49013 -4.1962e-05 7.276e-12 63 12
12-Apr-2022 16:50:54 2205 2.3347e+05 12 58 0 0.0087256 0.008585 -2.5575e-09 5153.5 0.42482 0.40497 -0.64747 -0.00019932 -7.276e-12 0 10
12-Apr-2022 16:50:54 2205 2.3347e+05 13 43 0 0.0058503 0.0083656 -2.4374e-09 5153.6 -0.22159 0.29646 0.31699 0.00029278 7.276e-12 0 9
12-Apr-2022 16:50:54 2205 2.3347e+05 14 77 0 0.0016966 0.0033073 -2.6121e-09 5153.6 0.41456 0.97049 -0.63662 -0.00010204 -3.638e-12 0 12
12-Apr-2022 16:50:54 2205 2.3347e+05 15 55 0 0.013989 -0.003952 -2.5866e-09 5153.7 -0.30476 0.34521 0.16087 -6.9618e-05 3.638e-12 0 10
12-Apr-2022 16:50:54 2205 2.3347e+05 16 56 0 0.012782 0.0085545 -2.5611e-09 5153.6 0.43073 0.23073 0.76066 -0.00049114 -3.638e-12 0 9
⋮
Obtenez les positions, les vitesses et les identifiants des satellites dès le premier pas de temps.
t = data.Time(1);
[satPos,satVel,satID] = gnssconstellation(t,data,GNSSFileType="SEM")
satPos = 31×3
107 ×
1.3899 -2.2151 0.3074
-1.6755 0.5872 -1.9147
1.5377 -1.2781 -1.7528
0.6332 -1.6385 -1.9887
-2.5716 0.5413 0.4215
-1.0251 -1.1336 -2.1646
0.2694 -2.3585 1.1775
1.3414 -0.7139 2.1761
-0.3881 -2.2626 -1.3395
1.5043 1.1879 1.8656
⋮
satVel = 31×3
103 ×
0.0014 0.4854 3.2261
0.8625 -2.4217 -1.4348
2.2113 0.0321 1.9394
1.4081 2.1049 -1.2936
-0.5761 -0.2150 -3.1036
1.2999 -2.4327 0.6643
0.9229 -1.1620 -2.6758
1.5581 2.2893 -0.1743
1.1480 1.2668 -2.4877
-2.3150 0.2417 1.6982
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
⋮
Récupérer les positions, les vitesses et les identifiants des satellites à partir du fichier YUMA Almanac
Lisez les données des messages de navigation GPS à partir d'un fichier d'almanach YUMA.
data = yumaread("yumaAlmanac_2022-9-27.alm")
data=31×13 timetable
Time PRN Health Eccentricity TimeOfApplicability OrbitalInclination RateOfRightAscen SQRTA RightAscenAtWeek ArgumentOfPerigee MeanAnom Af0 Af1 Week
____________________ ___ ______ ____________ ___________________ __________________ ________________ ______ ________________ _________________ ________ ___________ __________ ____
29-Sep-2022 16:38:06 1 0 0.012008 4.055e+05 0.98891 -7.5432e-09 5153.6 0.3651 0.9438 -1.095 0.00027561 -7.276e-12 2229
29-Sep-2022 16:38:06 2 0 0.02 4.055e+05 0.96685 -7.7946e-09 5154.9 0.27125 -1.393 -1.6195 -0.00064468 0 2229
29-Sep-2022 16:38:06 3 0 0.0044999 4.055e+05 0.97519 -7.726e-09 5153.5 1.3977 1.0651 -2.1966 -0.00035858 -3.638e-12 2229
29-Sep-2022 16:38:06 4 0 0.0020423 4.055e+05 0.96187 -7.966e-09 5153.7 2.4795 -3.1045 0.81839 -0.00011158 7.276e-12 2229
29-Sep-2022 16:38:06 5 0 0.0060811 4.055e+05 0.96224 -7.8403e-09 5153.7 1.3543 1.1188 1.415 -9.8228e-05 0 2229
29-Sep-2022 16:38:06 6 0 0.0024514 4.055e+05 0.98822 -7.5546e-09 5153.5 0.35683 -0.8974 -0.87447 0.00047684 1.0914e-11 2229
29-Sep-2022 16:38:06 7 0 0.016406 4.055e+05 0.95104 -7.7832e-09 5153.6 -2.7871 -2.2412 -1.7241 0.00030327 -3.638e-12 2229
29-Sep-2022 16:38:06 8 0 0.0075631 4.055e+05 0.96192 -8.2403e-09 5153.5 -0.71955 0.16395 1.1555 -8.6784e-05 0 2229
29-Sep-2022 16:38:06 9 0 0.0025387 4.055e+05 0.95495 -8.0575e-09 5153.7 2.4248 1.9083 1.5732 -0.00028992 3.638e-12 2229
29-Sep-2022 16:38:06 10 0 0.0079675 4.055e+05 0.97498 -7.7489e-09 5153.6 1.395 -2.5116 -3.0858 -5.722e-06 0 2229
29-Sep-2022 16:38:06 11 0 0.00075054 4.055e+05 0.96415 -7.7832e-09 5153.6 0.40358 -3.1036 0.81271 -2.0981e-05 -3.638e-12 2229
29-Sep-2022 16:38:06 12 0 0.0085082 4.055e+05 0.96755 -7.966e-09 5153.7 -1.6731 1.3158 -2.4318 -0.0002861 -7.276e-12 2229
29-Sep-2022 16:38:06 13 0 0.0065126 4.055e+05 0.96921 -7.8518e-09 5153.6 2.5812 0.94039 0.67456 0.00039673 7.276e-12 2229
29-Sep-2022 16:38:06 14 0 0.002305 4.055e+05 0.95095 -8.1261e-09 5153.6 -1.708 -3.0302 -2.4903 -0.00010014 3.638e-12 2229
29-Sep-2022 16:38:06 15 0 0.014625 4.055e+05 0.93093 -8.3203e-09 5153.6 2.3127 1.1401 0.17435 -2.4796e-05 3.638e-12 2229
29-Sep-2022 16:38:06 16 0 0.012809 4.055e+05 0.96738 -7.9889e-09 5153.7 -1.6547 0.73255 2.0697 -0.00052547 0 2229
⋮
Obtenez les positions, les vitesses et les identifiants des satellites dès le premier pas de temps.
t = data.Time(1);
[satPos,satVel,satID] = gnssconstellation(t,data,GNSSFileType="YUMA")
satPos = 31×3
107 ×
-1.3549 2.2358 -0.3793
1.4926 -2.1942 -0.1952
-1.2477 1.2357 -2.0018
-0.4096 2.0385 -1.6467
2.2427 -0.7207 1.2218
1.4711 0.4089 -2.1680
-0.0841 2.0989 1.6373
-1.0615 1.1949 2.1111
0.5989 2.4816 -0.7333
-1.9686 -1.1518 1.4018
⋮
satVel = 31×3
103 ×
-0.4388 0.2295 3.2113
0.0460 0.4065 -3.1646
-2.4900 -0.3576 1.3500
-0.9647 -1.8691 -2.0833
1.5583 0.3175 -2.6224
-1.6003 2.2475 -0.6531
-1.3741 1.5034 -2.0994
-1.2344 -2.3991 0.7711
-0.6518 -0.7124 -2.9785
1.7466 0.0160 2.4627
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
⋮
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
t
— Heure actuelle pour la simulation satellite
scalaire datetime
tableau
Heure actuelle de la simulation satellite, spécifiée sous la forme d'un tableau scalaire datetime
.
Le fuseau horaire par défaut d'un tableau datetime
est UTC. Pour plus d'informations sur la spécification d'un fuseau horaire différent, voir datetime
.
L'heure de début du GPS est le 6 janvier 1980 à 00h00 (UTC). Spécifier un datetime
avant cette heure utilisera l’heure de début du GPS.
Exemple : datetime('now','TimeZone','Local');
Types de données : datetime
navData
— Données de navigation
calendrier
Données de navigation, spécifiées sous forme d'horaire.
Pour un fichier RINEX, vous pouvez obtenir l'horaire à partir de la structure renvoyée par la fonction
rinexread
.Pour un fichier d'almanach SEM, vous pouvez utiliser l'horaire renvoyé par la fonction
semread
.Pour un fichier d'almanach YUMA, vous pouvez utiliser l'horaire renvoyé par la fonction
yumaread
.Pour un fichier d'almanach XML Galileo, vous pouvez utiliser le calendrier renvoyé par la fonction
galalmanacread
.
Read Navigation Data from RINEX File
La fonction gnssconstellation
permet de traiter les données GPS ou Galileo lues à partir d'un fichier RINEX. Le contenu de la structure renvoyé par la fonction rinexread
varie selon le type de système satellite décrit par le fichier RINEX. Pour plus d'informations sur le contenu de la structure, voir la section rinexread
fonction En savoir plus .
Pour lire les données des messages de navigation GPS à partir d'un fichier RINEX, extrayez le champ GPS de la structure renvoyée. Par exemple:
rinexData = rinexread("GODS00USA_R_20211750000_01D_GN.rnx");
navData = rinexData.GPS;
Pour lire les données du message de navigation Galileo à partir d'un fichier RINEX, extrayez le champ Galileo de la structure renvoyée. Par exemple:
rinexData = rinexread("GODS00USA_R_20211750000_01D_EN.rnx");
navData = rinexData.Galileo;
Read Navigation Data from SEM Almanac File
La fonction gnssconstellation
peut traiter les données GPS lues à partir d'un fichier d'almanach SEM. L'horaire renvoyé par la fonction semread
contient les paramètres de chaque satellite dans le fichier almanach associé à la date spécifiée. Pour plus d'informations sur le contenu du planning, voir l'argument data
de la fonction semread
.
Étant donné que semread
renvoie un horaire, vous pouvez directement spécifier navData
comme argument de sortie semread
. Par exemple:
navData = semread("semalmanac_2022-1-18.al3")
Read Navigation Data from YUMA Almanac File
La fonction gnssconstellation
peut traiter les données GPS et QZSS lues à partir d'un fichier d'almanach YUMA. L'horaire renvoyé par la fonction yumaread
contient les paramètres de chaque satellite dans le fichier almanach associé à la date spécifiée. Pour plus d'informations sur le contenu du planning, voir l'argument data
de la fonction yumaread
.
Étant donné que yumaread
renvoie un horaire, vous pouvez directement spécifier navData
comme argument de sortie yumaread
. Par exemple:
navData = yumaread("yumaAlmanac_2022-4-20.alm")
Read Navigation Data from Galileo XML Almanac File
La fonction gnssconstellation
peut traiter les données Galileo lues à partir d'un fichier d'almanach XML Galileo. L'horaire renvoyé par la fonction galalmanacread
contient les paramètres de chaque satellite dans le fichier almanach associé à la date spécifiée. Pour plus d'informations sur le contenu du planning, voir l'argument data
de la fonction galalmanacread
.
Étant donné que galalmanacread
renvoie un horaire, vous pouvez directement spécifier navData
comme argument de sortie galalmanacread
. Par exemple:
navData = galalmanacread("galAlmanac_2023-02-17.xml")
Remarque
Lorsque vous lisez les données Galileo au format RINEX, le numéro de semaine est aligné sur la semaine GPS. L'heure GPS de la semaine commence à minuit entre le 5 et le 6 janvier 1980.
Lorsque vous lisez des données Galileo 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).
gnssFileType
— Type de fichier GNSS
"RINEX"
| "SEM"
| "YUMA"
| "galalmanac"
Type de fichier GNSS, spécifié comme "RINEX"
, "SEM"
, "YUMA"
ou "galalmanac"
.
Spécifiez le type de fichier GNSS comme suit :
"RINEX"
lors de la spécification des données de navigation sous forme d'horaire obtenu à partir de la structure renvoyée par la fonctionrinexread
."SEM"
lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonctionsemread
."YUMA"
lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonctionyumaread
."galalmanac"
lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonctiongalalmanacread
.
Exemple : GNSSFileType="RINEX"
Exemple : GNSSFileType="SEM"
Exemple : GNSSFileType="YUMA"
Exemple : GNSSFileType="galalmanac"
Types de données : char
| string
Arguments de sortie
satPos
— Positions des satellites
N-matrice de scalaires par 3
Positions des satellites dans le système de coordonnées centré sur la Terre (ECEF) en mètres, renvoyées sous la forme d'une matrice N-par-3 de scalaires. N est le nombre de satellites dans la constellation.
Types de données : single
| double
satVel
— Vitesses des satellites
N-matrice par 3 de scalaire
Vitesses des satellites dans le système de coordonnées centré sur la Terre (ECEF) en mètres par seconde, renvoyées sous la forme d'une matrice N-par-3 de scalaires. N est le nombre de satellites dans la constellation.
Types de données : single
| double
satID
— Numéros d'identification des satellites
N-élément colonne vecteur
Numéros d'identification du satellite, renvoyés sous forme de vecteur de colonne d'éléments N. N est le nombre de satellites dans la constellation.
Types de données : single
| double
En savoir plus
Paramètres orbitaux
Les positions et vitesses initiales des satellites sont définies par les paramètres orbitaux dans le Tableau A.2-2 en GPS SPS Performance Standard, et sont données en coordonnées Earth-centered Earth-fixed (ECEF). Pour obtenir des calculs précis de position et de vitesse, assurez-vous que vous utilisez les paramètres orbitaux corrects pour le temps d'interrogation correspondant.
Les calculs de position utilisent les équations du tableau 30-II dans la même spécification d'interface IS-GPS-200M .
Les calculs de vitesse utilisent les équations 8.21 à 8.27 dans Principes des systèmes de navigation intégrés GNSS, inertiels et multicapteurs [1].
Références
[1] Groves, Paul D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. Boston: Artech House, 2013.
[2] 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.
[3] 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.
[4] 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.
[5] 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.
Capacités étendues
Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.
Seules les fonctions MEX sont prises en charge pour la génération de code.
Historique des versions
Introduit dans R2021aR2023b: Lire les données des fichiers d'almanach XML Galileo
Spécifiez l'argument d'entrée gnssFileType
comme "galalmanac"
si les données de navigation d'entrée navData
sont lues à partir du fichier d'almanach XML Galileo.
Voir aussi
Objets
Fonctions
skyplot
|lookangles
|pseudoranges
|receiverposition
|rinexread
|rinexinfo
|semread
|yumaread
|galalmanacread
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)