การอ้างอิง GnssMeasurement Struct

การอ้างอิง GnssMeasurement Struct

#include < gps.h >

ฟิลด์ข้อมูล

size_t  size
 
GnssMeasurementFlags   flags
 
int16_t  svid
 
GnssConstellationType   constellation
 
คู่  time_offset_ns
 
GnssMeasurementState   state
 
int64_t  received_sv_time_in_ns
 
int64_t  received_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  carrier_cycles
 
คู่  carrier_phase
 
คู่  carrier_phase_uncertainty
 
GnssMultipathIndicator   multipath_indicator
 
คู่  snr_db
 

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

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

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

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

เอกสารประกอบในสนาม

double accumulated_delta_range_m

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

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

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

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

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

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

ค่านี้เป็นค่าที่ต้องระบุ

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

double accumulated_delta_range_uncertainty_m

ความคลาดเคลื่อน 1-ซิกมาของช่วงเดลต้าที่สะสมเป็นเมตร ต้องป้อนค่านี้หาก "สถานะช่วงเดลต้าที่สะสม" != GPS_ADR_STATE_UNKNOWN

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

double c_n0_dbhz

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

ค่านี้เป็นค่าที่ต้องระบุ

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

int64_t carrier_cycles

จำนวนรอบของสัญญาณเต็มรูปแบบระหว่างดาวเทียมกับเครื่องรับ ความถี่อ้างอิงได้จากช่อง "carrier_frequency_hz" คุณสามารถอนุมานได้จาก Flag accumulated_delta_range_state ว่ามีการเลื่อนรอบและการรีเซ็ตที่เป็นไปได้ในการรวบรวมค่านี้

หากมีข้อมูล "flags" ต้องมี GNSS_MEASUREMENT_HAS_CARRIER_CYCLES

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

float carrier_frequency_hz

ความถี่ของสัญญาณที่ใช้ในการมอดูเลตรหัสและข้อความ ซึ่งอาจเป็น L1 หรือ L2 หากไม่ได้ตั้งค่าช่องนี้ ระบบจะถือว่าความถี่ของสัญญาณเป็น L1

หากมีข้อมูล "flags" ต้องมี GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY

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

double carrier_phase

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

ความถี่อ้างอิงได้จากช่อง "carrier_frequency_hz" ค่ามี "ความไม่แน่นอนของเฟสสัญญาณ" อยู่ด้วย

หากมีข้อมูล "flags" ต้องมี GNSS_MEASUREMENT_HAS_CARRIER_PHASE

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

double carrier_phase_uncertainty

ความไม่แน่นอน 1-ซิกมาของเฟสของสัญญาณรบกวน หากมีข้อมูล "flags" ต้องมี GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY

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

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

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

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

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

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 สำหรับสัญญาณที่มีการติดตามและไม่มีหลายเส้นทาง

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

double pseudorange_rate_mps

อัตราพิกัดเสมือน ณ การประทับเวลาเป็น m/s การแก้ไขค่าอัตราสัญญาณจำลองที่ระบุจะรวมการแก้ไขความคลาดเคลื่อนของความถี่นาฬิกาของดาวเทียมและเครื่องรับ ตรวจสอบว่าช่องนี้อิสระ (ดูความคิดเห็นที่ด้านบนของ GnssMeasurement struct)

คุณต้องระบุ "อัตราพิกัดตำแหน่งเสมือน" ที่ "ไม่ได้แก้ไข" และระบุช่อง "ความคลาดเคลื่อน" ของ GpsClock ด้วย (เมื่อระบุอัตราพิกัดตำแหน่งเสมือนที่ "ไม่ได้แก้ไข" อย่าใช้การแก้ไขที่อธิบายไว้ข้างต้น)

ค่านี้รวม "ความคลาดเคลื่อนของอัตราสัญญาณจำลอง" ไว้ด้วย ค่า "ไม่ได้รับการแก้ไข" ที่เป็นบวกบ่งบอกว่า SV กำลังเคลื่อนที่ออกจากเครื่องรับ

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

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

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

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

double pseudorange_rate_uncertainty_mps

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

ค่านี้เป็นค่าที่ต้องระบุ

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

int64_t received_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 is set การซิงค์บิต : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set การซิงค์เฟรมย่อย : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC is set TOW ที่ถอดรหัสแล้ว : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

โปรดทราบว่าหากมีความคลุมเครือในจำนวนเต็มมิลลิวินาที คุณควรตั้งค่า GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS ตามความเหมาะสมในช่อง "state"

ต้องป้อนค่านี้หาก "state" != GNSS_MEASUREMENT_STATE_UNKNOWN

สำหรับ Glonass จะเป็นค่าเวลาของวันที่ได้รับจาก Glonass ณ เวลาทำการวัดเป็นนาโนวินาที

เมื่อพิจารณาสถานะการซิงค์สูงสุดที่ทำได้ต่อดาวเทียมแต่ละดวง ช่วงข้อมูลที่ถูกต้องสำหรับช่องนี้จะเป็นดังนี้ กำลังค้นหา : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN การล็อกโค้ด C/A : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set การซิงค์สัญลักษณ์ : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC is set การซิงค์บิต : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set การซิงค์สตริง : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC is set เวลาของวัน : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED is set

สำหรับ Beidou จะเป็น: เวลาของสัปดาห์ที่ได้รับ Beidou ณ เวลาการวัดเป็นนาโนวินาที

เมื่อพิจารณาสถานะการซิงค์สูงสุดที่ทำได้ต่อดาวเทียมแต่ละดวง ช่วงข้อมูลที่ถูกต้องสำหรับช่องนี้จะเป็นดังนี้ กำลังค้นหา : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN การล็อกโค้ด C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set การซิงค์บิต (D2): [ 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC is set การซิงค์บิต (D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set เฟรมย่อย (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC is set เฟรมย่อย (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC is set เวลาของสัปดาห์ : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

สำหรับ Galileo จะเป็นค่าเวลาของสัปดาห์ที่ได้รับจาก Galileo ณ เวลาการวัดเป็นนาโนวินาที

การล็อกรหัส E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK is set การล็อกรหัส E1C ลำดับที่ 2: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK is set

หน้า E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC is set เวลาของสัปดาห์: [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

สำหรับ SBAS จะเป็นเวลา SBAS ที่รับ ณ เวลาการวัดเป็นนาโนวินาที

เมื่อพิจารณาสถานะการซิงค์สูงสุดที่ทำได้ต่อดาวเทียมแต่ละดวง ช่วงที่ใช้ได้สำหรับฟิลด์นี้จะเป็นดังนี้ กำลังค้นหา : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN การล็อกโค้ด C/A: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set การซิงค์สัญลักษณ์ : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC is set ข้อความ : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC is set

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

int64_t received_sv_time_uncertainty_in_ns

ความคลาดเคลื่อน 1-Sigma ของเวลาของสัปดาห์ที่ได้รับจาก GPS เป็นนาโนวินาที

ต้องป้อนค่านี้หาก "state" != GPS_MEASUREMENT_STATE_UNKNOWN

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

size_t size

ตั้งค่าเป็น sizeof(GpsMeasurement)

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

snr_db ที่เป็นประเภท double

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

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

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

ค่านี้เป็นค่าที่ต้องระบุ

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

int16_t svid

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

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

double time_offset_ns

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

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

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

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


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