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.AngularRaDec;
27 import org.orekit.estimation.measurements.GroundStation;
28 import org.orekit.estimation.measurements.ObservableSatellite;
29 import org.orekit.estimation.measurements.modifiers.Bias;
30 import org.orekit.frames.FramesFactory;
31
32 public class AngularRaDecBuilderTest extends AbstractGroundMeasurementBuilderTest<AngularRaDec> {
33
34 private static final double SIGMA = 1.0e-3;
35 private static final double BIAS = 1.0e-4;
36
37 protected MeasurementBuilder<AngularRaDec> getBuilder(final RandomGenerator random,
38 final GroundStation groundStation,
39 final ObservableSatellite satellite) {
40 final RealMatrix covariance = MatrixUtils.createRealDiagonalMatrix(new double[] { SIGMA * SIGMA, SIGMA * SIGMA });
41 MeasurementBuilder<AngularRaDec> ab =
42 new AngularRaDecBuilder(random == null ? null : new CorrelatedRandomVectorGenerator(covariance,
43 1.0e-10,
44 new GaussianRandomGenerator(random)),
45 groundStation, FramesFactory.getEME2000(),
46 new double[] { SIGMA, SIGMA}, new double[] { 1.0, 1.0 },
47 satellite);
48 ab.addModifier(new Bias<>(new String[] { "aBias", "eBias" },
49 new double[] { BIAS, BIAS },
50 new double[] { 1.0, 1.0 },
51 new double[] { -FastMath.PI, -0.5 * FastMath.PI },
52 new double[] { +FastMath.PI, +0.5 * FastMath.PI }));
53 return ab;
54 }
55
56 @Test
57 public void testForward() {
58 doTest(0x5c845a8e6a11f7b3l, 0.4, 0.9, 128, 3.1 * SIGMA);
59 }
60
61 @Test
62 public void testBackward() {
63 doTest(0x24f750901da8cd2cl, -0.2, -0.6, 100, 2.7 * SIGMA);
64 }
65
66 }