summaryrefslogtreecommitdiffstats
path: root/gnss
diff options
context:
space:
mode:
authorYu-Han Yang <yuhany@google.com>2020-03-03 15:23:50 -0800
committerYu-Han Yang <yuhany@google.com>2020-03-17 20:42:32 +0000
commit6668eab9dc850e53fecd6fe3d93d44b53fbd0fa3 (patch)
treef568206accc7ba3a1aa2550eadb50f2541a0a553 /gnss
parenta561f539fc367151260b378c022e95721617fa68 (diff)
downloadplatform_hardware_interfaces-6668eab9dc850e53fecd6fe3d93d44b53fbd0fa3.tar.gz
platform_hardware_interfaces-6668eab9dc850e53fecd6fe3d93d44b53fbd0fa3.tar.bz2
platform_hardware_interfaces-6668eab9dc850e53fecd6fe3d93d44b53fbd0fa3.zip
Update inter-signal bias (HAL)
- Rename recieverInterSignalBiasNs into interSignalBiasNs, which refers to the sum of receiver ISB and satellite ISB. Bug: 150724332 Test: atest VtsHalGnssV2_1TargetTest Change-Id: Ifae15cb482bc12e793a481fec7847c817ef3c34d
Diffstat (limited to 'gnss')
-rw-r--r--gnss/2.1/IGnssMeasurementCallback.hal64
-rw-r--r--gnss/2.1/vts/functional/gnss_hal_test_cases.cpp11
-rw-r--r--gnss/common/utils/default/Utils.cpp8
3 files changed, 49 insertions, 34 deletions
diff --git a/gnss/2.1/IGnssMeasurementCallback.hal b/gnss/2.1/IGnssMeasurementCallback.hal
index 0e6abbd5e5..60a542330d 100644
--- a/gnss/2.1/IGnssMeasurementCallback.hal
+++ b/gnss/2.1/IGnssMeasurementCallback.hal
@@ -30,13 +30,13 @@ interface IGnssMeasurementCallback extends @2.0::IGnssMeasurementCallback {
*/
enum GnssMeasurementFlags : @1.0::IGnssMeasurementCallback.GnssMeasurementFlags {
/**
- * A valid receiver inter-signal bias is stored in the data structure.
+ * A valid full inter-signal bias is stored in the data structure.
*/
- HAS_RECEIVER_ISB = 1 << 16,
+ HAS_FULL_ISB = 1 << 16,
/**
- * A valid receiver inter-signal bias uncertainty is stored in the data structure.
+ * A valid full inter-signal bias uncertainty is stored in the data structure.
*/
- HAS_RECEIVER_ISB_UNCERTAINTY = 1 << 17,
+ HAS_FULL_ISB_UNCERTAINTY = 1 << 17,
/**
* A valid satellite inter-signal bias is stored in the data structure.
*/
@@ -77,42 +77,58 @@ interface IGnssMeasurementCallback extends @2.0::IGnssMeasurementCallback {
bitfield<GnssMeasurementFlags> flags;
/**
- * The receiver inter-signal bias (ISB) in nanoseconds.
+ * The full inter-signal bias (ISB) in nanoseconds.
*
- * This value is the estimated receiver-side inter-system (different from the constellation
- * in GnssClock.referenceSignalTypeForIsb) bias and inter-frequency (different from the
- * carrier frequency in GnssClock.referenceSignalTypeForIsb) bias. The reported receiver ISB
- * must include signal delays caused by
+ * This value is the sum of the estimated receiver-side and the space-segment-side
+ * inter-system bias, inter-frequency bias and inter-code bias, including
*
- * - Receiver inter-constellation bias
- * - Receiver inter-frequency bias
- * - Receiver inter-code bias
+ * - Receiver inter-constellation bias (with respect to the constellation in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Receiver inter-frequency bias (with respect to the carrier frequency in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Receiver inter-code bias (with respect to the code type in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset
+ * (TauGps), BDS-GLO Time Offset (BGTO)) (with respect to the constellation in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Group delay (e.g., Total Group Delay (TGD))
+ * - Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the
+ * code type in GnssClock.referenceSignalTypeForIsb)
+ *
+ * If a component of the above is already compensated in the provided
+ * GnssMeasurement.receivedSvTimeInNs, then it must not be included in the reported full
+ * ISB.
*
* The value does not include the inter-frequency Ionospheric bias.
*
- * The receiver ISB of GnssClock.referenceSignalTypeForIsb is defined to be 0.0 nanoseconds.
+ * The full ISB of GnssClock.referenceSignalTypeForIsb is defined to be 0.0 nanoseconds.
*/
- double receiverInterSignalBiasNs;
+ double fullInterSignalBiasNs;
/**
- * 1-sigma uncertainty associated with the receiver inter-signal bias in nanoseconds.
+ * 1-sigma uncertainty associated with the full inter-signal bias in nanoseconds.
*/
- double receiverInterSignalBiasUncertaintyNs;
+ double fullInterSignalBiasUncertaintyNs;
/**
* The satellite inter-signal bias in nanoseconds.
*
- * This value is the satellite-and-control-segment-side inter-system (different from the
- * constellation in GnssClock.referenceSignalTypeForIsb) bias and inter-frequency (different
- * from the carrier frequency in GnssClock.referenceSignalTypeForIsb) bias, including:
+ * This value is the sum of the space-segment-side inter-system bias, inter-frequency bias
+ * and inter-code bias, including
*
- * - Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPT-UTC Time Offset (TauGps),
- * BDS-GLO Time Offset (BGTO))
+ * - Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset
+ * (TauGps), BDS-GLO Time Offset (BGTO)) (with respect to the constellation in
+ * GnssClock.referenceSignalTypeForIsb)
* - Group delay (e.g., Total Group Delay (TGD))
- * - Satellite inter-signal bias, which includes satellite inter-frequency bias (GLO only),
- * and satellite inter-code bias (e.g., Differential Code Bias (DCB)).
+ * - Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in
+ * GnssClock.referenceSignalTypeForIsb)
+ * - Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the
+ * code type in GnssClock.referenceSignalTypeForIsb)
*
- * The receiver ISB of GnssClock.referenceSignalTypeForIsb is defined to be 0.0 nanoseconds.
+ * The satellite ISB of GnssClock.referenceSignalTypeForIsb is defined to be 0.0
+ * nanoseconds.
*/
double satelliteInterSignalBiasNs;
diff --git a/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp b/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp
index 7b054c0033..33feb5e5f0 100644
--- a/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp
+++ b/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp
@@ -98,7 +98,7 @@ TEST_P(GnssHalTest, TestGnssConfigurationExtension) {
* TestGnssMeasurementFields:
* Sets a GnssMeasurementCallback, waits for a measurement, and verifies
* 1. basebandCN0DbHz is valid
- * 2. ISB fields are valid if HAS_INTER_SIGNAL_BIAS is true.
+ * 2. ISB fields are valid
*/
TEST_P(GnssHalTest, TestGnssMeasurementFields) {
const int kFirstGnssMeasurementTimeoutSeconds = 10;
@@ -126,9 +126,8 @@ TEST_P(GnssHalTest, TestGnssMeasurementFields) {
// Verify basebandCn0DbHz is valid.
ASSERT_TRUE(measurement.basebandCN0DbHz > 0.0 && measurement.basebandCN0DbHz <= 65.0);
- if (((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_RECEIVER_ISB) > 0) &&
- ((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_RECEIVER_ISB_UNCERTAINTY) >
- 0) &&
+ if (((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_FULL_ISB) > 0) &&
+ ((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_FULL_ISB_UNCERTAINTY) > 0) &&
((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_SATELLITE_ISB) > 0) &&
((uint32_t)(measurement.flags & GnssMeasurementFlags::HAS_SATELLITE_ISB_UNCERTAINTY) >
0)) {
@@ -143,8 +142,8 @@ TEST_P(GnssHalTest, TestGnssMeasurementFields) {
ASSERT_TRUE(carrierFrequencyHz > 0);
ASSERT_TRUE(codeType != "");
- ASSERT_TRUE(std::abs(measurement.receiverInterSignalBiasNs) < 1.0e6);
- ASSERT_TRUE(measurement.receiverInterSignalBiasUncertaintyNs >= 0);
+ ASSERT_TRUE(std::abs(measurement.fullInterSignalBiasNs) < 1.0e6);
+ ASSERT_TRUE(measurement.fullInterSignalBiasUncertaintyNs >= 0);
ASSERT_TRUE(std::abs(measurement.satelliteInterSignalBiasNs) < 1.0e6);
ASSERT_TRUE(measurement.satelliteInterSignalBiasUncertaintyNs >= 0);
}
diff --git a/gnss/common/utils/default/Utils.cpp b/gnss/common/utils/default/Utils.cpp
index 2e5b87330f..386090e486 100644
--- a/gnss/common/utils/default/Utils.cpp
+++ b/gnss/common/utils/default/Utils.cpp
@@ -39,12 +39,12 @@ GnssDataV2_1 Utils::getMockMeasurementV2_1() {
.v2_0 = gnssDataV2_0.measurements[0],
.flags = (uint32_t)(GnssMeasurementFlagsV2_1::HAS_CARRIER_FREQUENCY |
GnssMeasurementFlagsV2_1::HAS_CARRIER_PHASE |
- GnssMeasurementFlagsV2_1::HAS_RECEIVER_ISB |
- GnssMeasurementFlagsV2_1::HAS_RECEIVER_ISB_UNCERTAINTY |
+ GnssMeasurementFlagsV2_1::HAS_FULL_ISB |
+ GnssMeasurementFlagsV2_1::HAS_FULL_ISB_UNCERTAINTY |
GnssMeasurementFlagsV2_1::HAS_SATELLITE_ISB |
GnssMeasurementFlagsV2_1::HAS_SATELLITE_ISB_UNCERTAINTY),
- .receiverInterSignalBiasNs = 10.0,
- .receiverInterSignalBiasUncertaintyNs = 100.0,
+ .fullInterSignalBiasNs = 30.0,
+ .fullInterSignalBiasUncertaintyNs = 250.0,
.satelliteInterSignalBiasNs = 20.0,
.satelliteInterSignalBiasUncertaintyNs = 150.0,
.basebandCN0DbHz = 25.0,