PhaseWindup.cpp File Reference


Detailed Description

Implement computations of phase windup, solar ephemeris, satellite attitude and eclipse at the satellite.

Definition in file PhaseWindup.cpp.

#include "Matrix.hpp"
#include "geometry.hpp"
#include "icd_200_constants.hpp"
#include "PhaseWindup.hpp"
#include "SunEarthSatGeometry.hpp"

Include dependency graph for PhaseWindup.cpp:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace  gpstk

Functions

double PhaseWindup (double &prev, DayTime &tt, Position &SV, Position &Rx2Tx, Position &YR, Position &XR, SolarSystem &SSEph, EarthOrientation &EO, double &shadow, bool isBlockR) throw (Exception)
 Compute the phase windup, in cycles, given the time, the unit vector from receiver to transmitter, and the west and north unit vectors at the receiver, all in ECEF.
double PhaseWindup (double &prev, DayTime &tt, Position &SV, Position &Rx2Tx, Position &YR, Position &XR, double &shadow, bool isBlockR) throw (Exception)
 Version without SolarSystem ephemeris; uses a lower quality solar position routine.


Function Documentation

double PhaseWindup double &  prev,
DayTime &  tt,
Position &  SV,
Position &  Rx2Tx,
Position &  RxW,
Position &  RxN,
double &  shadow,
bool  isBlockR = false
throw (Exception)
 

Version without SolarSystem ephemeris; uses a lower quality solar position routine.

Definition at line 129 of file PhaseWindup.cpp.

References Triple::cross(), Triple::dot(), GPSTK_RETHROW, GPSTK_THROW, Triple::mag(), gpstk::SatelliteAttitude(), and gpstk::ZT.

double PhaseWindup double &  prev,
DayTime &  tt,
Position &  SV,
Position &  Rx2Tx,
Position &  RxW,
Position &  RxN,
SolarSystem &  SSEph,
EarthOrientation &  EO,
double &  shadow,
bool  isBlockR = false
throw (Exception)
 

Compute the phase windup, in cycles, given the time, the unit vector from receiver to transmitter, and the west and north unit vectors at the receiver, all in ECEF.

YR is the West unit vector, XR is the North unit vector, at the receiver. shadow is the fraction of the sun's area visible at the satellite. Previous value is needed to ensure continuity and prevent 1-cycle ambiguities. NB. Block IIR has X (ie the effective dipole orientation) in the -XT direction. Ref. Kouba(2009) GPS Solutions 13, pp1-12. This should not matter to phase windup b/c rotating the antenna by a fixed amount yields a constant offset in the windup. NB. This assumes the transmitter and receiver boresights (Z or 'up') lie in a plane; this is true as long as the SV points to Earth center; cf. Beyerle (2009) GPS Solutions 13, pp191-198; in practice differences are small (<1mm).

Parameters:
double& prev return value on previous call (zero initially) (input)
DayTime& tt the epoch of interest (input)
Position& SV the satellite position (input)
Position& Rx2Tx unit vector from receiver to satellite (input)
Position& YR west unit vector at receiver (input)
Position& XR north unit vector at receiver (input)
SolarSystem SSEph Solar system ephemeris
EarthOrientation EO Earth orientation parameters appropriate for time
double& shadow fraction of sun visible at satellite (output)

Definition at line 65 of file PhaseWindup.cpp.

References Triple::cross(), Triple::dot(), GPSTK_RETHROW, GPSTK_THROW, Triple::mag(), gpstk::SatelliteAttitude(), and gpstk::ZT.


Generated on Wed Feb 8 03:31:16 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1