Bancroft Class Reference
[GPS solution algorithms and Tropospheric]

#include <Bancroft.hpp>

Collaboration diagram for Bancroft:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class defines an algebraic algorithm to get an initial guess of GPS receiver's position given satellites' positions and pseudoranges.

The algorithm is based on Bancroft's Method as presented in: Yang, Ming & Kuo-Hwa Chen. ''Performance Assessment of a Noniterative Algorithm for Global Positioning System (GPS) Absolute Positioning''. Proc. Natl. Sci. Counc. ROC(A). Vol. 25, No. 2, 2001. pp. 102-106.

Definition at line 56 of file Bancroft.hpp.

Public Member Functions

 Bancroft () throw (Exception)
 Constructor.
int Compute (Matrix< double > &Data, Vector< double > &X) throw (Exception)
 Compute an initial guess of GPS receiver's position , given satellites' positions and pseudoranges.
int Compute (const Matrix< double > &Data, Vector< double > &X) throw (Exception)
 Another version of Compute method allowing calls with Matrix B being const.
virtual ~Bancroft () throw ()
 Destructor.

Public Attributes

bool ChooseOne
 If true, the solution closest to CloseTo criterion will be chosen.
double CloseTo
 Criterion to decide which solution to choose.
bool testInput
 If true (the default), the B input Matrix will be screened to get out suspicious data.
double minPRange
 Minimum pseudorange value allowed for input data (in meters).
double maxPRange
 Maximum pseudorange value allowed for input data (in meters).
double minRadius
 Minimum allowed distance between Earth center and satellite position for input data (in meters).
double maxRadius
 Maximum allowed distance between Earth center and satellite position for input data (in meters).
Vector< double > SecondSolution
 Vector<double> containing the estimated second position solution (ECEF, meters), if ChooseOne is set to "false".


Constructor & Destructor Documentation

Bancroft  )  throw (Exception) [inline]
 

Constructor.

Definition at line 61 of file Bancroft.hpp.

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

Destructor.

Definition at line 160 of file Bancroft.hpp.


Member Function Documentation

int Compute const Matrix< double > &  Data,
Vector< double > &  X
throw (Exception)
 

Another version of Compute method allowing calls with Matrix B being const.

Definition at line 214 of file Bancroft.cpp.

int Compute Matrix< double > &  Data,
Vector< double > &  X
throw (Exception)
 

Compute an initial guess of GPS receiver's position , given satellites' positions and pseudoranges.

Parameters:
Data Matrix of data containing observation data in rows, one row per observation and complying with the following format:
x y z P

Where x,y,z are satellite coordinates in an ECEF system and P is pseudorange (corrected as much as possible, specially from satellite clock errors), all expresed in meters.

Parameters:
X Vector of position solution, in meters. There may be another solution that may be accessed with vector "SecondSolution" if "ChooseOne" is set to "false".
Returns:
0 Ok, -1 Not enough good data -2 Singular problem

Definition at line 59 of file Bancroft.cpp.

References ABS, GPSTK_RETHROW, gpstk::inverseChol(), gpstk::Minkowski(), gpstk::RSS(), SQRT, and gpstk::transpose().

Referenced by ModelObs::Prepare(), and ModeledPR::Prepare().


Member Data Documentation

bool ChooseOne
 

If true, the solution closest to CloseTo criterion will be chosen.

If false, the two posible solutions will be provided.

Definition at line 113 of file Bancroft.hpp.

double CloseTo
 

Criterion to decide which solution to choose.

The algorithm will choose the solution closer to this value. By default, it is set to earth radius, in meters.

Definition at line 120 of file Bancroft.hpp.

double maxPRange
 

Maximum pseudorange value allowed for input data (in meters).

Definition at line 140 of file Bancroft.hpp.

double maxRadius
 

Maximum allowed distance between Earth center and satellite position for input data (in meters).

Definition at line 150 of file Bancroft.hpp.

double minPRange
 

Minimum pseudorange value allowed for input data (in meters).

Definition at line 136 of file Bancroft.hpp.

double minRadius
 

Minimum allowed distance between Earth center and satellite position for input data (in meters).

Definition at line 145 of file Bancroft.hpp.

Vector<double> SecondSolution
 

Vector<double> containing the estimated second position solution (ECEF, meters), if ChooseOne is set to "false".

Definition at line 156 of file Bancroft.hpp.

bool testInput
 

If true (the default), the B input Matrix will be screened to get out suspicious data.

It works with minPRange, maxPRange, minRadius and maxRadius to pick up a set of "clean data". However, don't be too picky with these parameters in order to leave room for different GNSS systems and configurations. Anyway, Bancroft will give you just an approximate position.

Definition at line 132 of file Bancroft.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Jul 29 03:32:01 2010 for GPS ToolKit Software Library by  doxygen 1.3.9.1