Commit 2ef6d52b authored by Maxime Journot's avatar Maxime Journot
Browse files

Corrected the way the new azimuth is computed in angular

ionospheric/tropospheric modifiers.
The azimuth computation is now consistent with the one in AngularAzEl
class.
parent 4501045a
......@@ -20,6 +20,7 @@ import java.util.Collections;
import java.util.List;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.hipparchus.util.MathUtils;
import org.orekit.errors.OrekitException;
import org.orekit.estimation.measurements.AngularAzEl;
import org.orekit.estimation.measurements.EstimatedMeasurement;
......@@ -116,11 +117,14 @@ public class AngularIonosphericDelayModifier implements EstimationModifier<Angul
final Vector3D position = transitState.getPVCoordinates().getPosition();
final Frame inertial = transitState.getFrame();
// elevation and azimuth in radians
// Elevation and azimuth in radians
final double elevation = station.getBaseFrame().getElevation(position, inertial, date);
final double azimuth = station.getBaseFrame().getAzimuth(position, inertial, date);
// azimuth - elevation values
estimated.setEstimatedValue(azimuth, elevation);
final double baseAzimuth = station.getBaseFrame().getAzimuth(position, inertial, date);
final double twoPiWrap = MathUtils.normalizeAngle(baseAzimuth, measure.getObservedValue()[0]) - baseAzimuth;
final double azimuth = baseAzimuth + twoPiWrap;
// Update estimated value taking into account the ionospheric delay.
// Azimuth - elevation values
estimated.setEstimatedValue(azimuth, elevation);
}
}
......@@ -20,6 +20,7 @@ import java.util.Collections;
import java.util.List;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.hipparchus.util.MathUtils;
import org.orekit.errors.OrekitException;
import org.orekit.estimation.measurements.AngularAzEl;
import org.orekit.estimation.measurements.EstimatedMeasurement;
......@@ -125,12 +126,14 @@ public class AngularTroposphericDelayModifier implements EstimationModifier<Angu
final Vector3D position = transitState.getPVCoordinates().getPosition();
final Frame inertial = transitState.getFrame();
// elevation and azimuth in radians
final double elevation = station.getBaseFrame().getElevation(position, inertial, date);
final double azimuth = station.getBaseFrame().getAzimuth(position, inertial, date);
// Elevation and azimuth in radians
final double elevation = station.getBaseFrame().getElevation(position, inertial, date);
final double baseAzimuth = station.getBaseFrame().getAzimuth(position, inertial, date);
final double twoPiWrap = MathUtils.normalizeAngle(baseAzimuth, measure.getObservedValue()[0]) - baseAzimuth;
final double azimuth = baseAzimuth + twoPiWrap;
// update estimated value taking into account the tropospheric delay.
// azimuth - elevation values
// Update estimated value taking into account the tropospheric delay.
// Azimuth - elevation values
estimated.setEstimatedValue(azimuth, elevation);
}
}
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