Gnss পরিমাপ কাঠামো রেফারেন্স
#include < gps.h >
ডেটা ক্ষেত্র | |
size_t | আকার |
Gnss পরিমাপ পতাকা | পতাকা |
int16_t | svid |
GnssConstellationType | নক্ষত্রপুঞ্জ |
দ্বিগুণ | time_offset_ns |
জিএনএসএস মেজারমেন্ট স্টেট | অবস্থা |
int64_t | গৃহীত_sv_time_in_ns |
int64_t | গৃহীত_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 |
ভাসা | carrier_frequency_hz |
int64_t | ক্যারিয়ার_সাইকেল |
দ্বিগুণ | ক্যারিয়ার_ফেজ |
দ্বিগুণ | ক্যারিয়ার_ফেজ_অনিশ্চয়তা |
GnssMultipath Indicator | 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 ক্যারিয়ার_সাইকেল |
স্যাটেলাইট এবং রিসিভারের মধ্যে পূর্ণ ক্যারিয়ার চক্রের সংখ্যা। রেফারেন্স ফ্রিকোয়েন্সি 'ক্যারিয়ার_ফ্রিকোয়েন্সি_এইচজেড' ক্ষেত্র দ্বারা দেওয়া হয়। এই মানের সঞ্চয়ে সম্ভাব্য চক্র স্লিপ এবং পুনরায় সেট করার ইঙ্গিতগুলি জমা করা_ডেল্টা_রেঞ্জ_স্টেট ফ্ল্যাগগুলি থেকে অনুমান করা যেতে পারে।
যদি ডেটা উপলব্ধ থাকে, 'পতাকা'-এ অবশ্যই GNSS_MEASUREMENT_HAS_CARRIER_CYCLES থাকতে হবে৷
float carrier_frequency_hz |
ডবল ক্যারিয়ার_ফেজ |
[0.0, 1.0] পরিসরে রিসিভার দ্বারা সনাক্ত করা RF ফেজ। এটি সাধারণত সম্পূর্ণ ক্যারিয়ার ফেজ পরিমাপের ভগ্নাংশ অংশ।
রেফারেন্স ফ্রিকোয়েন্সি 'ক্যারিয়ার_ফ্রিকোয়েন্সি_এইচজেড' ক্ষেত্র দ্বারা দেওয়া হয়। মানটিতে 'ক্যারিয়ার-ফেজ অনিশ্চয়তা' রয়েছে।
যদি ডেটা উপলব্ধ থাকে, 'পতাকা'-এ অবশ্যই GNSS_MEASUREMENT_HAS_CARRIER_PHASE থাকতে হবে৷
ডাবল ক্যারিয়ার_ফেজ_অনিশ্চয়তা |
GnssConstellationType নক্ষত্রপুঞ্জ |
GnssMeasurement পতাকা পতাকা |
GnssMultipathIndicator multipath_indicator |
একটি গণনা যা ইভেন্টের 'মাল্টিপাথ' অবস্থা নির্দেশ করে।
মাল্টিপাথ ইন্ডিকেটরের উদ্দেশ্য হল ওভারল্যাপিং সিগন্যালের উপস্থিতি রিপোর্ট করা যা বিকৃত পারস্পরিক সম্পর্ক শিখর হিসাবে প্রকাশিত হয়।
- যদি একটি বিকৃত পারস্পরিক সম্পর্ক শিখর আকার থাকে, তাহলে রিপোর্ট করুন যে মাল্টিপাথ হল 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 যেগুলি ট্র্যাক করা হয় না এবং ট্র্যাক করা হয় না৷
ডবল pseudorange_rate_mps |
মি/সেকেন্ডে টাইমস্ট্যাম্পে সিউডোরেঞ্জ রেট। একটি প্রদত্ত সিউডোরেঞ্জ রেট মানের সংশোধনের মধ্যে রিসিভার এবং স্যাটেলাইট ঘড়ি ফ্রিকোয়েন্সি ত্রুটির সংশোধন অন্তর্ভুক্ত রয়েছে। নিশ্চিত করুন যে এই ক্ষেত্রটি স্বাধীন ( GnssMeasurement struct-এর উপরে মন্তব্য দেখুন।)
'অসংশোধিত' 'সিউডোরেঞ্জ রেট' প্রদান করা বাধ্যতামূলক, এবং পাশাপাশি GpsClock- এর 'ড্রিফট' ফিল্ড প্রদান করা বাধ্যতামূলক (অসংশোধিত সিউডোরেঞ্জ রেট প্রদান করার সময়, উপরে বর্ণিত সংশোধনগুলি প্রয়োগ করবেন না।)
মান এটিতে 'সিউডোরেঞ্জ রেট অনিশ্চয়তা' অন্তর্ভুক্ত করে। একটি ইতিবাচক 'অসংশোধিত' মান নির্দেশ করে যে SV রিসিভার থেকে দূরে সরে যাচ্ছে।
'অসংশোধিত' 'সিউডোরেঞ্জ রেট' এর চিহ্ন এবং 'ডপলার শিফট' চিহ্নের সাথে এর সম্পর্ক সমীকরণ দ্বারা দেওয়া হয়েছে: সিউডোরেঞ্জ রেট = -k * ডপলার শিফট (যেখানে k একটি ধ্রুবক)
এই চ্যানেল থেকে তাজা সংকেত পরিমাপের উপর ভিত্তি করে উপলব্ধ সবচেয়ে সঠিক সিউডোরেঞ্জ হার হওয়া উচিত।
এটি বাধ্যতামূলক যে এই মানটি সাধারণ ক্যারিয়ার ফেজ PRR মানের (অনিশ্চয়তার প্রতি সেকেন্ডে কয়েক সেমি/সেকেন্ড, বা আরও ভাল) - যখন সিগন্যাল যথেষ্ট শক্তিশালী এবং স্থিতিশীল হয়, যেমন >= 35 dB-Hz এ একটি GPS সিমুলেটর থেকে সংকেত।
ডবল pseudorange_rate_uncertainty_mps |
int64_t প্রাপ্ত_sv_time_in_ns |
প্রাপ্ত GNSS সপ্তাহের সময় পরিমাপের সময়ে, ন্যানোসেকেন্ডে। নিশ্চিত করুন যে এই ক্ষেত্রটি স্বাধীন ( GnssMeasurement struct-এর উপরে মন্তব্য দেখুন।)
GPS এবং QZSS-এর জন্য, এটি হল: ন্যানোসেকেন্ডে পরিমাপের সময়ে সপ্তাহের GPS সময় পাওয়া গেছে। মান বর্তমান GPS সপ্তাহের শুরুতে আপেক্ষিক.
প্রতিটি স্যাটেলাইটের জন্য সর্বোচ্চ সিঙ্ক অবস্থা যা অর্জন করা যেতে পারে, এই ক্ষেত্রের জন্য বৈধ পরিসর হতে পারে: অনুসন্ধান করা : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A কোড লক : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK সেট করা হয়েছে [Sync Bit] : GNSS_MEASUREMENT_STATE_BIT_SYNC সাবফ্রেম সিঙ্ক সেট করা হয়েছে : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC TOW ডিকোড করা হয়েছে : [ 0 1 সপ্তাহ ] : GNSS_MEASUREMENT_STATE_TOW_DECODED সেট করা হয়েছে
ভালোভাবে লক্ষ্য করুন: পূর্ণসংখ্যা মিলিসেকেন্ডে কোনো অস্পষ্টতা থাকলে, 'state' ক্ষেত্রে GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS সেই অনুযায়ী সেট করা উচিত।
এই মানটি অবশ্যই পপুলেট করা উচিত যদি 'state'!= GNSS_MEASUREMENT_STATE_UNKNOWN।
গ্লোনাসের জন্য, এটি হল: ন্যানোসেকেন্ডে পরিমাপের সময়ে, দিনের গ্লোনাস সময় পাওয়া গেছে।
প্রতিটি স্যাটেলাইটের জন্য সর্বোচ্চ সিঙ্ক অবস্থা যা অর্জন করা যেতে পারে, এই ক্ষেত্রের জন্য বৈধ পরিসর হতে পারে: অনুসন্ধান করা : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A কোড লক : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK সেট করা হয়েছে [Symms01] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC সেট করা হয়েছে বিট সিঙ্ক : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC সেট করা হয়েছে স্ট্রিং সিঙ্ক : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC দিন : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC 1 দিন : GNSS_MESATE_REST_MET 1 দিন : সময় সেট করা হয়েছে _GLO_TOD_DECODED সেট করা আছে
Beidou-এর জন্য, এটি হল: সপ্তাহের Beidou সময়, ন্যানোসেকেন্ডে পরিমাপের সময়ে।
প্রতিটি স্যাটেলাইট প্রতি সর্বোচ্চ সিঙ্ক অবস্থা যা অর্জন করা যেতে পারে, এই ক্ষেত্রের বৈধ পরিসর হতে পারে: অনুসন্ধান করা: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A কোড লক: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK (সেট করা হয়েছে B2it): 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC বিট সিঙ্ক সেট করা হয়েছে (D1): [ 0 20ms] : GNSS_MEASUREMENT_STATE_BIT_SYNC সাবফ্রেম সেট করা হয়েছে (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_SYNC হল সাবফ্রেম_ST_ME2 সেট ফ্রেম (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC এর সময় সেট করা হয়েছে সপ্তাহ : [ 0 1 সপ্তাহ ] : GNSS_MEASUREMENT_STATE_TOW_DECODED সেট করা হয়েছে
গ্যালিলিওর জন্য, এটি হল: প্রাপ্ত গ্যালিলিও সপ্তাহের সময়, ন্যানোসেকেন্ডে পরিমাপের সময়ে।
E1BC কোড লক : [ 0 4ms] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK সেট করা হয়েছে E1C ২য় কোড লক: [ 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 সেট করা হয়েছে [Symbolms2] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC সেট করা হয়েছে বার্তা : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC সেট করা হয়েছে
int64_t প্রাপ্ত_sv_time_uncertainty_in_ns |
ডবল snr_db |
GnssMeasurementState রাজ্য |
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