gnssconstellation
Sintaxis
Descripción
[
devuelve las posiciones y velocidades del satélite en satPos
,satVel
] = gnssconstellation(t
)datetime
t
. La función devuelve posiciones y velocidades en el sistema de coordenadas fijo en la Tierra centrado en la Tierra (ECEF) en metros y metros por segundo, respectivamente. Si no se especifica la zona horaria para la fecha y hora, se supone que es UTC.
[
también especifica el tipo de archivo GNSS del que obtuvo los datos del mensaje de navegación. Esta sintaxis le permite procesar datos de navegación obtenidos de un archivo RINEX, un archivo de almanaque SEM, un archivo de almanaque YUMA o un archivo de almanaque XML de Galileo.satPos
,satVel
,satID
] = gnssconstellation(t
,navData
,GNSSFileType=gnssFileType
)
Nota
La función gnssconstellation
determina la posición y las velocidades del satélite propagando los parámetros orbitales actuales especificados por el archivo RINEX, un archivo de almanaque SEM, un archivo de almanaque YUMA o un archivo de almanaque XML de Galileo al momento de la consulta. Para obtener posiciones y velocidades de los satélites más precisas, asegúrese de utilizar el archivo de navegación publicado para el momento en que realiza la consulta. Para obtener más información sobre la validez de los parámetros orbitales, consulte Parámetros orbitales.
Ejemplos
Obtenga las posiciones y velocidades actuales de los satélites GNSS. Acceda a los parámetros orbitales de la especificación de interfaz IS-GPS-200M y calcule la posición y las velocidades en coordenadas ECEF para el tiempo dado. Muestra las posiciones de los satélites.
t = datetime('now','TimeZone','Local'); [satPos,satVel] = gnssconstellation(t); disp(satPos)
1.0e+07 * -1.5520 -0.2525 2.1405 0.5423 2.5900 -0.2284 0.2566 -2.4927 -0.8802 0.9922 -1.7240 -1.7600 0.2911 1.6265 -2.0794 1.3402 0.8433 -2.1323 -2.1639 1.5257 0.2094 1.0648 -2.0345 1.3346 -2.2359 0.6123 1.2961 -1.8482 0.6245 -1.8023 2.0273 1.4705 -0.8844 2.5235 0.7689 0.3083 -0.1518 -1.6336 2.0887 -1.1371 -2.0948 -1.1717 1.5299 0.9039 1.9740 1.5083 -0.2140 2.1756 -0.8468 1.9435 -1.6000 -0.3982 -2.6259 -0.0173 2.2791 -0.8550 1.0625 -0.7960 2.0090 1.5442 -1.3496 -0.8340 -2.1301 -1.7889 1.8900 0.5310 0.2693 1.6572 2.0580 -2.2860 -1.2656 -0.4762 -2.5315 -0.6135 0.5188 1.6347 -0.8066 -1.9317 2.3845 0.0662 -1.1679
Utilice la función lookangles
para obtener los ángulos de acimut y elevación de los satélites para posiciones de satélite y receptor determinadas. Especifique un ángulo de máscara de 5 grados. Obtenga las posiciones de los satélites utilizando la función gnssconstellation
.
Especifique una posición del receptor en coordenadas geodésicas (latitud, longitud, altitud).
recPos = [42 -71 50];
Obtenga las posiciones de los satélites para la hora actual.
t = datetime('now');
gpsSatPos = gnssconstellation(t);
Especifique un ángulo de máscara de 5 grados.
maskAngle = 5;
Obtenga los ángulos de visión de azimut y elevación para las posiciones de los satélites. La salida vis
indica qué satélites están visibles. Obtenga el total usando nnz
.
[az,el,vis] = lookangles(recPos,gpsSatPos,maskAngle);
fprintf('%d satellites visible at %s.\n',nnz(vis),t);
9 satellites visible at 01-Feb-2025 13:25:21.
Lea un conjunto de satélites GPS del mensaje de navegación GPS en un archivo RINEX.
filename = "GODS00USA_R_20211750000_01D_GN.rnx";
data = rinexread(filename);
gpsData = data.GPS;
[~,satIdx] = unique(gpsData.SatelliteID);
gpsData = gpsData(satIdx,:);
Obtenga las posiciones, velocidades e ID de los satélites en el primer paso.
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
2.0186 -0.5308 1.6093
2.0993 1.3376 -0.9594
-1.0551 2.2204 1.0002
2.6312 0.3802 -0.3333
-1.0047 -1.1218 -2.2112
⋮
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
-1.3152 1.6379 2.1695
-1.2059 -0.1406 -2.8610
-1.0488 0.7681 -2.8132
-0.3937 0.3259 -3.0428
1.9524 -1.9313 0.1383
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
12
13
14
15
16
⋮
Leer datos de mensajes de navegación GPS de un archivo de almanaque 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
⋮
Obtenga las posiciones, velocidades e ID de los satélites en el primer paso.
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
-1.7866 0.4175 -1.9205
-1.9188 1.0246 -1.5421
-1.6711 -0.2575 2.0374
-1.3516 -1.3127 1.8746
-1.2509 0.9486 2.1022
⋮
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
1.1085 -2.1747 -1.5056
-1.9099 -0.2154 2.2852
-1.0411 -2.3996 -1.1323
2.3787 -0.1846 1.5773
-1.7983 -2.1160 -0.0817
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
⋮
Lea los datos de los mensajes de navegación GPS de un archivo de almanaque de 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
⋮
Obtenga las posiciones, velocidades e ID de los satélites en el primer paso.
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
1.9842 -0.6457 -1.6411
1.3664 -1.1517 -1.9882
1.4721 -0.2873 2.1756
1.7638 1.3202 1.4920
0.9458 -1.3494 2.0339
⋮
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
-1.1680 1.7362 -2.0987
2.4120 0.5344 1.3766
0.7821 2.6885 -0.1548
-1.9034 -0.0429 2.2785
1.5170 2.2368 0.7915
⋮
satID = 31×1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
⋮
Leer datos de navegación de un archivo de almanaque Galileo y utilizar los datos de navegación para:
Obtenga posiciones, velocidades e identificaciones de satélites en una marca de tiempo determinada.
Calcule la visibilidad del satélite y los ángulos de visión para una posición determinada del receptor utilizando las posiciones de los satélites extraídas.
Primero, lea los datos de los mensajes de navegación GPS de un archivo de almanaque de 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
⋮
Especifique la marca de tiempo para buscar las posiciones, velocidades e ID de los satélites.
t = datetime(2021,06,24,01,59,44)
t = datetime
24-Jun-2021 01:59:44
Obtenga las posiciones, velocidades e identificaciones del satélite en la marca de tiempo especificada utilizando la función gnssconstellation
.
[satPos,satVel,satID] = gnssconstellation(t,data,GNSSFileType="galalmanac");
Especifique una posición del receptor en coordenadas geodésicas (latitud, longitud, altitud) para calcular los ángulos de visión y la visibilidad del satélite.
recPos = [42.3013162 -71.3782972 0];
Especifique el ángulo de la máscara de elevación para el receptor.
maskAngle = 5;
Calcule los ángulos de visión y las visibilidades de las posiciones de los satélites para la posición del receptor dada. La salida vis
indica qué satélites están visibles. Obtenga el total usando 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.
Trazar las posiciones de los satélites visibles con la máscara de elevación.
figure skyplot(az(vis),el(vis),satID(vis),MaskElevation=maskAngle)
Argumentos de entrada
Hora actual para la simulación del satélite, especificada como una matriz escalar datetime
.
La zona horaria predeterminada para una matriz datetime
es UTC. Para obtener información sobre cómo especificar una zona horaria diferente, consulte datetime
.
La hora de inicio del GPS es el 6 de enero de 1980 a las 00:00 (UTC). Si se especifica cualquier datetime
antes de esta hora, se utilizará la hora de inicio del GPS.
Ejemplo: datetime('now','TimeZone','Local');
Tipos de datos: datetime
Datos de navegación, especificados como horario.
Para un archivo RINEX, puede obtener el horario de la estructura devuelta por la función
rinexread
.Para un archivo de almanaque SEM, puede utilizar el horario devuelto por la función
semread
.Para un archivo de almanaque YUMA, puede utilizar el horario devuelto por la función
yumaread
.Para un archivo de almanaque XML de Galileo, puede utilizar el horario devuelto por la función
galalmanacread
.
Read Navigation Data from RINEX File
La función gnssconstellation
puede procesar los datos GPS o Galileo leídos desde un archivo RINEX. El contenido de la estructura devuelta por la función rinexread
varía según el tipo de sistema satelital descrito por el archivo RINEX. Para obtener más información sobre el contenido de la estructura, consulte la sección Más acerca de de la función rinexread
.
Para leer datos de mensajes de navegación GPS de un archivo RINEX, extraiga el campo GPS
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("GODS00USA_R_20211750000_01D_GN.rnx");
navData = rinexData.GPS;
Para leer datos de mensajes de navegación de Galileo desde un archivo RINEX, extraiga el campo Galileo
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("GODS00USA_R_20211750000_01D_EN.rnx");
navData = rinexData.Galileo;
Para leer datos de mensajes de navegación GLONASS de un archivo RINEX, extraiga el campo GLONASS
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("GODS00USA_R_20211750000_01D_RN.rnx");
navData = rinexData.GLONASS;
Para leer los datos del mensaje de navegación de BeiDou desde un archivo RINEX, extraiga el campo BeiDou
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("GODS00USA_R_20211750000_01D_CN.rnx");
navData = rinexData.BeiDou;
Para leer datos de mensajes de navegación NavIC/IRNSS de un archivo RINEX, extraiga el campo NavIC
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("ARHT00ATA_R_20211750000_01D_IN.rnx");
navData = rinexData.NavIC;
Para leer datos de mensajes de navegación QZSS de un archivo RINEX, extraiga el campo QZSS
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("ARHT00ATA_R_20211750000_01D_JN.rnx");
navData = rinexData.QZSS;
Para leer datos de mensajes de navegación SBAS de un archivo RINEX, extraiga el campo SBAS
de la estructura devuelta. Por ejemplo:
rinexData = rinexread("GOP600CZE_R_20211750000_01D_SN.rnx");
navData = rinexData.SBAS;
Read Navigation Data from SEM Almanac File
La función gnssconstellation
puede procesar los datos GPS leídos desde un archivo de almanaque SEM. El horario devuelto por la función semread
contiene los parámetros de cada satélite en el archivo de almanaque asociado con la fecha especificada. Para obtener más información sobre el contenido del horario, consulte el argumento data
de la función semread
.
Como semread
devuelve un horario, puedes especificar directamente navData
como el argumento de salida semread
. Por ejemplo:
navData = semread("semalmanac_2022-1-18.al3")
Read Navigation Data from YUMA Almanac File
La función gnssconstellation
puede procesar los datos GPS y QZSS leídos desde un archivo de almanaque YUMA. El horario devuelto por la función yumaread
contiene los parámetros de cada satélite en el archivo de almanaque asociado con la fecha especificada. Para obtener más información sobre el contenido del horario, consulte el argumento data
de la función yumaread
.
Como yumaread
devuelve un horario, puedes especificar directamente navData
como el argumento de salida yumaread
. Por ejemplo:
navData = yumaread("yumaAlmanac_2022-4-20.alm")
Read Navigation Data from Galileo XML Almanac File
La función gnssconstellation
puede procesar los datos de Galileo leídos desde un archivo de almanaque XML de Galileo. El horario devuelto por la función galalmanacread
contiene los parámetros de cada satélite en el archivo de almanaque asociado con la fecha especificada. Para obtener más información sobre el contenido del horario, consulte el argumento data
de la función galalmanacread
.
Como galalmanacread
devuelve un horario, puedes especificar directamente navData
como el argumento de salida galalmanacread
. Por ejemplo:
navData = galalmanacread("galAlmanac_2023-02-17.xml")
Nota
Cuando lee datos de Galileo en formato RINEX, el número de semana se alinea con la semana del GPS. La hora de la semana del GPS comienza a la medianoche entre el 5 y el 6 de enero de 1980.
Cuando lee datos de Galileo en formato Almanaque, el número de semana se alinea con la hora del sistema Galileo (GST). La época de inicio del GST es 13 segundos antes de las 00:00 UTC del domingo 22 de agosto de 1999 (medianoche entre el 21 y el 22 de agosto).
Tipo de archivo GNSS, especificado como "RINEX"
, "SEM"
, "YUMA"
o "galalmanac"
.
Especifique el tipo de archivo GNSS como,
"RINEX"
al especificar los datos de navegación como un horario obtenido de la estructura devuelta por la funciónrinexread
."SEM"
al especificar los datos de navegación como un horario devuelto por la funciónsemread
."YUMA"
al especificar los datos de navegación como un horario devuelto por la funciónyumaread
."galalmanac"
al especificar los datos de navegación como un horario devuelto por la funcióngalalmanacread
.
Ejemplo: GNSSFileType="RINEX"
Ejemplo: GNSSFileType="SEM"
Ejemplo: GNSSFileType="YUMA"
Ejemplo: GNSSFileType="galalmanac"
Tipos de datos: char
| string
Argumentos de salida
Posiciones de los satélites en el sistema de coordenadas centrado en la Tierra y fijo en la Tierra (ECEF) en metros, devueltas como una matriz de escalares N por 3. N es el número de satélites en la constelación.
Tipos de datos: single
| double
Velocidades de los satélites en el sistema de coordenadas centrado en la Tierra y fijo en la Tierra (ECEF) en metros por segundo, devueltas como una matriz de escalares N por 3. N es el número de satélites en la constelación.
Tipos de datos: single
| double
Números de identificación de satélite, devueltos como un vector columna de elementos N. N es el número de satélites en la constelación.
Tipos de datos: single
| double
Más acerca de
Los parámetros orbitales definen las posiciones y velocidades iniciales de un satélite y permiten calcular posiciones y velocidades pasadas y futuras de los satélites en función de esas posiciones y velocidades iniciales. Estos parámetros orbitales producen resultados precisos dentro de un rango de tiempo del tiempo de las efemérides, o tiempo inicial para los satélites que no registran el tiempo de las efemérides. Para obtener cálculos precisos de posición y velocidad, asegúrese de utilizar los parámetros orbitales correctos para el tiempo de consulta correspondiente.
Estas son las ventanas de tiempo en las que los parámetros orbitales son válidos para los cálculos de posición y velocidad:
GPS, Galileo, BeiDou, NavIC, QZSS — [ti-2 hours, ti+2 hours].
GLONASS, SBAS — [ti-15 minutes, ti+15 minutes].
ti es el tiempo de efemérides o tiempo inicial para los satélites que no registran tiempo de efemérides.
Para los satélites GPS, Galileo, BeiDou, NavIC y QZSS, la Tabla A.2-2 del Estándar de rendimiento GPS SPS define las posiciones y velocidades de los satélites en coordenadas centradas en la Tierra y fijas en la Tierra (ECEF). Los cálculos de posición utilizan ecuaciones de la Tabla 30-II en la misma Especificación de Interfaz IS-GPS-200M. Los cálculos de velocidad utilizan las ecuaciones 8.21 a 8.27 en Principios de los sistemas de navegación integrados GNSS, inerciales y multisensor [1].
Para los satélites GLONASS y SBAS, la Sección A.3.1.2 en GLONASS ICD Edición 5.1 2008 define ecuaciones tanto para las posiciones como para las velocidades en coordenadas fijas y centradas en la Tierra (ECEF).
Referencias
[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.1.pdf.
Capacidades ampliadas
Solo se admiten funciones MEX para la generación de código.
Historial de versiones
Introducido en R2021aLeer datos de navegación de un archivo RINEX que contiene estos satélites GNSS adicionales:
GLONASS
BeiDou
NavIC
QZSS
SBAS
Consulte el argumento navData
para obtener ejemplos de cómo leer datos de estos satélites desde archivos RINEX.
Especifique el argumento de entrada gnssFileType
como "galalmanac"
si los datos de navegación de entrada navData
se leen desde el archivo de almanaque XML de Galileo.
Consulte también
Objetos
Funciones
skyplot
|lookangles
|pseudoranges
|receiverposition
|rinexread
|rinexinfo
|semread
|yumaread
|galalmanacread
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)