semread
Descripción
Ejemplos
Descargue el archivo del almanaque SEM del sitio web NAVCEN y analícelo. Especifique la fecha para la cual se descargará el archivo.
d = datetime("today") - 2;
Crea la URL.
baseURL = "https://www.navcen.uscg.gov/sites/default/files/gps/almanac/"; almanacType = "/sem/"; almanacExtension = ".al3"; url = baseURL + d.Year + almanacType + day(d,"dayofyear") + ... almanacExtension;
Especifique el nombre del archivo.
filename = "semalmanac" + "_" + d.Year + "-" + ... d.Month + "-" + d.Day + ".al3";
Guarda el archivo.
websave(filename,url);
Obtenga los parámetros orbitales del archivo de almanaque SEM descargado.
[data,title] = semread(filename)
data=31×16 timetable
Time GPSWeekNumber GPSTimeOfApplicability PRNNumber SVN AverageURANumber Eccentricity InclinationOffset RateOfRightAscension SqrtOfSemiMajorAxis GeographicLongitudeOfOrbitalPlane ArgumentOfPerigee MeanAnomaly ZerothOrderClockCorrection FirstOrderClockCorrection SatelliteHealth SatelliteConfiguration
____________________ _____________ ______________________ _________ ___ ________________ ____________________ ____________________ _____________________ ___________________ _________________________________ __________________ __________________ __________________________ _________________________ _______________ ______________________
17-Jul-2022 17:03:42 2219 61440 1 63 0 0.0120391845703125 0.0144615173339844 -2.48837750405073e-09 5153.61865234375 0.51555073261261 0.297461271286011 0.881654858589172 0.000319480895996094 -7.27595761418343e-12 0 11
17-Jul-2022 17:03:42 2219 61440 2 61 1 0.0199451446533203 0.007476806640625 -2.53567122854292e-09 5154.81982421875 0.486109972000122 -0.446799159049988 0.925528883934021 -0.000651359558105469 0 0 9
17-Jul-2022 17:03:42 2219 61440 3 69 0 0.00439071655273438 0.0102882385253906 -2.56841303780675e-09 5153.53857421875 0.844612836837769 0.320030331611633 0.529847264289856 -0.000309944152832031 -1.09139364212751e-11 0 11
17-Jul-2022 17:03:42 2219 61440 4 74 0 0.00190067291259766 0.00612449645996094 -2.46654963120818e-09 5153.54736328125 -0.811291694641113 -0.953091979026794 -0.536049604415894 -0.00014495849609375 3.63797880709171e-12 0 12
17-Jul-2022 17:03:42 2219 61440 5 50 0 0.00610446929931641 0.00614738464355469 -2.61570676229894e-09 5153.70166015625 0.831113338470459 0.338927388191223 -0.287315726280212 -8.96453857421875e-05 0 0 10
17-Jul-2022 17:03:42 2219 61440 6 67 0 0.00243806838989258 0.0142459869384766 -2.48473952524364e-09 5153.71875 0.512914299964905 -0.275499105453491 0.955711841583252 0.00038909912109375 1.45519152283669e-11 0 11
17-Jul-2022 17:03:42 2219 61440 7 48 0 0.0163321495056152 0.00248146057128906 -2.53567122854292e-09 5153.59375 -0.487354755401611 -0.716959476470947 0.676499962806702 0.000318527221679688 0 0 10
17-Jul-2022 17:03:42 2219 61440 8 72 0 0.00738525390625 0.00658035278320312 -2.48110154643655e-09 5153.515625 0.170664310455322 0.0531282424926758 -0.420778274536133 -7.62939453125e-05 0 0 11
17-Jul-2022 17:03:42 2219 61440 9 68 0 0.00224971771240234 0.00393486022949219 -2.49565346166492e-09 5153.74755859375 -0.828534364700317 0.607595086097717 -0.25430428981781 -0.000318527221679688 3.63797880709171e-12 0 11
17-Jul-2022 17:03:42 2219 61440 10 73 0 0.00771760940551758 0.0102214813232422 -2.56841303780675e-09 5153.63232421875 0.843742370605469 -0.797283291816711 0.24565315246582 -0.000494956970214844 -1.45519152283669e-11 0 11
17-Jul-2022 17:03:42 2219 61440 11 78 0 0.000565528869628906 0.0065765380859375 -2.57205101661384e-09 5153.5556640625 0.528360724449158 0.913978695869446 -0.423171401023865 -1.04904174804688e-05 0 0 12
17-Jul-2022 17:03:42 2219 61440 12 58 0 0.00853252410888672 0.00836372375488281 -2.53567122854292e-09 5153.7099609375 -0.132869362831116 0.417471408843994 0.468230128288269 -0.000247955322265625 -7.27595761418343e-12 0 10
17-Jul-2022 17:03:42 2219 61440 13 43 0 0.00612878799438477 0.00843238830566406 -2.43380782194436e-09 5153.63427734375 -0.779114127159119 0.291950225830078 -0.548626184463501 0.000349998474121094 7.27595761418343e-12 0 9
17-Jul-2022 17:03:42 2219 61440 14 77 0 0.00212907791137695 0.0030670166015625 -2.58660293184221e-09 5153.5986328125 -0.143590927124023 -0.983529925346375 0.45069146156311 -0.000111579895019531 0 0 12
17-Jul-2022 17:03:42 2219 61440 15 55 0 0.0142536163330078 -0.00369071960449219 -2.57205101661384e-09 5153.53564453125 -0.863561153411865 0.352016925811768 -0.718587875366211 -4.48226928710938e-05 3.63797880709171e-12 0 10
17-Jul-2022 17:03:42 2219 61440 16 56 0 0.0127029418945312 0.00832366943359375 -2.53567122854292e-09 5153.6240234375 -0.126978635787964 0.232561111450195 -0.108456969261169 -0.000515937805175781 -3.63797880709171e-12 0 9
⋮
title = 'CURRENT.ALM'
Leer datos de mensajes de navegación GPS de un archivo de almanaque SEM.
gpsData = semread("semalmanac_2022-4-10.al3");
Obtenga las posiciones, velocidades e ID de los satélites en el primer paso.
t = gpsData.Time(1);
[satPos,satVel,satID] = gnssconstellation(t,gpsData,GNSSFileType="SEM");
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 de las posiciones de los satélites para la posición del receptor especificada. La salida isVis
indica qué satélites están visibles. Encuentra el número total de satélites visibles utilizando nnz
.
[az,el,isVis] = lookangles(recPos,satPos);
fprintf('%d satellites visible at %s.\n',nnz(isVis),t);
9 satellites visible at 12-Apr-2022 16:50:54.
Visualiza todos los satélites visibles.
skyplot(az(isVis),el(isVis),satID(isVis))
Leer datos de mensajes de navegación GPS de un archivo de almanaque SEM.
gpsData = semread("semalmanac_2022-4-10.al3");
Especifique la información de intervalos de tiempo relevante.
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 acimut y elevación para todas las posiciones de los satélites para la posición del receptor especificada.
numSats = numel(gpsData.PRNNumber); % Number of satellites [allAz,allEl] = deal(NaN(numel(t),numSats)); for i = 1:numel(t) [satPos,~,satID] = gnssconstellation(t(i),gpsData,GNSSFileType="SEM"); [az,el,vis] = lookangles(recPos,satPos); allAz(i,:) = az; allEl(i,:) = el; end
Marca todos los satélites debajo del horizonte como NaN
para no tener visibilidad.
allEl(allEl < 0) = NaN;
Visualiza las trayectorias de los satélites.
figure skyplot(allAz,allEl,satID)
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
Argumentos de entrada
Nombre de archivo de almanaque SEM, especificado como un escalar de cadena o un vector de caracteres. El nombre del archivo puede incluir una ruta absoluta, una ruta relativa o ninguna ruta. El nombre del archivo también puede incluir las extensiones del archivo.
Ejemplo: "semalmanac_2022-1-18.al3"
Ejemplo: "mydir/semalmanac_2022-1-18.al3"
Ejemplo: "C:/mydir/semalmanac_2022-1-18.al3"
Tipos de datos: char
| string
Fecha de referencia, especificada como una de estas cadenas datetime
válidas que coinciden con las fechas de transferencia del número de semana del 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 reemplazo del número de semana del GPS más reciente antes del día actual.
Ejemplo: GPSWeekEpoch="21-Aug-1999"
Tipos de datos: char
| string
Argumentos de salida
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. Para obtener más información sobre la definición de los parámetros del almanaque SEM, consulte la Tabla 40-II en ICD-GPS-240D [2].
Parámetros | Tipo de datos | Descripción |
---|---|---|
Time | datetime | Hora del reloj GPS, calculada utilizando |
GPSWeekNumber | double | Número de semana GPS, continuo, no |
GPSTimeOfApplicability | double | Número de segundos desde el inicio del número de semana GPS. |
PRNNumber | double | Número de ruido pseudoaleatorio del satélite. |
SVN | double | Número de referencia del vehículo espacial del satélite. |
AverageURANumber | double | Número URA promedio del satélite. |
Eccentricity | double | Excentricidad de la órbita. |
InclinationOffset | double | Ángulo de inclinación desplazado de 54 grados, en semicírculos. |
RateOfRightAscension | double | Tasa de cambio en la medida del ángulo de ascensión recta, en semicírculos por segundo. |
SqrtOfSemiMajorAxis | double | Raíz cuadrada del semieje mayor, en metros1/2. |
GeographicLongitudeOfOrbitalPlane | double | Longitud geográfica del plano orbital en la época semanal, en semicírculos. |
ArgumentOfPerigee | double | Ángulo desde el ecuador hasta el perigeo, en semicírculos. |
MeanAnomaly | double | Ángulo de posición del satélite en su órbita respecto al perigeo, en semicírculos. |
ZerothOrderClockCorrection | double | Término de corrección del reloj de orden cero del almanaque satelital, en segundos. |
FirstOrderClockCorrection | double | Término de corrección del reloj de primer orden del almanaque satelital, en segundos por segundo. |
SatelliteHealth | double | Código de datos de salud del vehículo satelital. |
SatelliteConfiguration | double | Código de configuración del vehículo satélite. |
Título del almanaque, devuelto como un vector de caracteres.
Sugerencias
Para descargar archivos de almanaque SEM del sitio web NAVCEN para la fecha actual, debe especificar una fecha 2 días antes de la fecha actual porque el tiempo de aplicabilidad del GPS es aproximadamente 70 horas posterior al tiempo de transmisión del conjunto de datos del almanaque. Consulte el ejemplo Leer datos de mensajes de navegación GPS del archivo SEM Almanac 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.
Historial de versiones
Introducido en R2022b
Consulte también
rinexread
| yumaread
| gnssconstellation
| skyplot
| lookangles
| websave
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)