Odniesienie do struktury GnssMeasurement
#include < gps.h >
Pola danych | |
rozmiar_t | rozmiar |
Flagi pomiaru GNSS | flagi |
int16_t | svid |
Typ konstelacji GNSS | Konstelacja |
podwójnie | time_offset_ns |
Stan pomiaru GNSS | państwo |
int64_t | Received_sv_time_in_ns |
int64_t | receive_sv_time_uncertainty_in_ns |
podwójnie | c_n0_dbhz |
podwójnie | pseudorange_rate_mps |
podwójnie | pseudorange_rate_uncertainty_mps |
GnssAkumulowana deltaRangeState | skumulowany_stan_zakresu_delta |
podwójnie | skumulowany_delta_zakres_m |
podwójnie | skumulowane_delta_range_uncertainty_m |
platforma | częstotliwość_nośna_hz |
int64_t | cykle_nośnika |
podwójnie | faza_nośna |
podwójnie | carrier_phase_uncertainty |
Wskaźnik GnssMultipath | wielościeżkowy_wskaźnik |
podwójnie | snr_db |
szczegółowy opis
Reprezentuje pomiar GNSS, zawiera surowe i obliczone informacje.
Niezależność — Wszystkie informacje dotyczące pomiaru sygnału (np. sv_time, pseudorange_rate, multipath_indicator) raportowane w tej strukturze powinny opierać się wyłącznie na pomiarach sygnału GNSS. Nie możesz dokonywać syntezy pomiarów poprzez obliczanie lub raportowanie oczekiwanych pomiarów na podstawie znanej lub szacowanej pozycji, prędkości lub czasu.
Dokumentacja terenowa
podwójna skumulowana_delta_zakres_m |
Skumulowany zakres delta od ostatniego resetu kanału w metrach. Wartość dodatnia wskazuje, że SV oddala się od odbiornika.
Znak „zasięgu skumulowanego delta” i jego związek ze znakiem „fazy nośnej” jest określony równaniem: skumulowany zakres delta = -k * faza nośna (gdzie k jest stałą)
Ta wartość musi być wypełniona, jeśli „zakumulowany stan zakresu delta” != GPS_ADR_STATE_UNKNOWN. Oczekuje się jednak, że dane są dokładne tylko wtedy, gdy: 'zakumulowany stan zakresu delta' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState skumulowana_delta_stan_zakresu |
podwójne skumulowane_delta_range_uncertainty_m |
podwójne c_n0_dbhz |
int64_t cykle_nośnika |
Liczba pełnych cykli nośnych między satelitą a odbiornikiem. Częstotliwość odniesienia określa pole „carrier_frequency_hz”. Wskazania możliwych poślizgów cykli i resetów podczas akumulacji tej wartości można wywnioskować z flag stanów skumulowanego_delta_stanu.
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
pływak carrier_frequency_hz |
podwójna faza_nośna |
Faza RF wykryta przez odbiornik w zakresie [0.0, 1.0]. Jest to zwykle ułamkowa część pełnego pomiaru fazy nośnej.
Częstotliwość odniesienia określa pole „carrier_frequency_hz”. Wartość zawiera w sobie „niepewność fazy nośnej”.
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
podwójny przewoźnik_faza_niepewność |
Konstelacja GnssConstellationType |
GnssMeasurementFlags flagi |
GnssMultipathIndicator multipath_indicator |
Wyliczenie, które wskazuje stan „wielościeżkowy” zdarzenia.
Wskaźnik wielościeżkowy ma informować o obecności nakładających się sygnałów, które manifestują się jako zniekształcone piki korelacji.
- jeśli istnieje zniekształcony kształt piku korelacji, zgłoś, że wielościeżkowy jest GNSS_MULTIPATH_INDICATOR_PRESENT.
- jeśli nie ma zniekształconego kształtu piku korelacji, zgłoś GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- jeśli sygnały są zbyt słabe, aby rozpoznać te informacje, zgłoś GNSS_MULTIPATH_INDICATOR_UNKNOWN
Przykład: podczas wykonywania znormalizowanego testu wydajności wielościeżkowego nakładania się (3GPP TS 34.171) wskaźnik wielościeżkowy powinien raportować GNSS_MULTIPATH_INDICATOR_PRESENT dla sygnałów, które są śledzone i zawierają sygnały wielościeżkowe, oraz GNSS_MULTIPATH_INDICATOR_NOT_PRESENT dla sygnałów, które są śledzone i nie zawierają sygnałów wielościeżkowych.
podwójna pseudorange_rate_mps |
Szybkość pseudozakresu w sygnaturze czasowej w m/s. Korekta danej wartości Pseudorange Rate obejmuje poprawki błędów częstotliwości zegara odbiornika i satelity. Upewnij się, że to pole jest niezależne (patrz komentarz u góry struktury GnssMeasurement ).
Obowiązkowe jest podanie „nieskorygowanej” „współczynnika pseudoodległości” oraz pola „dryft” GpsClock (w przypadku podawania nieskorygowanej częstości pseudoodległości nie należy stosować poprawek opisanych powyżej).
Wartość zawiera w sobie „niepewność wskaźnika pseudozakresu”. Dodatnia „nieskorygowana” wartość wskazuje, że SV oddala się od odbiornika.
Znak „nieskorygowanego” „wskaźnika pseudoodległości” i jego związek ze znakiem „przesunięcie dopplerowskie” jest wyrażony równaniem: częstość pseudoodległości = -k * przesunięcie dopplerowskie (gdzie k jest stałą)
Powinna to być najdokładniejsza dostępna częstotliwość pseudoodległości, oparta na pomiarach świeżego sygnału z tego kanału.
Jest obowiązkowe, aby ta wartość była podana przy typowej jakości PRR fazy nośnej (kilka cm/sek na sekundę niepewności lub lepsza) - gdy sygnały są wystarczająco silne i stabilne, np. sygnały z symulatora GPS przy >= 35 dB-Hz.
podwójny pseudorange_rate_uncertainty_mps |
int64_t otrzymał_sv_time_in_ns |
Otrzymany czas tygodnia GNSS w czasie pomiaru, w nanosekundach. Upewnij się, że to pole jest niezależne (patrz komentarz u góry struktury GnssMeasurement ).
W przypadku GPS i QZSS jest to: Odebrany czas tygodnia GPS w czasie pomiaru, w nanosekundach. Wartość odnosi się do początku bieżącego tygodnia GPS.
Biorąc pod uwagę najwyższy stan synchronizacji, jaki można osiągnąć dla każdego satelity, prawidłowy zakres dla tego pola może być następujący: Wyszukiwanie: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Blokada kodem C/A: [0 1ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK jest ustawiony Synchronizacja bitowa: [0 20ms] : GNSS_MEASUREMENT_STATE_BIT_SYNC ustawione
Uwaga: jeśli istnieje jakakolwiek niejednoznaczność w wartościach całkowitych w milisekundach, należy odpowiednio ustawić GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS w polu „stan”.
Ta wartość musi być wypełniona, jeśli „stan” != GNSS_MEASUREMENT_STATE_UNKNOWN.
W przypadku Glonass jest to: Odebrano godzinę Glonass w czasie pomiaru w nanosekundach.
Biorąc pod uwagę najwyższy stan synchronizacji, jaki można osiągnąć, dla każdego satelity, prawidłowy zakres dla tego pola może być następujący: Wyszukiwanie : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Blokada kodem C/A : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK jest ustawiona Synchronizacja symbolu : [ 0 10 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC jest ustawiony Synchronizacja bitów : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC jest ustawiony Synchronizacja łańcucha : [ 0 2 s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC jest ustawiony Czas dnia to : _ DEEASUREMENT_TOD
W przypadku Beidou jest to: Odebrany czas Beidou w tygodniu, w czasie pomiaru w nanosekundach.
Biorąc pod uwagę najwyższy stan synchronizacji, jaki można osiągnąć, dla każdego satelity, prawidłowy zakres dla tego pola może być następujący: Wyszukiwanie : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Blokada kodowa C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK jest ustawiona Synchronizacja bitowa (D2): [ 0 2ms] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC jest ustawione Synchronizacja bitów (D1): [0 20ms] : GNSS_MEASUREMENT_STATE_BIT_SYNC jest ustawione Czas podramka (D2): [0 0.6s ] : GNSS_MEASUREMENT_STATE_FRAME_FRAME jest ustawione tydzień : [ 0 1 tydzień ] : GNSS_MEASUREMENT_STATE_TOW_DECODED jest ustawiony
W przypadku Galileo jest to: Odebrany czas Galileo w tygodniu, w czasie pomiaru w nanosekundach.
E1BC zamek szyfrowy : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK jest ustawiony E1C 2-gi zamek szyfrowy : [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK jest ustawiony
Strona E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC jest ustawiona Pora tygodnia: [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED jest ustawiona
W przypadku SBAS jest to: Odebrany czas SBAS w czasie pomiaru w nanosekundach.
Biorąc pod uwagę najwyższy stan synchronizacji, jaki można osiągnąć, dla każdego satelity, prawidłowy zakres dla tego pola może być następujący: Wyszukiwanie : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Blokada kodem C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK jest ustawiona Synchronizacja symbolu : [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC jest ustawiony Komunikat : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC jest ustawiony
int64_t odebrano_sv_time_niepewność_w_ns |
podwójny snr_db |
GnssMeasurementState state |
int16_t svid |
Numer identyfikacyjny pojazdu satelitarnego, zgodnie z definicją w GnssSvInfo::svid Jest to wartość obowiązkowa.
podwójne przesunięcie czasowe_ns |
Przesunięcie czasu, w którym wykonano pomiar w nanosekundach. Czas odbiornika referencyjnego jest określony przez GpsData::clock::time_ns i powinien być interpretowany w taki sam sposób, jak wskazuje GpsClock::type .
Znak time_offset_ns jest określony następującym równaniem: czas pomiaru = GpsClock::time_ns + time_offset_ns
Zapewnia indywidualny znacznik czasu dla pomiaru i zapewnia dokładność poniżej nanosekundy. To jest wartość obowiązkowa.
Dokumentacja dla tej struktury została wygenerowana z następującego pliku:
- sprzęt/libhardware/include/hardware/ gps.h