הפניה ל-struct של GnssMeasurement

הפניה ל-struct של GnssMeasurement

#include < gps.h >

שדות נתונים

size_t  size
 
GnssMeasurementFlags   דגלים
 
int16_t  svid
 
GnssConstellationType   קבוצת כוכבים
 
כפול  time_offset_ns
 
GnssMeasurementState   state
 
int64_t  received_sv_time_in_ns
 
int64_t  received_sv_time_uncertainty_in_ns
 
כפול  c_n0_dbhz
 
כפול  pseudorange_rate_mps
 
כפול  pseudorange_rate_uncertainty_mps
 
GnssAccumulatedDeltaRangeState   accumulated_delta_range_state
 
כפול  accumulated_delta_range_m
 
כפול  accumulated_delta_range_uncertainty_m
 
float  carrier_frequency_hz
 
int64_t  carrier_cycles
 
כפול  carrier_phase
 
כפול  carrier_phase_uncertainty
 
GnssMultipathIndicator   multipath_indicator
 
כפול  snr_db
 

תיאור מפורט

מייצג מדידה של GNSS, מכיל מידע גולמי ומחושב.

עצמאות – כל המידע על מדידת האות (למשל, sv_time,‏ pseudorange_rate,‏ multipath_indicator) שמדווח במבנה הזה צריך להתבסס על מדידות של אותות GNSS בלבד. אסור ליצור מדידות על ידי חישוב או דיווח על מדידות צפויות על סמך מיקום, מהירות או זמן ידועים או משוערים.

ההגדרה מופיעה בשורה 1656 בקובץ gps.h .

מסמכי תיעוד של שדה

double accumulated_delta_range_m

טווח הדלתה המצטבר מאז האיפוס האחרון של הערוץ, במטרים. ערך חיובי מציין שה-SV מתרחק מהמקלט.

הסימן של 'טווח הדלתה המצטבר' והקשר שלו לסימן של 'שלב התדר הנושא' נתונים בנוסחה: טווח הדלתה המצטבר = -k * שלב התדר הנושא (כאשר k הוא קבוע)

צריך לאכלס את הערך הזה אם 'accumulated delta range state' != GPS_ADR_STATE_UNKNOWN. עם זאת, הנתונים אמורים להיות מדויקים רק כאשר: 'accumulated delta range state' == GPS_ADR_STATE_VALID.

ההגדרה מופיעה בשורה 1835 בקובץ gps.h .

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

המצב של טווח הדלתא המצטבר. הוא מציין אם ה-ADR אופס או אם יש זליגה במחזור (הצבעה על אובדן הנעילה).

זהו ערך חובה.

ההגדרה מופיעה בשורה 1821 בקובץ gps.h .

double accumulated_delta_range_uncertainty_m

אי-ודאות של 1-Sigma של טווח הדלתה המצטבר במטרים. צריך לאכלס את הערך הזה אם 'accumulated delta range state' != GPS_ADR_STATE_UNKNOWN.

ההגדרה מופיעה בשורה 1841 בקובץ gps.h .

double c_n0_dbhz

צפיפות אות הנושא ליחס אות/רעש ב-dB-Hz, בדרך כלל בטווח [0, 63]. הוא מכיל את הערך שנמדד של C/N0 עבור האות ביציאת האנטנה.

זהו ערך חובה.

ההגדרה מופיעה בשורה 1778 בקובץ gps.h .

int64_t carrier_cycles

מספר מחזורי הגלן המלאים בין הלוויין לבין המקלט. תדירות העזר מצוינה בשדה 'carrier_frequency_hz'. אפשר להסיק סימנים לפספוסים ולאיפוסים אפשריים של מחזורים במצטבר של הערך הזה מהדגלים accumulated_delta_range_state.

אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.

ההגדרה מופיעה בשורה 1861 בקובץ gps.h .

float carrier_frequency_hz

תדר הגל המשדר שבו קודים והודעות מודודים. הוא יכול להיות L1 או L2. אם השדה לא מוגדר, ההנחה היא שתדר הנושא הוא L1.

אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.

ההגדרה מופיעה בשורה 1850 בקובץ gps.h .

double carrier_phase

פאזה של RF שזוהתה על ידי המקלט, בטווח [0.0, 1.0]. בדרך כלל, זהו החלק השברוני של המדידה המלאה של שלב הת carrier.

תדירות העזר מצוינה בשדה 'carrier_frequency_hz'. הערך מכיל את הערך 'carrier-phase uncertainty'.

אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_MEASUREMENT_HAS_CARRIER_PHASE.

ההגדרה מופיעה בשורה 1873 בקובץ gps.h .

double carrier_phase_uncertainty

אי-ודאות של 1-Sigma של שלב התדר הנושא. אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY.

ההגדרה מופיעה בשורה 1880 בקובץ gps.h .

GnssConstellationType קבוצת כוכבים

הגדרת קבוצת הכוכבים של SV נתון. הערך צריך להיות אחד מהקבועים GNSS_CONSTELLATION_*

ההגדרה מופיעה בשורה 1673 בקובץ gps.h .

קבוצת דגלים שמציינת את התקינות של השדות במבנה הנתונים הזה.

ההגדרה מופיעה בשורה 1661 בקובץ gps.h .

GnssMultipathIndicator multipath_indicator

ספירה שמציינת את המצב 'multipath' של האירוע.

האינדיקטור של נתיב מרובים נועד לדווח על נוכחות של אותות חופפים שמופיעים כפסגות קורלציה מעוותות.

  • אם יש צורת שיא קורלציה מעוותת, מדווחים שהנתיב המרוב הוא GNSS_MULTIPATH_INDICATOR_PRESENT.
  • אם אין צורה מעוותת של שיא מתאם, יש לדווח על GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
  • אם האותות חלשים מדי כדי להבחין במידע הזה, יש לדווח על GNSS_MULTIPATH_INDICATOR_UNKNOWN

דוגמה: כשמבצעים את בדיקת הביצועים הסטנדרטית של נתיב מרובים חופפים (3GPP TS 34.171), האינדיקטור של נתיב מרובים צריך לדווח על GNSS_MULTIPATH_INDICATOR_PRESENT עבור האותות שאחריהם מתבצע מעקב, וכוללים נתיב מרובים, ועל GNSS_MULTIPATH_INDICATOR_NOT_PRESENT עבור האותות שאחריהם מתבצע מעקב, ולא כוללים נתיב מרובים.

ההגדרה מופיעה בשורה 1901 בקובץ gps.h .

double pseudorange_rate_mps

קצב טווח הפסאודו בחותמת הזמן, ב-m/s. התיקון של ערך נתון של שיעור פסאודו-טווח כולל תיקונים לשגיאות בתדר של השעון של המקלט ושל הלוויין. חשוב לוודא שהשדה הזה עצמאי (ראו את ההערה בחלק העליון של המבנה GnssMeasurement ).

חובה לספק את 'קצב פסאודורנג' 'לא מתוקן', וגם את השדה 'סטייה' של GpsClock (כשמספקים את קצב הפסאודורנג הלא מתוקן, לא מחילים את התיקונים שמפורטים למעלה).

הערך כולל את 'pseudorange rate uncertainty'. ערך חיובי של 'לא מתוקן' מציין שה-SV מתרחק מהמקלט.

הסימן של 'שיעור טווח הדמיה לא מתוקן' והקשר שלו לסימן של 'שינוי דופלר' נתונים בנוסחה: שיעור טווח הדמיה = -k * שינוי דופלר (כאשר k הוא קבוע)

זה אמור להיות קצב פסאודו-המרחק המדויק ביותר שזמין, על סמך מדידות אות עדכניות מהערוץ הזה.

חובה לספק את הערך הזה באיכות PRR אופיינית של שלב המוביל (כמה סנטימטרים לשנייה לשנייה של אי-ודאות, או יותר) – כשהאותות חזקים ויציבים מספיק, למשל אותות מסימולטור GPS בעוצמה של 35 dB-Hz ומעלה.

ההגדרה מופיעה בשורה 1805 בקובץ gps.h .

double pseudorange_rate_uncertainty_mps

אי-הוודאות של 1-Sigma של pseudorange_rate_mps. אי-הוודאות מיוצגת כערך מוחלט (חד-צדדי).

זהו ערך חובה.

ההגדרה מופיעה בשורה 1813 בקובץ gps.h .

int64_t received_sv_time_in_ns

השעה בשבוע של GNSS שהתקבלה בזמן המדידה, בננו-שניות. חשוב לוודא שהשדה הזה עצמאי (ראו את ההערה בחלק העליון של המבנה GnssMeasurement ).

ב-GPS וב-QZSS, זהו: שעון השבוע של GPS שהתקבל בזמן המדידה, בננו-שניות. הערך הוא יחסי לתחילת השבוע הנוכחי ב-GPS.

בהתאם למצב הסנכרון הגבוה ביותר שאפשר להשיג לכל לוויין, הטווח החוקי לשדה הזה יכול להיות: חיפוש : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN נעילת קוד C/A : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר סנכרון ביט : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC מוגדר סנכרון של מסגרת משנה : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC מוגדר פענוח TOW : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר

הערה חשובה: אם יש אי-בהירות במיליסיקון שלם, צריך להגדיר את GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS בהתאם, בשדה 'state'.

צריך לאכלס את הערך הזה אם 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.

ב-Glonass, זהו: שעה ביום שהתקבלה מ-Glonass, בזמן המדידה, בננו-שניות.

בהתאם למצב הסנכרון הגבוה ביותר שאפשר להשיג לכל לוויין, הטווח החוקי לשדה הזה יכול להיות: חיפוש : [0]‏: GNSS_MEASUREMENT_STATE_UNKNOWN נעילת קוד C/A : [0 1ms]‏: GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר סנכרון סמלים : [0 10ms]‏: GNSS_MEASUREMENT_STATE_SYMBOL_SYNC מוגדר סנכרון ביט : [0 20ms]‏: GNSS_MEASUREMENT_STATE_BIT_SYNC מוגדר סנכרון מחרוזת : [0 2s]‏: GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC מוגדר שעה ביום : [0 1day]‏: GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED מוגדר

ב-Beidou, זהו: זמן השבוע שהתקבל מ-Beidou, בזמן המדידה בננו-שניות.

בהתאם למצב הסנכרון הגבוה ביותר שאפשר להשיג לכל לוויין, הטווח החוקי לשדה הזה יכול להיות: חיפוש : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN נעול לקוד C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר סנכרון ביט (D2): [ 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC מוגדר סנכרון ביט (D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC מוגדר תת-פריים (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC מוגדר תת-פריים (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC מוגדר שעה בשבוע : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר

ב-Galileo, זהו: זמן השבוע שהתקבל מ-Galileo, בזמן המדידה בננו-שניות.

נעילת קוד E1BC:‏ [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK is set נעילת קוד E1C שנייה:‏ [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK is set

דף E1B:‏ [0 2s]‏: GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC מוגדר. שעה בשבוע:‏ [0 1week]‏: GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר.

ב-SBAS, זהו: זמן ה-SBAS שהתקבל, בזמן המדידה, בננו-שניות.

בהתאם למצב הסנכרון הגבוה ביותר שאפשר להשיג לכל לוויין, הטווח החוקי לשדה הזה יכול להיות: חיפוש : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN נעילת קוד C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר סנכרון סמלים : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC מוגדר הודעה : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC מוגדר

ההגדרה מופיעה בשורה 1763 בקובץ gps.h .

int64_t received_sv_time_uncertainty_in_ns

אי-ודאות של 1-Sigma של זמן השבוע שהתקבל ב-GPS בננו-שניות.

צריך לאכלס את הערך הזה אם 'state' != GPS_MEASUREMENT_STATE_UNKNOWN.

ההגדרה מופיעה בשורה 1770 בקובץ gps.h .

size_t size

מוגדר ל-sizeof(GpsMeasurement)

ההגדרה מופיעה בשורה 1658 בקובץ gps.h .

double snr_db

יחס אות לרעש בפלט המתאמים ב-dB. אם הנתונים זמינים, השדה 'flags' חייב לכלול את הערך GNSS_MEASUREMENT_HAS_SNR. זהו יחס העוצמה של 'גובה שיא המתאם מעל לרצפת הרעש הנצפית' ל'רעש RMS'.

ההגדרה מופיעה בשורה 1909 בקובץ gps.h .

לפי סטטוס הסנכרון של הלוויין. הוא מייצג את מצב הסנכרון הנוכחי של הלוויין המשויך. בהתאם למצב הסנכרון, צריך לפרש את השדה 'received GPS tow' בהתאם.

זהו ערך חובה.

ההגדרה מופיעה בשורה 1694 בקובץ gps.h .

int16_t svid

מספר מזהה הרכב בלוויין, כפי שמוגדר ב- GnssSvInfo::svid זהו ערך חובה.

ההגדרה מופיעה בשורה 1667 בקובץ gps.h .

double time_offset_ns

הבדלי הזמן שבהם בוצעה המדידה, בננו-שניות. השעון של מקלט העזר מצוין על ידי GpsData::clock::time_ns, וצריך לפרש אותו באותו אופן שמציין GpsClock::type .

הסימן של time_offset_ns נקבע לפי המשוואה הבאה: זמן המדידה = GpsClock::time_ns + time_offset_ns

הוא מספק חותמת זמן ספציפית למדידה ומאפשר דיוק של פחות מננו-שנייה. זהו ערך חובה.

ההגדרה מופיעה בשורה 1686 בקובץ gps.h .


התיעוד של המבנה הזה נוצר מהקובץ הבא:
  • hardware/libhardware/include/hardware/ gps.h