Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Orekit
Orekit
Commits
cd32c8ef
Commit
cd32c8ef
authored
Sep 21, 2022
by
Maxime Journot
Browse files
Merge branch 'develop' into 'issue-956'
Fixes
#956
parents
82e8cdf3
41a066c9
Pipeline
#2468
passed with stages
in 16 minutes and 9 seconds
Changes
48
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/changes/changes.xml
View file @
cd32c8ef
...
...
@@ -21,6 +21,9 @@
</properties>
<body>
<release
version=
"11.3"
date=
"TBD"
description=
"TBD"
>
<action
dev=
"maxime"
type=
"update"
issue=
"955"
>
Added method to get measurement types.
</action>
<action
dev=
"bryan"
type=
"add"
issue=
"901"
>
Added additional state provider for covariance matrix propagation.
</action>
...
...
src/main/java/org/orekit/estimation/measurements/AngularAzEl.java
View file @
cd32c8ef
...
...
@@ -44,6 +44,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
AngularAzEl
extends
AbstractMeasurement
<
AngularAzEl
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"AngularAzEl"
;
/** Ground station from which measurement is performed. */
private
final
GroundStation
station
;
...
...
src/main/java/org/orekit/estimation/measurements/AngularRaDec.java
View file @
cd32c8ef
...
...
@@ -46,6 +46,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
AngularRaDec
extends
AbstractMeasurement
<
AngularRaDec
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"AngularRaDec"
;
/** Ground station from which measurement is performed. */
private
final
GroundStation
station
;
...
...
src/main/java/org/orekit/estimation/measurements/BistaticRange.java
View file @
cd32c8ef
...
...
@@ -53,6 +53,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
BistaticRange
extends
AbstractMeasurement
<
BistaticRange
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"BistaticRange"
;
/**
* Ground station from which transmission is made.
*/
...
...
src/main/java/org/orekit/estimation/measurements/BistaticRangeRate.java
View file @
cd32c8ef
...
...
@@ -56,6 +56,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
BistaticRangeRate
extends
AbstractMeasurement
<
BistaticRangeRate
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"BistaticRangeRate"
;
/** Emitter ground station. */
private
final
GroundStation
emitter
;
...
...
src/main/java/org/orekit/estimation/measurements/InterSatellitesRange.java
View file @
cd32c8ef
...
...
@@ -68,6 +68,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
InterSatellitesRange
extends
AbstractMeasurement
<
InterSatellitesRange
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"InterSatellitesRange"
;
/** Flag indicating whether it is a two-way measurement. */
private
final
boolean
twoway
;
...
...
src/main/java/org/orekit/estimation/measurements/MultiplexedMeasurement.java
View file @
cd32c8ef
...
...
@@ -38,6 +38,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
MultiplexedMeasurement
extends
AbstractMeasurement
<
MultiplexedMeasurement
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"MultiplexedMeasurement"
;
/** Multiplexed measurements. */
private
final
List
<
ObservedMeasurement
<?>>
observedMeasurements
;
...
...
src/main/java/org/orekit/estimation/measurements/ObservedMeasurement.java
View file @
cd32c8ef
...
...
@@ -136,4 +136,13 @@ public interface ObservedMeasurement<T extends ObservedMeasurement<T>> extends C
*/
EstimatedMeasurement
<
T
>
estimate
(
int
iteration
,
int
evaluation
,
SpacecraftState
[]
states
);
/**
* Get the type of measurement.
* <p>
* Default behavior is to return the class simple name as a String.
* @return type of measurement
*/
default
String
getMeasurementType
()
{
return
this
.
getClass
().
getSimpleName
();
}
}
src/main/java/org/orekit/estimation/measurements/PV.java
View file @
cd32c8ef
...
...
@@ -36,6 +36,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
PV
extends
AbstractMeasurement
<
PV
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"PV"
;
/** Identity matrix, for states derivatives. */
private
static
final
double
[][]
IDENTITY
=
new
double
[][]
{
{
...
...
src/main/java/org/orekit/estimation/measurements/Position.java
View file @
cd32c8ef
...
...
@@ -36,6 +36,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
Position
extends
AbstractMeasurement
<
Position
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"Position"
;
/** Identity matrix, for states derivatives. */
private
static
final
double
[][]
IDENTITY
=
new
double
[][]
{
{
...
...
src/main/java/org/orekit/estimation/measurements/Range.java
View file @
cd32c8ef
...
...
@@ -77,6 +77,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
Range
extends
AbstractMeasurement
<
Range
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"Range"
;
/** Ground station from which measurement is performed. */
private
final
GroundStation
station
;
...
...
src/main/java/org/orekit/estimation/measurements/RangeRate.java
View file @
cd32c8ef
...
...
@@ -49,6 +49,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
RangeRate
extends
AbstractMeasurement
<
RangeRate
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"RangeRate"
;
/** Ground station from which measurement is performed. */
private
final
GroundStation
station
;
...
...
src/main/java/org/orekit/estimation/measurements/TDOA.java
View file @
cd32c8ef
...
...
@@ -52,6 +52,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
TDOA
extends
AbstractMeasurement
<
TDOA
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"TDOA"
;
/** Prime ground station, the one that gives the date of the measurement. */
private
final
GroundStation
primeStation
;
...
...
src/main/java/org/orekit/estimation/measurements/TurnAroundRange.java
View file @
cd32c8ef
...
...
@@ -59,6 +59,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
TurnAroundRange
extends
AbstractMeasurement
<
TurnAroundRange
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"TurnAroundRange"
;
/** Primary ground station from which measurement is performed. */
private
final
GroundStation
primaryStation
;
...
...
src/main/java/org/orekit/estimation/measurements/gnss/InterSatellitesPhase.java
View file @
cd32c8ef
...
...
@@ -46,6 +46,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
InterSatellitesPhase
extends
AbstractMeasurement
<
InterSatellitesPhase
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"InterSatellitesPhase"
;
/** Name for ambiguity driver. */
public
static
final
String
AMBIGUITY_NAME
=
"ambiguity"
;
...
...
src/main/java/org/orekit/estimation/measurements/gnss/OneWayGNSSPhase.java
View file @
cd32c8ef
...
...
@@ -55,6 +55,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
OneWayGNSSPhase
extends
AbstractMeasurement
<
OneWayGNSSPhase
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"OneWayGNSSPhase"
;
/** Name for ambiguity driver. */
public
static
final
String
AMBIGUITY_NAME
=
"ambiguity"
;
...
...
src/main/java/org/orekit/estimation/measurements/gnss/OneWayGNSSRange.java
View file @
cd32c8ef
...
...
@@ -56,6 +56,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
OneWayGNSSRange
extends
AbstractMeasurement
<
OneWayGNSSRange
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"OneWayGNSSRange"
;
/** Emitting satellite. */
private
final
PVCoordinatesProvider
remote
;
...
...
src/main/java/org/orekit/estimation/measurements/gnss/Phase.java
View file @
cd32c8ef
...
...
@@ -54,6 +54,9 @@ import org.orekit.utils.TimeStampedPVCoordinates;
*/
public
class
Phase
extends
AbstractMeasurement
<
Phase
>
{
/** Type of the measurement. */
public
static
final
String
MEASUREMENT_TYPE
=
"Phase"
;
/** Name for ambiguity driver. */
public
static
final
String
AMBIGUITY_NAME
=
"ambiguity"
;
...
...
src/main/java/org/orekit/estimation/sequential/EskfMeasurementHandler.java
View file @
cd32c8ef
...
...
@@ -145,11 +145,11 @@ public class EskfMeasurementHandler implements OrekitStepHandler {
// Indeed, the "physical" measurement noise matrix is the covariance matrix of the measurement
// Normalizing it leaves us with the matrix of the correlation coefficients
final
RealMatrix
covariance
;
if
(
observedMeasurement
instanceof
PV
)
{
if
(
observedMeasurement
.
getMeasurementType
().
equals
(
PV
.
MEASUREMENT_TYPE
)
)
{
// For PV measurements we do have a covariance matrix and thus a correlation coefficients matrix
final
PV
pv
=
(
PV
)
observedMeasurement
;
covariance
=
MatrixUtils
.
createRealMatrix
(
pv
.
getCorrelationCoefficientsMatrix
());
}
else
if
(
observedMeasurement
instanceof
Position
)
{
}
else
if
(
observedMeasurement
.
getMeasurementType
().
equals
(
Position
.
MEASUREMENT_TYPE
)
)
{
// For Position measurements we do have a covariance matrix and thus a correlation coefficients matrix
final
Position
position
=
(
Position
)
observedMeasurement
;
covariance
=
MatrixUtils
.
createRealMatrix
(
position
.
getCorrelationCoefficientsMatrix
());
...
...
src/main/java/org/orekit/estimation/sequential/KalmanEstimator.java
View file @
cd32c8ef
...
...
@@ -258,11 +258,11 @@ public class KalmanEstimator {
// Indeed, the "physical" measurement noise matrix is the covariance matrix of the measurement
// Normalizing it leaves us with the matrix of the correlation coefficients
final
RealMatrix
covariance
;
if
(
observedMeasurement
instanceof
PV
)
{
if
(
observedMeasurement
.
getMeasurementType
().
equals
(
PV
.
MEASUREMENT_TYPE
)
)
{
// For PV measurements we do have a covariance matrix and thus a correlation coefficients matrix
final
PV
pv
=
(
PV
)
observedMeasurement
;
covariance
=
MatrixUtils
.
createRealMatrix
(
pv
.
getCorrelationCoefficientsMatrix
());
}
else
if
(
observedMeasurement
instanceof
Position
)
{
}
else
if
(
observedMeasurement
.
getMeasurementType
().
equals
(
Position
.
MEASUREMENT_TYPE
)
)
{
// For Position measurements we do have a covariance matrix and thus a correlation coefficients matrix
final
Position
position
=
(
Position
)
observedMeasurement
;
covariance
=
MatrixUtils
.
createRealMatrix
(
position
.
getCorrelationCoefficientsMatrix
());
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment