Main Content

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

galalmanacread

Lire les données du fichier d'almanach XML Galileo

Depuis R2023b

    Description

    exemple

    data = galalmanacread(filename) lit les données du fichier d'almanach XML Galileo spécifié par 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).

    data = galalmanacread(filename,IssueDate=date) précise la date d'émission du fichier almanach.

    Exemples

    réduire tout

    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

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

    réduire tout

    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ètreType de donnéesDescription
    Timedatetime

    Heure UTC, calculée en utilisant le numéro de semaine réel et t0a.

    SVIDdouble

    ID du véhicule satellite.

    aSqRootdouble

    Différence par rapport à la racine carrée du demi-grand axe nominal (29 600 000 m), en mètres1/2.

    eccdouble

    Excentricité de l'orbite.

    deltaidouble

    Angle d'inclinaison décalé par rapport à l'inclinaison orbitale nominale de 56 degrés, en demi-cercles.

    omega0double

    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.

    wdouble

    Argument de périgée, en demi-cercles.

    m0double

    Anomalie moyenne du satellite à l'heure de référence, en demi-cercles.

    af0double

    Biais de correction de l'horloge satellite (tronqué), en secondes.

    af1double

    Correction de l'horloge satellite linéaire (tronquée), en secondes par seconde.

    ioddouble

    Numéro d'almanach des données.

    t0adouble

    Temps de référence de l'almanach, en secondes.

    wnadouble

    Numéro de semaine Galileo, continu, pas mod(4).

    statusE5adouble

    L’état de santé du signal du satellite E5a.

    statusE5bdouble

    État de santé du signal du satellite E5b.

    statusE1Bdouble

    É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