Referência de estrutura GnssMeasurement
#include < gps.h >
Campos de dados | |
tamanho_t | tamanho |
Sinalizadores de medição Gnss | bandeiras |
int16_t | svid |
GnssConstellationType | constelação |
dobro | time_offset_ns |
Estado de Medição Gnss | estado |
int64_t | recebido_sv_time_in_ns |
int64_t | recebido_sv_time_uncertainty_in_ns |
dobro | c_n0_dbhz |
dobro | pseudorange_rate_mps |
dobro | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | estado_intervalo_delta_acumulado |
dobro | faixa_delta_acumulada_m |
dobro | faixa_delta_acumulada_incerteza_m |
flutuador | portador_frequência_hz |
int64_t | ciclos_transportadores |
dobro | fase_transportadora |
dobro | transportadora_fase_incerteza |
Indicador GnssMultipath | multipath_indicator |
dobro | snr_db |
Descrição detalhada
Representa uma medição GNSS, contém informações brutas e computadas.
Independência - Todas as informações de medição de sinal (por exemplo, sv_time, pseudorange_rate, multipath_indicator) relatadas nesta estrutura devem ser baseadas apenas em medições de sinal GNSS. Você não pode sintetizar medições calculando ou relatando medições esperadas com base em posição, velocidade ou tempo conhecidos ou estimados.
Documentação de campo
duplo acumulado_delta_range_m |
Faixa delta acumulada desde a última reinicialização do canal em metros. Um valor positivo indica que o SV está se afastando do receptor.
O sinal da 'faixa delta acumulada' e sua relação com o sinal da 'fase portadora' é dado pela equação: faixa delta acumulada = -k * fase portadora (onde k é uma constante)
Este valor deve ser preenchido se 'estado de intervalo delta acumulado' != GPS_ADR_STATE_UNKNOWN. No entanto, espera-se que os dados sejam precisos apenas quando: 'estado de alcance delta acumulado' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState acumulado_delta_range_state |
duplo acumulado_delta_range_uncertainty_m |
duplo c_n0_dbhz |
int64_t transportadora_ciclos |
O número de ciclos completos da portadora entre o satélite e o receptor. A frequência de referência é dada pelo campo ‘carrier_frequency_hz’. Indicações de possíveis deslizes e resets de ciclo no acúmulo deste valor podem ser inferidas a partir dos flags acumulado_delta_range_state.
Se os dados estiverem disponíveis, os 'flags' devem conter GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
flutuante portador_frequency_hz |
A frequência da portadora na qual os códigos e mensagens são modulados pode ser L1 ou L2. Se o campo não estiver definido, a frequência portadora será considerada L1.
Se os dados estiverem disponíveis, os 'flags' devem conter GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.
fase_portadora dupla |
A fase de RF detectada pelo receptor, no intervalo [0,0, 1,0]. Esta é geralmente a parte fracionária da medição completa da fase portadora.
A frequência de referência é dada pelo campo ‘carrier_frequency_hz’. O valor contém a 'incerteza da fase portadora'.
Se os dados estiverem disponíveis, os 'flags' devem conter GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
portadora_fase_incerteza dupla |
Constelação GnssConstellationType |
Sinalizadores GnssMeasurementFlags |
GnssMultipathIndicator multipath_indicator |
Uma enumeração que indica o estado 'multipath' do evento.
O indicador multipath tem como objetivo relatar a presença de sinais sobrepostos que se manifestam como picos de correlação distorcidos.
- se houver um formato de pico de correlação distorcido, informe que o multicaminho é GNSS_MULTIPATH_INDICATOR_PRESENT.
- se não houver um formato de pico de correlação distorcido, informe GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- se os sinais forem muito fracos para discernir esta informação, reporte GNSS_MULTIPATH_INDICATOR_UNKNOWN
Exemplo: ao fazer o teste padronizado de Desempenho de Multicaminho sobreposto (3GPP TS 34.171), o indicador Multicaminho deve reportar GNSS_MULTIPATH_INDICATOR_PRESENT para os sinais que são rastreados e contêm multicaminho, e GNSS_MULTIPATH_INDICATOR_NOT_PRESENT para os sinais que são rastreados e não contêm multicaminho.
duplo pseudorange_rate_mps |
Taxa de pseudo-faixa no carimbo de data/hora em m/s. A correção de um determinado valor de Pseudorange Rate inclui correções para erros de frequência do relógio do receptor e do satélite. Certifique-se de que este campo seja independente (veja o comentário no topo da estrutura GnssMeasurement ).
É obrigatório fornecer a 'taxa de pseudo-faixa' 'não corrigida' e fornecer também o campo 'desvio' de GpsClock (ao fornecer a taxa de pseudo-faixa não corrigida, não aplique as correções descritas acima).
O valor inclui a 'incerteza da taxa de pseudo-faixa'. Um valor positivo 'não corrigido' indica que o SV está se afastando do receptor.
O sinal da 'taxa de pseudorange' 'não corrigida' e sua relação com o sinal de 'deslocamento Doppler' é dado pela equação: taxa de pseudorange = -k * deslocamento Doppler (onde k é uma constante)
Esta deve ser a taxa de pseudofaixa mais precisa disponível, com base em medições de sinais recentes deste canal.
É obrigatório que este valor seja fornecido com qualidade PRR típica da fase portadora (alguns cm/s por segundo de incerteza, ou melhor) - quando os sinais são suficientemente fortes e estáveis, por exemplo, sinais de um simulador GPS a >= 35 dB-Hz.
duplo pseudorange_rate_uncertainty_mps |
int64_t recebido_sv_time_in_ns |
O horário da semana GNSS recebido no momento da medição, em nanossegundos. Certifique-se de que este campo seja independente (veja o comentário no topo da estrutura GnssMeasurement ).
Para GPS e QZSS, é: Hora da semana GPS recebida no horário de medição, em nanossegundos. O valor é relativo ao início da semana GPS atual.
Dado o estado de sincronização mais alto que pode ser alcançado, por cada satélite, o intervalo válido para este campo pode ser: Pesquisando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueio de código C/A: [0 1ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está definido Sincronização de bits: [0 20ms] : GNSS_MEASUREMENT_STATE_BIT_SYNC está definido Sincronização de subframe: [0 6s]: GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está definido TOW decodificado: [0 1week]: GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Observe bem: se houver alguma ambigüidade no número inteiro de milissegundos, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS deve ser definido de acordo, no campo 'state'.
Este valor deve ser preenchido se 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Para Glonass, é: Hora do dia Glonass recebida, no horário de medição em nanossegundos.
Dado o estado de sincronização mais alto que pode ser alcançado, por cada satélite, o intervalo válido para este campo pode ser: Pesquisando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Código de bloqueio C/A: [0 1ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está definido Sincronização de símbolo: [0 10ms] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está definido Sincronização de bits: [0 20ms]: GNSS_MEASUREMENT_STATE_BIT_SYNC está definido Sincronização de string: [0 2s]: GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC está definido Hora do dia: [0 1day]: GNSS_MEASUREMENT_STATE_GLO _TOD_DECODED está definido
Para o Beidou, é: Horário da semana do Beidou recebido, no tempo de medição em nanossegundos.
Dado o estado de sincronização mais alto que pode ser alcançado, por cada satélite, o intervalo válido para este campo pode ser: Pesquisando: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueio de código C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está definido Sincronização de bits (D2): [ 0 2ms]: GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC está definido Sincronização de bits (D1): [0 20ms]: GNSS_MEASUREMENT_STATE_BIT_SYNC está definido Subframe (D2): [0 0,6s]: GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC está definido Subframe (D1) ): [0 6s]: GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está definido Tempo de semana: [0 1 semana]: GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Para Galileo, isto é: Hora da semana Galileo recebida, no tempo de medição em nanossegundos.
Bloqueio de código E1BC: [0 4ms]: GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK está definido 2º bloqueio de código E1C: [0 100ms]: GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK está definido
Página E1B: [0 2s]: GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC está definido Horário da semana: [0 1week]: GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Para SBAS, é: Tempo SBAS recebido, no tempo de medição em nanossegundos.
Dado o estado de sincronização mais alto que pode ser alcançado, por cada satélite, o intervalo válido para este campo pode ser: Pesquisando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Código C/A de bloqueio: [0 1ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está definido Sincronização de símbolo: [0 2ms] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está definido Mensagem: [0 1s ]: GNSS_MEASUREMENT_STATE_SBAS_SYNC está definido
int64_t recebido_sv_time_uncertainty_in_ns |
duplo snr_db |
Relação sinal-ruído na saída do correlacionador em dB. Se os dados estiverem disponíveis, os 'flags' devem conter GNSS_MEASUREMENT_HAS_SNR. Esta é a relação de potência entre a "altura do pico de correlação acima do nível de ruído observado" e o "ruído RMS".
Estado GnssMeasurementState |
int16_t svid |
Número de identificação do veículo satélite, conforme definido em GnssSvInfo::svid Este é um valor obrigatório.
duplo time_offset_ns |
Deslocamento de tempo em que a medição foi feita em nanossegundos. O tempo do receptor de referência é especificado por GpsData::clock::time_ns e deve ser interpretado da mesma forma indicada por GpsClock::type .
O sinal de time_offset_ns é dado pela seguinte equação: tempo de medição = GpsClock::time_ns + time_offset_ns
Ele fornece um carimbo de data/hora individual para a medição e permite uma precisão inferior a nanossegundos. Este é um valor obrigatório.
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ gps.h