Referensi Struktur Pengukuran Gnss
#include < gps.h >
Bidang Data | |
ukuran_t | ukuran |
Bendera Pengukuran Gnss | bendera |
int16_t | svid |
GnssConstellationType | konstelasi |
dobel | waktu_offset_ns |
Status Pengukuran Gnss | negara |
int64_t | diterima_sv_time_in_ns |
int64_t | diterima_sv_time_uncertainty_in_ns |
dobel | c_n0_dbhz |
dobel | pseudorange_rate_mps |
dobel | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | akumulasi_delta_range_state |
dobel | akumulasi_delta_range_m |
dobel | akumulasi_delta_rentang_ketidakpastian_m |
mengambang | operator_frekuensi_hz |
int64_t | siklus_pembawa |
dobel | fase_pembawa |
dobel | ketidakpastian_fase_pembawa |
GnssMultipathIndicator | multipath_indicator |
dobel | snr_db |
Detil Deskripsi
Mewakili Pengukuran GNSS, berisi informasi mentah dan dihitung.
Independensi - Semua informasi pengukuran sinyal (misalnya sv_time, pseudorange_rate, multipath_indicator) yang dilaporkan dalam struct ini harus didasarkan pada pengukuran sinyal GNSS saja. Anda tidak boleh menyatukan pengukuran dengan menghitung atau melaporkan pengukuran yang diharapkan berdasarkan posisi, kecepatan, atau waktu yang diketahui atau diperkirakan.
Dokumentasi Lapangan
akumulasi_delta_range_m ganda |
Akumulasi rentang delta sejak saluran terakhir disetel ulang dalam meter. Nilai positif menunjukkan SV menjauh dari penerima.
Tanda 'akumulasi rentang delta' dan hubungannya dengan tanda 'fase pembawa' diberikan oleh persamaan: akumulasi rentang delta = -k * fase pembawa (di mana k adalah konstanta)
Nilai ini harus diisi jika 'akumulasi status rentang delta' != GPS_ADR_STATE_UNKNOWN. Namun, data tersebut diharapkan hanya akurat jika: 'akumulasi status rentang delta' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState akumulasi_delta_range_state |
akumulasi_delta_range_ketidakpastian_m ganda |
ganda c_n0_dbhz |
int64_t operator_cycles |
Jumlah siklus pembawa penuh antara satelit dan penerima. Frekuensi referensi diberikan oleh kolom 'carrier_frekuensi_hz'. Indikasi kemungkinan slip dan penyetelan ulang siklus dalam akumulasi nilai ini dapat disimpulkan dari tanda akumulasi_delta_range_state.
Jika data tersedia, 'bendera' harus berisi GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
mengambang operator_frekuensi_hz |
fase_pembawa ganda |
Fase RF terdeteksi oleh penerima, dalam kisaran [0.0, 1.0]. Ini biasanya merupakan bagian pecahan dari pengukuran fase pembawa lengkap.
Frekuensi referensi diberikan oleh kolom 'carrier_frekuensi_hz'. Nilai tersebut mengandung 'ketidakpastian fase pembawa' di dalamnya.
Jika data tersedia, 'bendera' harus berisi GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
ketidakpastian_fase_pembawa ganda |
Konstelasi GnssConstellationType |
Bendera GnssMeasurementFlags |
GnssMultipathIndicator multipath_indicator |
Pencacahan yang menunjukkan keadaan peristiwa 'multipath'.
Indikator multipath dimaksudkan untuk melaporkan adanya sinyal yang tumpang tindih yang bermanifestasi sebagai puncak korelasi yang terdistorsi.
- jika ada bentuk puncak korelasi yang terdistorsi, laporkan multipathnya adalah GNSS_MULTIPATH_INDICATOR_PRESENT.
- jika tidak terdapat bentuk puncak korelasi yang terdistorsi, laporkan GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- jika sinyal terlalu lemah untuk memahami informasi ini, laporkan GNSS_MULTIPATH_INDICATOR_UNKNOWN
Contoh: ketika melakukan uji Kinerja Multipath tumpang tindih standar (3GPP TS 34.171) indikator Multipath harus melaporkan GNSS_MULTIPATH_INDICATOR_PRESENT untuk sinyal yang dilacak, dan berisi multipath, dan GNSS_MULTIPATH_INDICATOR_NOT_PRESENT untuk sinyal yang dilacak dan tidak mengandung multipath.
pseudorange_rate_mps ganda |
Kecepatan oranye semu pada stempel waktu dalam m/s. Koreksi nilai Pseudorange Rate yang diberikan mencakup koreksi kesalahan frekuensi penerima dan jam satelit. Pastikan bidang ini independen (lihat komentar di atas struktur GnssMeasurement .)
Wajib untuk memberikan 'tingkat pseudorange' yang 'tidak dikoreksi', dan juga menyediakan kolom 'drift' GpsClock (Saat memberikan tingkat pseudorange yang tidak dikoreksi, jangan terapkan koreksi yang dijelaskan di atas.)
Nilai tersebut termasuk 'ketidakpastian tingkat pseudorange' di dalamnya. Nilai positif 'tidak dikoreksi' menunjukkan bahwa SV menjauh dari penerima.
Tanda 'laju pseudorange' yang 'tidak dikoreksi' dan hubungannya dengan tanda 'pergeseran doppler' diberikan oleh persamaan: laju pseudorange = -k * pergeseran doppler (dimana k adalah konstanta)
Ini harus menjadi tingkat pseudorange paling akurat yang tersedia, berdasarkan pengukuran sinyal baru dari saluran ini.
Nilai ini wajib diberikan pada kualitas PRR fase pembawa yang khas (ketidakpastian beberapa cm/detik per detik, atau lebih baik) - ketika sinyal cukup kuat & stabil, misalnya sinyal dari simulator GPS pada >= 35 dB-Hz.
pseudorange_rate_uncertainty_mps ganda |
int64_t diterima_sv_time_in_ns |
Waktu Mingguan GNSS yang diterima pada waktu pengukuran, dalam nanodetik. Pastikan bidang ini independen (lihat komentar di atas struktur GnssMeasurement .)
Untuk GPS & QZSS, ini adalah: Waktu Mingguan GPS yang diterima pada waktu pengukuran, dalam nanodetik. Nilainya relatif terhadap awal minggu GPS saat ini.
Mengingat status sinkronisasi tertinggi yang dapat dicapai, per setiap satelit, rentang valid untuk bidang ini dapat berupa: Pencarian : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A kunci kode : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi bit : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC disetel Sinkronisasi subframe : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC disetel TOW diterjemahkan : [ 0 1 minggu ] : GNSS_MEASUREMENT_STATE_TOW_DECODED disetel
Perhatikan baik-baik: jika ada ambiguitas dalam bilangan bulat milidetik, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS harus disetel sesuai dengan itu, di bidang 'status'.
Nilai ini harus diisi jika 'status' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Untuk Glonass, ini adalah: Menerima waktu Glonass dalam sehari, pada waktu pengukuran dalam nanodetik.
Mengingat status sinkronisasi tertinggi yang dapat dicapai, untuk setiap satelit, rentang valid untuk bidang ini dapat berupa: Pencarian : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A kunci kode : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi simbol : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC disetel Sinkronisasi bit : [ 0 20 md ] : GNSS_MEASUREMENT_STATE_BIT_SYNC disetel Sinkronisasi string : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC disetel Waktu : [ 0 1 hari ] : GNSS_MEASUREMENT_STATE_GLO_TOD_ DECODED sudah diatur
Untuk Beidou, ini adalah: Menerima waktu Beidou dalam seminggu, pada waktu pengukuran dalam nanodetik.
Mengingat status sinkronisasi tertinggi yang dapat dicapai, per setiap satelit, rentang valid untuk bidang ini dapat berupa: Pencarian : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Kunci kode C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi bit (D2): [ 0 2 md ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC disetel Sinkronisasi bit (D1): [ 0 20 md ] : GNSS_MEASUREMENT_STATE_BIT_SYNC disetel Subframe (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC disetel Subframe (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC disetel Waktu minggu : [ 0 1minggu ] : GNSS_MEASUREMENT_STATE_TOW_DECODED disetel
Untuk Galileo, ini adalah: Waktu Galileo yang diterima dalam seminggu, pada waktu pengukuran dalam nanodetik.
Kunci kode E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK disetel E1C Kunci kode kedua: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK disetel
Halaman E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC disetel Waktu dalam seminggu: [ 0 1minggu ] : GNSS_MEASUREMENT_STATE_TOW_DECODED disetel
Untuk SBAS, ini adalah: Waktu SBAS yang diterima, pada waktu pengukuran dalam nanodetik.
Mengingat status sinkronisasi tertinggi yang dapat dicapai, untuk setiap satelit, rentang valid untuk bidang ini dapat berupa: Pencarian : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A kunci kode: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi simbol : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC disetel Pesan : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC disetel
int64_t diterima_sv_time_uncertainty_in_ns |
snr_db ganda |
Status GnssMeasurementState |
int16_t svid |
Nomor ID kendaraan satelit, sebagaimana didefinisikan dalam GnssSvInfo::svid Ini adalah nilai wajib.
waktu_offset_ns ganda |
Offset waktu saat pengukuran dilakukan dalam nanodetik. Waktu penerima referensi ditentukan oleh GpsData::clock::time_ns dan harus ditafsirkan dengan cara yang sama seperti yang ditunjukkan oleh GpsClock::type .
Tanda time_offset_ns diberikan oleh persamaan berikut: waktu pengukuran = GpsClock::time_ns + time_offset_ns
Ini memberikan stempel waktu individual untuk pengukuran, dan memungkinkan akurasi sub-nanodetik. Ini adalah nilai wajib.
Dokumentasi untuk struct ini dihasilkan dari file berikut:
- perangkat keras/libhardware/include/hardware/ gps.h