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 |
पूरी जानकारी
फ़ील्ड का दस्तावेज़
bias_ns को दोगुना करना |
सब-नैनोसेकंड बायस. इस और full_bias_ns के योग के लिए, गड़बड़ी का अनुमान bias_uncertainty_ns है
अगर डेटा उपलब्ध है, तो 'फ़्लैग' में GNSS_CLOCK_HAS_BIAS होना चाहिए. अगर जीपीएस ने जगह की जानकारी का हिसाब लगाया है. अगर रिसीवर के पास अनुमानित जीपीएस समय है, तो यह वैल्यू देना ज़रूरी है.
double bias_uncertainty_ns |
जीपीएस के समय (घड़ी के पूर्वाग्रह) के स्थानीय अनुमान से जुड़ी 1-सिग्मा अनिश्चितता, नैनोसेकंड में. अनिश्चितता को एकदम सटीक (सिंगल साइड) वैल्यू के तौर पर दिखाया जाता है.
अगर डेटा उपलब्ध है, तो 'फ़्लैग' में GNSS_CLOCK_HAS_BIAS_UNCERTAINTY होना चाहिए. अगर रिसीवर के पास अनुमानित जीपीएस समय है, तो यह वैल्यू देना ज़रूरी है.
double drift_nsps |
घड़ी का ड्रिफ़्ट, नैनोसेकंड (हर सेकंड) में.
पॉज़िटिव वैल्यू का मतलब है कि फ़्रीक्वेंसी, नाममात्र फ़्रीक्वेंसी से ज़्यादा है. साथ ही, (full_bias_ns + bias_ns) समय के साथ ज़्यादा पॉज़िटिव हो रहा है.
वैल्यू में 'ड्रिफ़्ट की अनिश्चितता' शामिल होती है. अगर डेटा उपलब्ध है, तो 'फ़्लैग' में GNSS_CLOCK_HAS_DRIFT होना चाहिए.
अगर रिसीवर में GNSS का अनुमानित समय है, तो यह वैल्यू देना ज़रूरी है
double drift_uncertainty_nsps |
क्लॉक के ड्रिफ़्ट से जुड़ी 1-सिग्मा अनिश्चितता, जो नैनोसेकंड (हर सेकंड) में होती है. अनिश्चितता को एकदम सटीक (सिंगल साइड) वैल्यू के तौर पर दिखाया जाता है.
अगर डेटा उपलब्ध है, तो 'फ़्लैग' में GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY होना चाहिए. अगर जीपीएस ने पोज़िशन फ़िक्स का हिसाब लगाया है, तो इस फ़ील्ड को भरना ज़रूरी है.
GnssClockFlags फ़्लैग |
int64_t full_bias_ns |
जीपीएस रिसीवर में मौजूद हार्डवेयर क्लॉक ('time' फ़ील्ड) और 6 जनवरी, 1980 को 0000Z से लेकर अब तक के जीपीएस के सही समय के बीच का अंतर, नैनोसेकंड में.
वैल्यू का साइन, इस समीकरण से तय होता है: जीपीएस समय का स्थानीय अनुमान = time_ns - (full_bias_ns + bias_ns)
अगर रिसीवर के पास अनुमानित जीपीएस समय है, तो यह वैल्यू देना ज़रूरी है. अगर कैलकुलेट किया गया समय, जीपीएस कॉन्स्टेलेशन के लिए नहीं है, तो इस वैल्यू को भरने के लिए, उस कॉन्स्टेलेशन के जीपीएस के लिए समय ऑफ़सेट लागू करना होगा. इस और 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 सिग्नल कम होने पर, उम्मीद है कि एचडब्ल्यू घड़ी में जितनी हो सके उतनी देर तक रुकावट न आए. ऐसा इसलिए, ताकि लगातार मिलने वाले GnssData मेज़रमेंट का इस्तेमाल करते समय, जीपीएस घड़ी के बायस और ड्रिफ़्ट को पूरी तरह से ठीक करने के लिए, GNSS मेज़रमेंट का इस्तेमाल (बर्बाद) न करना पड़े.
int16_t leap_second |
int64_t time_ns |
GNSS रिसीवर की इंटरनल क्लॉक की वैल्यू. यह लोकल हार्डवेयर क्लॉक की वैल्यू होती है.
स्थानीय हार्डवेयर घड़ी के लिए, यह वैल्यू लगातार बढ़ती रहती है. ऐसा तब होता है, जब हार्डवेयर घड़ी चालू रहती है. (अगर हार्डवेयर घड़ी लगातार चालू नहीं रहती है, तो hw_clock_discontinuity_count फ़ील्ड देखें). रिसीवर के हिसाब से, जीपीएस समय का अनुमान लगाने के लिए, इस वैल्यू से full_bias_ns और bias_ns (अगर उपलब्ध हो) का जोड़ घटाया जा सकता है.
यह जीपीएस टाइम, जीपीएस टाइम का सबसे अच्छा अनुमान है. जीपीएस टाइम, जीएनएसएस रिसीवर से मिलता है.
'bias_ns' फ़ील्ड की मदद से, नैनोसेकंड से कम समय की सटीक जानकारी दी जा सकती है. वैल्यू में 'समय की अनिश्चितता' शामिल है.
यह फ़ील्ड भरना ज़रूरी है.
double time_uncertainty_ns |
नैनोसेकंड में, घड़ी के समय से जुड़ी 1-सिग्मा अनिश्चितता. अनिश्चितता को एकदम सटीक (सिंगल साइड) वैल्यू के तौर पर दिखाया जाता है.
अगर डेटा उपलब्ध है, तो 'फ़्लैग' में GNSS_CLOCK_HAS_TIME_UNCERTAINTY होना चाहिए. यह वैल्यू शून्य होती है. यह रेफ़रंस लोकल क्लॉक होती है, जिससे अन्य सभी समय और समय की अनिश्चितताओं को मेज़र किया जाता है. (इसलिए, GNSS_CLOCK_HAS_TIME_UNCERTAINTY फ़्लैग के हिसाब से, यह फ़ील्ड नहीं दिया जा सकता या दिया जा सकता है और 0 पर सेट किया जा सकता है.)
इस स्ट्रक्चर का दस्तावेज़, इस फ़ाइल से जनरेट किया गया था:
- hardware/libhardware/include/hardware/ gps.h