GnssMeasurement Struct Reference
#include < gps.h >
שדות נתונים | |
size_t | גודל |
GnssMeasurementFlags | דגלים |
int16_t | svid |
GnssConstellationType | קבוצת כוכבים |
לְהַכפִּיל | זמן_הזזת_נס |
GnssMeasurementState | מדינה |
int64_t | receive_sv_time_in_ns |
int64_t | קיבל_sv_זמן_אי-ודאות_ב_נס |
לְהַכפִּיל | c_n0_dbhz |
לְהַכפִּיל | pseudorange_rate_mps |
לְהַכפִּיל | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | מצב_טווח_מצטבר_delta |
לְהַכפִּיל | טווח_מצטבר_דלתא |
לְהַכפִּיל | צבור_מחסום_טווח_מחסום_מ |
לָצוּף | carrier_frequency_hz |
int64_t | carrier_cycles |
לְהַכפִּיל | carrier_phase |
לְהַכפִּיל | אי-ודאות_שלב_נשא |
GnssMultipathIndicator | multipath_indicator |
לְהַכפִּיל | snr_db |
תיאור מפורט
מייצג מדידת GNSS, הוא מכיל מידע גולמי ומחושב.
עצמאות - כל מידע מדידת האות (למשל sv_time, pseudorange_rate, multipath_indicator) המדווח במבנה זה צריך להיות מבוסס על מדידות אותות GNSS בלבד. אינך רשאי לסנתז מדידות על ידי חישוב או דיווח על מדידות צפויות על סמך מיקום, מהירות או זמן ידועים או משוערים.
תיעוד שטח
כפול טווח_מצטבר_דלתא |
טווח דלתא מצטבר מאז איפוס הערוץ האחרון במטרים. ערך חיובי מציין שה-SV מתרחק מהמקלט.
הסימן של 'טווח הדלתא המצטבר' והקשר שלו לסימן 'פאזה נושאת' ניתן על ידי המשוואה: טווח דלתא מצטבר = -k * פאזה נושאת (כאשר k הוא קבוע)
ערך זה חייב להיות מאוכלס אם 'מצב טווח דלתא מצטבר' != GPS_ADR_STATE_UNKNOWN. עם זאת, צפוי שהנתונים מדויקים רק כאשר: 'מצב טווח דלתא מצטבר' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState accumulated_delta_range_state |
כפול מצטבר_אי-ודאות_טווח_דלתא |
כפול c_n0_dbhz |
int64_t carrier_cycles |
מספר מחזורי הספק המלאים בין הלוויין למקלט. תדר הייחוס ניתן על ידי השדה 'carrier_frequency_hz'. ניתן להסיק אינדיקציות של החלקות מחזור ואיפוסים אפשריים בהצטברות של ערך זה מהדגלים של accumulated_delta_range_state.
אם הנתונים זמינים, 'דגלים' חייבים להכיל GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
float carrier_frequency_hz |
כפול carrier_phase |
אי-ודאות_פאזת_נשא כפולה |
קונסטלציה GnssConstellationType |
דגלים של GnssMeasurementFlags |
GnssMultipathIndicator multipath_indicator |
ספירה המציינת את מצב ה'רב-נתיבים' של האירוע.
מחוון ריבוי הנתיבים נועד לדווח על נוכחות של אותות חופפים המתבטאים בפסגות מתאם מעוותות.
- אם יש צורת שיא מתאם מעוותת, דווח ש-multipath הוא GNSS_MULTIPATH_INDICATOR_PRESENT.
- אם אין צורת שיא מתאם מעוותת, דווח על GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- אם האותות חלשים מכדי להבחין במידע זה, דווח על GNSS_MULTIPATH_INDICATOR_UNKNOWN
דוגמה: בעת ביצוע מבחן ביצועי ריבוי נתיבים חופף סטנדרטי (3GPP TS 34.171) מחוון Multipath צריך לדווח על GNSS_MULTIPATH_INDICATOR_PRESENT עבור אותם אותות שנמצאים במעקב, ומכילים ריבוי נתיבים, ו-GNSS_MULTIPATH_INDICATOR_NOT_PRESENT עבור אותם אותות שאינם מכילים ריבוי נתיבים.
כפול pseudorange_rate_mps |
קצב פסאודו טווח בחותמת הזמן ב-m/s. התיקון של ערך Pseudorange Rate נתון כולל תיקונים עבור שגיאות בתדר של מקלט ושעון לוויין. ודא ששדה זה אינו תלוי (ראה הערה בחלק העליון של מבנה GnssMeasurement .)
חובה לספק את 'קצב פסאודו-טווח' 'לא מתוקן', ולספק גם את שדה 'הסחף' של GpsClock (כאשר מספקים את שיעור הפסאודו-טווח הלא מתוקן, אל תחיל את התיקונים שתוארו לעיל).
הערך כולל את 'אי הוודאות של שיעור הפסאודור' שבו. ערך 'לא מתוקן' חיובי מציין שה-SV מתרחק מהמקלט.
הסימן של 'קצב פסאודור טווח' ה'לא מתוקן' והקשר שלו לסימן 'הסטת דופלר' ניתן במשוואה: קצב פסאודור = -k * תזוזת דופלר (כאשר k הוא קבוע)
זה אמור להיות קצב הפסאודור המדויק ביותר הקיים, בהתבסס על מדידות אותות טריים מערוץ זה.
חובה לספק ערך זה באיכות PRR אופייני לשלב הספק (כמה ס"מ/שנייה לשנייה של אי ודאות, או טוב יותר) - כאשר האותות חזקים ויציבים מספיק, למשל אותות מסימולטור GPS ב->= 35 dB-Hz.
כפול pseudorange_rate_uncertainty_mps |
int64_t receive_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 שבוע ] : GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר
שימו לב: אם יש אי בהירות במילי-שניות שלמות, יש להגדיר את GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS בהתאם, בשדה 'מצב'.
יש לאכלס ערך זה אם 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.
עבור Glonass, זהו: זמן Glonass שהתקבל ביום, בזמן המדידה בננו-שניות.
בהינתן מצב הסנכרון הגבוה ביותר שניתן להשיג, לכל לוויין, הטווח התקף עבור שדה זה יכול להיות: חיפוש: [0] : GNSS_MEASUREMENT_STATE_UNKNOWN נעילת קוד C/A: [0 1ms] : GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר] 0 סנכרון סמל: [ 0ms : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC מוגדר סנכרון סיביות : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC מוגדר סנכרון מחרוזת : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC : [MEASUREMENT_STATE_BIT_SYNC מוגדר 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC :] _MEASUREMENT_STATE_BIT_SYNC מוגדר LO_TOD_DECODED מוגדר
עבור 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 ] : Subframe_20msY 1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC מוגדר זמן של שבוע: [0 שבוע אחד]: GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר
עבור גלילאו, זהו: זמן גליליאו שהתקבל בשבוע, בזמן המדידה בננו-שניות.
נעילת קוד E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK מוגדר E1C נעילת קוד 2: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK מוגדר
דף E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC מוגדר זמן בשבוע: [ 0 1שבוע ] : GNSS_MEASUREMENT_STATE_TOW_DECODED מוגדר
עבור SBAS, זהו: זמן SBAS שהתקבל, בזמן המדידה בננו-שניות.
בהינתן מצב הסנכרון הגבוה ביותר שניתן להשיג, לכל לוויין, הטווח התקף עבור שדה זה יכול להיות: חיפוש: [0] : GNSS_MEASUREMENT_STATE_UNKNOWN נעילת קוד C/A: [0 1ms] : GNSS_MEASUREMENT_STATE_CODE_LOCK מוגדר סנכרון סמל 2: [ ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC מוגדר הודעה : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC מוגדר
int64_t receive_sv_time_uncertainty_in_ns |
כפול snr_db |
int16_t svid |
מספר מזהה רכב לוויני, כפי שהוגדר ב- GnssSvInfo::svid זהו ערך חובה.
כפול זמן_קיזוז_נס |
קיזוז זמן שבו נלקחה המדידה בננו-שניות. הזמן של מקלט הייחוס מוגדר על ידי GpsData::clock::time_ns ויש לפרש אותו באותו אופן כפי שמצוין על ידי GpsClock::type .
הסימן של time_offset_ns ניתן על ידי המשוואה הבאה: זמן מדידה = GpsClock::time_ns + time_offset_ns
הוא מספק חותמת זמן אינדיבידואלית למדידה, ומאפשר דיוק תת-ננושניות. זהו ערך חובה.
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ gps.h