|
JPL GNSS Products
|
Piecewise Constant Model Parameter (PCM) File Format
----------------------------------------------------
The PCM file is meant to hold information related to ground or satellite
platforms that varies in time in a piecewise constant fashion. Specific
examples for each allowable parameter type are provided below.
The PCM file is whitespace delimited, with one record per line.
The # character and any characters following it are ignored.
The columns are as follows:
Column 1: Platform name (case sensitive, no white space allowed)
Column 2: Parameter name (case sensitive, no white space allowed)
Column 3: Integer seconds
Column 4: Float seconds; usually between 0 and 1 but can be any float.
Columns 5-N: One or more key/value pairs separated by whitespace, where the
key is read as a string (case sensitive, no white space allowed)
and the value as a double. Any value is assumed to be constant
from the time in columns 3+4 until the next entry. A value of NaN
means the parameter is no longer known.
Time is specified in continuous GPS seconds past 2000-01-01 11:59:47 UTC = Col3 + Col4
For example:
----
GPS23 NominalYawRate 1000000 0.0 RateDegPerSec 0.11 # comment
GPS23 NominalYawRate 2000000 0.0 RateDegPerSec 0.13
GPS23 NominalYawRate 3000000 0.5 RateDegPerSec NaN
----
For time < 1000000 the GPS23 nominal yaw rate is unknown. For time >= 1000000
and time < 2000000 the nominal yaw rate is 0.11. For time > 2000000 and time
<= 3000000 the nominal yaw rate is 0.13 deg/sec. For time >= 3000000.5 the
GPS23 nominal yaw rate is unknown.
Implementations of the PCM File Format
---------------------------------------
1) Nominal yaw rate file
Parameter name field:
"NominalYawRate"
Key/value fields:
"RateDegPerSec" with a rate >= 0.0 deg/sec.
For example:
----
GPS23 NominalYawRate 1000000 0.0 RateDegPerSec 0.11
GPS23 NominalYawRate 2000000 0.0 RateDegPerSec 0.13
# Nominal rate not defined after "3000000 + 0.5"
GPS23 NominalYawRate 3000000 0.5 RateDegPerSec NaN
----
2) Yaw bias file
Parameter name field:
"YawBias"
Key/value fields (both are required):
"BiasDeg" with the yaw bias in deg.
"BetaIndependent" with either 0 (sign of yaw bias is beta-dependent) or
1 (sign of yaw bias is beta-independent).
If "BiasDeg" is positive *and* "BetaIndependent" is 0, then the bias will have
a sign opposite that of beta:
bias = -sign( BiasDeg, beta )
If "BiasDeg" is negative *and* "BetaIndependent" is 0, then the bias will have
a sign the same as beta:
bias = sign( BiasDeg, beta )
If "BiasDeg" is positive or negative *and* "BetaIndependent" is 1, then the
following will hold:
bias = BiasDeg
For example:
----
GPS23 YawBias 1000000 0.0 BiasDeg +0.5 BetaIndependent 0
GPS23 YawBias 3560000 0.0 BiasDeg -0.5 BetaIndependent 1
GPS23 YawBias 3750000 0.0 BiasDeg -0.5 BetaIndependent 0
----
3) Transmitter power file
Parameter name field:
"TransmitPower.N" (where N = 1, 2, ...) where N, the integer antenna number,
is considered to be represented by the digits following the final period.
At run-time, the user requests a set of antenna power values by specifying a
platform and antenna number. These are turned into a unique string having
the following form:
platform + ".TransmitPower." + antenna#
For example:
"GPS59.TransmitPower.1"
This string must match:
<platform> + "." + <parameter>
from the input file for a matching set of values to be successfully recovered.
Key/value fields:
"X", "Y", "Z" with XYZ components of the orientation of antenna N as a unit
vector in the spacecraft body-fixed frame. Note: in GCORE, the body-fixed
frame will currently be whatever system is provided to the
Satellite.NAME.Models.AttitudeModel input.
"Watts" with the transmit power of antenna N in Watts
For example:
----
GPS59 TransmitPower.1 1000000 0.0 X 0 Y 0 Z 1 Watts 77.0
R1999 TransmitPower.1 1000000 0.0 X 0 Y 0 Z 1 Watts 77.0
R1999 TransmitPower.2 1000000 0.0 X 0.6 Y -0.8 Z 0 Watts 1250.32
R1999 TransmitPower.1 2000000 0.0 X 0 Y 0 Z 1 Watts 74.0
----
In this example GPS23 has one antenna transmitting at 77 watts in the +Z
direction for time >= 1000000. Transmitter R1999 has two antennas, with antenna
1 transmitting 77W in the +Z direction for time >= 1000000 and time < 2000000,
and antenna 2 transmitting 1250.32W in the [0.6, -0.8, 0] direction for time
>= 1000000. Note that the vector describes the pointing of the antenna, with
the acceleration due to antenna thrust acting in the opposite direction.
4) Antenna offsets file
Parameter name field:
This field may take one of two forms, where the second is simply an extension
of the first:
a) "AntennaOffset.N" (where N = 1, 2, ...) where N, the integer antenna
number, is considered to be represented by the digits following the
final period. This form is used to denote general antenna offsets,
that will apply to all data on a given antenna *unless* a more specific
DataType name is provided; see (b) below.
b) "AntennaOffset.N.<DataType>" where DataType is the name of the single
or dual frequency observable type to which this offset applies.For DataType naming conventions, see GipsyX DataTypes.
For more information contact the GipsyX team.
At run-time, the user requests a set of antenna offset values by specifying a
platform and antenna number. These are turned into a unique string having the
following form:
platform + ".AntennaOffset." + antenna#
For example:
"GPS59.AntennaOffset.1"
This string must match:
<platform> + "." + <parameter>
from the input file for a matching set of values to be successfully recovered.
Key/value fields:
"X", "Y", "Z" with XYZ components of the location of antenna N's phase center
(neglecting phase-center-variations) in the spacecraft body-fixed frame.
Note: in GCORE, the body-fixed frame will currently be whatever system is
provided to the Satellite.NAME.Models.AttitudeModel input.
Note: here, the origin of the body-fixed frame is always assumed to be the
spacecraft center of mass.
For example:
----
GPS13 AntennaOffset.1 -900000000 0.0 X 0.27900 Y 0.00000 Z 2.65840
GPS23 AntennaOffset.1 -900000000 0.0 X 0.27900 Y 0.00000 Z 2.72080
GPS50 AntennaOffset.1 -900000000 0.0 X 0.00330 Y 0.00030 Z 0.77800
GPS66 AntennaOffset.1 -900000000 0.0 X 0.39400 Y 0.00000 Z 1.52230
C001M AntennaOffset.1 -900000000 0.0 X 0.56056 Y 0.00000 Z 2.46986
C003G AntennaOffset.1 -900000000 0.0 X 0.56056 Y -0.01944 Z 4.91889
C004G AntennaOffset.1 -900000000 0.0 X 0.56056 Y -0.01944 Z 4.91889
C005I AntennaOffset.1 -900000000 0.0 X 0.56056 Y -0.01944 Z 4.91889
C001M AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X 0.58000 Y 0.00000 Z 2.12000
C003G AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X 0.58000 Y 0.00000 Z 3.50000
C004G AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X 0.58000 Y 0.00000 Z 3.50000
C005I AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X 0.58000 Y 0.00000 Z 3.50000
----