Commit d9fcecbc authored by Luc Maisonobe's avatar Luc Maisonobe

Documented measurements generation feature.

Fixes #494
parent 17ff9647
......@@ -239,8 +239,19 @@ discrete events. Here is a short list of the features offered by the library:</p
<li>delays</li>
<li>Antenna Phase Center</li>
</ul>
</li>
<li>possibility to add custom measurement modifiers (even for predefined events)</li>
<li>possibility to parse CCSDS Tracking Data Message files</li>
<li>measurements generation
<ul>
<li>with measurements feasibility triggered by regular event detectors
(ground visibility, ground at night, sunlit satellite, inter satellites
direct view, boolean combination...)</li>
<li>with measurement scheduling as fixed step streams (optionally aligned with round UTC time)</li>
<li>with measurement scheduling as high rate bursts rest periods (optionally aligned with round UTC time)</li>
<li>possibility to customize measurement scheduling</li>
</ul>
</li>
</ul>
</li>
<li>GNSS
......
......@@ -24,7 +24,7 @@ support: the library provides the framework with top level interfaces and classi
implementations (say distance and angular measurements among others). Some hooks are
also provided for expert users who need to supplement the framework with mission-specific
features and implementations (say specific delay models for example). The provided objects
are sufficient for basic orbit determination and can easily be extended to address more
are sufficient for classical orbit determination and can easily be extended to address more
operational needs.
Organization
......@@ -62,6 +62,35 @@ by two difference ground stations would refer to different sets of ground statio
The classical measurements and modifiers are already provided by Orekit in the same package, but for more advanced
needs, users are expected to implement their own implementations. This ensures the extensibility of this design.
#### Measurements generation
![measurements generation class diagram](../images/design/measurements-generation-class-diagram.png)
The `measurements.generation` package provides a simulation feature that can generate realistic
measurements. This is mainly useful in validation phases and in mission analysis (for example
design of a ground stations network or assessment of achievable accuracy for a mission).
For each type of measurement that must be generated, a `Scheduler` is configured to match the mission
or ground segment specific measurements schedule and includes a `MeasurementBuilder` for the measurement
type considered. One particularly important predefined scheduler is the `EventBaseScheduler`. This
scheduler uses a regular event detector to identify measurements feasibility time spans. Some event
detectors that may be useful with this scheduler are visibility from ground (`ElevationDetector`),
ground at night (`GrondAtNightDetector`) for satellite laser ranging, sunlit satellite (`EclipseDetector`)
for optical tracking, inter satellite direct view (`InterSatDirectViewDetector`) for GNSS, and
boolean combination of several detector (`BooleanDetector`) for complex settings. This scheduler as
well as the simpler `ContinuousScheduler` both rely on `DatesSelector` to select individual measurements
dates within a time range. The `FixedStepSelector` generates a continuous stream of measurements separated
by a fixed step (for example one measurement every 60s during the allowed time range) while the `BurstSelector`
generates bursts of high rate measurements separated by rest periods (for example bursts containing
256 measurements each separated by 100ms, with a new burst generated every 300s). Both selectors can
ensure the dates are aligned with a time scale (for example the first measurement in each burst being
at exact UTC minutes 5, 10, 15... in the previous example).
Several schedulers can be configured at the same time, if either different types of measurements are
available (range, range-rate, optical tracking on stars background...) or several independent schedules
are used (for example if several ground stations are available). All schedulers are registered to
a `Generator` which when run will produce simulated measurements in the specified time range.
### Least Squares
![orbit determination overview class diagram](../images/design/orbit-determination-overview-class-diagram.png)
......
......@@ -216,6 +216,14 @@
* possibility to add custom measurement modifiers (even for predefined events)
* possibility to parse CCSDS Tracking Data Message files
* measurements generation
* with measurements feasibility triggered by regular event detectors
(ground visibility, ground at night, sunlit satellite, inter satellites
direct view, boolean combination...)
* with measurement scheduling as fixed step streams (optionally aligned with round UTC time)
* with measurement scheduling as high rate bursts rest periods (optionally aligned with round UTC time)
* possibility to customize measurement scheduling
* GNSS
......
......@@ -21,6 +21,10 @@
</properties>
<body>
<release version="TBD" date="TBD" description="TBD">
<action dev="luc" type="add" issue="494">
Added a measurements generation feature for use with orbit determination.
Fixes issue #494
</action>
<action dev="luc" type="add">
Added adapter for event detectors, allowing to wrap existing detector
while changing their behaviour.
......
Markdown is supported
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