مرجع بنية GnssClock
#include <
gps.h
>
حقول البيانات |
|
size_t | size |
GnssClockFlags | flags |
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 |
وصف مفصّل
مستندات الحقل
double bias_ns |
الانحياز على مستوى أجزاء من النانو ثانية تقدير الخطأ لمجموع هذا المقياس وfull_bias_ns هو bias_uncertainty_ns
إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_BIAS. إذا احتسب نظام تحديد المواقع العالمي (GPS) موقعًا جغرافيًا هذه القيمة إلزامية إذا كان جهاز الاستقبال يتضمّن وقتًا تقديريًا لنظام تحديد المواقع العالمي (GPS).
double bias_uncertainty_ns |
عدم اليقين بدرجة 1-Sigma المرتبط بالتقدير المحلي لوقت نظام تحديد المواقع العالمي (GPS) (انحراف الساعة) بالكيلومترات في الثانية يتم تمثيل عدم اليقين كقيمة مطلقة (جانب واحد).
إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. هذه القيمة إلزامية إذا كان جهاز الاستقبال يتضمّن وقتًا تقديريًا لنظام تحديد المواقع العالمي (GPS).
double drift_nsps |
انحراف الساعة بالنانوسات (في الثانية)
تعني القيمة الموجبة أنّ معدّل التكرار أعلى من معدّل التكرار الاسمي، وأنّ (full_bias_ns + bias_ns) يزداد إيجابية بمرور الوقت.
تحتوي القيمة على "التفاوت في الانحراف". إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_DRIFT.
هذه القيمة إلزامية إذا كان جهاز الاستقبال يتضمّن وقتًا تقديريًا لنظام تحديد المواقع العالمي (GNSS).
double drift_uncertainty_nsps |
عدم التأكد من 1-Sigma المرتبط بانحراف الساعة بالنانوسات (في الثانية). يتم تمثيل عدم اليقين كقيمة مطلقة (جانب واحد).
إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. إذا احتسب نظام تحديد المواقع العالمي (GPS) إصلاحًا للموقع الجغرافي، يكون هذا الحقل إلزاميًا ويجب تعبئته.
GnssClockFlags العلامات |
int64_t full_bias_ns |
الفرق بين ساعة الجهاز (حقل "الوقت") داخل جهاز استقبال نظام تحديد المواقع العالمي (GPS) ووقت نظام تحديد المواقع العالمي (GPS) الفعلي منذ 0000Z، 6 كانون الثاني (يناير) 1980، بالنانو ثانية.
يتم تحديد علامة القيمة من خلال المعادلة التالية: التقدير المحلي لوقت نظام تحديد المواقع العالمي (GPS) = time_ns - (full_bias_ns + bias_ns)
هذه القيمة إلزامية إذا كان جهاز الاستقبال يتضمّن وقتًا تقديريًا لنظام تحديد المواقع العالمي (GPS). إذا كان الوقت المحسوب خاصًا بمجموعة نجوم غير نظام تحديد المواقع العالمي (GPS)، يجب تطبيق الانحراف الزمني لهذه المجموعة على نظام تحديد المواقع العالمي (GPS) لملء هذه القيمة. ويُعدّ تقدير الخطأ لمجموع هذا المقياس وbias_ns هو bias_uncertainty_ns، ويتحمل المُتصل مسؤولية استخدام هذا الخطأ (يمكن أن يكون كبيرًا جدًا قبل حلّ وقت نظام تحديد المواقع العالمي). إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
عند حدوث أي انقطاعات في ساعة الجهاز، يكون هذا الحقل إلزاميًا.
يُقصد بـ "الانقطاع" تغطية حالة التبديل من مصدر ساعة إلى آخر. بشكل عام، يجب ألا يتضمّن مذبذب الكريستال (XO) الفردي المُشغَّل بدون توقف أي انقطاعات، ويمكن ضبط هذا المذبذب على القيمة 0 وتركه على هذا النحو.
ومع ذلك، إذا كانت قيمة time_ns (ساعة الجهاز) مستمَدة من مجموعة مصادر، فإنّها لن تكون سلسة مثل ساعة XO العادية، أو يتم إيقافها وإعادة تشغيلها، وسيتمّ زيادة هذه القيمة في كلّ مرّة يحدث فيها انقطاع. (على سبيل المثال، قد تبدأ هذه القيمة من الصفر عند تشغيل الجهاز وتزيد كلما حدث تغيير في تسلسل الساعة. في حال وصول هذه القيمة إلى النطاق الكامل، يجب إجراء عملية إعادة التدوير (وليس التثبيت) كي تستمر هذه القيمة في التغيير أثناء أحداث الانقطاع اللاحقة).
على الرغم من أنّ هذا الرقم يظلّ كما هو بين تقارير GnssClock ، يمكن الافتراض بأمان أنّ قيمة time_ns كانت تعمل بشكلٍ مستمر، على سبيل المثال، مشتقة من ساعة واحدة عالية الجودة (مثل XO أو أفضل، والتي يتم استخدامها عادةً أثناء تحليل إشارة GNSS بشكلٍ مستمر).
من المتوقّع، خاصةً خلال الفترات التي تتوفّر فيها إشارات GNSS قليلة، أن تكون ساعة الجهاز خالية من الانقطاع قدر الإمكان، لأنّ ذلك يتجنّب الحاجة إلى استخدام (إهدار) قياس GNSS لإعادة حلّ مشكلة انحياز ساعة نظام تحديد المواقع العالمي (GPS) وانحرافاتها، عند استخدام القياسات المصاحبة، من تقارير GnssData المتتالية.
int16_t leap_second |
int64_t time_ns |
قيمة الساعة الداخلية لجهاز استقبال نظام تحديد المواقع العالمي (GNSS) هذه هي قيمة ساعة الجهاز المحلي.
بالنسبة إلى ساعة الجهاز المحلية، من المتوقّع أن تزداد هذه القيمة بشكلٍ منتظم ما دامت ساعة الجهاز مفعّلة. (في حال عدم تشغيل ساعة الجهاز باستمرار، اطّلِع على الحقل hw_clock_discontinuity_count). يمكن الحصول على تقدير جهاز الاستقبال لوقت نظام تحديد المواقع العالمي (GPS) من خلال طرح مجموع full_bias_ns وbias_ns (عند توفّرهما) من هذه القيمة.
من المتوقّع أن يكون وقت نظام تحديد المواقع العالمي (GPS) هذا هو أفضل تقدير لوقت نظام تحديد المواقع العالمي الحالي الذي يمكن لجهاز استقبال نظام تحديد المواقع العالمي (GNSS) تحقيقه.
يمكن توفير دقة أقل من النانو ثانية باستخدام الحقل bias_ns. تحتوي القيمة على "عدم التأكد من الوقت".
هذا الحقل إلزامي.
double time_uncertainty_ns |
عدم التأكد من 1-Sigma المرتبط بوقت الساعة بالنانوسات يتم تمثيل عدم اليقين كقيمة مطلقة (جانب واحد).
إذا كانت البيانات متاحة، يجب أن تحتوي "العلامات" على GNSS_CLOCK_HAS_TIME_UNCERTAINTY. هذه القيمة هي صفر فعليًا (فهي الساعة المحلية المرجعية التي يتم من خلالها قياس جميع الأوقات الأخرى وحالات عدم اليقين في الوقت). (وبالتالي، يمكن عدم تقديم هذا الحقل وفقًا لعلامة GNSS_CLOCK_HAS_TIME_UNCERTAINTY أو تقديمه وضبطه على 0).
تم إنشاء مستندات هذه البنية من الملف التالي:
- hardware/libhardware/include/hardware/ gps.h