Referensi Struktur GnssMeasurement
#include < gps.h >
Bidang Data | |
ukuran_t | ukuran |
GnssMeasurementFlags | bendera |
int16_t | svid |
GnssConstelationType | konstelasi |
dobel | waktu_offset_ns |
GnssMeasurementState | 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 |
GnssAkumulasiDeltaRangeState | akumulasi_delta_rentang_status |
dobel | akumulasi_delta_rentang_m |
dobel | akumulasi_delta_rentang_ketidakpastian_m |
mengambang | operator_frekuensi_hz |
int64_t | siklus_pembawa |
dobel | fase_pembawa |
dobel | pembawa_fase_ketidakpastian |
Indikator GnssMultipath | multipath_indikator |
dobel | snr_db |
Detil Deskripsi
Merupakan Pengukuran GNSS, berisi informasi mentah dan dihitung.
Independensi - Semua informasi pengukuran sinyal (misalnya sv_time, pseudorange_rate, multipath_indicator) yang dilaporkan dalam struktur ini harus didasarkan pada pengukuran sinyal GNSS saja. Anda tidak boleh mensintesis pengukuran dengan menghitung atau melaporkan pengukuran yang diharapkan berdasarkan posisi, kecepatan, atau waktu yang diketahui atau diperkirakan.
Dokumentasi Lapangan
akumulasi_delta_rentang_m . ganda |
Akumulasi rentang delta sejak saluran terakhir diatur ulang dalam meter. Nilai positif menunjukkan bahwa SV bergerak 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 'status rentang delta terakumulasi' != GPS_ADR_STATE_UNKNOWN. Namun, diharapkan data hanya akurat jika: 'status rentang delta terakumulasi' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState akumulasi_delta_range_state |
double akumulasi_delta_range_uncertainty_m |
ganda c_n0_dbhz |
int64_t carrier_cycles |
Jumlah siklus pembawa penuh antara satelit dan penerima. Frekuensi referensi diberikan oleh bidang 'carrier_frequency_hz'. Indikasi kemungkinan slip siklus dan reset dalam akumulasi nilai ini dapat disimpulkan dari flag akumulasi_delta_range_state.
Jika data tersedia, 'flags' harus berisi GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
float carrier_frequency_hz |
fase_pembawa ganda |
Fase RF terdeteksi oleh penerima, dalam kisaran [0.0, 1.0]. Ini biasanya merupakan bagian fraksional dari pengukuran fase pembawa yang lengkap.
Frekuensi referensi diberikan oleh bidang 'carrier_frequency_hz'. Nilai tersebut mengandung 'ketidakpastian fase pembawa' di dalamnya.
Jika data tersedia, 'flags' harus berisi GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
pembawa ganda_fase_ketidakpastian |
Konstelasi GnssConstellationType |
Bendera GnssMeasurementFlags |
GnssMultipathIndicator multipath_indicator |
Sebuah enumerasi yang menunjukkan keadaan 'multipath' dari acara tersebut.
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 bahwa multipath adalah GNSS_MULTIPATH_INDICATOR_PRESENT.
- jika tidak ada bentuk puncak korelasi yang terdistorsi, laporkan GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- jika sinyal terlalu lemah untuk membedakan informasi ini, laporkan GNSS_MULTIPATH_INDICATOR_UNKNOWN
Contoh: saat melakukan uji Kinerja Multipath yang 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 |
Tingkat pseudoorange pada stempel waktu dalam m/s. Koreksi nilai Pseudorange Rate yang diberikan mencakup koreksi untuk kesalahan frekuensi jam penerima dan satelit. Pastikan bidang ini independen (lihat komentar di atas struct GnssMeasurement .)
Adalah wajib untuk memberikan 'tingkat pseudorange' yang 'tidak dikoreksi', dan juga memberikan bidang 'melayang' GpsClock (Bila 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 bergerak menjauh dari penerima.
Tanda dari 'tingkat pseudorange' yang 'tidak dikoreksi' dan hubungannya dengan tanda 'pergeseran doppler' diberikan oleh persamaan: laju pseudorange = -k * pergeseran doppler (di mana 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 tipikal (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 |
GNSS Time-of-Week yang diterima pada waktu pengukuran, dalam nanodetik. Pastikan bidang ini independen (lihat komentar di atas struct 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 Kunci kode C/A : [ 0 1 md ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi bit : [ 0 20 md ] : GNSS_MEASUREMENT_STATE_BIT_SYNC diatur Sinkronisasi subframe : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC disetel TOW diterjemahkan : [ 0 1minggu ] : GNSS_MEASUREMENT_STATE_TOW_DECODED disetel
Perhatikan baik-baik: jika ada ambiguitas dalam milidetik bilangan bulat, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS harus disetel sesuai, di bidang 'status'.
Nilai ini harus diisi jika 'status' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Untuk Glonass, ini adalah: Waktu Glonass yang diterima dalam sehari, 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 md ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi simbol : [ 0 10 md] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC disetel Sinkronisasi bit : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC disetel Sinkronisasi string : [ 0 2 detik ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC disetel Waktu hari : [ 0 1 hari ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC disetel Waktu : [ 0 1 hari ] : GNSSUREMENT_STATE_GLO_STRING_SYNC disetel Waktu
Untuk Beidou, ini adalah: Waktu Beidou yang diterima 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): [ adalah 0 2 mdtk] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC diatur Sinkronisasi bit (D1): [ 0 20 md] : GNSS_MEASUREMENT_STATE_BIT_SYNC diatur Subframe (D2): [ 0 0,6 dtk] : GNSS_MEASUREMENT_STATE_BDS_FRAMSSYNC_SUBFRAM_D2_SUBFRAM diatur 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 4 ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK disetel Kunci kode ke-2 E1C: [ 0 100 ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK disetel
Halaman E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC diatur 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, per setiap satelit, rentang valid untuk bidang ini dapat berupa: Pencarian : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Kunci kode C/A: [ 0 1 md ] : GNSS_MEASUREMENT_STATE_CODE_LOCK disetel Sinkronisasi simbol : [ 0 2 md ] : 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 |
svid int16_t |
Nomor ID kendaraan satelit, sebagaimana didefinisikan dalam GnssSvInfo::svid Ini adalah nilai wajib.
ganda waktu_offset_ns |
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 individu untuk pengukuran, dan memungkinkan akurasi sub-nanodetik. Ini adalah nilai wajib.
Dokumentasi untuk struct ini dibuat dari file berikut:
- hardware/libhardware/include/hardware/ gps.h