Class KalmanModel

    • Constructor Detail

      • KalmanModel

        public KalmanModel​(List<PropagatorBuilder> propagatorBuilders,
                           List<CovarianceMatrixProvider> covarianceMatricesProviders,
                           ParameterDriversList estimatedMeasurementParameters,
                           CovarianceMatrixProvider measurementProcessNoiseMatrix)
        Kalman process model constructor.
        Parameters:
        propagatorBuilders - propagators builders used to evaluate the orbits.
        covarianceMatricesProviders - providers for covariance matrices
        estimatedMeasurementParameters - measurement parameters to estimate
        measurementProcessNoiseMatrix - provider for measurement process noise matrix
    • Method Detail

      • updateReferenceTrajectories

        protected void updateReferenceTrajectories​(Propagator[] propagators)
        Update the reference trajectories using the propagators as input.
        Parameters:
        propagators - The new propagators to use
      • finalizeEstimation

        public void finalizeEstimation​(ObservedMeasurement<?> observedMeasurement,
                                       ProcessEstimate estimate)
        Finalize estimation.
        Parameters:
        observedMeasurement - measurement that has just been processed
        estimate - corrected estimate
      • getReferenceTrajectories

        public Propagator[] getReferenceTrajectories()
        Getter for the reference trajectories.
        Returns:
        the referencetrajectories
      • setReferenceTrajectories

        public void setReferenceTrajectories​(Propagator[] referenceTrajectories)
        Setter for the reference trajectories.
        Parameters:
        referenceTrajectories - the reference trajectories to be setted
      • getPhysicalStateTransitionMatrix

        public RealMatrix getPhysicalStateTransitionMatrix()
        Get physical state transition matrix between previous state and estimated (but not yet corrected) state.
        Specified by:
        getPhysicalStateTransitionMatrix in interface KalmanEstimation
        Returns:
        state transition matrix between previous state and estimated state (but not yet corrected) (may be null for initial process estimate)
      • getPhysicalMeasurementJacobian

        public RealMatrix getPhysicalMeasurementJacobian()
        Get the physical Jacobian of the measurement with respect to the state (H matrix).
        Specified by:
        getPhysicalMeasurementJacobian in interface KalmanEstimation
        Returns:
        physical Jacobian of the measurement with respect to the state (may be null for initial process estimate or if the measurement has been ignored)
      • getPhysicalInnovationCovarianceMatrix

        public RealMatrix getPhysicalInnovationCovarianceMatrix()
        Get the physical innovation covariance matrix.
        Specified by:
        getPhysicalInnovationCovarianceMatrix in interface KalmanEstimation
        Returns:
        physical innovation covariance matrix (may be null for initial process estimate or if the measurement has been ignored)
      • getPhysicalKalmanGain

        public RealMatrix getPhysicalKalmanGain()
        Get the physical Kalman gain matrix.
        Specified by:
        getPhysicalKalmanGain in interface KalmanEstimation
        Returns:
        Kalman gain matrix (may be null for initial process estimate or if the measurement has been ignored)
      • getCurrentMeasurementNumber

        public int getCurrentMeasurementNumber()
        Get the current measurement number.
        Specified by:
        getCurrentMeasurementNumber in interface KalmanEstimation
        Returns:
        current measurement number
      • getEstimate

        public ProcessEstimate getEstimate()
        Get the current corrected estimate.
        Returns:
        current corrected estimate
      • getBuilders

        public List<PropagatorBuilder> getBuilders()
        Getter for the propagators.
        Returns:
        the propagators
      • getEstimatedPropagators

        public Propagator[] getEstimatedPropagators()
        Get the propagators estimated with the values set in the propagators builders.
        Returns:
        propagators based on the current values in the builder
      • getNormalizedProcessNoise

        protected RealMatrix getNormalizedProcessNoise​(int stateDimension)
        Get the normalized process noise matrix.
        Parameters:
        stateDimension - state dimension
        Returns:
        the normalized process noise matrix
      • getOrbitsStartColumns

        protected int[] getOrbitsStartColumns()
        Getter for the orbitsStartColumns.
        Returns:
        the orbitsStartColumns
      • getPropagationParameterColumns

        protected Map<String,​Integer> getPropagationParameterColumns()
        Getter for the propagationParameterColumns.
        Returns:
        the propagationParameterColumns
      • getMeasurementParameterColumns

        protected Map<String,​Integer> getMeasurementParameterColumns()
        Getter for the measurementParameterColumns.
        Returns:
        the measurementParameterColumns
      • getEstimatedPropagationParametersArray

        protected ParameterDriversList[] getEstimatedPropagationParametersArray()
        Getter for the estimatedPropagationParameters.
        Returns:
        the estimatedPropagationParameters
      • getEstimatedOrbitalParametersArray

        protected ParameterDriversList[] getEstimatedOrbitalParametersArray()
        Getter for the estimatedOrbitalParameters.
        Returns:
        the estimatedOrbitalParameters
      • getCovarianceIndirection

        protected int[][] getCovarianceIndirection()
        Getter for the covarianceIndirection.
        Returns:
        the covarianceIndirection
      • getScale

        protected double[] getScale()
        Getter for the scale.
        Returns:
        the scale
      • getCorrectedEstimate

        protected ProcessEstimate getCorrectedEstimate()
        Getter for the correctedEstimate.
        Returns:
        the correctedEstimate
      • setCorrectedEstimate

        protected void setCorrectedEstimate​(ProcessEstimate correctedEstimate)
        Setter for the correctedEstimate.
        Parameters:
        correctedEstimate - the correctedEstimate
      • getReferenceDate

        protected AbsoluteDate getReferenceDate()
        Getter for the referenceDate.
        Returns:
        the referenceDate
      • incrementCurrentMeasurementNumber

        protected void incrementCurrentMeasurementNumber()
        Increment current measurement number.
      • setCurrentDate

        public void setCurrentDate​(AbsoluteDate currentDate)
        Setter for the currentDate.
        Parameters:
        currentDate - the currentDate
      • setCorrectedSpacecraftState

        protected void setCorrectedSpacecraftState​(SpacecraftState correctedSpacecraftState,
                                                   int index)
        Set correctedSpacecraftState at index.
        Parameters:
        correctedSpacecraftState - corrected S/C state o set
        index - index where to set in the array
      • setPredictedSpacecraftState

        protected void setPredictedSpacecraftState​(SpacecraftState predictedSpacecraftState,
                                                   int index)
        Set predictedSpacecraftState at index.
        Parameters:
        predictedSpacecraftState - predicted S/C state o set
        index - index where to set in the array
      • setPredictedMeasurement

        protected void setPredictedMeasurement​(EstimatedMeasurement<?> predictedMeasurement)
        Setter for the predictedMeasurement.
        Parameters:
        predictedMeasurement - the predictedMeasurement
      • setCorrectedMeasurement

        protected void setCorrectedMeasurement​(EstimatedMeasurement<?> correctedMeasurement)
        Setter for the correctedMeasurement.
        Parameters:
        correctedMeasurement - the correctedMeasurement