IonoModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <IonoModel.hpp>

List of all members.


Detailed Description

Model of the ionosphere.

It is used to compute the delay of the satellite signal as seen at the receiver caused by the ionosphere for a "one frequency" user.

See ICD-GPS-200, section 20.3.3.5.2.5 and Figure 20-4.

Verbatim from the above section: "It is estimated that the use of this model will provide at least a 50% reduction in the single-frequency user's RMS error due to ionospheric propagation effects. During extended operations, or for the Block IIR SVs in the Autonav mode if the CS is unable to upload the SVs, the use of this model will yield unpredictable results."

Definition at line 78 of file IonoModel.hpp.

Public Types

enum  Frequency { L1, L2 }

Public Member Functions

 IonoModel () throw ()
 default constructor, creates an invalid model
virtual ~IonoModel () throw ()
 destructor
 IonoModel (const double a[4], const double b[4]) throw ()
 constructor.
 IonoModel (const EngAlmanac &engalm) throw ()
 EngAlmanac constructor.
void setModel (const double a[4], const double b[4]) throw ()
 Method to feed the model with satellite transmitted alpha and beta parameters provided from almanac.
bool isValid () const throw ()
 returns the validity of the model.
double getCorrection (const DayTime &time, const Geodetic &rxgeo, double svel, double svaz, Frequency freq=L1) const throw (InvalidIonoModel)
 get the ionospheric correction value.
bool operator== (const IonoModel &right) const throw ()
 equality operator
bool operator!= (const IonoModel &right) const throw ()
 inequality operator


Member Enumeration Documentation

enum Frequency
 

Enumeration values:
L1  L1 frequency (1575.42 MHz).
L2  L2 frequency (1227.60 MHz).

Definition at line 93 of file IonoModel.hpp.


Constructor & Destructor Documentation

IonoModel  )  throw () [inline]
 

default constructor, creates an invalid model

Definition at line 100 of file IonoModel.hpp.

virtual ~IonoModel  )  throw () [inline, virtual]
 

destructor

Definition at line 103 of file IonoModel.hpp.

IonoModel const double  a[4],
const double  b[4]
throw ()
 

constructor.

Creates a valid model with satellite transmitted alpha and beta parameters provided from almanac.

Parameters:
a an array containing the four alpha terms
b an array containing the four beta terms

Definition at line 58 of file IonoModel.cpp.

IonoModel const EngAlmanac engalm  )  throw ()
 

EngAlmanac constructor.

Creates a valid model from and EngAlmanac object

Parameters:
engalm an EngAlmanac object

Definition at line 63 of file IonoModel.cpp.

References gpstk::beta().


Member Function Documentation

double getCorrection const DayTime time,
const Geodetic rxgeo,
double  svel,
double  svaz,
Frequency  freq = L1
const throw (InvalidIonoModel)
 

get the ionospheric correction value.

Parameters:
time the time of the observation
rxgeo the WGS84 geodetic position of the receiver
svel the elevation angle between the rx and SV (degrees)
svaz the azimuth angle between the rx and SV (degrees)
freq the GPS frequency the observation was made from
Returns:
the ionospheric correction (meters)

Definition at line 89 of file IonoModel.cpp.

References gpstk::beta(), gpstk::cos(), GPSTK_THROW, PI, gpstk::sin(), and gpstk::TWO_PI.

bool isValid void   )  const throw () [inline]
 

returns the validity of the model.

Returns:
model validity

Definition at line 132 of file IonoModel.hpp.

bool operator!= const IonoModel right  )  const throw ()
 

inequality operator

Definition at line 173 of file IonoModel.cpp.

References gpstk::operator==().

bool operator== const IonoModel right  )  const throw ()
 

equality operator

Definition at line 162 of file IonoModel.cpp.

References gpstk::beta().

void setModel const double  a[4],
const double  b[4]
throw ()
 

Method to feed the model with satellite transmitted alpha and beta parameters provided from almanac.

Parameters:
a an array containing the four alpha terms
b an array containing the four beta terms

Definition at line 78 of file IonoModel.cpp.

References gpstk::beta().


The documentation for this class was generated from the following files:
Generated on Thu Nov 20 03:37:20 2008 for GPS ToolKit Software Library by  doxygen 1.3.9.1