Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

gnssconstellation

Emplacements des satellites à une heure précise

Depuis R2021a

Description

exemple

[satPos,satVel] = gnssconstellation(t) renvoie les positions et les vitesses des satellites au 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.

exemple

[satPos,satVel,satID] = gnssconstellation(t,navData) renvoie les positions, vitesses et identifiants des satellites à l'instant t dans les données de message de navigation RINEX spécifiées navData.

exemple

[satPos,satVel,satID] = gnssconstellation(t,navData,GNSSFileType=gnssFileType) 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.

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

réduire tout

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

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.

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
      ⋮

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
      ⋮

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
      ⋮

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)

Figure contains an object of type skyplot.

Arguments d'entrée

réduire tout

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

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).

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 fonction rinexread .

  • "SEM" lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonction semread .

  • "YUMA" lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonction yumaread .

  • "galalmanac" lors de la spécification des données de navigation sous forme d'horaire renvoyé par la fonction galalmanacread .

Exemple : GNSSFileType="RINEX"

Exemple : GNSSFileType="SEM"

Exemple : GNSSFileType="YUMA"

Exemple : GNSSFileType="galalmanac"

Types de données : char | string

Arguments de sortie

réduire tout

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

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

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

réduire tout

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

Historique des versions

Introduit dans R2021a

développer tout