GnssMeasurement-Strukturreferenz

GnssMeasurement-Strukturreferenz

#include < gps.h >

Datenfelder

size_t  size
 
GnssMeasurementFlags   Flags
 
int16_t  svid
 
GnssConstellationType   Konstellation
 
doppelt  time_offset_ns
 
GnssMeasurementState   state
 
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   accumulated_delta_range_state
 
doppelt  accumulated_delta_range_m
 
doppelt  accumulated_delta_range_uncertainty_m
 
float  carrier_frequency_hz
 
int64_t  carrier_cycles
 
doppelt  carrier_phase
 
doppelt  carrier_phase_uncertainty
 
GnssMultipathIndicator   multipath_indicator
 
doppelt  snr_db
 

Detaillierte Beschreibung

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

Unabhängigkeit: Alle in dieser Struktur gemeldeten Informationen zur Signalmessung (z.B. sv_time, pseudorange_rate, multipath_indicator) sollten nur auf GNSS-Signalmessungen beruhen. Sie dürfen keine Messwerte zusammenführen, indem Sie anhand bekannter oder geschätzter Position, Geschwindigkeit oder Zeit erwartete Messwerte berechnen oder erfassen.

Definition in Zeile 1656 der Datei gps.h .

Felddokumentation

double accumulated_delta_range_m

Der Deltabereich seit dem letzten Kanalrücksetzen in Metern. Ein positiver Wert gibt an, dass sich der SV vom Empfänger weg bewegt.

Das Vorzeichen des „akkumulierten Deltabereichs“ und sein Verhältnis zum Vorzeichen der „Trägerphase“ ergibt sich aus der Gleichung: Akkumulierter Deltabereich = −k * Trägerphase (k ist eine Konstante).

Dieser Wert muss angegeben werden, wenn „accumulated delta range state“ != GPS_ADR_STATE_UNKNOWN ist. Die Daten sind jedoch nur dann genau, wenn „accumulated delta range state“ == GPS_ADR_STATE_VALID ist.

Definition in Zeile 1835 der Datei gps.h .

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

Status des akkumulierten Deltabereichs. Gibt an, ob die ADR zurückgesetzt wurde oder es einen Zyklusversatz gibt (was auf einen Verlust der Blockierung hinweist).

Dies ist ein Pflichtfeld.

Definition in Zeile 1821 der Datei gps.h .

double accumulated_delta_range_uncertainty_m

1-Sigma-Unsicherheit des akkumulierten Deltabereichs in Metern. Dieser Wert muss angegeben werden, wenn „accumulated delta range state“ != GPS_ADR_STATE_UNKNOWN ist.

Definition in Zeile 1841 der Datei gps.h .

double c_n0_dbhz

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

Dies ist ein Pflichtfeld.

Definition in Zeile 1778 der Datei gps.h .

int64_t carrier_cycles

Die Anzahl der vollständigen Trägerzyklen zwischen dem Satelliten und dem Empfänger. Die Referenzfrequenz wird im Feld „carrier_frequency_hz“ angegeben. Hinweise auf mögliche Zyklusaussetzer und ‑rücksetzungen bei der Akkumulation dieses Werts können aus den Flags „accumulated_delta_range_state“ abgeleitet werden.

Wenn die Daten verfügbar sind, muss „flags“ GNSS_MEASUREMENT_HAS_CARRIER_CYCLES enthalten.

Definition in Zeile 1861 der Datei gps.h .

float carrier_frequency_hz

Trägerfrequenz, mit der Codes und Nachrichten moduliert werden. Kann L1 oder L2 sein. Wenn das Feld nicht festgelegt ist, wird davon ausgegangen, dass die Trägerfrequenz L1 ist.

Wenn die Daten verfügbar sind, muss „flags“ GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY enthalten.

Definition in Zeile 1850 der Datei gps.h .

double carrier_phase

Die vom Empfänger erkannte RF-Phase im Bereich [0.0, 1.0]. Dies ist in der Regel der Bruchteil der vollständigen Trägerphasenmessung.

Die Referenzfrequenz wird im Feld „carrier_frequency_hz“ angegeben. Der Wert enthält die Unsicherheit der Trägerphase.

Wenn die Daten verfügbar sind, muss „flags“ GNSS_MEASUREMENT_HAS_CARRIER_PHASE enthalten.

Definition in Zeile 1873 der Datei gps.h .

double carrier_phase_uncertainty

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

Definition in Zeile 1880 der Datei gps.h .

Definiert die Konstellation des angegebenen SV. Der Wert muss eine der 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 Status „Multipath“ des Ereignisses angibt.

Der Multipath-Indikator soll das Vorhandensein überlappender Signale melden, die sich in verzerrten Korrelationsspitzen äußern.

  • Wenn die Form des Korrelationsgipfels verzerrt ist, melden Sie, dass Multipath GNSS_MULTIPATH_INDICATOR_PRESENT ist.
  • Wenn die Form des Korrelationsgipfels nicht verzerrt ist, melden Sie GNSS_MULTIPATH_INDICATOR_NOT_PRESENT.
  • Wenn die Signale zu schwach sind, um diese Informationen zu ermitteln, melden Sie GNSS_MULTIPATH_INDICATOR_UNKNOWN.

Beispiel: Beim standardisierten überlappenden Multipath-Leistungstest (3GPP TS 34.171) sollte der Multipath-Indikator GNSS_MULTIPATH_INDICATOR_PRESENT für Signale melden, die gefolgt werden und Multipath enthalten, und GNSS_MULTIPATH_INDICATOR_NOT_PRESENT für Signale, die gefolgt werden und kein Multipath enthalten.

Definition in Zeile 1901 der Datei gps.h .

double pseudorange_rate_mps

Pseudostreckenrate zum Zeitstempel in m/s. Die Korrektur eines bestimmten Pseudostreckenratenwerts umfasst Korrekturen für Fehler bei der Empfänger- und Satellitenuhrfrequenz. Dieses Feld muss unabhängig sein (siehe Kommentar oben in der Struktur GnssMeasurement ).

Sie müssen die „unkorrigierte Pseudostreckenrate“ und das Feld „Abweichung“ von GpsClock angeben. Wenden Sie beim Angeben der unkorrigierten Pseudostreckenrate die oben beschriebenen Korrekturen nicht an.

Der Wert enthält die „Pseudostreckenratenunsicherheit“. Ein positiver Wert für „unkorrigiert“ gibt an, dass sich der SV vom Empfänger weg bewegt.

Das Vorzeichen der „nicht korrigierten“ Pseudostreckenrate und ihr Verhältnis zum Vorzeichen der Dopplerverschiebung ergibt sich aus der Gleichung: Pseudostreckenrate = −k * Dopplerverschiebung (k ist eine Konstante).

Dies sollte die genaueste Pseudostreckenrate sein, die auf aktuellen Signalmessungen dieses Kanals basiert.

Dieser Wert muss bei typischer PRR-Qualität der Trägerphase (wenige cm/s pro Sekunde Unsicherheit oder besser) angegeben werden, wenn die Signale ausreichend stark und stabil sind, z.B. Signale von einem GPS-Simulator mit mindestens 35 dB-Hz.

Definition in Zeile 1805 der Datei gps.h .

double pseudorange_rate_uncertainty_mps

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

Dies ist ein Pflichtfeld.

Definition in Zeile 1813 der Datei gps.h .

int64_t received_sv_time_in_ns

Die empfangene GNSS-Wochenzeit zum Zeitpunkt der Messung, in Nanosekunden. Dieses Feld muss unabhängig sein (siehe Kommentar oben in der Struktur GnssMeasurement ).

Für GPS und QZSS: Empfangene GPS-Wochenzeit zum Zeitpunkt der Messung in Nanosekunden. Der Wert bezieht sich auf den Beginn der aktuellen GPS-Woche.

Der gültige Bereich für dieses Feld kann je nach Satellit der höchste erreichbare Synchronisierungsstatus sein:

Hinweis: Wenn es Unklarheiten bei Ganzzahl-Millisekunden gibt, sollte im Feld „state“ entsprechend GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS festgelegt werden.

Dieser Wert muss angegeben werden, wenn „state“ != GNSS_MEASUREMENT_STATE_UNKNOWN ist.

Für Glonass ist das: Empfangene Glonass-Uhrzeit zum Zeitpunkt der Messung in Nanosekunden.

Der gültige Bereich für dieses Feld kann je nach Satellit und dem höchsten erreichbaren Synchronisierungsstatus so aussehen:

Bei Beidou ist das: Empfangene Beidou-Wochenzeit zur Messzeit in Nanosekunden.

Unter Berücksichtigung des höchsten Synchronisierungsstatus, der für jeden Satelliten erreicht werden kann, ist der gültige Bereich für dieses Feld:

Für Galileo ist das Folgende zu beachten: Die empfangene Galileo-Wochenzeit zum Zeitpunkt der Messung in Nanosekunden.

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

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

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

Der gültige Bereich für dieses Feld kann für jeden Satelliten unter Berücksichtigung des höchsten erreichbaren Synchronisierungsstatus so aussehen:

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 angegeben werden, wenn „state“ != GPS_MEASUREMENT_STATE_UNKNOWN ist.

Definition in Zeile 1770 der Datei gps.h .

size_t-Größe

auf „sizeof(GpsMeasurement)“ festgelegt

Definition in Zeile 1658 der Datei gps.h .

double snr_db

Signal-Rausch-Verhältnis an der Korrelatorausgabe in dB. Wenn die Daten verfügbar sind, muss „flags“ GNSS_MEASUREMENT_HAS_SNR enthalten. Das ist das Leistungsverhältnis zwischen der „Höhe des Korrelationsgipfels über dem beobachteten Rauschboden“ und dem „RMS-Rauschwert“.

Definition in Zeile 1909 der Datei gps.h .

Synchronisierungsstatus pro Satellit. Er gibt den aktuellen Synchronisierungsstatus des zugehörigen Satelliten an. Je nach Synchronisierungsstatus sollte das Feld „received GPS tow“ entsprechend interpretiert werden.

Dies ist ein Pflichtfeld.

Definition in Zeile 1694 der Datei gps.h .

int16_t svid

Die Satelliten-Fahrzeug-ID, wie in GnssSvInfo::svid definiert. Dies ist ein Pflichtwert.

Definition in Zeile 1667 der Datei gps.h .

double time_offset_ns

Zeitoffset, zu dem die Messung durchgeführt wurde, in Nanosekunden. Die Zeit des Referenzempfängers wird durch GpsData::clock::time_ns angegeben und sollte auf die gleiche Weise interpretiert werden wie in GpsClock::type angegeben.

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

Er liefert einen individuellen Zeitstempel für die Messung und ermöglicht eine Genauigkeit im Nanosekundenbereich. Dies ist ein Pflichtfeld.

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