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 |
em dobro | time_offset_ns |
GnssMeasurementState | Estado |
int64_t | recebido_sv_time_in_ns |
int64_t | recebido_sv_time_uncertainty_in_ns |
em dobro | c_n0_dbhz |
em dobro | pseudorange_rate_mps |
em dobro | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | acumulado_delta_range_state |
em dobro | acumulado_delta_range_m |
em dobro | acumulado_delta_range_uncertainty_m |
flutuador | carrier_frequency_hz |
int64_t | Carrier_cycles |
em dobro | transportadora_fase |
em dobro | transportadora_fase_incerteza |
GnssMultipathIndicator | multipath_indicator |
em 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 na posição, velocidade ou tempo conhecidos ou estimados.
Documentação de campo
dobro 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 |
dobro acumulado_delta_range_uncertainty_m |
duplo c_n0_dbhz |
int64_t carrier_cycles |
O número de ciclos completos de 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 deslizamentos de ciclo e resets na acumulação deste valor podem ser inferidas a partir dos flags acumulados_delta_range_state.
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
float carrier_frequency_hz |
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 da portadora será considerada L1.
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.
portadora_fase dupla |
A fase de RF detectada pelo receptor, na faixa [0,0, 1,0]. Esta é geralmente a parte fracionária da medição completa da fase da portadora.
A frequência de referência é dada pelo campo 'carrier_frequency_hz'. O valor contém a 'incerteza da fase portadora' nele.
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
portadora dupla_phase_uncertainty |
GnssConstellationType constellation |
Sinalizadores de GnssMeasurementFlags |
GnssMultipathIndicator multipath_indicator |
Uma enumeração que indica o estado 'multipath' do evento.
O indicador de multicaminho destina-se a relatar a presença de sinais sobrepostos que se manifestam como picos de correlação distorcidos.
- se houver uma forma de pico de correlação distorcida, informe que o multipath é GNSS_MULTIPATH_INDICATOR_PRESENT.
- se não houver uma forma de pico de correlação distorcida, informe GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- se os sinais forem muito fracos para discernir esta informação, denuncie GNSS_MULTIPATH_INDICATOR_UNKNOWN
Exemplo: ao fazer o teste de desempenho de caminhos múltiplos sobrepostos padronizados (3GPP TS 34.171), o indicador de caminhos múltiplos deve relatar GNSS_MULTIPATH_INDICATOR_PRESENT para aqueles sinais que são rastreados e contêm multipath, e GNSS_MULTIPATH_INDICATOR_NOT_PRESENT para aqueles sinais que são rastreados e não contêm multipath.
duplo pseudorange_rate_mps |
Taxa de pseudorange no timestamp em m/s. A correção de um determinado valor de Taxa de Pseudorange 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 na parte superior da estrutura GnssMeasurement .)
É obrigatório fornecer a 'taxa de pseudorange' 'não corrigida' e fornecer também o campo 'drift' do GpsClock (Ao fornecer a taxa de pseudorange não corrigida, não aplique as correções descritas acima.)
O valor inclui a 'incerteza da taxa de pseudo-alcance' nele. Um valor 'não corrigido' positivo indica que o SV está se afastando do receptor.
O sinal da 'taxa de pseudodistância' não corrigida e sua relação com o sinal de 'deslocamento doppler' é dado pela equação: taxa de pseudodistância = -k * deslocamento doppler (onde k é uma constante)
Esta deve ser a taxa de pseudorange mais precisa disponível, com base em novas medições de sinal deste canal.
É obrigatório que este valor seja fornecido na qualidade PRR de fase de portadora típica (alguns cm/seg por segundo de incerteza, ou melhor) - quando os sinais são suficientemente fortes e estáveis, por exemplo, sinais de um simulador GPS em >= 35 dB-Hz.
duplo pseudorange_rate_uncertainty_mps |
int64_t recebido_sv_time_in_ns |
O GNSS Time-of-Week recebido no momento da medição, em nanossegundos. Certifique-se de que este campo seja independente (veja o comentário na parte superior da estrutura GnssMeasurement .)
Para GPS e QZSS, isto é: Tempo da semana do GPS recebido no momento da 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 alcance 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 subtrama : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está definido TOW decodificado : [ 0 1 semana ] : GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Observe bem: se houver alguma ambiguidade em milissegundos inteiros, 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 o Glonass, isto é: Hora do dia do Glonass 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 alcance 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 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_ : GNSS_MEASUREMENT_STATE_GLO_TOD_
Para Beidou, isto é: Recebido Beidou hora da semana, 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 alcance 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_MEASURENTO_STATE_BDS_D2_BIT_SYNC é definido Bit Sync (D1): [0 20MS]: GNSS_MEASURENTO_STATE_BIT_SYNC é definido Subframe (D2): [0 0.6S]: GNSS_MESURENTO_STATE_BS_D2_SBFRFFRFFRFFRFFRFFRFFRETFFRETS_METS_METS_METS_BROTS_D2_DFFRFFRFFRETFFR_METS_MEMS_METS_METS_BSEN_DFLE semana : [ 0 1 semana ] : GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Para o Galileo, isto é: Horário Galileo recebido da semana, no tempo de medição em nanossegundos.
Bloqueio de código E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK está definido E1C 2º bloqueio de código: [ 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 Hora da semana: [ 0 1 semana ] : GNSS_MEASUREMENT_STATE_TOW_DECODED está definido
Para SBAS, isto é: 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 alcance 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 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 |
snr_db duplo |
Relação sinal-ruído na saída do correlacionador em dB. Se os dados estiverem disponíveis, 'sinalizações' devem conter GNSS_MEASUREMENT_HAS_SNR. Esta é a relação de potência da "altura do pico de correlação acima do nível de ruído observado" para "o ruído RMS".
Estado de GnssMeasurementState |
int16_t svid |
Número de identificação do veículo satélite, conforme definido em GnssSvInfo::svid Este é um valor obrigatório.
tempo duplo_offset_ns |
Deslocamento de tempo em que a medição foi feita em nanossegundos. A hora do receptor de referência é especificada por GpsData::clock::time_ns e deve ser interpretada 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 abaixo de nanossegundos. Este é um valor obrigatório.
A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ gps.h