Referencia de la estructura GnssMeasurement

Referencia de la estructura GnssMeasurement

#include < gps.h >

Campos de datos

size_t  tamaño
 
GnssMeasurementFlags   marcas
 
int16_t  svid
 
GnssConstellationType   constelación
 
doble  time_offset_ns
 
GnssMeasurementState   estado
 
int64_t  received_sv_time_in_ns
 
int64_t  received_sv_time_uncertainty_in_ns
 
doble  c_n0_dbhz
 
doble  pseudorange_rate_mps
 
doble  pseudorange_rate_uncertainty_mps
 
GnssAccumulatedDeltaRangeState   accumulated_delta_range_state
 
doble  accumulated_delta_range_m
 
doble  accumulated_delta_range_uncertainty_m
 
flotante  carrier_frequency_hz
 
int64_t  carrier_cycles
 
doble  carrier_phase
 
doble  carrier_phase_uncertainty
 
GnssMultipathIndicator   multipath_indicator
 
doble  snr_db
 

Descripción detallada

Representa una medición del GNSS y contiene información sin procesar y calculada.

Independencia: Toda la información de medición de la señal (p.ej., sv_time, pseudorange_rate, multipath_indicator) que se informa en esta estructura debe basarse solo en mediciones de la señal del GNSS. No puedes sintetizar mediciones calculando o informando mediciones esperadas en función de la posición, la velocidad o el tiempo conocidos o estimados.

Definición en la línea 1656 del archivo gps.h .

Documentación de campos

double accumulated_delta_range_m

Rango delta acumulado desde el último restablecimiento del canal en metros. Un valor positivo indica que la SV se aleja del receptor.

El signo del "rango delta acumulado" y su relación con el signo de la "fase de portadora" se da mediante la ecuación: rango delta acumulado = -k * fase de portadora (donde k es una constante).

Este valor se debe propagar si "estado de rango delta acumulado" != GPS_ADR_STATE_UNKNOWN. Sin embargo, se espera que los datos solo sean precisos cuando "estado del rango delta acumulado" == GPS_ADR_STATE_VALID.

Definición en la línea 1835 del archivo gps.h .

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

Es el estado del rango delta acumulado. Indica si se restablece la ADR o si hay un deslizamiento de ciclo (que indica pérdida de bloqueo).

Este es un valor obligatorio.

Definición en la línea 1821 del archivo gps.h .

double accumulated_delta_range_uncertainty_m

Incertidumbre de 1 sigma del rango delta acumulado en metros. Este valor se debe propagar si "estado de rango delta acumulado" != GPS_ADR_STATE_UNKNOWN.

Definición en la línea 1841 del archivo gps.h .

doble c_n0_dbhz

Densidad de portadora a ruido en dB-Hz, por lo general, en el rango [0, 63]. Contiene el valor de C/N0 medido para la señal en el puerto de la antena.

Este es un valor obligatorio.

Definición en la línea 1778 del archivo gps.h .

int64_t carrier_cycles

Es la cantidad de ciclos de portadora completa entre el satélite y el receptor. El campo "carrier_frequency_hz" proporciona la frecuencia de referencia. Las indicaciones de posibles deslizamientos de ciclo y restablecimientos en la acumulación de este valor se pueden inferir de las marcas de estado de acumulado_delta_range_state.

Si los datos están disponibles, "flags" debe contener GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.

Definición en la línea 1861 del archivo gps.h .

float carrier_frequency_hz

Es la frecuencia portadora a la que se modulan los códigos y los mensajes, puede ser L1 o L2. Si no se establece el campo, se supone que la frecuencia portadora es L1.

Si los datos están disponibles, "flags" debe contener GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.

Definición en la línea 1850 del archivo gps.h .

carrier_phase doble

Es la fase de RF que detecta el receptor, en el rango [0.0, 1.0]. Por lo general, es la parte fraccionaria de la medición completa de la fase portadora.

El campo "carrier_frequency_hz" proporciona la frecuencia de referencia. El valor contiene la "incertidumbre de fase de portadora".

Si los datos están disponibles, "flags" debe contener GNSS_MEASUREMENT_HAS_CARRIER_PHASE.

Definición en la línea 1873 del archivo gps.h .

carrier_phase_uncertainty doble

Incertidumbre de 1 sigma de la fase portadora. Si los datos están disponibles, "flags" debe contener GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY.

Definición en la línea 1880 del archivo gps.h .

Define la constelación del SV determinado. El valor debe ser una de las constantes GNSS_CONSTELLATION_*

Definición en la línea 1673 del archivo gps.h .

Es un conjunto de marcas que indican la validez de los campos en esta estructura de datos.

Definición en la línea 1661 del archivo gps.h .

GnssMultipathIndicator multipath_indicator

Es una enumeración que indica el estado "multipath" del evento.

El indicador de múltiples rutas de acceso está diseñado para informar la presencia de indicadores superpuestos que se manifiestan como picos de correlación distorsionados.

  • Si hay una forma de pico de correlación distorsionada, informa que la multiplicidad de rutas es GNSS_MULTIPATH_INDICATOR_PRESENT.
  • Si no hay una forma de pico de correlación distorsionada, informa GNSS_MULTIPATH_INDICATOR_NOT_PRESENT.
  • Si las señales son demasiado débiles para discernir esta información, informa GNSS_MULTIPATH_INDICATOR_UNKNOWN.

Ejemplo: Cuando se realiza la prueba de rendimiento de multiplicidad de señales superpuestas estandarizada (3GPP TS 34.171), el indicador de multiplicidad de señales debe informar GNSS_MULTIPATH_INDICATOR_PRESENT para los indicadores de seguimiento que contienen multiplicidad de señales y GNSS_MULTIPATH_INDICATOR_NOT_PRESENT para los indicadores de seguimiento que no contienen multiplicidad de señales.

Definición en la línea 1901 del archivo gps.h .

doble pseudorange_rate_mps

Es la velocidad de pseudorrango en la marca de tiempo, expresada en m/s. La corrección de un valor determinado de la velocidad de pseudorrango incluye correcciones para los errores de frecuencia del reloj del receptor y del satélite. Asegúrate de que este campo sea independiente (consulta el comentario en la parte superior de la estructura GnssMeasurement ).

Es obligatorio proporcionar la "tasa de pseudorango" "sin corregir" y también el campo "desplazamiento" de GpsClock . (Cuando proporciones la tasa de pseudorango sin corregir, no apliques las correcciones descritas anteriormente).

El valor incluye la "incertidumbre de la tasa de pseudorango". Un valor "no corregido" positivo indica que la SV se está alejando del receptor.

El signo de la “tasa de pseudorrango” “no corregida” y su relación con el signo del “desplazamiento Doppler” se da mediante la ecuación: tasa de pseudorrango = -k * desplazamiento Doppler (donde k es una constante).

Esta debería ser la tasa de pseudorango más precisa disponible, según las mediciones de señal nuevas de este canal.

Es obligatorio que este valor se proporcione con una calidad de PRR de fase portadora típica (unos pocos cm/s por segundo de incertidumbre o mejor) cuando las señales sean lo suficientemente fuertes y estables, p.ej., las señales de un simulador de GPS a más de 35 dB-Hz.

Definición en la línea 1805 del archivo gps.h .

doble pseudorange_rate_uncertainty_mps

Incertidumbre de 1 sigma de pseudorange_rate_mps. La incertidumbre se representa como un valor absoluto (unilateral).

Este es un valor obligatorio.

Definición en la línea 1813 del archivo gps.h .

int64_t received_sv_time_in_ns

La hora del día del GNSS recibida en el momento de la medición, en nanosegundos. Asegúrate de que este campo sea independiente (consulta el comentario en la parte superior de la estructura GnssMeasurement ).

Para GPS y QZSS, es la hora del día del GPS recibida en el momento de la medición, en nanosegundos. El valor es relativo al comienzo de la semana GPS actual.

Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser el siguiente: Búsqueda : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está establecido Sincronización de bits : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC está establecido Sincronización de tramas secundarias : [ 0 6 s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está establecido TOW decodificado : [ 0 1 semana ] : GNSS_MEASUREMENT_STATE_TOW_DECODED está establecido

Nota: Si hay alguna ambigüedad en el número entero de milisegundos, se debe establecer GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS según corresponda, en el campo "state".

Este valor se debe propagar si "state" != GNSS_MEASUREMENT_STATE_UNKNOWN.

Para Glonass, es la hora del día recibida de Glonass, en el momento de la medición, en nanosegundos.

Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser el siguiente: Búsqueda : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está establecido Sincronización de símbolos : [ 0 10 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está establecido Sincronización de bits : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC está establecido Sincronización de cadenas : [ 0 2 s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC está establecido Hora del día : [ 0 1 día ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED está establecido

Para Beidou, es la hora de la semana recibida de Beidou, en el momento de la medición en nanosegundos.

Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser el siguiente: Búsqueda : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK se establece Sincronización de bits (D2): [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC se establece Sincronización de bits (D1): [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC se establece Subtramas (D2): [ 0 0.6 s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC se establece Subtramas (D1): [ 0 6 s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC se establece Hora de la semana : [ 0 1 semana ] : GNSS_MEASUREMENT_STATE_TOW_DECODED se establece

Para Galileo, es la hora de la semana recibida de Galileo, en el momento de la medición, en nanosegundos.

Bloqueo de código E1BC : [ 0 4ms ] : Se establece GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK. Segundo bloqueo de código E1C: [ 0 100ms ] : Se establece GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK.

Página E1B : [ 0 2s ] : Se estableció GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC. Hora de la semana: [ 0 1week ] : Se estableció GNSS_MEASUREMENT_STATE_TOW_DECODED.

Para SBAS, es la hora de SBAS recibida en el momento de la medición en nanosegundos.

Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser el siguiente: Búsqueda : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK se establece Sincronización de símbolos : [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC se establece Mensaje : [ 0 1 s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC se establece

Definición en la línea 1763 del archivo gps.h .

int64_t received_sv_time_uncertainty_in_ns

Incertidumbre de 1 sigma de la hora de la semana recibida del GPS en nanosegundos.

Este valor se debe propagar si "state" != GPS_MEASUREMENT_STATE_UNKNOWN.

Definición en la línea 1770 del archivo gps.h .

tamaño de size_t

se establece en sizeof(GpsMeasurement).

Definición en la línea 1658 del archivo gps.h .

doble snr_db

Es la relación señal-ruido en la salida del correlador, expresada en dB. Si los datos están disponibles, "flags" debe contener GNSS_MEASUREMENT_HAS_SNR. Esta es la relación de potencia de la "altura del pico de correlación sobre el piso de ruido observado" a "la RMS de ruido".

Definición en la línea 1909 del archivo gps.h .

Estado de sincronización por satélite Representa el estado de sincronización actual del satélite asociado. Según el estado de sincronización, el campo "received GPS tow" se debe interpretar según corresponda.

Este es un valor obligatorio.

Definición en la línea 1694 del archivo gps.h .

int16_t svid

Número de ID del vehículo satelital, como se define en GnssSvInfo::svid . Este es un valor obligatorio.

Definición en la línea 1667 del archivo gps.h .

double time_offset_ns

Desfase de tiempo en el que se realizó la medición, expresado en nanosegundos. GpsData::clock::time_ns especifica la hora del receptor de referencia y se debe interpretar de la misma manera que se indica en GpsClock::type .

El signo de time_offset_ns se obtiene de la siguiente ecuación: tiempo de medición =  GpsClock::time_ns  + time_offset_ns.

Proporciona una marca de tiempo individual para la medición y permite una precisión de menos de nanosegundos. Este es un valor obligatorio.

Definición en la línea 1686 del archivo gps.h .


La documentación de esta struct se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ gps.h