הפניה ל-Struct של GnssClock

הפניה ל-struct של GnssClock

#include < gps.h >

שדות נתונים

size_t  size
 
GnssClockFlags   דגלים
 
int16_t  leap_second
 
int64_t  time_ns
 
כפול  time_uncertainty_ns
 
int64_t  full_bias_ns
 
כפול  bias_ns
 
כפול  bias_uncertainty_ns
 
כפול  drift_nsps
 
כפול  drift_uncertainty_nsps
 
uint32_t  hw_clock_discontinuity_count
 

תיאור מפורט

הערכה של השעה בשעון ה-GPS.

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

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

double bias_ns

הטיה של פחות מננו-שנייה. אומדן השגיאה של הסכום של הערך הזה ושל full_bias_ns הוא bias_uncertainty_ns

אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_CLOCK_HAS_BIAS. אם ה-GPS חישב את המיקום. הערך הזה חובה אם למכשיר המקבל יש שעון GPS משוער.

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

double bias_uncertainty_ns

אי-ודאות של 1-סיגמה שמשויכת להערכה המקומית של שעון ה-GPS (הטיה של השעון) בננו-שניות. אי-הוודאות מיוצגת כערך מוחלט (חד-צדדי).

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

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

double drift_nsps

הסטייה של השעון בננו-שניות (לשנייה).

ערך חיובי מציין שהתדירות גבוהה מהתדירות המנומקת, ושהערך של (full_bias_ns + bias_ns) הולך ונעשה חיובי יותר עם הזמן.

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

הערך הזה חובה אם למכשיר המקלט יש זמן GNSS משוער

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

double drift_uncertainty_nsps

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

אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. אם מערכת ה-GPS חישבה את מיקום המכשיר, השדה הזה הוא חובה וצריך לאכלס אותו.

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

הדגלים GnssClockFlags

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

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

int64_t full_bias_ns

ההפרש בין שעון החומרה (שדה 'time') בתוך מקלט ה-GPS לבין השעה האמיתית ב-GPS מאז 0000Z, 6 בינואר 1980, בננו-שניות.

סימן הערך מוגדר לפי המשוואה הבאה: הערכה המקומית של שעון ה-GPS = time_ns - (full_bias_ns + bias_ns)

הערך הזה חובה אם למכשיר המקבל יש שעון GPS משוער. אם הזמן המחושב הוא של קבוצת כוכבים שאינה GPS, צריך להחיל את הפרש הזמן של קבוצת הכוכבים הזו ל-GPS כדי למלא את הערך הזה. הערכת השגיאה של הסכום של הערך הזה ושל bias_ns היא bias_uncertainty_ns, והמבצע הקורא אחראי לשימוש בערפל הנתונים הזה (הוא יכול להיות גדול מאוד לפני שהפתרון של שעון ה-GPS יתקבל). אם הנתונים זמינים, השדה 'flags' חייב להכיל את הערך GNSS_CLOCK_HAS_FULL_BIAS.

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

uint32_t hw_clock_discontinuity_count

השדה הזה הוא חובה אם יש הפסקות בשעון החומרה.

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

עם זאת, אם הערך של time_ns (שעון החומרה) נגזר ממקורות מורכבים, שהפעולה שלהם לא חלקה כמו של XO טיפוסי, או אם הוא נעצר ומופעל מחדש בדרך אחרת, הערך הזה יגדל בכל פעם שמתרחשת הפסקה. (לדוגמה, הערך הזה עשוי להתחיל באפס בהפעלה של המכשיר ולהתווסף בכל פעם שיש שינוי ברצף של השעון. במקרה הלא סביר שבו הערך הזה מגיע לסולם המלא, נדרש rollover (לא clamping), כך שהערך הזה ימשיך להשתנות במהלך אירועי הפסקות הבאים).

המספר הזה נשאר זהה בין דוחות GnssClock , ולכן אפשר להניח בבטחה שהערך של time_ns פועל באופן רציף, למשל נגזר משעון יחיד באיכות גבוהה (כמו XO או טוב יותר, שמשמש בדרך כלל במהלך דגימת אותות GNSS רציפה).

במיוחד בתקופות שבהן יש מעט אותות GNSS זמינים, צפוי שהשעון של החומרה יהיה ללא הפסקות למשך זמן רב ככל האפשר, כדי למנוע צורך בשימוש (בזבוז) במדידה של GNSS כדי לפתור מחדש באופן מלא את הטיה וההטיה של שעון ה-GPS, כשמשתמשים במדדים הנלווים, מדוחות GnssData רצופים.

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

int16_t leap_second

נתונים על שניות רגילות. סימן הערך מוגדר לפי המשוואה הבאה: utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1,000,000,000

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

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

size_t size

מוגדר ל-sizeof(GnssClock)

ההגדרה נמצאת בשורה 1457 בקובץ gps.h .

int64_t time_ns

הערך של השעון הפנימי של מקלט ה-GNSS. זהו הערך של שעון החומרה המקומי.

בשעון החומרה המקומי, הערך הזה צפוי לעלות באופן מונוטוני כל עוד שעון החומרה נשאר פועל. (במקרה של שעון חומרה שלא פועל באופן רציף, אפשר לעיין בשדה hw_clock_discontinuity_count). כדי לחשב את האומדן של מקלט ה-GPS לגבי זמן ה-GPS, מחסרים מהערך הזה את הסכום של full_bias_ns ו-bias_ns (כשהערך זמין).

השעון הזה של GPS צפוי להיות האומדן הטוב ביותר של שעון ה-GPS הנוכחי שיכול להגיע למקלט ה-GNSS.

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

השדה הזה הוא חובה.

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

double time_uncertainty_ns

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

אם הנתונים זמינים, השדה 'flags' חייב לכלול את הערך GNSS_CLOCK_HAS_TIME_UNCERTAINTY. הערך הזה הוא אפס בפועל (זהו השעון המקומי של ההפניה, שעל פיו נמדדים כל שאר הזמנים והאי-ודאות בזמנים). (לכן אפשר לא לספק את השדה הזה, בהתאם לסימון GNSS_CLOCK_HAS_TIME_UNCERTAINTY, או לספק אותו ולהגדיר אותו כ-0).

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


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