GnssMeasurement Struct Reference

GnssMeasurement Struct Reference

#include < gps.h >

Datenfelder

Größe_t Größe
GnssMeasurementFlags Flaggen
int16_t svid
GnssConstellationType Konstellation
doppelt time_offset_ns
GnssMeasurementState Zustand
int64_t Received_sv_time_in_ns
int64_t Received_sv_time_uncertainty_in_ns
doppelt c_n0_dbhz
doppelt pseudorange_rate_mps
doppelt pseudorange_rate_uncertainty_mps
GnssAccumulatedDeltaRangeState akkumulierter_delta_range_state
doppelt akkumulierter_delta_bereich_m
doppelt akkumulierte_delta_range_uncertainty_m
schweben Trägerfrequenz_hz
int64_t Trägerzyklen
doppelt Trägerphase
doppelt Trägerphasenunsicherheit
GnssMultipathIndicator multipath_indicator
doppelt snr_db

detaillierte Beschreibung

Stellt eine GNSS-Messung dar und enthält Roh- und berechnete Informationen.

Unabhängigkeit – Alle Signalmessungsinformationen (z. B. sv_time, pseudorange_rate, multipath_indicator), die in dieser Struktur gemeldet werden, sollten nur auf GNSS-Signalmessungen basieren. Sie dürfen Messungen nicht synthetisieren, indem Sie erwartete Messungen basierend auf bekannter oder geschätzter Position, Geschwindigkeit oder Zeit berechnen oder melden.

Definition in Zeile 1656 der Datei gps.h .

Felddokumentation

doppelt kumulierter_delta_bereich_m

Kumulierter Delta-Bereich seit dem letzten Zurücksetzen des Kanals in Metern. Ein positiver Wert zeigt an, dass sich das SV vom Empfänger entfernt.

Das Vorzeichen des 'akkumulierten Delta-Bereichs' und seine Beziehung zum Vorzeichen der 'Trägerphase' wird durch die folgende Gleichung angegeben: akkumulierter Delta-Bereich = -k * Trägerphase (wobei k eine Konstante ist)

Dieser Wert muss ausgefüllt werden, wenn „kumulierter Delta-Bereichsstatus“ != GPS_ADR_STATE_UNKNOWN. Es wird jedoch erwartet, dass die Daten nur dann genau sind, wenn: 'kumulierter Deltabereichszustand' == GPS_ADR_STATE_VALID.

Definition in Zeile 1835 der Datei gps.h .

GnssAccumulatedDeltaRangeState akkumulierter_delta_range_state

Zustand des akkumulierten Deltabereichs. Es zeigt an, ob ADR zurückgesetzt wird oder ob ein Zyklusschlupf vorliegt (der den Verlust der Sperre anzeigt).

Dies ist ein obligatorischer Wert.

Definition in Zeile 1821 der Datei gps.h .

doppelt kumulierte_delta_range_uncertainty_m

1-Sigma-Unsicherheit des kumulierten Delta-Bereichs in Metern. Dieser Wert muss ausgefüllt werden, wenn „kumulierter Delta-Bereichsstatus“ != GPS_ADR_STATE_UNKNOWN.

Definition in Zeile 1841 der Datei gps.h .

doppelt c_n0_dbhz

Träger-Rauschdichte in dB-Hz, typischerweise im Bereich [0, 63]. Es enthält den gemessenen C/N0-Wert für das Signal am Antennenanschluss.

Dies ist ein obligatorischer Wert.

Definition in Zeile 1778 der Datei gps.h .

int64_t Trägerzyklen

Die Anzahl der vollen Trägerzyklen zwischen dem Satelliten und dem Empfänger. Die Referenzfrequenz wird durch das Feld 'carrier_frequency_hz' angegeben. Hinweise auf mögliche Zyklusschlüpfe und -rücksetzungen bei der Akkumulation dieses Werts können aus den Accumulated_delta_range_state-Flags abgeleitet werden.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_MEASUREMENT_HAS_CARRIER_CYCLES enthalten.

Definition in Zeile 1861 der Datei gps.h .

float Trägerfrequenz_hz

Trägerfrequenz, auf der Codes und Nachrichten moduliert werden, kann L1 oder L2 sein. Ist das Feld nicht gesetzt, wird als Trägerfrequenz L1 angenommen.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY enthalten.

Definition in Zeile 1850 der Datei gps.h .

doppelte Trägerphase

Die vom Empfänger erkannte HF-Phase im Bereich [0,0, 1,0]. Dies ist normalerweise der Bruchteil der gesamten Trägerphasenmessung.

Die Referenzfrequenz wird durch das Feld 'carrier_frequency_hz' angegeben. Der Wert enthält die „Trägerphasen-Unsicherheit“.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_MEASUREMENT_HAS_CARRIER_PHASE enthalten.

Definition in Zeile 1873 der Datei gps.h .

doppelte Trägerphasenunsicherheit

1-Sigma Unsicherheit der Trägerphase. Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY enthalten.

Definition in Zeile 1880 der Datei gps.h .

Definiert die Konstellation des gegebenen SV. Der Wert sollte eine dieser GNSS_CONSTELLATION_*-Konstanten sein

Definition in Zeile 1673 der Datei gps.h .

Eine Reihe von Flags, die die Gültigkeit der Felder in dieser Datenstruktur angeben.

Definition in Zeile 1661 der Datei gps.h .

GnssMultipathIndicator multipath_indicator

Eine Aufzählung, die den „Multipath“-Status des Ereignisses angibt.

Der Multipath-Indikator soll das Vorhandensein überlappender Signale melden, die sich als verzerrte Korrelationsspitzen manifestieren.

  • Wenn es eine verzerrte Korrelationsspitzenform gibt, melden Sie, dass Multipath GNSS_MULTIPATH_INDICATOR_PRESENT ist.
  • wenn es keine verzerrte Form des Korrelationspeaks gibt, melden Sie GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
  • Wenn die Signale zu schwach sind, um diese Informationen zu erkennen, melden Sie GNSS_MULTIPATH_INDICATOR_UNKNOWN

Beispiel: Bei der Durchführung des standardisierten überlappenden Multipath-Leistungstests (3GPP TS 34.171) sollte der Multipath-Indikator GNSS_MULTIPATH_INDICATOR_PRESENT für die Signale melden, die verfolgt werden und Multipath enthalten, und GNSS_MULTIPATH_INDICATOR_NOT_PRESENT für die Signale, die verfolgt werden und keine Multipath enthalten.

Definition in Zeile 1901 der Datei gps.h .

doppelt pseudorange_rate_mps

Pseudoorange-Rate zum Zeitstempel in m/s. Die Korrektur eines gegebenen Pseudoorange-Rate-Werts umfasst Korrekturen für Empfänger- und Satellitentaktfrequenzfehler. Stellen Sie sicher, dass dieses Feld unabhängig ist (siehe Kommentar oben in der GnssMeasurement- Struktur).

Es ist zwingend erforderlich, die „unkorrigierte“ „Pseudorange-Rate“ und auch das „Drift“-Feld von GpsClock bereitzustellen (Wenden Sie die oben beschriebenen Korrekturen nicht an, wenn Sie die unkorrigierte Pseudorange-Rate bereitstellen.)

Der Wert enthält die „Pseudoorange-Ratenunsicherheit“. Ein positiver „unkorrigierter“ Wert zeigt an, dass sich das SV vom Empfänger wegbewegt.

Das Vorzeichen der „unkorrigierten“ „Pseudoorange-Rate“ und ihr Verhältnis zum Vorzeichen der „Doppler-Verschiebung“ ergibt sich aus der folgenden Gleichung: Pseudorange-Rate = -k * Doppler-Verschiebung (wobei k eine Konstante ist)

Dies sollte die genaueste verfügbare Pseudoentfernungsrate sein, basierend auf frischen Signalmessungen von diesem Kanal.

Es ist zwingend erforderlich, dass dieser Wert in typischer Trägerphasen-PRR-Qualität (wenige cm/s pro Sekunde Unsicherheit oder besser) bereitgestellt wird – wenn Signale ausreichend stark und stabil sind, z. B. Signale von einem GPS-Simulator bei >= 35 dB-Hz.

Definition in Zeile 1805 der Datei gps.h .

doppelt pseudorange_rate_uncertainty_mps

1-Sigma-Unsicherheit der pseudorange_rate_mps. Die Unsicherheit wird als absoluter (einseitiger) Wert dargestellt.

Dies ist ein obligatorischer Wert.

Definition in Zeile 1813 der Datei gps.h .

int64_t Received_sv_time_in_ns

Die empfangene GNSS-Wochenzeit zur Messzeit in Nanosekunden. Stellen Sie sicher, dass dieses Feld unabhängig ist (siehe Kommentar oben in der GnssMeasurement- Struktur).

Für GPS & QZSS ist dies: Empfangene GPS-Wochenzeit zur Messzeit in Nanosekunden. Der Wert ist relativ zum Beginn der aktuellen GPS-Woche.

Angesichts des höchsten erreichbaren Synchronisationszustands pro Satellit kann der gültige Bereich für dieses Feld sein: Suche: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A-Code-Sperre : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK ist gesetzt Bit-Sync : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC ist gesetzt Subframe-Sync: [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC ist gesetzt TOW decodiert : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED ist gesetzt

Beachten Sie gut: Wenn es eine Mehrdeutigkeit in ganzzahligen Millisekunden gibt, sollte GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS im Feld „Status“ entsprechend eingestellt werden.

Dieser Wert muss ausgefüllt werden, wenn 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.

Für Glonass ist dies: Empfangene Glonass-Tageszeit zum Zeitpunkt der Messung in Nanosekunden.

Angesichts des höchsten erreichbaren Synchronisationszustands pro Satellit kann der gültige Bereich für dieses Feld sein: Suche: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A-Codesperre : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK ist eingestellt Symbolsynchronisation : [ 0 10 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC ist gesetzt Bit Sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC ist gesetzt String Sync : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC ist gesetzt Tageszeit : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED ist gesetzt

Für Beidou ist dies: Empfangene Beidou-Wochenzeit zur Messzeit in Nanosekunden.

Angesichts des höchsten erreichbaren Synchronisationszustands pro Satellit kann der gültige Bereich für dieses Feld sein: Suche: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A-Codesperre: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK ist gesetzt Bit-Sync (D2): [ 0 2ms]: GNSS_Measurement_State_BDS_D2_Bit_Sync ist eingestelltes Bitsynchronisation (D1): [0 20ms]: GNSS_Measurement_State_bit_Sync ist SET subframe (D2): [0 0.6s]: gnss.measurement_state_bDS_BDS_BDS_BDS_BDS_BDS_BDS_BDS_BDS_BDS_D2_SUBRAME: [0SUBNE_BDS_BDS_BDS_BDS_BDS_D2_SUBRAME: [D1): [0: [0). Woche : [ 0 1Woche ] : GNSS_MEASUREMENT_STATE_TOW_DECODED ist eingestellt

Für Galileo ist dies: Empfangene Galileo-Wochenzeit zum Zeitpunkt der Messung in Nanosekunden.

E1BC-Codesperre: [ 0 4 ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK ist gesetzt E1C 2. Codesperre: [ 0 100 ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK ist gesetzt

E1B-Seite: [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC ist eingestellt Wochenzeit: [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED ist eingestellt

Für SBAS ist dies: Empfangene SBAS-Zeit zum Zeitpunkt der Messung in Nanosekunden.

Angesichts des höchsten erreichbaren Synchronisationszustands pro Satellit kann der gültige Bereich für dieses Feld sein: Suchen: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A-Code-Sperre: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK ist eingestellt Symbolsynchronisation : [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC ist gesetzt Meldung : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC ist gesetzt

Definition in Zeile 1763 der Datei gps.h .

int64_t Received_sv_time_uncertainty_in_ns

1-Sigma-Unsicherheit der empfangenen GPS-Wochenzeit in Nanosekunden.

Dieser Wert muss ausgefüllt werden, wenn 'state' != GPS_MEASUREMENT_STATE_UNKNOWN.

Definition in Zeile 1770 der Datei gps.h .

size_t Größe

setze auf sizeof(GpsMeasurement)

Definition in Zeile 1658 der Datei gps.h .

doppelt snr_db

Signal-Rauschabstand am Korrelatorausgang in dB. Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_MEASUREMENT_HAS_SNR enthalten. Dies ist das Leistungsverhältnis der "Korrelationsspitzenhöhe über dem beobachteten Grundrauschen" zu "dem Effektivwert des Rauschens".

Definition in Zeile 1909 der Datei gps.h .

Pro Satelliten-Synchronisierungsstatus. Es stellt den aktuellen Synchronisationsstatus für den zugeordneten Satelliten dar. Basierend auf dem Synchronisationszustand sollte das Feld „Empfangenes GPS-Tow“ entsprechend interpretiert werden.

Dies ist ein obligatorischer Wert.

Definition in Zeile 1694 der Datei gps.h .

int16_t svid

ID-Nummer des Satellitenfahrzeugs, wie in GnssSvInfo::svid definiert Dies ist ein obligatorischer Wert.

Definition in Zeile 1667 der Datei gps.h .

double time_offset_ns

Zeitversatz, zu dem die Messung durchgeführt wurde, in Nanosekunden. Die Zeit des Referenzempfängers wird von GpsData::clock::time_ns angegeben und sollte genauso interpretiert werden wie von GpsClock::type angegeben.

Das Vorzeichen von time_offset_ns ergibt sich aus der folgenden Gleichung: Messzeit = GpsClock::time_ns + time_offset_ns

Es bietet einen individuellen Zeitstempel für die Messung und ermöglicht eine Genauigkeit im Subnanosekundenbereich. Dies ist ein obligatorischer Wert.

Definition in Zeile 1686 der Datei gps.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
  • hardware/libhardware/include/hardware/ gps.h