Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
gnsstk::X1Sequence Class Reference

Detailed Description

GPS X1 Sequencer. Applied Research Laboratories, The University of Texas at Austin August 2003

X1Sequence is contains a six-second (four Z-count) sequence of the combined X1A/X1B data for the GPS constellation. The X1 sequence repeats every 1.5s (each X1 epoch) and is identical for all SVs and all 1.5s epochs. In this case, 6 seconds of bitstream is generated and stored because this set of code "thinks" in term of 32-bit words and a 1.5s epoch doesn't contain an integer number of 32-bit words of packed bits) - there's a .25 word (8 bit) remainder. Therefore, a six second seqeunce DOES include an even mulitple of 32 bits, which greatly simplifies handling of the data.

Six seconds of X1 bits is a significant amount of data: X1 Epoch = 4092 X1A bits * 3750 X1A cycles = 15,345,000 bits 6 s = 4 X1 Epoch = 4 * bits = 4 * 15,345,000 = 61,380,000 bits. The number of 32 bit words required equals 61,380,000 bits / 32 bits/word = 1,918,125 words

Definition at line 74 of file X1Sequence.hpp.

#include <X1Sequence.hpp>

Public Member Functions

uint32_t & operator[] (int i)
 
const uint32_t & operator[] (int i) const
 
 X1Sequence ()
 
 ~X1Sequence ()
 

Static Public Member Functions

static void allocateMemory ()
 
static void deAllocateMemory ()
 

Static Private Attributes

static bool isInit = false
 
static uint32_t * X1Bits = 0
 

Constructor & Destructor Documentation

◆ X1Sequence()

gnsstk::X1Sequence::X1Sequence ( )

Initialize the member variables associated with this object. In the case of this class, this is a significant amount of work. The X1A/X1B process described in ICD-GPS-200B is followed in order to fill the X1Bits array.

Definition at line 58 of file X1Sequence.cpp.

◆ ~X1Sequence()

gnsstk::X1Sequence::~X1Sequence ( )
inline

Definition at line 84 of file X1Sequence.hpp.

Member Function Documentation

◆ allocateMemory()

void gnsstk::X1Sequence::allocateMemory ( )
static

The X1 sequence requires a 6-second buffer of 10MBit/sec samples. This comes to approximately 2 million four-byte unsigned integers. These data are the same for all PRN codes To minimize the memory footprint, these data are stored in a dynamically-allocated static array. It is

The X1Sequence::deAllocateMemory() method may be called to release the memory (if desired) but it should only be called after all X1Sequence objects have been "destroyed".

Definition at line 68 of file X1Sequence.cpp.

◆ deAllocateMemory()

void gnsstk::X1Sequence::deAllocateMemory ( )
static

Definition at line 144 of file X1Sequence.cpp.

◆ operator[]() [1/2]

uint32_t & gnsstk::X1Sequence::operator[] ( int  i)
inline

Definition at line 118 of file X1Sequence.hpp.

◆ operator[]() [2/2]

const uint32_t & gnsstk::X1Sequence::operator[] ( int  i) const
inline

Given a word number from 0 to NUM_6SEC_WORDS, return the requested word.

Definition at line 123 of file X1Sequence.hpp.

Member Data Documentation

◆ isInit

bool gnsstk::X1Sequence::isInit = false
staticprivate

Definition at line 115 of file X1Sequence.hpp.

◆ X1Bits

uint32_t * gnsstk::X1Sequence::X1Bits = 0
staticprivate

Definition at line 114 of file X1Sequence.hpp.


The documentation for this class was generated from the following files:


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:46