Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

yumaread

Leer datos del archivo de almanaque YUMA

Desde R2023a

    Descripción

    ejemplo

    data = yumaread(filename) lee datos del archivo de almanaque YUMA especificado por filename y devuelve los parámetros de cada satélite asociado como un horario.

    data = yumaread(filename,GPSWeekEpoch=refdate) especifica la fecha de referencia a partir de la cual el archivo de almanaque de YUMA cuenta el número de semana del Sistema de Posicionamiento Global (GPS).

    Ejemplos

    contraer todo

    Descargue el archivo de almanaque YUMA del sitio web NAVCEN y analícelo. Especifique la fecha para la cual descargar el archivo.

    d = datetime("today") - 2;

    Crea la URL.

    baseURL = "https://www.navcen.uscg.gov/sites/default/files/gps/almanac/";
    almanacType = "/yuma/";
    almanacExtension = ".alm";
    url = baseURL + d.Year + almanacType + num2str(day(d,"dayofyear"),'%03d') + ...
          almanacExtension;

    Especifique un nombre de archivo para el archivo de almanaque guardado.

    filename = "yumaAlmanac" + "_" + d.Year + "-" + ...
               d.Month + "-" + d.Day + ".alm";

    Guarda el archivo.

    websave(filename,url);

    Obtenga los parámetros orbitales del archivo de almanaque YUMA descargado.

    data = yumaread(filename)
    data=31×13 timetable
                Time            PRN    Health    Eccentricity    TimeOfApplicability    OrbitalInclination    RateOfRightAscen    SQRTA     RightAscenAtWeek    ArgumentOfPerigee    MeanAnom         Af0            Af1        Week
        ____________________    ___    ______    ____________    ___________________    __________________    ________________    ______    ________________    _________________    _________    ___________    ___________    ____
    
        27-Jan-2023 19:56:30     1       0          0.012259         5.0381e+05              0.98919            -7.6575e-09       5153.6         -1.7636             0.93699           -1.3324     0.00021935     -3.638e-12    2246
        27-Jan-2023 19:56:30     2       0          0.020082         5.0381e+05              0.96693            -7.8289e-09       5153.6           -1.86             -1.3346           -2.3153    -0.00062466      3.638e-12    2246
        27-Jan-2023 19:56:30     3       0          0.004446         5.0381e+05               0.9773            -7.8746e-09       5153.7        -0.73153              1.0233           -2.4793    -0.00036907      3.638e-12    2246
        27-Jan-2023 19:56:30     4       0         0.0022964         5.0381e+05              0.96264            -7.8975e-09       5153.7         0.34944             -3.0639           0.47758    -4.0054e-05      7.276e-12    2246
        27-Jan-2023 19:56:30     5       0         0.0057855         5.0381e+05               0.9643            -8.0232e-09       5153.5        -0.77652              1.1341            1.2373    -0.00011349              0    2246
        27-Jan-2023 19:56:30     6       0         0.0028877         5.0381e+05              0.98846            -7.6346e-09       5153.6         -1.7719            -0.86284           -1.0726     0.00056458      3.638e-12    2246
        27-Jan-2023 19:56:30     7       0          0.016655         5.0381e+05              0.95017            -7.8746e-09       5153.5          1.3653             -2.2286           -1.9321     0.00025177     -7.276e-12    2246
        27-Jan-2023 19:56:30     8       0         0.0082297         5.0381e+05              0.96065            -8.0803e-09       5153.6         -2.8518             0.20048           0.91139    -0.00010586     -3.638e-12    2246
        27-Jan-2023 19:56:30     9       0         0.0025482         5.0381e+05              0.95586            -7.9889e-09       5153.6         0.29373              1.9652            1.2322    -0.00022888      7.276e-12    2246
        27-Jan-2023 19:56:30    10       0         0.0084252         5.0381e+05              0.97706            -7.8746e-09       5153.6        -0.73421             -2.4529            2.8739    -2.1935e-05              0    2246
        27-Jan-2023 19:56:30    11       0        0.00078106         5.0381e+05              0.96453            -7.8746e-09       5153.7         -1.7278             -2.6895           0.14565    -8.8692e-05    -1.0914e-11    2246
        27-Jan-2023 19:56:30    12       0         0.0088811         5.0381e+05              0.96648            -8.0003e-09       5153.6            2.48              1.3307           -2.7255    -0.00033283     -3.638e-12    2246
        27-Jan-2023 19:56:30    13       0         0.0067534         5.0381e+05              0.96972            -7.8175e-09       5153.6         0.45204             0.94145           0.42546     0.00046635      7.276e-12    2246
        27-Jan-2023 19:56:30    14       0          0.002604         5.0381e+05              0.94981            -8.1489e-09       5153.6          2.4432             -3.0813           -2.6751    -4.0054e-05      7.276e-12    2246
        27-Jan-2023 19:56:30    15       0          0.014733         5.0381e+05              0.93207            -8.2861e-09       5153.6         0.17855              1.1759         -0.076497     8.5831e-06      3.638e-12    2246
        27-Jan-2023 19:56:30    16       0          0.013348         5.0381e+05              0.96625            -8.0003e-09       5153.7          2.4984             0.75825            1.7264    -0.00052261              0    2246
          ⋮
    
    

    Lea los datos de los mensajes de navegación GPS y QZSS de un archivo de almanaque YUMA.

    gpsQzssData = yumaread("qg2022309.alm");

    Obtenga las posiciones, velocidades e ID de los satélites en el momento especificado.

    t = datetime(2022,11,10,8,12,00);
    [satPos,satVel,satID] = gnssconstellation(t,gpsQzssData,GNSSFileType="YUMA");

    Especifique una posición del receptor GNSS en coordenadas geodésicas (latitud, longitud y altitud).

    recPos = [35.67 139.73 50]; % Tokyo

    Obtenga los ángulos de visión de azimut y elevación de las posiciones de los satélites para la posición del receptor especificada. La salida isVis indica qué satélites son visibles. Encuentre el número total de satélites visibles usando nnz.

    [az,el,isVis] = lookangles(recPos,satPos);
    fprintf('%d satellites visible at %s.\n',nnz(isVis),t);
    12 satellites visible at 10-Nov-2022 08:12:00.
    

    Especifique el PRN como etiqueta para cada punto. Especifique los grupos categóricos.

    prn = gpsQzssData.PRN;
    GPSPrn = (prn <= 32);
    group = categorical(GPSPrn,[true false],["GPS" "QZSS"]);

    Visualiza los satélites visibles. Muestra la leyenda.

    skyplot(az(isVis),el(isVis),satID(isVis),GroupData=group(isVis))
    legend("GPS","QZSS")

    Figure contains an object of type skyplot.

    Lea un archivo de almanaque YUMA que contiene datos GPS y QZSS, descargado del sitio web QZSS .

    filenameQG = "qg2022309.alm";
    dataQG = yumaread(filenameQG)
    dataQG=35×13 timetable
                Time            PRN    Health    Eccentricity    TimeOfApplicability    OrbitalInclination    RateOfRightAscen    SQRTA     RightAscenAtWeek    ArgumentOfPerigee    MeanAnom        Af0           Af1        Week
        ____________________    ___    ______    ____________    ___________________    __________________    ________________    ______    ________________    _________________    ________    ___________    __________    ____
    
        08-Nov-2022 16:50:54     1       0           0.01204         2.3347e+05              0.98919            -7.5089e-09       5153.6        -0.38418             0.94107          0.45277     0.00025463    -7.276e-12    2235
        08-Nov-2022 16:50:54     2       0           0.02012         2.3347e+05              0.96699            -7.7603e-09       5154.9        -0.47885             -1.3867         -0.44223    -0.00063896     3.638e-12    2235
        08-Nov-2022 16:50:54     3       0         0.0044513         2.3347e+05              0.97615            -7.5889e-09       5153.7         0.64757              1.0521         -0.66094    -0.00037193    -3.638e-12    2235
        08-Nov-2022 16:50:54     4       0         0.0021377         2.3347e+05              0.96147            -8.0232e-09       5153.7          1.7292             -3.1181           2.3566    -8.9645e-05     7.276e-12    2235
        08-Nov-2022 16:50:54     5       0         0.0059276         2.3347e+05               0.9632             -7.726e-09       5153.5         0.60365              1.1404           2.9734    -0.00010395             0    2235
        08-Nov-2022 16:50:54     6       0         0.0026011         2.3347e+05              0.98847            -7.5317e-09       5153.5        -0.39246            -0.91841            0.726     0.00051308    1.0914e-11    2235
        08-Nov-2022 16:50:54     7       0          0.016459         2.3347e+05              0.95087            -7.7375e-09       5153.6          2.7459             -2.2384         -0.16947     0.00028992    -3.638e-12    2235
        08-Nov-2022 16:50:54     8       0         0.0077338         2.3347e+05              0.96113            -8.3432e-09       5153.6         -1.4706             0.16515           2.7185    -9.2506e-05    -3.638e-12    2235
        08-Nov-2022 16:50:54     9       0         0.0026331         2.3347e+05              0.95461            -8.1032e-09       5153.7          1.6741              1.9245           3.0836     -0.0002718     7.276e-12    2235
        08-Nov-2022 16:50:54    10       0         0.0081372         2.3347e+05              0.97593            -7.5546e-09       5153.6         0.64487             -2.5026           -1.554    -1.1444e-05             0    2235
        08-Nov-2022 16:50:54    11       0        0.00080109         2.3347e+05               0.9645             -7.726e-09       5153.6        -0.34663             -2.9148            2.172    -3.7193e-05    -7.276e-12    2235
        08-Nov-2022 16:50:54    12       0         0.0085993         2.3347e+05              0.96761             -7.886e-09       5153.7         -2.4237              1.3193         -0.90595    -0.00030231    -3.638e-12    2235
        08-Nov-2022 16:50:54    13       0         0.0066509         2.3347e+05              0.96872            -7.9432e-09       5153.6          1.8313             0.95082           2.2082     0.00042057     7.276e-12    2235
        08-Nov-2022 16:50:54    14       0         0.0023918         2.3347e+05              0.95102            -8.0003e-09       5153.6         -2.4592             -3.0426          -0.9278    -8.5831e-05     3.638e-12    2235
        08-Nov-2022 16:50:54    15       0          0.014719         2.3347e+05               0.9307            -8.3661e-09       5153.6          1.5609               1.157           1.7184    -1.4305e-05     3.638e-12    2235
        08-Nov-2022 16:50:54    16       0          0.012957         2.3347e+05               0.9674            -7.9089e-09       5153.7         -2.4053             0.73788          -2.6905    -0.00052643             0    2235
          ⋮
    
    

    Extraiga datos de GPS del horario según los PRN de GPS válidos entre 1 y 32.

    GPSdata = dataQG((dataQG.PRN >= 1 & dataQG.PRN <= 32),:)
    GPSdata=31×13 timetable
                Time            PRN    Health    Eccentricity    TimeOfApplicability    OrbitalInclination    RateOfRightAscen    SQRTA     RightAscenAtWeek    ArgumentOfPerigee    MeanAnom        Af0           Af1        Week
        ____________________    ___    ______    ____________    ___________________    __________________    ________________    ______    ________________    _________________    ________    ___________    __________    ____
    
        08-Nov-2022 16:50:54     1       0           0.01204         2.3347e+05              0.98919            -7.5089e-09       5153.6        -0.38418             0.94107          0.45277     0.00025463    -7.276e-12    2235
        08-Nov-2022 16:50:54     2       0           0.02012         2.3347e+05              0.96699            -7.7603e-09       5154.9        -0.47885             -1.3867         -0.44223    -0.00063896     3.638e-12    2235
        08-Nov-2022 16:50:54     3       0         0.0044513         2.3347e+05              0.97615            -7.5889e-09       5153.7         0.64757              1.0521         -0.66094    -0.00037193    -3.638e-12    2235
        08-Nov-2022 16:50:54     4       0         0.0021377         2.3347e+05              0.96147            -8.0232e-09       5153.7          1.7292             -3.1181           2.3566    -8.9645e-05     7.276e-12    2235
        08-Nov-2022 16:50:54     5       0         0.0059276         2.3347e+05               0.9632             -7.726e-09       5153.5         0.60365              1.1404           2.9734    -0.00010395             0    2235
        08-Nov-2022 16:50:54     6       0         0.0026011         2.3347e+05              0.98847            -7.5317e-09       5153.5        -0.39246            -0.91841            0.726     0.00051308    1.0914e-11    2235
        08-Nov-2022 16:50:54     7       0          0.016459         2.3347e+05              0.95087            -7.7375e-09       5153.6          2.7459             -2.2384         -0.16947     0.00028992    -3.638e-12    2235
        08-Nov-2022 16:50:54     8       0         0.0077338         2.3347e+05              0.96113            -8.3432e-09       5153.6         -1.4706             0.16515           2.7185    -9.2506e-05    -3.638e-12    2235
        08-Nov-2022 16:50:54     9       0         0.0026331         2.3347e+05              0.95461            -8.1032e-09       5153.7          1.6741              1.9245           3.0836     -0.0002718     7.276e-12    2235
        08-Nov-2022 16:50:54    10       0         0.0081372         2.3347e+05              0.97593            -7.5546e-09       5153.6         0.64487             -2.5026           -1.554    -1.1444e-05             0    2235
        08-Nov-2022 16:50:54    11       0        0.00080109         2.3347e+05               0.9645             -7.726e-09       5153.6        -0.34663             -2.9148            2.172    -3.7193e-05    -7.276e-12    2235
        08-Nov-2022 16:50:54    12       0         0.0085993         2.3347e+05              0.96761             -7.886e-09       5153.7         -2.4237              1.3193         -0.90595    -0.00030231    -3.638e-12    2235
        08-Nov-2022 16:50:54    13       0         0.0066509         2.3347e+05              0.96872            -7.9432e-09       5153.6          1.8313             0.95082           2.2082     0.00042057     7.276e-12    2235
        08-Nov-2022 16:50:54    14       0         0.0023918         2.3347e+05              0.95102            -8.0003e-09       5153.6         -2.4592             -3.0426          -0.9278    -8.5831e-05     3.638e-12    2235
        08-Nov-2022 16:50:54    15       0          0.014719         2.3347e+05               0.9307            -8.3661e-09       5153.6          1.5609               1.157           1.7184    -1.4305e-05     3.638e-12    2235
        08-Nov-2022 16:50:54    16       0          0.012957         2.3347e+05               0.9674            -7.9089e-09       5153.7         -2.4053             0.73788          -2.6905    -0.00052643             0    2235
          ⋮
    
    

    Extraiga los datos QZSS del cronograma según los PRN QZSS válidos entre 193 y 202.

    QZSSData = dataQG((dataQG.PRN >= 193 & dataQG.PRN <= 202),:)
    QZSSData=4×13 timetable
                Time            PRN    Health    Eccentricity    TimeOfApplicability    OrbitalInclination    RateOfRightAscen    SQRTA     RightAscenAtWeek    ArgumentOfPerigee    MeanAnom        Af0        Af1    Week
        ____________________    ___    ______    ____________    ___________________    __________________    ________________    ______    ________________    _________________    ________    ___________    ___    ____
    
        08-Nov-2022 08:53:02    194      0          0.076374          2.048e+05               0.72544            -2.343e-09       6492.9         -2.4966             -1.5847           2.5734              0     0     2235
        08-Nov-2022 08:53:02    195      0          0.074928          2.048e+05               0.71092           -2.3772e-09       6493.5        -0.78221             -1.5662           0.8499    -3.8147e-06     0     2235
        08-Nov-2022 08:53:02    196      0          0.074762          2.048e+05               0.60598            -3.383e-09       6493.2         0.94933              -1.559         -0.93973     0.00011253     0     2235
        08-Nov-2022 08:53:02    199      0        0.00022411          2.048e+05             0.0011924            1.0286e-09       6493.4          3.1171             0.38448           1.0834              0     0     2235
    
    

    Lea los datos de los mensajes de navegación GPS de un archivo de almanaque de YUMA.

    gpsData = yumaread("yumaAlmanac_2022-9-27.alm");

    Utilice la marca de tiempo GPS inicial de los datos del almanaque para determinar los tiempos GPS absolutos para cada paso de tiempo de 60 segundos a lo largo de 12 horas.

    startTime = gpsData.Time(1);
    numHours = 12;
    secondsPerHour = 3600;
    dt = 60;
    timeElapsed = 0:dt:(numHours*secondsPerHour);
    t = startTime + seconds(timeElapsed);

    Especifique una posición del receptor GNSS en coordenadas geodésicas (latitud, longitud y altitud).

    recPos = [42 -71 50]; % Natick, MA

    Obtenga los ángulos de visión de azimut y elevación para las posiciones de todos los satélites para la posición del receptor especificada.

    numSats = numel(gpsData.PRN); % Number of satellites
    [allAz,allEl] = deal(NaN(numel(t),numSats));
    for i = 1:numel(t)
        [satPos,~,satID] = gnssconstellation(t(i),gpsData,GNSSFileType="YUMA");
        [az,el,vis] = lookangles(recPos,satPos);
        allAz(i,:) = az;
        allEl(i,:) = el;
    end

    Marque todos los satélites debajo del horizonte como NaN para que no haya visibilidad.

    allEl(allEl < 0) = NaN;

    Visualiza las trayectorias de los satélites.

    figure
    skyplot(allAz,allEl,satID)

    Figure contains an object of type skyplot.

    Animar las trayectorias de los satélites.

    figure
    sp = skyplot(allAz(1,:),allEl(1,:),satID);
    for i = 1:size(allAz,1)
        set(sp,AzimuthData=allAz(1:i,:),ElevationData=allEl(1:i,:))
        drawnow
    end

    Figure contains an object of type skyplot.

    Argumentos de entrada

    contraer todo

    Nombre de archivo del almanaque YUMA, especificado como una cadena escalar o vector de caracteres. Puede especificar una ruta relativa o absoluta, pero si especifica solo el nombre del archivo, la función guarda el archivo en el directorio de trabajo actual. El nombre del archivo también puede incluir una extensión de archivo.

    Ejemplo: "yumaAlmanac_2022-4-20.alm"

    Ejemplo: "mydir/yumaAlmanac_2022-4-20.alm"

    Ejemplo: "C:/mydir/yumaAlmanac_2022-4-20.alm"

    Tipos de datos: char | string

    Fecha de referencia, especificada como una de estas cadenas válidas datetime que coinciden con las fechas de transferencia del número de semana GPS:

    • "06-Jan-1980"

    • "21-Aug-1999"

    • "06-Apr-2019"

    Estas fechas ocurren cada 1024 semanas, a partir del 6 de enero de 1980 a las 00:00 (UTC). El valor predeterminado es una cadena datetime que coincide con la fecha de transferencia del número de semana GPS más reciente antes del día actual.

    Ejemplo: GPSWeekEpoch="21-Aug-1999"

    Tipos de datos: char | string

    Argumentos de salida

    contraer todo

    Parámetros de cada satélite, devueltos como timetable con una fila para cada registro y una columna para cada parámetro en ese registro.

    ParámetroTipo de datosDescripción
    Timedatetime

    Tiempo GPS, calculado usando Week y TimeOfApplicability.

    PRNdouble

    Número de ruido pseudoaleatorio del satélite.

    Healthdouble

    Código de datos de salud del vehículo satelital.

    Eccentricitydouble

    Excentricidad de la órbita.

    TimeOfApplicabilitydouble

    Número de segundos desde el comienzo del número de semana GPS.

    OrbitalInclinationdouble

    Ángulo de inclinación en el momento de referencia, en radianes.

    RateOfRightAscendouble

    Tasa de cambio en la medición del ángulo de ascensión recta, en radianes por segundo.

    SQRTAdouble

    Raíz cuadrada del semieje mayor, en metros1/2.

    RightAscenAtWeekdouble

    Longitud geográfica del plano orbital en la época semanal, en radianes.

    ArgumentOfPerigeedouble

    Ángulo desde el ecuador hasta el perigeo, en radianes.

    MeanAnomdouble

    Ángulo desde la posición del satélite en su órbita con respecto al perigeo, en radianes.

    Af0double

    Término de corrección del reloj de orden cero del almanaque satelital, en segundos.

    Af1double

    Término de corrección del reloj de primer orden del almanaque satelital, en segundos por segundo.

    Weekdouble

    Número de semana GPS, continuo, no mod(1024).

    Sugerencias

    • Para descargar archivos de almanaque YUMA del sitio web NAVCEN para la fecha actual, debe especificar una fecha dos días antes de la fecha actual porque la hora de aplicabilidad del GPS es aproximadamente 70 horas más tarde que la hora de transmisión del conjunto de datos del almanaque. Consulte el ejemplo Leer datos de mensajes de navegación GPS del archivo de almanaque YUMA para obtener más detalles.

    Referencias

    [1] Science Applications International Corporation. NAVSTAR GPS Space Segment/Navigation User Interfaces. IS-GPS-200M. Los Angeles, CA: United States Space Force Space Systems Command, approved May 21, 2021. https://www.navcen.uscg.gov/sites/default/files/pdf/gps/IS_GPS_200M.pdf.

    [2] Science Applications International Corporation. NAVSTAR GPS Space Segment/Navigation User Interfaces. ICD-GPS-240D. Los Angeles, CA: United States Space Force Space Systems Command, approved May 21, 2021. https://www.navcen.uscg.gov/sites/default/files/pdf/gps/ICD_GPS_240D.pdf.

    [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] Quasi-Zenith Satellite System(QZSS). "Satellite Positioning, Navigation and Timing Service." Accessed September 20, 2022. https://qzss.go.jp/en/technical/download/pdf/ps-is-qzss/is-qzss-pnt-004.pdf.

    [5] 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.

    Historial de versiones

    Introducido en R2023a