/// <summary> /// Kalman Filter with parameters /// </summary> /// <param name="initialObservation">The initial observation.</param> /// <param name="deviceError">The device error.</param> /// <param name="horizontalDOP">The horizontal DOP.</param> /// <param name="verticalDOP">The vertical DOP.</param> /// <param name="ellipsoid">The ellipsoid.</param> public KalmanFilter( Position3D initialObservation, Distance deviceError, DilutionOfPrecision horizontalDOP, DilutionOfPrecision verticalDOP, Ellipsoid ellipsoid) { _currentState = new KalmanSystemState( initialObservation, deviceError, horizontalDOP, verticalDOP, ellipsoid); }
/// <summary> /// Initializes the Kalman Filter using an initial observation (position) /// </summary> /// <param name="gpsPosition">The position at which tfilter is to begin opperating.</param> /// <param name="deviceError">A distance measure of device error</param> /// <param name="horizontalDOP">The horizontal dilution of precision</param> /// <param name="verticalDOP">The vertical dilution of precision</param> /// <param name="ellipsoid">The ellipsoid</param> public void Initialize(Position3D gpsPosition, Distance deviceError, DilutionOfPrecision horizontalDOP, DilutionOfPrecision verticalDOP, Ellipsoid ellipsoid) { double fail = horizontalDOP.Value * verticalDOP.Value * deviceError.Value; if (fail == 0 || double.IsNaN(fail) || double.IsInfinity(fail)) { throw new ArgumentException( "Parameters deviceError, horizontalDOP and verticalDOP must be greater than zero."); } _currentState = new KalmanSystemState(gpsPosition, deviceError, horizontalDOP, verticalDOP, ellipsoid); }
/// <summary> /// Initializes the Kalman Filter using an initial observation (position) /// </summary> /// <param name="gpsPosition">The position at which tfilter is to begin opperating.</param> /// <param name="deviceError">Distance of the error</param> /// <param name="horizontalDOP">The horizontal dilution of precision</param> /// <param name="verticalDOP">The vertical dilution of precision</param> /// <param name="ellipsoid">The ellipsoid</param> public void Initialize(Position gpsPosition, Distance deviceError, DilutionOfPrecision horizontalDOP, DilutionOfPrecision verticalDOP, Ellipsoid ellipsoid) { _currentState = new KalmanSystemState(new Position3D(gpsPosition), deviceError, horizontalDOP, verticalDOP, ellipsoid); }