A GNSS receiver tracks the AltBOC (15,10), or composite E5a and E5b, codes
using hardware that locally generates the complex composite signal by combining
separately generated real and the imaginary components of the complex signal. To
track the dataless composite pilot code signals that are on the quadrature channel
of the AltBOC signal, the receiver operates PRN code generators that produce replica
E5a and E5b PRN codes and square wave generators that generate the real and imaginary
components of the upper and lower subcarriers, and combines the signals to produce
a locally generated complex composite code. The receiver removes the complex composite
code from the received signal by multiplying the received signal, which has been
downconverted to baseband I and Q signal components, by the locally generated complex
composite code. The receiver then uses the results, which are correlated I and
Q prompt signal values, to estimate the center frequency carrier phase angle tracking
error. The error signal is used to control a numerically controlled oscillator
that operates in a conventional manner, to correct the phase angle of the locally
generated center frequency carrier. The receiver also uses early and late versions
of the locally generated complex composite pilot code in a DLL, and aligns the
locally generated composite pilot code with the received composite pilot code by
minimizing the corresponding DLL error signal. Once the receiver is tracking the
composite pilot code, the receiver determines its pseudorange and global position
in a conventional manner. The receiver also uses a separate set of correlators
to align locally generated versions of the in-phase composite PRN codes with the
in-phase channel codes in the received signal, and thereafter, recover the data
that is modulated thereon.