GnssMeasurement
public
final
class
GnssMeasurement
extends Object
implements
Parcelable
| java.lang.Object | |
| ↳ | android.location.GnssMeasurement |
A class representing a GNSS satellite measurement, containing raw and computed information.
Summary
Constants | |
|---|---|
int |
ADR_STATE_CYCLE_SLIP
The state of the |
int |
ADR_STATE_HALF_CYCLE_REPORTED
Reports whether the flag |
int |
ADR_STATE_HALF_CYCLE_RESOLVED
Reports whether the value |
int |
ADR_STATE_RESET
The state of the |
int |
ADR_STATE_UNKNOWN
The state of the value |
int |
ADR_STATE_VALID
The state of the |
int |
MULTIPATH_INDICATOR_DETECTED
The measurement shows signs of multi-path. |
int |
MULTIPATH_INDICATOR_NOT_DETECTED
The measurement shows no signs of multi-path. |
int |
MULTIPATH_INDICATOR_UNKNOWN
The indicator is not available or the presence or absence of multipath is unknown. |
int |
STATE_2ND_CODE_LOCK
This GNSS measurement's tracking state has secondary code lock. |
int |
STATE_BDS_D2_BIT_SYNC
This Beidou measurement's tracking state has D2 bit sync. |
int |
STATE_BDS_D2_SUBFRAME_SYNC
This Beidou measurement's tracking state has D2 sub-frame sync. |
int |
STATE_BIT_SYNC
This GNSS measurement's tracking state has bit sync. |
int |
STATE_CODE_LOCK
This GNSS measurement's tracking state has code lock. |
int |
STATE_GAL_E1BC_CODE_LOCK
This Galileo measurement's tracking state has E1B/C code lock. |
int |
STATE_GAL_E1B_PAGE_SYNC
This Galileo measurement's tracking state has E1B page sync. |
int |
STATE_GAL_E1C_2ND_CODE_LOCK
This Galileo measurement's tracking state has E1C secondary code lock. |
int |
STATE_GLO_STRING_SYNC
This Glonass measurement's tracking state has string sync. |
int |
STATE_GLO_TOD_DECODED
This Glonass measurement's tracking state has time-of-day decoded. |
int |
STATE_GLO_TOD_KNOWN
This Glonass measurement's tracking state has time-of-day known, possibly not decoded over the air but has been determined from other sources. |
int |
STATE_MSEC_AMBIGUOUS
This GNSS measurement's tracking state contains millisecond ambiguity. |
int |
STATE_SBAS_SYNC
This SBAS measurement's tracking state has whole second level sync. |
int |
STATE_SUBFRAME_SYNC
This GNSS measurement's tracking state has sub-frame sync. |
int |
STATE_SYMBOL_SYNC
This GNSS measurement's tracking state has symbol sync. |
int |
STATE_TOW_DECODED
This GNSS measurement's tracking state has time-of-week decoded. |
int |
STATE_TOW_KNOWN
This GNSS measurement's tracking state has time-of-week known, possibly not decoded over the air but has been determined from other sources. |
int |
STATE_UNKNOWN
This GNSS measurement's tracking state is invalid or unknown. |
Inherited constants |
|---|
Fields | |
|---|---|
public
static
final
Creator<GnssMeasurement> |
CREATOR
|
Public methods | |
|---|---|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
double
|
getAccumulatedDeltaRangeMeters()
Gets the accumulated delta range since the last channel reset, in meters. |
int
|
getAccumulatedDeltaRangeState()
Gets 'Accumulated Delta Range' state. |
double
|
getAccumulatedDeltaRangeUncertaintyMeters()
Gets the accumulated delta range's uncertainty (1-Sigma) in meters. |
double
|
getAutomaticGainControlLevelDb()
Gets the Automatic Gain Control level in dB. |
double
|
getBasebandCn0DbHz()
Gets the baseband carrier-to-noise density in dB-Hz. |
long
|
getCarrierCycles()
This method was deprecated
in API level 28.
use |
float
|
getCarrierFrequencyHz()
Gets the carrier frequency of the tracked signal. |
double
|
getCarrierPhase()
This method was deprecated
in API level 28.
use |
double
|
getCarrierPhaseUncertainty()
This method was deprecated
in API level 28.
use |
double
|
getCn0DbHz()
Gets the Carrier-to-noise density in dB-Hz. |
String
|
getCodeType()
Gets the GNSS measurement's code type. |
int
|
getConstellationType()
Gets the constellation type. |
double
|
getFullInterSignalBiasNanos()
Gets the GNSS measurement's inter-signal bias in nanoseconds with sub-nanosecond accuracy. |
double
|
getFullInterSignalBiasUncertaintyNanos()
Gets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in nanoseconds with sub-nanosecond accuracy. |
int
|
getMultipathIndicator()
Gets a value indicating the 'multipath' state of the event. |
double
|
getPseudorangeRateMetersPerSecond()
Gets the Pseudorange rate at the timestamp in m/s. |
double
|
getPseudorangeRateUncertaintyMetersPerSecond()
Gets the pseudorange's rate uncertainty (1-Sigma) in m/s. |
long
|
getReceivedSvTimeNanos()
Gets the received GNSS satellite time, at the measurement time, in nanoseconds. |
long
|
getReceivedSvTimeUncertaintyNanos()
Gets the error estimate (1-sigma) for the received GNSS time, in nanoseconds. |
double
|
getSatelliteInterSignalBiasNanos()
Gets the GNSS measurement's satellite inter-signal bias in nanoseconds with sub-nanosecond accuracy. |
double
|
getSatelliteInterSignalBiasUncertaintyNanos()
Gets the GNSS measurement's satellite inter-signal bias uncertainty (1 sigma) in nanoseconds with sub-nanosecond accuracy. |
double
|
getSnrInDb()
Gets the (post-correlation & integration) Signal-to-Noise ratio (SNR) in dB. |
int
|
getState()
Gets per-satellite sync state. |
int
|
getSvid()
Gets the satellite ID. |
double
|
getTimeOffsetNanos()
Gets the time offset at which the measurement was taken in nanoseconds. |
boolean
|
hasAutomaticGainControlLevelDb()
Returns |
boolean
|
hasBasebandCn0DbHz()
Returns |
boolean
|
hasCarrierCycles()
This method was deprecated
in API level 28.
use |
boolean
|
hasCarrierFrequencyHz()
Returns |
boolean
|
hasCarrierPhase()
This method was deprecated
in API level 28.
use |
boolean
|
hasCarrierPhaseUncertainty()
This method was deprecated
in API level 28.
use |
boolean
|
hasCodeType()
Returns |
boolean
|
hasFullInterSignalBiasNanos()
Returns |
boolean
|
hasFullInterSignalBiasUncertaintyNanos()
Returns |
boolean
|
hasSatelliteInterSignalBiasNanos()
Returns |
boolean
|
hasSatelliteInterSignalBiasUncertaintyNanos()
Returns |
boolean
|
hasSnrInDb()
Returns |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel parcel, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
|---|---|
Constants
ADR_STATE_CYCLE_SLIP
public static final int ADR_STATE_CYCLE_SLIP
The state of the getAccumulatedDeltaRangeMeters() has a cycle slip detected.
Constant Value: 4 (0x00000004)
ADR_STATE_HALF_CYCLE_REPORTED
public static final int ADR_STATE_HALF_CYCLE_REPORTED
Reports whether the flag ADR_STATE_HALF_CYCLE_RESOLVED has been reported by the
GNSS hardware.
When this bit is set, the value of getAccumulatedDeltaRangeUncertaintyMeters()
can be low (centimeter level) whether or not the half cycle ambiguity is resolved.
When this bit is unset, the value of getAccumulatedDeltaRangeUncertaintyMeters()
is larger, to cover the potential error due to half cycle ambiguity being unresolved.
Constant Value: 16 (0x00000010)
ADR_STATE_HALF_CYCLE_RESOLVED
public static final int ADR_STATE_HALF_CYCLE_RESOLVED
Reports whether the value getAccumulatedDeltaRangeMeters() has resolved the half
cycle ambiguity.
When this bit is set, the getAccumulatedDeltaRangeMeters() corresponds to the
carrier phase measurement plus an accumulated integer number of carrier full cycles.
When this bit is unset, the getAccumulatedDeltaRangeMeters() corresponds to the
carrier phase measurement plus an accumulated integer number of carrier half cycles.
Constant Value: 8 (0x00000008)
ADR_STATE_RESET
public static final int ADR_STATE_RESET
The state of the getAccumulatedDeltaRangeMeters() has detected a reset.
Constant Value: 2 (0x00000002)
ADR_STATE_UNKNOWN
public static final int ADR_STATE_UNKNOWN
The state of the value getAccumulatedDeltaRangeMeters() is invalid or unknown.
Constant Value: 0 (0x00000000)
ADR_STATE_VALID
public static final int ADR_STATE_VALID
The state of the getAccumulatedDeltaRangeMeters() is valid.
Constant Value: 1 (0x00000001)
MULTIPATH_INDICATOR_DETECTED
public static final int MULTIPATH_INDICATOR_DETECTED
The measurement shows signs of multi-path.
Constant Value: 1 (0x00000001)
MULTIPATH_INDICATOR_NOT_DETECTED
public static final int MULTIPATH_INDICATOR_NOT_DETECTED
The measurement shows no signs of multi-path.
Constant Value: 2 (0x00000002)
MULTIPATH_INDICATOR_UNKNOWN
public static final int MULTIPATH_INDICATOR_UNKNOWN
The indicator is not available or the presence or absence of multipath is unknown.
Constant Value: 0 (0x00000000)
STATE_2ND_CODE_LOCK
public static final int STATE_2ND_CODE_LOCK
This GNSS measurement's tracking state has secondary code lock.
Constant Value: 65536 (0x00010000)
STATE_BDS_D2_BIT_SYNC
public static final int STATE_BDS_D2_BIT_SYNC
This Beidou measurement's tracking state has D2 bit sync.
Constant Value: 256 (0x00000100)
STATE_BDS_D2_SUBFRAME_SYNC
public static final int STATE_BDS_D2_SUBFRAME_SYNC
This Beidou measurement's tracking state has D2 sub-frame sync.
Constant Value: 512 (0x00000200)
STATE_BIT_SYNC
public static final int STATE_BIT_SYNC
This GNSS measurement's tracking state has bit sync.
Constant Value: 2 (0x00000002)
STATE_CODE_LOCK
public static final int STATE_CODE_LOCK
This GNSS measurement's tracking state has code lock.
Constant Value: 1 (0x00000001)
STATE_GAL_E1BC_CODE_LOCK
public static final int STATE_GAL_E1BC_CODE_LOCK
This Galileo measurement's tracking state has E1B/C code lock.
Constant Value: 1024 (0x00000400)
STATE_GAL_E1B_PAGE_SYNC
public static final int STATE_GAL_E1B_PAGE_SYNC
This Galileo measurement's tracking state has E1B page sync.
Constant Value: 4096 (0x00001000)
STATE_GAL_E1C_2ND_CODE_LOCK
public static final int STATE_GAL_E1C_2ND_CODE_LOCK
This Galileo measurement's tracking state has E1C secondary code lock.
Constant Value: 2048 (0x00000800)
STATE_GLO_STRING_SYNC
public static final int STATE_GLO_STRING_SYNC
This Glonass measurement's tracking state has string sync.
Constant Value: 64 (0x00000040)
STATE_GLO_TOD_DECODED
public static final int STATE_GLO_TOD_DECODED
This Glonass measurement's tracking state has time-of-day decoded.
Constant Value: 128 (0x00000080)
STATE_GLO_TOD_KNOWN
public static final int STATE_GLO_TOD_KNOWN
This Glonass measurement's tracking state has time-of-day known, possibly not decoded over the air but has been determined from other sources. If TOD decoded is set then TOD Known will also be set.
Constant Value: 32768 (0x00008000)
STATE_MSEC_AMBIGUOUS
public static final int STATE_MSEC_AMBIGUOUS
This GNSS measurement's tracking state contains millisecond ambiguity.
Constant Value: 16 (0x00000010)
STATE_SBAS_SYNC
public static final int STATE_SBAS_SYNC
This SBAS measurement's tracking state has whole second level sync.
Constant Value: 8192 (0x00002000)
STATE_SUBFRAME_SYNC
public static final int STATE_SUBFRAME_SYNC
This GNSS measurement's tracking state has sub-frame sync.
Constant Value: 4 (0x00000004)
STATE_SYMBOL_SYNC
public static final int STATE_SYMBOL_SYNC
This GNSS measurement's tracking state has symbol sync.
Constant Value: 32 (0x00000020)
STATE_TOW_DECODED
public static final int STATE_TOW_DECODED
This GNSS measurement's tracking state has time-of-week decoded.
Constant Value: 8 (0x00000008)
STATE_TOW_KNOWN
public static final int STATE_TOW_KNOWN
This GNSS measurement's tracking state has time-of-week known, possibly not decoded over the air but has been determined from other sources. If TOW decoded is set then TOW Known will also be set.
Constant Value: 16384 (0x00004000)
STATE_UNKNOWN
public static final int STATE_UNKNOWN
This GNSS measurement's tracking state is invalid or unknown.
Constant Value: 0 (0x00000000)
Fields
Public methods
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
int |
a bitmask indicating the set of special object types marshaled
by this Parcelable object instance.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
getAccumulatedDeltaRangeMeters
public double getAccumulatedDeltaRangeMeters ()
Gets the accumulated delta range since the last channel reset, in meters.
The error estimate for this value is getAccumulatedDeltaRangeUncertaintyMeters().
The availability of the value is represented by getAccumulatedDeltaRangeState().
A positive value indicates that the SV is moving away from the receiver.
The sign of getAccumulatedDeltaRangeMeters() and its relation to the sign of
getCarrierPhase() is given by the equation:
accumulated delta range = -k * carrier phase (where k is a constant)
Similar to the concept of an RTCM "Phaserange", when the accumulated delta range is initially chosen, and whenever it is reset, it will retain the integer nature of the relative carrier phase offset between satellites observed by this receiver, such that the double difference of this value between receivers and satellites may be used, together with integer ambiguity resolution, to determine highly precise relative location between receivers.
This includes ensuring that all half-cycle ambiguities are resolved before this value is
reported as ADR_STATE_VALID.
The alignment of the phase measurement will not be adjusted by the receiver so the in-phase and quadrature phase components will have a quarter cycle offset as they do when transmitted from the satellites. If the measurement is from a combination of the in-phase and quadrature phase components, then the alignment of the phase measurement will be aligned to the in-phase component.
| Returns | |
|---|---|
double |
|
getAccumulatedDeltaRangeState
public int getAccumulatedDeltaRangeState ()
Gets 'Accumulated Delta Range' state.
It indicates whether getAccumulatedDeltaRangeMeters() is reset or there is a
cycle slip (indicating 'loss of lock').
| Returns | |
|---|---|
int |
Value is either 0 or a combination of ADR_STATE_VALID, ADR_STATE_RESET, ADR_STATE_CYCLE_SLIP, ADR_STATE_HALF_CYCLE_RESOLVED, and ADR_STATE_HALF_CYCLE_REPORTED |
getAccumulatedDeltaRangeUncertaintyMeters
public double getAccumulatedDeltaRangeUncertaintyMeters ()
Gets the accumulated delta range's uncertainty (1-Sigma) in meters.
The uncertainty is represented as an absolute (single sided) value.
The status of the value is represented by getAccumulatedDeltaRangeState().
| Returns | |
|---|---|
double |
|
getAutomaticGainControlLevelDb
public double getAutomaticGainControlLevelDb ()
Gets the Automatic Gain Control level in dB.
AGC acts as a variable gain amplifier adjusting the power of the incoming signal. The AGC level may be used to indicate potential interference. When AGC is at a nominal level, this value must be set as 0. Higher gain (and/or lower input power) shall be output as a positive number. Hence in cases of strong jamming, in the band of this signal, this value will go more negative.
Note: Different hardware designs (e.g. antenna, pre-amplification, or other RF HW components) may also affect the typical output of of this value on any given hardware design in an open sky test - the important aspect of this output is that changes in this value are indicative of changes on input signal power in the frequency band for this measurement.
The value is only available if hasAutomaticGainControlLevelDb() is true
| Returns | |
|---|---|
double |
|
getBasebandCn0DbHz
public double getBasebandCn0DbHz ()
Gets the baseband carrier-to-noise density in dB-Hz.
Typical range: 10-50 dB-Hz. The range of possible baseband C/N0 values is 0-63 dB-Hz to handle some edge cases.
The value contains the measured C/N0 for the signal at the baseband. This is typically
a few dB weaker than the value estimated for C/N0 at the antenna port, which is reported
in getCn0DbHz().
| Returns | |
|---|---|
double |
Value is between 0 and 63 inclusive |
getCarrierCycles
public long getCarrierCycles ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeMeters() instead.
The number of full carrier cycles between the satellite and the receiver.
The reference frequency is given by the value of getCarrierFrequencyHz().
The value is only available if hasCarrierCycles() is true.
| Returns | |
|---|---|
long |
|
getCarrierFrequencyHz
public float getCarrierFrequencyHz ()
Gets the carrier frequency of the tracked signal.
For example it can be the GPS central frequency for L1 = 1575.45 MHz, or L2 = 1227.60 MHz, L5 = 1176.45 MHz, varying GLO channels, etc. If the field is not set, it is the primary common use central frequency, e.g. L1 = 1575.45 MHz for GPS.
For an L1, L5 receiver tracking a satellite on L1 and L5 at the same time, two raw measurement objects will be reported for this same satellite, in one of the measurement objects, all the values related to L1 will be filled, and in the other all of the values related to L5 will be filled.
The value is only available if hasCarrierFrequencyHz() is true.
| Returns | |
|---|---|
float |
the carrier frequency of the signal tracked in Hz. |
getCarrierPhase
public double getCarrierPhase ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeMeters() instead.
Gets the RF phase detected by the receiver.
Range: [0.0, 1.0].
This is the fractional part of the complete carrier phase measurement.
The reference frequency is given by the value of getCarrierFrequencyHz().
The error estimate for this value is getCarrierPhaseUncertainty().
The value is only available if hasCarrierPhase() is true.
| Returns | |
|---|---|
double |
|
getCarrierPhaseUncertainty
public double getCarrierPhaseUncertainty ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeUncertaintyMeters() instead.
Gets the carrier-phase's uncertainty (1-Sigma).
The uncertainty is represented as an absolute (single sided) value.
The value is only available if hasCarrierPhaseUncertainty() is true.
| Returns | |
|---|---|
double |
|
getCn0DbHz
public double getCn0DbHz ()
Gets the Carrier-to-noise density in dB-Hz.
Typical range: 10-50 dB-Hz. The range of possible C/N0 values is 0-63 dB-Hz to handle some edge cases.
The value contains the measured C/N0 for the signal at the antenna input.
| Returns | |
|---|---|
double |
Value is between 0 and 63 inclusive |
getCodeType
public String getCodeType ()
Gets the GNSS measurement's code type.
Similar to the Attribute field described in RINEX 3.03, e.g., in Tables 4-10, and Table A2 at the RINEX 3.03 Update 1 Document.
Returns "A" for GALILEO E1A, GALILEO E6A, IRNSS L5A, IRNSS SA.
Returns "B" for GALILEO E1B, GALILEO E6B, IRNSS L5B, IRNSS SB.
Returns "C" for GPS L1 C/A, GPS L2 C/A, GLONASS G1 C/A, GLONASS G2 C/A, GALILEO E1C, GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, IRNSS L5C.
Returns "D" for BDS B1C D.
Returns "I" for GPS L5 I, GLONASS G3 I, GALILEO E5a I, GALILEO E5b I, GALILEO E5a+b I, SBAS L5 I, QZSS L5 I, BDS B1 I, BDS B2 I, BDS B3 I.
Returns "L" for GPS L1C (P), GPS L2C (L), QZSS L1C (P), QZSS L2C (L), LEX(6) L.
Returns "M" for GPS L1M, GPS L2M.
Returns "N" for GPS L1 codeless, GPS L2 codeless.
Returns "P" for GPS L1P, GPS L2P, GLONASS G1P, GLONASS G2P, BDS B1C P.
Returns "Q" for GPS L5 Q, GLONASS G3 Q, GALILEO E5a Q, GALILEO E5b Q, GALILEO E5a+b Q, SBAS L5 Q, QZSS L5 Q, BDS B1 Q, BDS B2 Q, BDS B3 Q.
Returns "S" for GPS L1C (D), GPS L2C (M), QZSS L1C (D), QZSS L2C (M), LEX(6) S.
Returns "W" for GPS L1 Z-tracking, GPS L2 Z-tracking.
Returns "X" for GPS L1C (D+P), GPS L2C (M+L), GPS L5 (I+Q), GLONASS G3 (I+Q), GALILEO E1 (B+C), GALILEO E5a (I+Q), GALILEO E5b (I+Q), GALILEO E5a+b(I+Q), GALILEO E6 (B+C), SBAS L5 (I+Q), QZSS L1C (D+P), QZSS L2C (M+L), QZSS L5 (I+Q), LEX(6) (S+L), BDS B1 (I+Q), BDS B1C (D+P), BDS B2 (I+Q), BDS B3 (I+Q), IRNSS L5 (B+C).
Returns "Y" for GPS L1Y, GPS L2Y.
Returns "Z" for GALILEO E1 (A+B+C), GALILEO E6 (A+B+C), QZSS L1-SAIF.
Returns "UNKNOWN" if the GNSS Measurement's code type is unknown.
This is used to specify the observation descriptor defined in GNSS Observation Data File Header Section Description in the RINEX standard (Version 3.XX), in cases where the code type does not align with the above listed values. For example, if a code type "G" is added, this string shall be set to "G".
| Returns | |
|---|---|
String |
This value cannot be null. |
getConstellationType
public int getConstellationType ()
Gets the constellation type.
The return value is one of those constants with CONSTELLATION_ prefix in
GnssStatus.
getFullInterSignalBiasNanos
public double getFullInterSignalBiasNanos ()
Gets the GNSS measurement's inter-signal bias in nanoseconds with sub-nanosecond accuracy.
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 (with respect to the constellation in
GnssClock#getReferenceConstellationTypeForIsb()Returns double
getFullInterSignalBiasUncertaintyNanos
public double getFullInterSignalBiasUncertaintyNanos ()
Gets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in nanoseconds with sub-nanosecond accuracy.
The value is only available if hasFullInterSignalBiasUncertaintyNanos() is
true.
| Returns | |
|---|---|
double |
Value is 0.0 or greater |
getMultipathIndicator
public int getMultipathIndicator ()
Gets a value indicating the 'multipath' state of the event.
| Returns | |
|---|---|
int |
Value is MULTIPATH_INDICATOR_UNKNOWN, MULTIPATH_INDICATOR_DETECTED, or MULTIPATH_INDICATOR_NOT_DETECTED |
getPseudorangeRateMetersPerSecond
public double getPseudorangeRateMetersPerSecond ()
Gets the Pseudorange rate at the timestamp in m/s.
The error estimate for this value is
getPseudorangeRateUncertaintyMetersPerSecond().
The value is uncorrected, i.e. corrections for receiver and satellite clock frequency errors are not included.
A positive 'uncorrected' value indicates that the SV is moving away from the receiver. The sign of the 'uncorrected' 'pseudorange rate' and its relation to the sign of 'doppler shift' is given by the equation:
pseudorange rate = -k * doppler shift (where k is a constant)
| Returns | |
|---|---|
double |
|
getPseudorangeRateUncertaintyMetersPerSecond
public double getPseudorangeRateUncertaintyMetersPerSecond ()
Gets the pseudorange's rate uncertainty (1-Sigma) in m/s.
The uncertainty is represented as an absolute (single sided) value.
| Returns | |
|---|---|
double |
|
getReceivedSvTimeNanos
public long getReceivedSvTimeNanos ()
Gets the received GNSS satellite time, at the measurement time, in nanoseconds.
The received satellite time is relative to the beginning of the system week for all constellations except for Glonass where it is relative to the beginning of the Glonass system day.
The table below indicates the valid range of the received GNSS satellite time. These
ranges depend on the constellation and code being tracked and the state of the tracking
algorithms given by the getState() method. The minimum value of this field is zero.
The maximum value of this field is determined by looking across all of the state flags
that are set, for the given constellation and code type, and finding the the maximum value
in this table.
For example, for GPS L1 C/A, if STATE_TOW_KNOWN is set, this field can be any value from 0 to 1 week (in nanoseconds), and for GAL E1B code, if only STATE_GAL_E1BC_CODE_LOCK is set, then this field can be any value from 0 to 4 milliseconds (in nanoseconds.)
| GPS/QZSS | GLNS | BDS | GAL | SBAS | ||||||
| State Flag | L1 C/A | L5I | L5Q | L1OF | B1I (D1) | B1I (D2) | E1B | E1C | E5AQ | L1 C/A |
| STATE_UNKNOWN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| STATE_CODE_LOCK | 1 ms | 1 ms | 1 ms | 1 ms | 1 ms | 1 ms | - | - | 1 ms | 1 ms |
| STATE_SYMBOL_SYNC | 20 ms (optional) | 10 ms | 1 ms (optional) | 10 ms | 20 ms (optional) | 2 ms | 4 ms (optional) | 4 ms (optional) | 1 ms (optional) | 2 ms |
| STATE_BIT_SYNC | 20 ms | 20 ms | 1 ms (optional) | 20 ms | 20 ms | - | 8 ms | - | 1 ms (optional) | 4 ms |
| STATE_SUBFRAME_SYNC | 6s | 6s | - | 2 s | 6 s | - | - | - | 100 ms | - |
| STATE_TOW_DECODED | 1 week | - | 1 day | 1 week | 1 week | - | 1 week | |||
| STATE_TOW_KNOWN | 1 week | 1 day | 1 week | 1 week | 1 week | |||||
| STATE_GLO_STRING_SYNC | - | - | - | 2 s | - | - | - | - | - | - |
| STATE_GLO_TOD_DECODED | - | - | - | 1 day | - | - | - | - | - | - |
| STATE_GLO_TOD_KNOWN | - | - | - | 1 day | - | - | - | - | - | - |
| STATE_BDS_D2_BIT_SYNC | - | - | - | - | - | 2 ms | - | - | - | - |
| STATE_BDS_D2_SUBFRAME_SYNC | - | - | - | - | - | 600 ms | - | - | - | - |
| STATE_GAL_E1BC_CODE_LOCK | - | - | - | - | - | - | 4 ms | 4 ms | - | - |
| STATE_GAL_E1C_2ND_CODE_LOCK | - | - | - | - | - | - | - | 100 ms | - | - |
| STATE_2ND_CODE_LOCK | - | 10 ms (optional) | 20 ms | - | - | - | - | 100 ms (optional) | 100 ms | - |
| STATE_GAL_E1B_PAGE_SYNC | - | - | - | - | - | - | 2 s | - | - | - |
| STATE_SBAS_SYNC | - | - | - | - | - | - | - | - | - | 1 s |
Note: TOW Known refers to the case where TOW is possibly not decoded over the air but has been determined from other sources. If TOW decoded is set then TOW Known must also be set.
Note well: if there is any ambiguity in integer millisecond, STATE_MSEC_AMBIGUOUS must be set accordingly, in the 'state' field. This value must be populated, unless the 'state' == STATE_UNKNOWN.
Note on optional flags:
- For L1 C/A and B1I, STATE_SYMBOL_SYNC is optional since the symbol length is the same as the bit length.
- For L5Q and E5aQ, STATE_BIT_SYNC and STATE_SYMBOL_SYNC are optional since they are implied by STATE_CODE_LOCK.
- STATE_2ND_CODE_LOCK for L5I is optional since it is implied by STATE_SYMBOL_SYNC.
- STATE_2ND_CODE_LOCK for E1C is optional since it is implied by STATE_GAL_E1C_2ND_CODE_LOCK.
- For E1B and E1C, STATE_SYMBOL_SYNC is optional, because it is implied by STATE_GAL_E1BC_CODE_LOCK.
| Returns | |
|---|---|
long |
|
getReceivedSvTimeUncertaintyNanos
public long getReceivedSvTimeUncertaintyNanos ()
Gets the error estimate (1-sigma) for the received GNSS time, in nanoseconds.
| Returns | |
|---|---|
long |
|
getSatelliteInterSignalBiasNanos
public double getSatelliteInterSignalBiasNanos ()
Gets the GNSS measurement's satellite inter-signal bias in nanoseconds with sub-nanosecond accuracy.
This value is 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), GPS-UTC Time Offset (TauGps),
BDS-GLO Time Offset (BGTO))(with respect to the constellation in
GnssClock#getReferenceConstellationTypeForIsb()Returns double
getSatelliteInterSignalBiasUncertaintyNanos
public double getSatelliteInterSignalBiasUncertaintyNanos ()
Gets the GNSS measurement's satellite inter-signal bias uncertainty (1 sigma) in nanoseconds with sub-nanosecond accuracy.
The value is only available if hasSatelliteInterSignalBiasUncertaintyNanos() is
true.
| Returns | |
|---|---|
double |
Value is 0.0 or greater |
getSnrInDb
public double getSnrInDb ()
Gets the (post-correlation & integration) Signal-to-Noise ratio (SNR) in dB.
The value is only available if hasSnrInDb() is true.
| Returns | |
|---|---|
double |
|
getState
public int getState ()
Gets per-satellite sync state.
It represents the current sync state for the associated satellite.
This value helps interpret getReceivedSvTimeNanos().
| Returns | |
|---|---|
int |
Value is either 0 or a combination of STATE_CODE_LOCK, STATE_BIT_SYNC, STATE_SUBFRAME_SYNC, STATE_TOW_DECODED, STATE_MSEC_AMBIGUOUS, STATE_SYMBOL_SYNC, STATE_GLO_STRING_SYNC, STATE_GLO_TOD_DECODED, STATE_BDS_D2_BIT_SYNC, STATE_BDS_D2_SUBFRAME_SYNC, STATE_GAL_E1BC_CODE_LOCK, STATE_GAL_E1C_2ND_CODE_LOCK, STATE_GAL_E1B_PAGE_SYNC, STATE_SBAS_SYNC, STATE_TOW_KNOWN, STATE_GLO_TOD_KNOWN, and STATE_2ND_CODE_LOCK |
getSvid
public int getSvid ()
Gets the satellite ID.
Interpretation depends on getConstellationType().
See GnssStatus#getSvid(int).
| Returns | |
|---|---|
int |
|
getTimeOffsetNanos
public double getTimeOffsetNanos ()
Gets the time offset at which the measurement was taken in nanoseconds.
The reference receiver's time from which this is offset is specified by
GnssClock#getTimeNanos().
The sign of this value is given by the following equation:
measurement time = TimeNanos + TimeOffsetNanos
The value provides an individual time-stamp for the measurement, and allows sub-nanosecond accuracy.
| Returns | |
|---|---|
double |
|
hasAutomaticGainControlLevelDb
public boolean hasAutomaticGainControlLevelDb ()
Returns true if getAutomaticGainControlLevelDb() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasBasebandCn0DbHz
public boolean hasBasebandCn0DbHz ()
Returns true if getBasebandCn0DbHz() is available, false otherwise.
| Returns | |
|---|---|
boolean |
|
hasCarrierCycles
public boolean hasCarrierCycles ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeState() instead.
Returns true if getCarrierCycles() is available, false otherwise.
| Returns | |
|---|---|
boolean |
|
hasCarrierFrequencyHz
public boolean hasCarrierFrequencyHz ()
Returns true if getCarrierFrequencyHz() is available, false
otherwise.
| Returns | |
|---|---|
boolean |
|
hasCarrierPhase
public boolean hasCarrierPhase ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeState() instead.
Returns true if getCarrierPhase() is available, false otherwise.
| Returns | |
|---|---|
boolean |
|
hasCarrierPhaseUncertainty
public boolean hasCarrierPhaseUncertainty ()
This method was deprecated
in API level 28.
use getAccumulatedDeltaRangeState() instead.
Returns true if getCarrierPhaseUncertainty() is available, false
otherwise.
| Returns | |
|---|---|
boolean |
|
hasCodeType
public boolean hasCodeType ()
Returns true if getCodeType() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasFullInterSignalBiasNanos
public boolean hasFullInterSignalBiasNanos ()
Returns true if getFullInterSignalBiasNanos() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasFullInterSignalBiasUncertaintyNanos
public boolean hasFullInterSignalBiasUncertaintyNanos ()
Returns true if getFullInterSignalBiasUncertaintyNanos() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasSatelliteInterSignalBiasNanos
public boolean hasSatelliteInterSignalBiasNanos ()
Returns true if getSatelliteInterSignalBiasNanos() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasSatelliteInterSignalBiasUncertaintyNanos
public boolean hasSatelliteInterSignalBiasUncertaintyNanos ()
Returns true if getSatelliteInterSignalBiasUncertaintyNanos() is available,
false otherwise.
| Returns | |
|---|---|
boolean |
|
hasSnrInDb
public boolean hasSnrInDb ()
Returns true if getSnrInDb() is available, false otherwise.
| Returns | |
|---|---|
boolean |
|
toString
public String toString ()
Returns a string representation of the object. In general, the
toString method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
| Returns | |
|---|---|
String |
a string representation of the object. |
writeToParcel
public void writeToParcel (Parcel parcel, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
parcel |
Parcel: The Parcel in which the object should be written. |
flags |
int: Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE.
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |