Commit a8b19c95 authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Antenna phase center effect on inter-satellites range measurements.

parent 5c557783
/* Copyright 2002-2017 CS Systèmes d'Information
* Licensed to CS Systèmes d'Information (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.estimation.measurements.modifiers;
import java.util.Collections;
import java.util.List;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.orekit.errors.OrekitException;
import org.orekit.estimation.measurements.EstimatedMeasurement;
import org.orekit.estimation.measurements.EstimationModifier;
import org.orekit.estimation.measurements.InterSatellitesRange;
import org.orekit.frames.Transform;
import org.orekit.propagation.SpacecraftState;
import org.orekit.time.AbsoluteDate;
import org.orekit.utils.ParameterDriver;
import org.orekit.utils.TimeStampedPVCoordinates;
/** On-board antenna offset effect on inter-satellites range measurements.
* @author Luc Maisonobe
* @since 9.0
*/
public class OnBoardAntennaInterSatellitesRangeModifier implements EstimationModifier<InterSatellitesRange> {
/** Position of the Antenna Phase Center in satellite 1 frame. */
private final Vector3D antennaPhaseCenter1;
/** Position of the Antenna Phase Center in satellite 2 frame. */
private final Vector3D antennaPhaseCenter2;
/** Simple constructor.
* @param antennaPhaseCenter1 position of the Antenna Phase Center in satellite 1 frame
* (i.e. the satellite which receives the signal and performs the measurement)
* @param antennaPhaseCenter2 position of the Antenna Phase Center in satellite 2 frame
* (i.e. the satellite which simply emits the signal in the one-way
* case, or reflects the signal in the two-way case)
*/
public OnBoardAntennaInterSatellitesRangeModifier(final Vector3D antennaPhaseCenter1,
final Vector3D antennaPhaseCenter2) {
this.antennaPhaseCenter1 = antennaPhaseCenter1;
this.antennaPhaseCenter2 = antennaPhaseCenter2;
}
/** {@inheritDoc} */
@Override
public List<ParameterDriver> getParametersDrivers() {
return Collections.emptyList();
}
/** {@inheritDoc} */
@Override
public void modify(final EstimatedMeasurement<InterSatellitesRange> estimated) {
if (estimated.getParticipants().length < 3) {
modifyOneWay(estimated);
} else {
modifyTwoWay(estimated);
}
}
/** Apply a modifier to an estimated measurement in the one-way case.
* @param estimated estimated measurement to modify
* @exception OrekitException if modifier cannot be applied
*/
private void modifyOneWay(final EstimatedMeasurement<InterSatellitesRange> estimated) {
// the participants are satellite 2 at emission, satellite 1 at reception
final TimeStampedPVCoordinates[] participants = estimated.getParticipants();
final AbsoluteDate emissionDate = participants[0].getDate();
final AbsoluteDate receptionDate = participants[1].getDate();
// transforms from spacecraft to inertial frame at emission/reception dates
final SpacecraftState refState1 = estimated.getStates()[0];
final SpacecraftState receptionState = refState1.shiftedBy(receptionDate.durationFrom(refState1.getDate()));
final Transform receptionSpacecraftToInert = receptionState.toTransform().getInverse();
final SpacecraftState refState2 = estimated.getStates()[1];
final SpacecraftState emissionState = refState2.shiftedBy(emissionDate.durationFrom(refState2.getDate()));
final Transform emissionSpacecraftToInert = emissionState.toTransform().getInverse();
// compute the geometrical value of the inter-satellites range directly from participants positions.
// Note that this may be different from the value returned by estimated.getEstimatedValue(),
// because other modifiers may already have been taken into account
final Vector3D pSpacecraftReception = receptionSpacecraftToInert.transformPosition(Vector3D.ZERO);
final Vector3D pSpacecraftEmission = emissionSpacecraftToInert.transformPosition(Vector3D.ZERO);
final double interSatellitesRangeUsingSpacecraftCenter =
Vector3D.distance(pSpacecraftEmission, pSpacecraftReception);
// compute the geometrical value of the range replacing
// the spacecraft positions with antenna phase center positions
final Vector3D pAPCReception = receptionSpacecraftToInert.transformPosition(antennaPhaseCenter1);
final Vector3D pAPCEmission = emissionSpacecraftToInert.transformPosition(antennaPhaseCenter2);
final double interSatellitesRangeUsingAntennaPhaseCenter =
Vector3D.distance(pAPCEmission, pAPCReception);
// get the estimated value before this modifier is applied
final double[] value = estimated.getEstimatedValue();
// modify the value
value[0] += interSatellitesRangeUsingAntennaPhaseCenter - interSatellitesRangeUsingSpacecraftCenter;
estimated.setEstimatedValue(value);
}
/** Apply a modifier to an estimated measurement in the two-way case.
* @param estimated estimated measurement to modify
* @exception OrekitException if modifier cannot be applied
*/
private void modifyTwoWay(final EstimatedMeasurement<InterSatellitesRange> estimated) {
// the participants are satellite 1 at emission, satellite 2 at transit, satellite 1 at reception
final TimeStampedPVCoordinates[] participants = estimated.getParticipants();
final AbsoluteDate emissionDate = participants[0].getDate();
final AbsoluteDate transitDate = participants[1].getDate();
final AbsoluteDate receptionDate = participants[2].getDate();
// transforms from spacecraft to inertial frame at emission/reception dates
final SpacecraftState refState1 = estimated.getStates()[0];
final SpacecraftState receptionState = refState1.shiftedBy(receptionDate.durationFrom(refState1.getDate()));
final Transform receptionSpacecraftToInert = receptionState.toTransform().getInverse();
final SpacecraftState refState2 = estimated.getStates()[1];
final SpacecraftState transitState = refState2.shiftedBy(transitDate.durationFrom(refState2.getDate()));
final Transform transitSpacecraftToInert = transitState.toTransform().getInverse();
final SpacecraftState emissionState = refState1.shiftedBy(emissionDate.durationFrom(refState1.getDate()));
final Transform emissionSpacecraftToInert = emissionState.toTransform().getInverse();
// compute the geometrical value of the inter-satellites range directly from participants positions.
// Note that this may be different from the value returned by estimated.getEstimatedValue(),
// because other modifiers may already have been taken into account
final Vector3D pSpacecraftReception = receptionSpacecraftToInert.transformPosition(Vector3D.ZERO);
final Vector3D pSpacecraftTransit = transitSpacecraftToInert.transformPosition(Vector3D.ZERO);
final Vector3D pSpacecraftEmission = emissionSpacecraftToInert.transformPosition(Vector3D.ZERO);
final double interSatellitesRangeUsingSpacecraftCenter =
0.5 * (Vector3D.distance(pSpacecraftEmission, pSpacecraftTransit) +
Vector3D.distance(pSpacecraftTransit, pSpacecraftReception));
// compute the geometrical value of the range replacing
// the spacecraft positions with antenna phase center positions
final Vector3D pAPCReception = receptionSpacecraftToInert.transformPosition(antennaPhaseCenter1);
final Vector3D pAPCTransit = transitSpacecraftToInert.transformPosition(antennaPhaseCenter2);
final Vector3D pAPCEmission = emissionSpacecraftToInert.transformPosition(antennaPhaseCenter1);
final double interSatellitesRangeUsingAntennaPhaseCenter =
0.5 * (Vector3D.distance(pAPCEmission, pAPCTransit) +
Vector3D.distance(pAPCTransit, pAPCReception));
// get the estimated value before this modifier is applied
final double[] value = estimated.getEstimatedValue();
// modify the value
value[0] += interSatellitesRangeUsingAntennaPhaseCenter - interSatellitesRangeUsingSpacecraftCenter;
estimated.setEstimatedValue(value);
}
}
......@@ -62,8 +62,7 @@ public class OnBoardAntennaRangeModifier implements EstimationModifier<Range> {
final Vector3D pReception = participants[2].getPosition();
// transform from spacecraft to inertial frame at transit date
final int index = estimated.getObservedMeasurement().getPropagatorsIndices().get(0);
final SpacecraftState refState = estimated.getStates()[index];
final SpacecraftState refState = estimated.getStates()[0];
final SpacecraftState transitState = refState.shiftedBy(transitDate.durationFrom(refState.getDate()));
final Transform spacecraftToInert = transitState.toTransform().getInverse();
......
......@@ -65,8 +65,7 @@ public class OnBoardAntennaTurnAroundRangeModifier implements EstimationModifier
final Vector3D pMasterReception = participants[4].getPosition();
// transforms from spacecraft to inertial frame at transit dates
final int index = estimated.getObservedMeasurement().getPropagatorsIndices().get(0);
final SpacecraftState refState = estimated.getStates()[index];
final SpacecraftState refState = estimated.getStates()[0];
final SpacecraftState transitStateLeg1 = refState.shiftedBy(transitDateLeg1.durationFrom(refState.getDate()));
final Transform spacecraftToInertLeg1 = transitStateLeg1.toTransform().getInverse();
final SpacecraftState transitStateLeg2 = refState.shiftedBy(transitDateLeg2.durationFrom(refState.getDate()));
......
......@@ -21,6 +21,12 @@
</properties>
<body>
<release version="9.0" date="TBD" description="TBD">
<action dev="luc" type="add">
Added on-board antenna phase center effect on inter-satellites range measurements.
</action>
<action dev="luc" type="add">
Added on-board antenna phase center effect on turn-around range measurements.
</action>
<action dev="luc" type="add">
Added on-board antenna phase center effect on range measurements.
</action>
......
......@@ -401,7 +401,7 @@ public class BatchLSEstimatorTest {
before.getPVCoordinates().getVelocity()),
1.0e-6);
EstimationTestUtils.checkFit(context, estimator, 2, 3,
0.0, 2.2e-06,
0.0, 2.6e-06,
0.0, 7.4e-06,
0.0, 5.2e-07,
0.0, 2.1e-10);
......@@ -419,7 +419,7 @@ public class BatchLSEstimatorTest {
Assert.assertEquals(0.0,
Vector3D.distance(closeOrbit.getPVCoordinates().getPosition(),
determined.getPVCoordinates().getPosition()),
8.0e-7);
1.1e-6);
Assert.assertEquals(0.0,
Vector3D.distance(closeOrbit.getPVCoordinates().getVelocity(),
determined.getPVCoordinates().getVelocity()),
......
......@@ -26,29 +26,47 @@ import org.orekit.propagation.BoundedPropagator;
import org.orekit.propagation.SpacecraftState;
import org.orekit.time.AbsoluteDate;
import org.orekit.utils.Constants;
import org.orekit.utils.PVCoordinates;
public class InterSatellitesRangeMeasurementCreator extends MeasurementCreator {
private final BoundedPropagator ephemeris;
private final Vector3D antennaPhaseCenter1;
private final Vector3D antennaPhaseCenter2;
private int count;
public InterSatellitesRangeMeasurementCreator(final BoundedPropagator ephemeris) {
this.ephemeris = ephemeris;
this(ephemeris, Vector3D.ZERO, Vector3D.ZERO);
}
public InterSatellitesRangeMeasurementCreator(final BoundedPropagator ephemeris,
final Vector3D antennaPhaseCenter1,
final Vector3D antennaPhaseCenter2) {
this.ephemeris = ephemeris;
this.antennaPhaseCenter1 = antennaPhaseCenter1;
this.antennaPhaseCenter2 = antennaPhaseCenter2;
}
public void init(final SpacecraftState s0, final AbsoluteDate t, final double step) {
count = 0;
}
public void handleStep(final SpacecraftState currentState, final boolean isLast)
throws OrekitException {
try {
final AbsoluteDate date = currentState.getDate();
final Vector3D position = currentState.getPVCoordinates().getPosition();
final Vector3D position = currentState.toTransform().getInverse().transformPosition(antennaPhaseCenter1);
final UnivariateSolver solver = new BracketingNthOrderBrentSolver(1.0e-12, 5);
final double downLinkDelay = solver.solve(1000, new UnivariateFunction() {
public double value(final double x) throws OrekitExceptionWrapper {
try {
final PVCoordinates other = ephemeris.getPVCoordinates(date.shiftedBy(-x), currentState.getFrame());
final double d = Vector3D.distance(position, other.getPosition());
final Vector3D other = ephemeris.
propagate(date.shiftedBy(-x)).
toTransform().
getInverse().
transformPosition(antennaPhaseCenter2);
final double d = Vector3D.distance(position, other);
return d - x * Constants.SPEED_OF_LIGHT;
} catch (OrekitException oe) {
throw new OrekitExceptionWrapper(oe);
......@@ -57,21 +75,31 @@ public class InterSatellitesRangeMeasurementCreator extends MeasurementCreator {
}, -1.0, 1.0);
final AbsoluteDate transitDate = currentState.getDate().shiftedBy(-downLinkDelay);
final Vector3D otherAtTransit =
ephemeris.getPVCoordinates(transitDate, currentState.getFrame()).getPosition();
ephemeris.propagate(transitDate).
toTransform().
getInverse().
transformPosition(antennaPhaseCenter2);
final double downLinkDistance = Vector3D.distance(position, otherAtTransit);
final double upLinkDelay = solver.solve(1000, new UnivariateFunction() {
public double value(final double x) throws OrekitExceptionWrapper {
final PVCoordinates self = currentState.shiftedBy(-downLinkDelay - x).getPVCoordinates();
final double d = Vector3D.distance(otherAtTransit, self.getPosition());
return d - x * Constants.SPEED_OF_LIGHT;
}
}, -1.0, 1.0);
final Vector3D selfAtEmission =
currentState.shiftedBy(-downLinkDelay - upLinkDelay).getPVCoordinates().getPosition();
final double upLinkDistance = Vector3D.distance(otherAtTransit, selfAtEmission);
addMeasurement(new InterSatellitesRange(0, 1, true, date,
0.5 * (downLinkDistance + upLinkDistance), 1.0, 10));
if ((++count % 2) == 0) {
// generate a two-way measurement
final double upLinkDelay = solver.solve(1000, new UnivariateFunction() {
public double value(final double x) throws OrekitExceptionWrapper {
final Vector3D self = currentState.shiftedBy(-downLinkDelay - x).toTransform().getInverse().transformPosition(antennaPhaseCenter1);
final double d = Vector3D.distance(otherAtTransit, self);
return d - x * Constants.SPEED_OF_LIGHT;
}
}, -1.0, 1.0);
final Vector3D selfAtEmission =
currentState.shiftedBy(-downLinkDelay - upLinkDelay).toTransform().getInverse().transformPosition(antennaPhaseCenter1);
final double upLinkDistance = Vector3D.distance(otherAtTransit, selfAtEmission);
addMeasurement(new InterSatellitesRange(0, 1, true, date,
0.5 * (downLinkDistance + upLinkDistance), 1.0, 10));
} else {
// generate a one-way measurement
addMeasurement(new InterSatellitesRange(0, 1, false, date, downLinkDistance, 1.0, 10));
}
} catch (OrekitExceptionWrapper oew) {
throw new OrekitException(oew.getException());
} catch (OrekitException oe) {
......
......@@ -243,8 +243,8 @@ public class InterSatellitesRangeTest {
Assert.assertEquals(0.0, absErrorsMedian, 1.3e-7);
Assert.assertEquals(0.0, absErrorsMin, 7.3e-7);
Assert.assertEquals(0.0, absErrorsMax, 1.8e-7);
Assert.assertEquals(0.0, relErrorsMedian, 9.0e-13);
Assert.assertEquals(0.0, relErrorsMax, 3.1e-12);
Assert.assertEquals(0.0, relErrorsMedian, 1.0e-12);
Assert.assertEquals(0.0, relErrorsMax, 3.2e-12);
}
......
/* Copyright 2002-2017 CS Systèmes d'Information
* Licensed to CS Systèmes d'Information (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.estimation.measurements.modifiers;
import java.util.List;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.junit.Assert;
import org.junit.Test;
import org.orekit.attitudes.LofOffset;
import org.orekit.errors.OrekitException;
import org.orekit.estimation.Context;
import org.orekit.estimation.EstimationTestUtils;
import org.orekit.estimation.measurements.EstimatedMeasurement;
import org.orekit.estimation.measurements.ObservedMeasurement;
import org.orekit.estimation.measurements.InterSatellitesRange;
import org.orekit.estimation.measurements.InterSatellitesRangeMeasurementCreator;
import org.orekit.frames.LOFType;
import org.orekit.orbits.CartesianOrbit;
import org.orekit.orbits.Orbit;
import org.orekit.orbits.OrbitType;
import org.orekit.orbits.PositionAngle;
import org.orekit.propagation.BoundedPropagator;
import org.orekit.propagation.Propagator;
import org.orekit.propagation.SpacecraftState;
import org.orekit.propagation.conversion.NumericalPropagatorBuilder;
import org.orekit.utils.TimeStampedPVCoordinates;
public class OnBoardAntennaInterSatellitesRangeModifierTest {
@Test
public void testPreliminary() throws OrekitException {
// this test does not check OnBoardAntennaInterSatellitesRangeModifier at all,
// it just checks InterSatellitesRangeMeasurementCreator behaves as necessary for the other test
// the *real* test is testEffect below
Context context = EstimationTestUtils.eccentricContext("regular-data:potential:tides");
final NumericalPropagatorBuilder propagatorBuilder =
context.createBuilder(OrbitType.KEPLERIAN, PositionAngle.TRUE, true,
1.0e-6, 60.0, 0.001);
propagatorBuilder.setAttitudeProvider(new LofOffset(propagatorBuilder.getFrame(), LOFType.LVLH));
// create perfect inter-satellites range measurements without antenna offset
final TimeStampedPVCoordinates original = context.initialOrbit.getPVCoordinates();
final Orbit closeOrbit = new CartesianOrbit(new TimeStampedPVCoordinates(context.initialOrbit.getDate(),
original.getPosition().add(new Vector3D(1000, 2000, 3000)),
original.getVelocity().add(new Vector3D(-0.03, 0.01, 0.02))),
context.initialOrbit.getFrame(),
context.initialOrbit.getMu());
final Propagator closePropagator = EstimationTestUtils.createPropagator(closeOrbit,
propagatorBuilder);
closePropagator.setEphemerisMode();
closePropagator.propagate(context.initialOrbit.getDate().shiftedBy(3.5 * closeOrbit.getKeplerianPeriod()));
final BoundedPropagator ephemeris = closePropagator.getGeneratedEphemeris();
final Propagator p1 = EstimationTestUtils.createPropagator(context.initialOrbit,
propagatorBuilder);
final List<ObservedMeasurement<?>> spacecraftCenteredMeasurements =
EstimationTestUtils.createMeasurements(p1,
new InterSatellitesRangeMeasurementCreator(ephemeris,
Vector3D.ZERO,
Vector3D.ZERO),
1.0, 3.0, 300.0);
// create perfect inter-satellites range measurements with antenna offset
final double xOffset1 = -2.5;
final double yOffset2 = 0.8;
final Propagator p2 = EstimationTestUtils.createPropagator(context.initialOrbit,
propagatorBuilder);
final List<ObservedMeasurement<?>> antennaCenteredMeasurements =
EstimationTestUtils.createMeasurements(p2,
new InterSatellitesRangeMeasurementCreator(ephemeris,
new Vector3D(xOffset1, 0, 0),
new Vector3D(0, yOffset2, 0)),
1.0, 3.0, 300.0);
for (int i = 0; i < spacecraftCenteredMeasurements.size(); ++i) {
InterSatellitesRange sr = (InterSatellitesRange) spacecraftCenteredMeasurements.get(i);
InterSatellitesRange ar = (InterSatellitesRange) antennaCenteredMeasurements.get(i);
Assert.assertEquals(0.0, sr.getDate().durationFrom(ar.getDate()), 2.0e-8);
Assert.assertTrue(ar.getObservedValue()[0] - sr.getObservedValue()[0] >= -1.0);
Assert.assertTrue(ar.getObservedValue()[0] - sr.getObservedValue()[0] <= -0.36);
}
}
@Test
public void testEffect() throws OrekitException {
Context context = EstimationTestUtils.eccentricContext("regular-data:potential:tides");
final NumericalPropagatorBuilder propagatorBuilder =
context.createBuilder(OrbitType.KEPLERIAN, PositionAngle.TRUE, true,
1.0e-6, 60.0, 0.001);
propagatorBuilder.setAttitudeProvider(new LofOffset(propagatorBuilder.getFrame(), LOFType.LVLH));
// create perfect inter-satellites range measurements without antenna offset
final TimeStampedPVCoordinates original = context.initialOrbit.getPVCoordinates();
final Orbit closeOrbit = new CartesianOrbit(new TimeStampedPVCoordinates(context.initialOrbit.getDate(),
original.getPosition().add(new Vector3D(1000, 2000, 3000)),
original.getVelocity().add(new Vector3D(-0.03, 0.01, 0.02))),
context.initialOrbit.getFrame(),
context.initialOrbit.getMu());
final Propagator closePropagator = EstimationTestUtils.createPropagator(closeOrbit,
propagatorBuilder);
closePropagator.setEphemerisMode();
closePropagator.propagate(context.initialOrbit.getDate().shiftedBy(3.5 * closeOrbit.getKeplerianPeriod()));
final BoundedPropagator ephemeris = closePropagator.getGeneratedEphemeris();
final Propagator p1 = EstimationTestUtils.createPropagator(context.initialOrbit,
propagatorBuilder);
final List<ObservedMeasurement<?>> spacecraftCenteredMeasurements =
EstimationTestUtils.createMeasurements(p1,
new InterSatellitesRangeMeasurementCreator(ephemeris,
Vector3D.ZERO,
Vector3D.ZERO),
1.0, 3.0, 300.0);
// create perfect inter-satellites range measurements with antenna offset
final Vector3D apc1 = new Vector3D(-2.5, 0.0, 0);
final Vector3D apc2 = new Vector3D( 0.0, 0.8, 0);
final Propagator p2 = EstimationTestUtils.createPropagator(context.initialOrbit,
propagatorBuilder);
final List<ObservedMeasurement<?>> antennaCenteredMeasurements =
EstimationTestUtils.createMeasurements(p2,
new InterSatellitesRangeMeasurementCreator(ephemeris,
apc1, apc2),
1.0, 3.0, 300.0);
final Propagator p3 = EstimationTestUtils.createPropagator(context.initialOrbit,
propagatorBuilder);
OnBoardAntennaInterSatellitesRangeModifier modifier = new OnBoardAntennaInterSatellitesRangeModifier(apc1, apc2);
for (int i = 0; i < spacecraftCenteredMeasurements.size(); ++i) {
InterSatellitesRange sr = (InterSatellitesRange) spacecraftCenteredMeasurements.get(i);
sr.addModifier(modifier);
EstimatedMeasurement<InterSatellitesRange> estimated = sr.estimate(0, 0, new SpacecraftState[] {
p3.propagate(sr.getDate()),
ephemeris.propagate(sr.getDate())
});
InterSatellitesRange ar = (InterSatellitesRange) antennaCenteredMeasurements.get(i);
Assert.assertEquals(0.0, sr.getDate().durationFrom(ar.getDate()), 2.0e-8);
Assert.assertEquals(ar.getObservedValue()[0], estimated.getEstimatedValue()[0], 2.0e-5);
}
}
}
......@@ -43,7 +43,7 @@ public class OnBoardAntennaRangeModifierTest {
@Test
public void testPreliminary() throws OrekitException {
// this test does not check OnBoardAntenneRangeModifier at all,
// this test does not check OnBoardAntennaRangeModifier at all,
// it just checks RangeMeasurementCreator behaves as necessary for the other test
// the *real* test is testEffect below
Context context = EstimationTestUtils.eccentricContext("regular-data:potential:tides");
......
......@@ -41,7 +41,7 @@ public class OnBoardAntennaTurnAroundRangeModifierTest {
@Test
public void testPreliminary() throws OrekitException {
// this test does not check OnBoardAntenneTurnAroundRangeModifier at all,
// this test does not check OnBoardAntennaTurnAroundRangeModifier at all,
// it just checks TurnAroundRangeMeasurementCreator behaves as necessary for the other test
// the *real* test is testEffect below
Context context = EstimationTestUtils.eccentricContext("regular-data:potential:tides");
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment