การอ้างอิงโครงสร้าง GnssMeasurement

การอ้างอิงโครงสร้าง GnssMeasurement

#include < gps.h >

เขตข้อมูล

ขนาด_t ขนาด
GnssMeasurementFlags ธง
int16_t สวิด
ประเภทกลุ่มดาว Gnss กลุ่มดาว
สองเท่า เวลา_ชดเชย_ns
รัฐการวัด Gnss สถานะ
int64_t ได้รับ_sv_time_in_ns
int64_t ได้รับ_sv_time_uncertainty_in_ns
สองเท่า c_n0_dbhz
สองเท่า pseudorange_rate_mps
สองเท่า pseudorange_rate_uncertainty_mps
GnssสะสมDeltaRangeState สะสม_delta_range_state
สองเท่า collect_delta_range_m
สองเท่า collect_delta_range_uncertainty_m
ลอย ผู้ให้บริการ_ความถี่_hz
int64_t Carrier_cycles
สองเท่า ผู้ให้บริการ_เฟส
สองเท่า Carrier_phase_uncertainty
ตัวบ่งชี้ GnssMultipath multipath_indicator
สองเท่า snr_db

คำอธิบายโดยละเอียด

แสดงถึงการวัด GNSS ประกอบด้วยข้อมูลดิบและข้อมูลที่คำนวณแล้ว

ความเป็นอิสระ - ข้อมูลการวัดสัญญาณทั้งหมด (เช่น sv_time, pseudorange_rate, multipath_indicator) ที่รายงานในโครงสร้างนี้ควรอิงตามการวัดสัญญาณ GNSS เท่านั้น คุณไม่สามารถสังเคราะห์การวัดโดยการคำนวณหรือรายงานการวัดที่คาดหวังตามตำแหน่ง ความเร็ว หรือเวลาที่ทราบหรือประมาณไว้

คำจำกัดความที่บรรทัด 1656 ของไฟล์ gps.h

เอกสารภาคสนาม

สะสม_delta_range_m สองเท่า

ช่วงเดลต้าสะสมตั้งแต่ช่องสุดท้ายรีเซ็ตเป็นเมตร ค่าบวกบ่งชี้ว่า SV กำลังเคลื่อนออกจากเครื่องรับ

เครื่องหมายของ 'ช่วงเดลต้าสะสม' และความสัมพันธ์กับเครื่องหมายของ 'เฟสพาหะ' ได้จากสมการ: ช่วงเดลต้าสะสม = -k * เฟสพาหะ (โดยที่ k เป็นค่าคงที่)

ต้องเติมค่านี้หาก 'สถานะช่วงเดลต้าสะสม' != GPS_ADR_STATE_UNKNOWN อย่างไรก็ตาม คาดว่าข้อมูลจะมีความแม่นยำก็ต่อเมื่อ: 'สถานะช่วงเดลต้าสะสม' == GPS_ADR_STATE_VALID

คำจำกัดความที่บรรทัด 1835 ของไฟล์ gps.h

GnssAccumulatedDeltaRangeState สะสม_delta_range_state

สถานะของช่วงเดลต้าสะสม ระบุว่ารีเซ็ต ADR หรือมีรอบสลิป (บ่งชี้การสูญเสียการล็อค)

นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1821 ของไฟล์ gps.h

สะสม_delta_range_uncertainty_m สองเท่า

ความไม่แน่นอน 1-Sigma ของช่วงเดลต้าสะสมเป็นเมตร ต้องเติมค่านี้หาก 'สถานะช่วงเดลต้าสะสม' != GPS_ADR_STATE_UNKNOWN

คำจำกัดความที่บรรทัด 1841 ของไฟล์ gps.h

c_n0_dbhz สองเท่า

ความหนาแน่นของพาหะต่อเสียงรบกวนในหน่วย dB-Hz โดยทั่วไปจะอยู่ในช่วง [0, 63] ประกอบด้วยค่า C/N0 ที่วัดได้สำหรับสัญญาณที่พอร์ตเสาอากาศ

นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1778 ของไฟล์ gps.h

int64_t ผู้ให้บริการ_รอบ

จำนวนรอบของผู้ให้บริการทั้งหมดระหว่างดาวเทียมและเครื่องรับ ความถี่อ้างอิงกำหนดโดยฟิลด์ 'carrier_frequency_hz' ข้อบ่งชี้ของไซเคิลสลิปที่เป็นไปได้และการรีเซ็ตในการสะสมของค่านี้สามารถอนุมานได้จากแฟล็ก collect_delta_range_state

หากมีข้อมูล 'แฟล็ก' จะต้องมี GNSS_MEASUREMENT_HAS_CARRIER_CYCLES

คำจำกัดความที่บรรทัด 1861 ของไฟล์ gps.h

ผู้ให้บริการลอยตัว_ความถี่_hz

ความถี่ของผู้ให้บริการที่มีการมอดูเลตรหัสและข้อความ อาจเป็น L1 หรือ L2 หากไม่ได้ตั้งค่าฟิลด์ ความถี่พาหะจะถือว่าเป็น L1

หากมีข้อมูล 'แฟล็ก' จะต้องมี GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY

คำจำกัดความที่บรรทัด 1850 ของไฟล์ gps.h

ผู้ให้บริการคู่_เฟส

เฟส RF ที่เครื่องรับตรวจพบในช่วง [0.0, 1.0] โดยปกติจะเป็นเศษส่วนของการวัดเฟสพาหะที่สมบูรณ์

ความถี่อ้างอิงกำหนดโดยฟิลด์ 'carrier_frequency_hz' ค่านี้ประกอบด้วย 'ความไม่แน่นอนของระยะพาหะ' อยู่ในนั้น

หากมีข้อมูล 'แฟล็ก' จะต้องมี GNSS_MEASUREMENT_HAS_CARRIER_PHASE

คำจำกัดความที่บรรทัด 1873 ของไฟล์ gps.h

Carrier_phase_uncertainty สองเท่า

ความไม่แน่นอน 1-Sigma ของเฟสพาหะ หากมีข้อมูล 'แฟล็ก' จะต้องมี GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY

คำจำกัดความที่บรรทัด 1880 ของไฟล์ gps.h

GnssConstellationประเภท กลุ่มดาว

กำหนดกลุ่มดาวของ SV ที่กำหนด ค่าควรเป็นหนึ่งในค่าคงที่ GNSS_CONSTELLATION_* เหล่านั้น

คำจำกัดความที่บรรทัด 1673 ของไฟล์ gps.h

ชุดแฟล็กที่ระบุความถูกต้องของฟิลด์ในโครงสร้างข้อมูลนี้

คำจำกัดความที่บรรทัด 1661 ของไฟล์ gps.h

GnssMultipathIndicator multipath_indicator

การแจงนับที่ระบุสถานะ 'หลายเส้นทาง' ของเหตุการณ์

ตัวบ่งชี้หลายเส้นทางมีวัตถุประสงค์เพื่อรายงานการมีอยู่ของสัญญาณที่ทับซ้อนกันซึ่งแสดงว่าเป็นยอดความสัมพันธ์ที่บิดเบี้ยว

  • หากมีรูปร่างสูงสุดของความสัมพันธ์ที่บิดเบี้ยว ให้รายงานว่า multipath คือ GNSS_MULTIPATH_INDICATOR_PRESENT
  • หากไม่มีรูปร่างสูงสุดของความสัมพันธ์ที่บิดเบี้ยว ให้รายงาน GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
  • หากสัญญาณอ่อนเกินกว่าจะมองเห็นข้อมูลนี้ ให้รายงาน GNSS_MULTIPATH_INDICATOR_UNKNOWN

ตัวอย่าง: เมื่อทำการทดสอบประสิทธิภาพ Multipath ที่ทับซ้อนกันมาตรฐาน (3GPP TS 34.171) ตัวบ่งชี้ Multipath ควรรายงาน GNSS_MULTIPATH_INDICATOR_PRESENT สำหรับสัญญาณเหล่านั้นที่ถูกติดตามและมี multipath และ GNSS_MULTIPATH_INDICATOR_NOT_PRESENT สำหรับสัญญาณเหล่านั้นที่ถูกติดตามและไม่มี multipath

คำจำกัดความที่บรรทัด 1901 ของไฟล์ gps.h

pseudorange_rate_mps สองเท่า

อัตรา Pseudorange ณ เวลาประทับในหน่วย m/s การแก้ไขค่า Pseudorange Rate ที่กำหนดจะรวมถึงการแก้ไขข้อผิดพลาดของเครื่องรับและความถี่นาฬิกาดาวเทียมด้วย ตรวจสอบให้แน่ใจว่าฟิลด์นี้เป็นอิสระ (ดูความคิดเห็นที่ด้านบนของโครงสร้าง GnssMeasurement )

จำเป็นต้องระบุ 'อัตราหลอก' ที่ 'ไม่แก้ไข' และระบุฟิลด์ 'ดริฟท์' ของ GpsClock ด้วยเช่นกัน (เมื่อระบุอัตราหลอกเทียมที่ไม่ถูกแก้ไข ห้ามใช้การแก้ไขที่อธิบายไว้ข้างต้น)

ค่านี้รวม 'ความไม่แน่นอนของอัตราหลอก' ไว้ด้วย ค่าบวก 'ไม่ถูกแก้ไข' บ่งชี้ว่า SV กำลังเคลื่อนออกจากตัวรับ

เครื่องหมายของ 'อัตราช่วงเทียม' ที่ 'ไม่ได้รับการแก้ไข' และความสัมพันธ์กับเครื่องหมาย 'การเปลี่ยนแปลงดอปเปลอร์' ได้มาจากสมการ: อัตราช่วงเทียม = -k * การเปลี่ยนแปลงดอปเปลอร์ (โดยที่ k เป็นค่าคงที่)

นี่ควรเป็นอัตรา pseudorange ที่แม่นยำที่สุดที่มีอยู่ โดยอิงจากการวัดสัญญาณใหม่จากช่องนี้

จำเป็นต้องระบุค่านี้ที่คุณภาพ PRR ของเฟสพาหะทั่วไป (ความไม่แน่นอนไม่กี่ซม./วินาทีต่อวินาที หรือดีกว่า) - เมื่อสัญญาณมีความแรงและเสถียรเพียงพอ เช่น สัญญาณจากเครื่องจำลอง GPS ที่ >= 35 dB-Hz

คำจำกัดความที่บรรทัด 1805 ของไฟล์ gps.h

pseudorange_rate_uncertainty_mps สองเท่า

ความไม่แน่นอน 1-Sigma ของ pseudorange_rate_mps ความไม่แน่นอนแสดงเป็นค่าสัมบูรณ์ (ด้านเดียว)

นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1813 ของไฟล์ gps.h

int64_t ได้รับ_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 1 สัปดาห์ ] : 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 10ms ] : ตั้งค่า GNSS_MEASUREMENT_STATE_SYMBOL_SYNC แล้ว การซิงค์บิต : [ 0 20ms ] : ตั้งค่า GNSS_MEASUREMENT_STATE_BIT_SYNC แล้ว การซิงค์สตริง : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC ถูกตั้งค่า เวลาของวัน : [ 0 1 วัน ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED ถูกตั้งค่า

สำหรับ Beidou นี่คือ: เวลา 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 ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC ถูกตั้งค่า เฟรมย่อย (D1): [ 0 6 s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC ถูกตั้งเวลาไว้ สัปดาห์ : [ 0 1 สัปดาห์ ] : 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 ได้รับการตั้งค่า การซิงค์สัญลักษณ์ : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC ถูกตั้งค่า ข้อความ : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC ถูกตั้งค่า

คำจำกัดความที่บรรทัด 1763 ของไฟล์ gps.h

int64_t ได้รับ_sv_time_uncertainty_in_ns

ความไม่แน่นอน 1-Sigma ของเวลา GPS ที่ได้รับในหน่วยนาโนวินาที

ต้องเติมค่านี้หาก 'state' != GPS_MEASUREMENT_STATE_UNKNOWN

คำจำกัดความที่บรรทัด 1770 ของไฟล์ gps.h

ขนาด_ขนาดt

ตั้งค่าเป็น sizeof (การวัด Gps)

คำจำกัดความที่บรรทัด 1658 ของไฟล์ gps.h

snr_db สองเท่า

อัตราส่วนสัญญาณต่อเสียงรบกวนที่เอาต์พุตสหสัมพันธ์ในหน่วย dB หากมีข้อมูล 'ธง' จะต้องมี GNSS_MEASUREMENT_HAS_SNR นี่คืออัตราส่วนกำลังของ "ความสูงสูงสุดของความสัมพันธ์เหนือพื้นเสียงที่สังเกตได้" ต่อ "RMS ของเสียง"

คำจำกัดความที่บรรทัด 1909 ของไฟล์ gps.h

ต่อสถานะการซิงค์ดาวเทียม แสดงถึงสถานะการซิงค์ปัจจุบันของดาวเทียมที่เกี่ยวข้อง ขึ้นอยู่กับสถานะการซิงค์ ควรตีความฟิลด์ 'พ่วง GPS ที่ได้รับ' ตามนั้น

นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1694 ของไฟล์ gps.h

int16_t svid

หมายเลขประจำตัวยานพาหนะดาวเทียม ตามที่กำหนดไว้ใน GnssSvInfo::svid นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1667 ของไฟล์ gps.h

สองเท่าtime_offset_ns

การชดเชยเวลาที่ทำการวัดในหน่วยนาโนวินาที เวลาของผู้รับอ้างอิงระบุโดย GpsData::clock::time_ns และควรตีความในลักษณะเดียวกับที่ระบุโดย GpsClock::type

เครื่องหมายของ time_offset_ns ได้รับจากสมการต่อไปนี้: เวลาในการวัด = GpsClock::time_ns + time_offset_ns

โดยจะให้การประทับเวลาแต่ละรายการสำหรับการวัด และช่วยให้มีความแม่นยำต่ำกว่านาโนวินาที นี่เป็นค่าบังคับ

คำจำกัดความที่บรรทัด 1686 ของไฟล์ gps.h


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
  • ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / gps.h