1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.estimation.measurements.generation;
18
19 import org.hipparchus.linear.MatrixUtils;
20 import org.hipparchus.linear.RealMatrix;
21 import org.hipparchus.random.CorrelatedRandomVectorGenerator;
22 import org.hipparchus.random.GaussianRandomGenerator;
23 import org.hipparchus.random.RandomGenerator;
24 import org.hipparchus.util.FastMath;
25 import org.junit.jupiter.api.Test;
26 import org.orekit.estimation.measurements.AngularAzEl;
27 import org.orekit.estimation.measurements.GroundStation;
28 import org.orekit.estimation.measurements.ObservableSatellite;
29 import org.orekit.estimation.measurements.modifiers.Bias;
30
31 public class AngularAzElBuilderTest extends AbstractGroundMeasurementBuilderTest<AngularAzEl> {
32
33 private static final double SIGMA = 1.0e-3;
34 private static final double BIAS = 1.0e-4;
35
36 protected MeasurementBuilder<AngularAzEl> getBuilder(final RandomGenerator random,
37 final GroundStation groundStation,
38 final ObservableSatellite satellite) {
39 final RealMatrix covariance = MatrixUtils.createRealDiagonalMatrix(new double[] { SIGMA * SIGMA, SIGMA * SIGMA });
40 MeasurementBuilder<AngularAzEl> ab =
41 new AngularAzElBuilder(random == null ? null : new CorrelatedRandomVectorGenerator(covariance,
42 1.0e-10,
43 new GaussianRandomGenerator(random)),
44 groundStation, new double[] { SIGMA, SIGMA}, new double[] { 1.0, 1.0 },
45 satellite);
46 ab.addModifier(new Bias<>(new String[] { "aBias", "eBias" },
47 new double[] { BIAS, BIAS },
48 new double[] { 1.0, 1.0 },
49 new double[] { -FastMath.PI, -0.5 * FastMath.PI },
50 new double[] { +FastMath.PI, +0.5 * FastMath.PI }));
51 return ab;
52 }
53
54 @Test
55 public void testForward() {
56 doTest(0x527ebeb15d630624l, 0.4, 0.9, 128, 2.9 * SIGMA);
57 }
58
59 @Test
60 public void testBackward() {
61 doTest(0x5300b1314adab8cbl, -0.2, -0.6, 100, 2.6 * SIGMA);
62 }
63
64 }