GCATTropModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <TropModel.hpp>

Inheritance diagram for GCATTropModel:

Inheritance graph
[legend]
Collaboration diagram for GCATTropModel:

Collaboration graph
[legend]
List of all members.

Detailed Description

Tropospheric model implemented in "GPS Code Analysis Tool" (GCAT) software.

This model is described in the book "GPS Data processing: code and phase Algorithms, Techniques and Recipes" by Hernandez-Pajares, M., J.M. Juan-Zornoza and Sanz-Subirana, J. See Chapter 5.

This book and associated software are freely available at:

http://gage152.upc.es/~manuel/tdgps/tdgps.html

This is a simple but efective model composed of the wet and dry vertical tropospheric delays as defined in Gipsy/Oasis-II GPS analysis software, and the mapping function as defined by Black and Eisner (H. D. Black, A. Eisner. Correcting Satellite Doppler Data for Tropospheric Effects. Journal of Geophysical Research. Vol 89. 1984.) and used in MOPS (RTCA/DO-229C) standards.

Usually, the caller will set the receiver height using setReceiverHeight() method, and then call the correction() method with the satellite elevation as parameter.

   GCATTropModel gcatTM();
   ...
   gcatTM.setReceiverHeight(150.0);
   trop = gcatTM.correction(elevation);

Another posibility is to set the receiver height when calling the constructor.

   GCATTropModel gcatTM(150.0);    // Receiver height is 150.0 meters
   ...
   trop = gcatTM.correction(elevation);

Definition at line 973 of file TropModel.hpp.

Public Member Functions

 GCATTropModel (void)
 Empty constructor.
 GCATTropModel (const double &ht)
 Constructor to create a GCAT trop model providing the height of the receiver above mean sea level (as defined by ellipsoid model).
virtual double correction (double elevation) const throw (InvalidTropModel)
 Compute and return the full tropospheric delay.
virtual double correction (const Position &RX, const Position &SV) throw (InvalidTropModel)
 Compute and return the full tropospheric delay, given the positions of receiver and satellite.
virtual double correction (const Position &RX, const Position &SV, const DayTime &tt) throw (InvalidTropModel)
 Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag.
virtual double correction (const Xvt &RX, const Xvt &SV, const DayTime &tt) throw (InvalidTropModel)
virtual double dry_zenith_delay (void) const throw (InvalidTropModel)
 Compute and return the zenith delay for dry component of the troposphere.
virtual double wet_zenith_delay (void) const throw (InvalidTropModel)
 Compute and return the zenith delay for wet component of the troposphere.
virtual double mapping_function (double elevation) const throw (InvalidTropModel)
 Compute and return the mapping function for both components of the troposphere.
virtual double dry_mapping_function (double elevation) const throw (InvalidTropModel)
 Compute and return the mapping function for dry component of the troposphere.
virtual double wet_mapping_function (double elevation) const throw (InvalidTropModel)
 Compute and return the mapping function for wet component of the troposphere.
virtual void setWeather (const double &T, const double &P, const double &H) throw (InvalidParameter)
 In GCAT tropospheric model, this is a dummy method kept here just for consistency.
virtual void setWeather (const WxObservation &wx) throw (InvalidParameter)
 In GCAT tropospheric model, this is a dummy method kept here just for consistency.
virtual void setReceiverHeight (const double &ht)
 Define the receiver height; this is required before calling correction() or any of the zenith_delay routines.


Constructor & Destructor Documentation

GCATTropModel void   )  [inline]
 

Empty constructor.

Definition at line 979 of file TropModel.hpp.

GCATTropModel const double &  ht  ) 
 

Constructor to create a GCAT trop model providing the height of the receiver above mean sea level (as defined by ellipsoid model).

Parameters:
ht Height of the receiver above mean sea level, in meters.

Definition at line 1748 of file TropModel.cpp.

References GCATTropModel::setReceiverHeight().


Member Function Documentation

double correction const Xvt RX,
const Xvt SV,
const DayTime tt
throw (InvalidTropModel) [virtual]
 

Deprecated:
Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag. This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information as height) and passes them to setReceiverHeight() method and correction(elevation) method.
Parameters:
RX Receiver position in ECEF cartesian coordinates (meters)
SV Satellite position in ECEF cartesian coordinates (meters)
tt Time. In this model, tt is a dummy parameter kept just for consistency

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1828 of file TropModel.cpp.

virtual double correction const Position RX,
const Position SV,
const DayTime tt
throw (InvalidTropModel) [inline, virtual]
 

Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag.

This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information as height) and passes them to setReceiverHeight() method and correction(elevation) method.

Parameters:
RX Receiver position
SV Satellite position
tt Time. In this model, tt is a dummy parameter kept just for consistency

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1029 of file TropModel.hpp.

double correction const Position RX,
const Position SV
throw (InvalidTropModel) [virtual]
 

Compute and return the full tropospheric delay, given the positions of receiver and satellite.

This version is most useful within positioning algorithms, where the receiver position may vary; it computes the elevation (and other receiver location information as height) and passes them to setReceiverHeight() method and correction(elevation) method.

Parameters:
RX Receiver position
SV Satellite position

Reimplemented in MOPSTropModel.

Definition at line 1783 of file TropModel.cpp.

References GPSTK_RETHROW.

double correction double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the full tropospheric delay.

The receiver height must has been provided before, whether using the appropriate constructor or with the setReceiverHeight() method

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1762 of file TropModel.cpp.

virtual double dry_mapping_function double  elevation  )  const throw (InvalidTropModel) [inline, virtual]
 

Compute and return the mapping function for dry component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implements TropModel.

Definition at line 1086 of file TropModel.hpp.

double dry_zenith_delay void   )  const throw (InvalidTropModel) [virtual]
 

Compute and return the zenith delay for dry component of the troposphere.

Implements TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1843 of file TropModel.cpp.

double mapping_function double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the mapping function for both components of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Definition at line 1858 of file TropModel.cpp.

References gpstk::sin(), and SQRT.

void setReceiverHeight const double &  ht  )  [virtual]
 

Define the receiver height; this is required before calling correction() or any of the zenith_delay routines.

Parameters:
ht Height of the receiver above mean sea level, in meters.

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1876 of file TropModel.cpp.

Referenced by GCATTropModel::GCATTropModel().

virtual void setWeather const WxObservation wx  )  throw (InvalidParameter) [inline, virtual]
 

In GCAT tropospheric model, this is a dummy method kept here just for consistency.

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1114 of file TropModel.hpp.

virtual void setWeather const double &  T,
const double &  P,
const double &  H
throw (InvalidParameter) [inline, virtual]
 

In GCAT tropospheric model, this is a dummy method kept here just for consistency.

Reimplemented from TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1105 of file TropModel.hpp.

virtual double wet_mapping_function double  elevation  )  const throw (InvalidTropModel) [inline, virtual]
 

Compute and return the mapping function for wet component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implements TropModel.

Definition at line 1097 of file TropModel.hpp.

virtual double wet_zenith_delay void   )  const throw (InvalidTropModel) [inline, virtual]
 

Compute and return the zenith delay for wet component of the troposphere.

Implements TropModel.

Reimplemented in MOPSTropModel.

Definition at line 1066 of file TropModel.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Jan 6 03:32:01 2009 for GPS ToolKit Software Library by  doxygen 1.3.9.1