Class KlobucharIonoModel
- java.lang.Object
-
- org.orekit.models.earth.ionosphere.KlobucharIonoModel
-
- All Implemented Interfaces:
IonosphericModel
,ParameterDriversProvider
public class KlobucharIonoModel extends Object implements IonosphericModel
Klobuchar ionospheric delay model. Klobuchar ionospheric delay model is designed as a GNSS correction model. The parameters for the model are provided by the GPS satellites in their broadcast messsage. This model is based on the assumption the electron content is concentrated in 350 km layer. The delay refers to L1 (1575.42 MHz). If the delay is sought for L2 (1227.60 MHz), multiply the result by 1.65 (Klobuchar, 1996). More generally, since ionospheric delay is inversely proportional to the square of the signal frequency f, to adapt this model to other GNSS frequencies f, multiply by (L1 / f)^2. References: ICD-GPS-200, Rev. C, (1997), pp. 125-128 Klobuchar, J.A., Ionospheric time-delay algorithm for single-frequency GPS users, IEEE Transactions on Aerospace and Electronic Systems, Vol. 23, No. 3, May 1987 Klobuchar, J.A., "Ionospheric Effects on GPS", Global Positioning System: Theory and Applications, 1996, pp.513-514, Parkinson, Spilker.- Since:
- 7.1
- Author:
- Joris Olympio
-
-
Constructor Summary
Constructors Constructor Description KlobucharIonoModel(double[] alpha, double[] beta)
Create a new Klobuchar ionospheric delay model, when a single frequency system is used.KlobucharIonoModel(double[] alpha, double[] beta, TimeScale gps)
Create a new Klobuchar ionospheric delay model, when a single frequency system is used.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.<T extends CalculusFieldElement<T>>
TpathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, double frequency, T[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.double
pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.double
pathDelay(AbsoluteDate date, GeodeticPoint geo, double elevation, double azimuth, double frequency, double[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.<T extends CalculusFieldElement<T>>
TpathDelay(FieldAbsoluteDate<T> date, FieldGeodeticPoint<T> geo, T elevation, T azimuth, double frequency, T[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Constructor Detail
-
KlobucharIonoModel
@DefaultDataContext public KlobucharIonoModel(double[] alpha, double[] beta)
Create a new Klobuchar ionospheric delay model, when a single frequency system is used. This model accounts for at least 50 percent of RMS error due to ionospheric propagation effect (ICD-GPS-200)This constructor uses the
default data context
.- Parameters:
alpha
- coefficients of a cubic equation representing the amplitude of the vertical delay.beta
- coefficients of a cubic equation representing the period of the model.- See Also:
KlobucharIonoModel(double[], double[], TimeScale)
-
KlobucharIonoModel
public KlobucharIonoModel(double[] alpha, double[] beta, TimeScale gps)
Create a new Klobuchar ionospheric delay model, when a single frequency system is used. This model accounts for at least 50 percent of RMS error due to ionospheric propagation effect (ICD-GPS-200)- Parameters:
alpha
- coefficients of a cubic equation representing the amplitude of the vertical delay.beta
- coefficients of a cubic equation representing the period of the model.gps
- GPS time scale.- Since:
- 10.1
-
-
Method Detail
-
pathDelay
public double pathDelay(AbsoluteDate date, GeodeticPoint geo, double elevation, double azimuth, double frequency, double[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.The path delay is computed for any elevation angle.
- Parameters:
date
- current dategeo
- geodetic point of receiver/stationelevation
- elevation of the satellite in radiansazimuth
- azimuth of the satellite in radiansfrequency
- frequency of the signal in Hzparameters
- ionospheric model parameters- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelay
in interfaceIonosphericModel
- Parameters:
state
- spacecraft statebaseFrame
- base frame associated with the stationfrequency
- frequency of the signal in Hzparameters
- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public <T extends CalculusFieldElement<T>> T pathDelay(FieldAbsoluteDate<T> date, FieldGeodeticPoint<T> geo, T elevation, T azimuth, double frequency, T[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.The path delay is computed for any elevation angle.
- Type Parameters:
T
- type of the elements- Parameters:
date
- current dategeo
- geodetic point of receiver/stationelevation
- elevation of the satellite in radiansazimuth
- azimuth of the satellite in radiansfrequency
- frequency of the signal in Hzparameters
- ionospheric model parameters- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public <T extends CalculusFieldElement<T>> T pathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, double frequency, T[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelay
in interfaceIonosphericModel
- Type Parameters:
T
- type of the elements- Parameters:
state
- spacecraft statebaseFrame
- base frame associated with the stationfrequency
- frequency of the signal in Hzparameters
- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Description copied from interface:ParameterDriversProvider
Get the drivers for parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
-