Anda di halaman 1dari 18

Tutorial: DOI. No. 10.1109/MAES.2018.

170117

GPS Receiver Architectures, Front-End and Baseband


Signal Processing
Michael Braasch, Ohio University, Athens, OH, USA
Andrew Dempster, University of New South Wales, Sydney, Australia

This tutorial provides an overview of the hardware architec- ceiver. We will focus on the legacy GPS civilian signal and will
tures and signal processing that form the core of satellite-based touch briefly on modernized GPS signals and other GNSS before
navigation receivers such as GPS. The concepts of spread spec- concluding. This tutorial will describe the hardware and software
trum and code division multiple access are introduced along signal processing in the receiver from the antenna input up to the
with their roles in signal acquisition and tracking. The super- formation of the aforementioned range and range-rate measure-
heterodyne front-end architecture will be described as well as ments. Subsequent receiver functions, such as binary data decod-
the baseband architecture that utilizes in-phase and quadra- ing and position-determination, are not presented herein but are
ture processing. Tracking loops are discussed along with mea- covered in detail in the references provided.
surement generation. The tutorial concludes with a brief look We will start by briefly outlining the hardware and software
at so-called “modernized” satellite-based navigation signals. processing tasks of the receiver. Following this we will present
a mathematical model of the GPS signal and will introduce the
concepts of code division multiple access (CDMA) signals and
INTRODUCTION spread spectrum. We will then describe how the correlation of
the received GPS signal with a replica signal (generated by the
The average person on the street thinks of global navigation satel-
receiver) plays a critical role in both acquisition and tracking.
lite systems (GNSS), such as the United States Global Position-
Next, we consider the (transmission) link budget to determine
ing System (GPS), as simply a positioning system. Although this
the signal power at the receiver as a precursor to determining
is only partially correct, there are some who incorrectly think the
the signal-to-noise ratio (SNR). Since GPS is a spread spectrum
satellites track the receiver [1]. In reality, the receiver measures
system, however, a more useful variant of SNR is introduced:
its distance to a number of satellites and then determines its posi-
carrier-to-noise ratio.
tion based on these measurements (plus knowledge of the location
The additional noise introduced by the analog components
of the satellites). At an even deeper level, though, the receiver is
of the receiver, above and beyond the basic thermal noise, is an
making measurements of time and frequency. From the measure-
important consideration in receiver design. Thus, the tutorial next
ment of time the receiver formulates a measure of distance to a
turns to the topics of noise figure and the role that preamplifica-
given satellite known as a pseudorange. From the measurement of
tion (in the antenna) plays in limiting the impact of subsequent
frequency, the receiver determines Doppler shift and hence formu-
component noise in the receiver. Attention is then turned to the
lates a measure of line-of-sight range-rate or velocity to the given
superheterodyne receiver architecture. As will be described, this
satellite. Thus, GNSS are much more than positioning systems.
architecture provides an efficient technique to reject out-of-band
They can provide three-dimensional position and velocity as well
interference by downconverting the received signal from its origi-
as precise time (in addition to lesser-known applications such as
nal microwave carrier radio frequency (RF) to baseband (i.e., cen-
reflectometry).
ter frequency of 0 Hz) in stages.
In this tutorial we present an overview of the hardware archi-
We then consider the analog-to-digital conversion process
tectures and signal processing that form the core of a GNSS re-
along with the so-called in-phase and quadrature processing used
to preserve phase information at baseband. Once the signal is sam-
Authors' current addresses: M. Braasch, Ohio University, pled, the analog portion of the signal processing is complete, and
EECS, 313 Stocker Center, Athens, OH 45701 USA, E-mail: attention is turned to the baseband processing architecture. Here
(braaschm@gmail.com). A. Dempster, University of New the specific techniques used to implement the aforementioned cor-
South Wales, Faculty of Engineering, Material Science and
relation processing are described. At this point the groundwork
Engineering (E10), Level 7, MSE 718, Sydney, NSW, 2052
will have been laid to describe how the receiver acquires the signal
Australia.
Manuscript received June 7, 2017, revised August 11, 2018, and of a particular satellite. As we shall see, this is not a trivial task
ready for publication August 14, 2018. given the fact that the signal power is 20 to 30 dB below the noise.
Review handled by W. Blair. Traditional and modern acquisition techniques will be described.
0885/8985/19/$26.00 © 2019 IEEE Once a given signal has been acquired, the receiver signal process-

20 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


ing turns to tracking. The feedback tracking loops used to track 1. attenuate signals outside of the wanted GNSS band(s)
both the “code” (i.e., modulation) and the Doppler-shifted carrier
2. amplify the desired band sufficiently to allow for analog-to-
will be described.
digital (A/D) conversion
Once the tracking loops are locked onto the received signal,
the binary data on the signal can be demodulated and the measure- 3. downconvert the desired band to a lower frequency to allow for
ments can be formed. The measurement derived from the signal more efficient filtering and A/D conversion
modulation is known as the “pseudorange.” In parallel, measure-
4. perform A/D conversion
ments can be derived from the Doppler-shifted carrier. These in-
clude the so-called “delta-range” and “carrier-phase” measure- 5. search in a range of frequencies and delays to acquire the sig-
ments. Pseudorange measurements typically form the basis for nals of the satellites that are “in-view” (e.g., above the local
the computed position solution. Delta-range measurements can be horizon/terrain); note: this is challenging given the fact that the
used to compute velocity. Carrier-phase measurements are used in signals are 20 to 30 dB below the noise floor
high precision applications such as surveying in which measure-
6. track both the carrier frequency and modulation of the satellites
ments from multiple, spatially separated receivers are processed
that have been found
together.
Finally, the tutorial concludes with an overview of so-called 7. form range and range-rate measurements
“modernized” signals in GPS as well as other satellite-based
8. decode the digital data on each satellite
navigation systems. The technique known as binary offset carrier
(BOC) modulation will be introduced and its impact on receiver 9. compute and output receiver position, velocity and time.
architectures will be discussed.
In order to ease into these topics, and because it has dominated
We start by considering the signal processing roles played by
satellite navigation for some decades, we will focus on the legacy
the satellites and the receiver.
civilian GPS signal: the coarse/acquisition code (C/A-code). Later
we will address other GNSS signals. Except where noted, the dis-
THE ROLE OF THE SATELLITE AND THE RECEIVER cussion assumes the receiver is on or near (i.e., within tens of kilo-
meters of) the surface of the Earth. We begin our look at the GPS
Contrary to the fears of some conspiracy theorists, the job of a
C/A-code by considering a mathematical model of it.
given GNSS satellite is not to track a receiver; in fact, communica-
tion is one-way only, from satellite to receiver. (Note: If a GNSS-
determined position is to be provided to a third-party, a communi-
cation system that is completely separate from the GNSS must be
GPS C/A-CODE SIGNAL MODEL
utilized. This is done, for example, in the Automatic Dependent For the purpose of this tutorial, the GPS C/A-code signal broadcast
Surveillance—Broadcast system that allows air traffic controllers from a given satellite may be modeled as
to track aircraft via GNSS-determined positions that are transmit-
ted from the aircraft on dedicated surveillance frequencies in the s ( t ) = A ( t ) D ( t ) C ( t ) cos (ωct + φ ) (1)
lower L-band.) This allows the system to provide service, theoreti-
cally, to an unlimited number of users. GNSS is thus a so-called where A(t) is an amplitude factor that models gains/losses on-board
“passive” system and stands in contrast with “active” systems such the satellite; D(t) is the biphase modulated data that carries satel-
as the Distance Measuring Equipment that require two-way com- lite orbital parameters and other information needed by the receiver;
munication [2]. The satellite's primary role is to transmit a highly C(t) is the biphase modulated direct sequence spread spectrum code
phase-coherent, frequency-stabilized continuous-wave signal with (also known as a pseudorandom noise or PRN code); ωc is the an-
precisely timed modulation along with a digital data stream that gular carrier frequency (1575.42 MHz for the case of the GPS L1
tells the receiver the satellite's location, and the precise time. The band) and ϕ is an arbitrary phase offset. The main components of
receiver's job is to: this binary phase-shift keyed (BPSK) signal are illustrated in Fig. 1.

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 21


GPS Receiver Architectures, Front-End and Baseband Signal Processing

are aligned perfectly, and the correlation result is a maximum


(1.0). The correlation function for relative offsets in the range of
−20 to +20 chips is illustrated in Fig. 2e. As the figure shows, the
maximum value occurs only when the locally-generated replica is
aligned with the received signal.
As mentioned above, this correlation processing is the mecha-
nism whereby the receiver is able to detect the signal even though
its power is far below the background noise. Let us now turn our
attention to the subject of signal-to-noise ratio, and we will start by
determining the amount of power that is available to a receiver on
the surface of the Earth. This determination of signal power over
the path from the transmitter to the receiver is known as a power
budget or link budget.

Figure 1.
Illustration of the components of binary phase-shift keyed direct-se- LINK BUDGET
quence spread spectrum signals such as the GPS C/A-code: (a) unmodu-
lated carrier; (b) data bits; (c) PRN code chips; (d) carrier modulated by Solar panels are the prime source of signal power on the satellite.
both the data and PRN code. The C/A-code signal power at the input of the GPS satellite an-
tenna is approximately 14.3 dBW (27 W). However, this is an end-
This type of modulation is known as spread spectrum since the of-life value and the actual value is typically higher [4] and [5].
PRN code causes the final signal to have a much wider bandwidth The satellite antenna gain varies across its main beam. However,
than that of the data itself. For the same reason, the PRN code is the gain is not maximum at the center of the beam. At the distance
known as a “spreading code.” The bits of the spreading code are of the Earth from the satellite, the main beam is slightly wider than
referred to as “chips,” and not “bits,” in order to distinguish them the Earth's diameter. The main beam thus provides coverage to the
from the information-carrying binary data they are modulating. entire portion of the Earth that is ‘visible' to the satellite. Higher
By using different spreading codes with low cross-correlation the gain is placed towards the edges of the main beam to compensate
satellites are able to share the same band. This is known as code for the increased distance from the satellite to locations on Earth
division multiple access (CDMA). that are on the edge of coverage. From the perspective of a terres-
We noted earlier that the signals broadcast by each satellite trial receiver, example satellite antenna gain values are [23]:
are highly phase coherent. This is made possible because a sin-
At 5 deg elevation: 12.1 dB
gle frequency source (oscillator/clock) is used to generate all of
the signals that are broadcast: all carriers, all codes and all binary At 40 deg elevation: 12.9 dB
data. Each component of the broadcast signals is derived from a
At 90 deg elevation: 10.2 dB
master atomic clock with a frequency of 10.23 MHz. The L1 car-
rier frequency, for example, is an integer multiple of this: (10.23 × The satellite antenna gain is thus a minimum when the satellite
106 ) × 154 = 1,575.42 × 106. The C/A-code chipping rate is 1.023 is directly overhead the receiver. Neglecting losses in the satellite
Mchips/s and thus is a simple divide-by-10 of the master clock. antenna, the effective isotropic radiated power (EIRP) is given by
This phase coherence permits synergistic measurement combina- the sum of the input power and the gain. Accordingly, the EIRP
tions that enable, for example, the high precision relative position- varies from 24.5 dBW (14.3 + 10.2) up to 27.2 dBW (14.3 + 12.9).
ing used in survey applications. For a medium elevation angle (40 deg) satellite, the satellite-to-
As will be described in the next sections, when received on or receiver distance is approximately 22,000 km. At this distance, the
near the surface of the Earth, the signal power is far below the ther- free-space path loss is (where r is the distance):
mal noise floor. Both detection (also known as acquisition), as well
as tracking, of the signal is accomplished by correlating a locally-

generated replica of the signal with the received signal. A detailed  1  dB
free space path loss (@ 40 deg) = 10log10  2 
= −157.8 2
description of the correlation processing will be provided later. At  4π r  m
this point it is sufficient to understand that the correlation process-
ing determines how well the received signal and locally-generated Atmospheric loss is approximately 0.5 dB, thus the power den-
replica match up. A small correlation value indicates a poor match sity available at the surface of the Earth is approximately: 27.2 –
and a high value indicates a good match. This is illustrated in Figs. 157.8 – 0.5 = −131.1 dBW/m2.
2 and 3. In Fig. 2a, the two codes are separated from each other The purpose of the receiver's antenna is to capture as much
by one chip and the corresponding correlation result is very small of the available power density as possible while simultaneously
(~0.07). Fig. 2b illustrates the case where the two codes are only rejecting out-of-band (and possibly out-of-direction) signals. The
half a chip apart and the correlation result is much larger (~0.55). antenna's ability to capture the available power density is known
When the codes are one-quarter chip apart (Fig. 2c), the correlation as the effective antenna aperture. An isotropic antenna has an ef-
result is ~0.77. Fig. 2d provides the results when the two codes fective aperture of [6]:

22 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

Figure 2.
(a) Illustration of a received PRN code (red) and a locally-generated PRN code (blue) that is offset by 1 chip from the received code. The normal-
ized correlation of these two codes is approximately 0.07. (b) Illustration of the correlation function for an offset (tau) of approximately 1/2 chip. The
normalized correlation in this case is approximately 0.55. (c) Illustration of the correlation function for an offset (tau) of approximately 1/4 chip. The
normalized correlation in this case is approximately 0.77. (d) Illustration of the correlation function for an offset (tau) of approximately 0 chip. The
normalized correlation in this case is approximately 1.0. (e) Illustration of the correlation function for offsets (tau) in the range of +/– 20 chips.

λ2 noise at the receiver input or the detector? There are four main
Ae = (2)
4π sources of noise in a GNSS receiver: background radiation,
thermal noise, device noise, and interference. The background
where λ is the carrier wavelength. At the GPS L1 frequency
radiation, also known as sky noise, is comprised of solar ra-
(1,575.42 MHz), the wavelength is approximately 0.1903 m and
diation and reradiation from the Earth. Although nontrivial,
thus the effective aperture is 2.88 × 10−3 m2 or −25.4 dB m2. The
we can neglect it for a first order approximation of the noise
power output from an ideal isotropic antenna is thus: −131.1
in the GNSS receiver. Thermal noise arises due to the ambi-
dBW/m2 – 25.4 dB m2 = −156.5 dBW. In practice, we must modify
ent temperature of the front-end analog electronics being above
this result by the gain of the actual antenna. As an example, a typi-
absolute zero (and typically is assumed to be room temperature
cal GPS aircraft microstrip patch antenna (oriented level with the
or standard temperature). Device noise is the additional noise
Earth's surface) has a gain of −4 dBic at 5 deg elevation, +2 dBic at
beyond thermal noise added by a given component (e.g., an am-
40 deg, and +4 dBic at 90 deg (where dBic is decibels with respect
plifier) due to nonideal operation. Interference (both intentional
to a circularly polarized isotropic antenna).
and unintentional) is beyond the scope of this tutorial, but there
For the example of the medium elevation angle satellite, the
are certainly receiver architecture implications for a designer
final received power available at the receiver input is thus: −156.5
who expects the receiver to be operating in a high interference
dBW + 2 dBic = −154.5 dBW. We can also show that for a satellite
environment (see e.g., [5]).
at zenith (90 deg elevation) the available power is −154.5 dBW (as
At most frequencies of practical interest (e.g., anything below
it was for the medium elevation satellite) but drops to −162.5 dBW
100 GHz) and at reasonable temperatures (e.g., room temperature),
for a low satellite (5 deg elevation). Having determined the typical
the thermal noise power in resistive analog electronics is well ap-
ranges of available signal power, we now must determine the back-
proximated by:
ground noise power in order to obtain the signal-to-noise ratio.
Pnoise = kTB (3)
SIGNAL-TO-NOISE RATIO
where k is Boltzmann's constant (1.38 × 10−23 J/K), T is temper-
Let us take −160 dBW as an approximation for the received sig- ature in kelvin, and B is the bandwidth in hertz. The minimum
nal power. Recall this equates to 10−16 W. This is an extremely bandwidth that must be processed for the GPS C/A-code is ap-
weak signal and begs the question: What is the power of the proximately 2 MHz. At room temperature (290 K) and B = 2 MHz,

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 23


GPS Receiver Architectures, Front-End and Baseband Signal Processing

The denominator in the final expression can be thought of ei-


ther as noise density or as noise power in a 1 Hz bandwidth. Carri-
er-to-noise ratio can thus be considered as signal-to-noise density
or as SNR in a 1 Hz noise bandwidth. From (4), the units of “S” are
watts and the units of “kT” are W/Hz. Thus, carrier-to-noise ratio
has the somewhat strange linear units of Hz or, more commonly
when converted to decibels, dB-Hz. For the example above with
a postcorrelation SNR of +24 dB (100 Hz bandwidth), (4) evalu-
ates to 44 dB-Hz. With nominal GPS signal levels, carrier-to-noise
ratio typically lies in the range of 35 – 55 dB-Hz. Signals can be
unambiguously compared in terms of dB-Hz. Our characterization
of noise is not complete, however, until we consider the additional
noise contributed by the nonideal analog electronics in the front-
end of the receiver. This additional noise, of a single component or
Figure 3.
Analog-to-digital converter output from an experimental GPS C/A- the entire front-end of the receiver, is typically specified in terms
code receiver. The front-end bandwidth is slightly over 2 MHz and the of a quantity known as “noise figure.” As we shall soon see, the
sampling rate is 5 MHz. The 10,000 samples illustrated thus represent receiver noise figure can be significantly reduced if preamplifica-
2 ms of real-time data. The signals from nine GPS satellites are hidden tion is provided in the antenna.
within this data.

the noise power given by (3) is approximately 8 × 10−15 W or −141 NOISE FIGURE AND PRE-AMPS
dBW.
As noted above, each analog component in the receiver front-end
At the receiver input, the SNR is thus (−160 dBW) – (−141
(e.g., amplifiers, mixers, filters) contributes additional device noise
dBW) = −19 dB. An approximate value for the noise contribution
above the inherent thermal noise. Thus, the SNR at the output of a
of the entire analog portion of the receiver (known as the “front
given device will be less than the SNR at the input. We characterize
end”) is 3 dB and thus the SNR of the digitized baseband signal
device noise by quantifying this loss of SNR caused by the device.
is approximately −22 dB. The signal is so weak compared to the
Noise factor (F) quantifies this loss:
noise that it is completely indistinguishable in a time plot as il-
lustrated in Fig. 3.
SNR at device input [linear units]
As will be described later, the “invisible” signals lying beneath F= (5)
SNR at device output [linear units]
the noise are detected and tracked through a correlation process
that “despreads” the signals into the bandwidth of the digital data
The more commonly used “noise figure” (NF) is simply noise
component of the signal. For the GPS C/A-code, the digital data is
factor converted to decibels:
a 50 bit-per-second binary stream and thus has a 100 Hz two-sided
bandwidth. To first-order, particularly for the case of a multibit NF = SNR at device input [in dB] − SNR at device output [in dB]
A/D converter, the correlation process can be assumed to be loss-
(6)
less (i.e., no loss of signal power). Thus, after correlation the entire
signal power is preserved but the effective noise bandwidth can
High quality components typically will have noise figures
be reduced (with filtering) to 100 Hz from the spread bandwidth
on the order of a few decibels (or less). Lossy components (e.g.,
of 2 MHz. From (3), the noise power in a 100 Hz bandwidth at
cables), on the other hand, are characterized by the fact that their
room temperature is approximately −184 dBW. The post-correla-
noise figure is equal to their loss. For example, a 10 meter coaxial
tion SNR is thus (−160 dBW) – (−184 dBW) = +24 dB. This is
cable with an attenuation factor of 1 dB/m will have a loss, and
a clearly detectable signal and conventional techniques can then
a noise figure, of 10 dB. This is due to the fact that a lossy com-
be used to demodulate the digital data. This 46 dB improvement
ponent will attenuate the signal passing through it but does not
(from -22 to +24) is called the “processing gain” achieved by the
attenuate the ambient thermal noise.
despreading process.
The output of an antenna is typically connected to a cable that
However, the fact that the SNR varies as a function of loca-
is, in turn, connected to the receiver. The front-end of the receiver
tion within the signal processing chain is problematic. One could
has numerous analog components, each with its own noise factor.
say “SNR is −22 dB precorrelation” or “SNR is +24 dB postcor-
The overall noise factor of a cascaded set of components is given
relation,” but this is cumbersome. Instead, a metric is utilized
by [7]
that is bandwidth-independent. “Carrier-to-noise (density)” ratio,
typically abbreviated as C/N0, is derived by normalizing SNR by
F2 − 1 F3 − 1
bandwidth: F = F1 + + +  (7)
G1 G1G2

S S S where Fi is the noise factor and Gi is the linear gain of the ith com-
C/N 0 = SNR ⋅ B = ⋅B = ⋅B = (4)
N kTB kT ponent.

24 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

In order to understand the significance of (7), let us first con-


sider the possible range of values of noise factor and linear gain.
The signal power that has been extracted by the antenna can be
degraded by a given receiver component, but no component in the
receiver can create new signal power. Thus, it follows from (5) that
noise factor is always greater than or equal to 1. An ideal amplifier
will boost both the signal and the noise equally and thus the SNR
at its input and output would be equal and the noise factor would
be 1. A nonideal amplifier will induce some signal degradation and
will add some device noise as well, and thus the SNR at its output
will be less than the SNR at the input. The noise factor will there-
fore be greater than 1.
Figure 4.
With regard to linear gain, by definition it must be greater than or Superheterodyne receiver architecture. Each downconversion stage con-
equal to zero. A device that provides amplification will have a linear sists of an amplifier, local oscillator signal, mixer, and bandpass filter.
gain greater than or equal to 1. A device that provides attenuation (Note: Production receivers typically have burn-out protection circuitry
will have a linear gain between zero and 1. Applying this range of and prefilters between the antenna and first amplifier.)
figures to (7) shows us that each term is positive. Thus, each compo-
That is, the frequency band of interest is downconverted in multi-
nent in the front-end chain can only increase the overall noise figure.
ple stages from the original carrier frequency to a low intermediate
High gain components early in the chain can reduce the impact of
frequency (IF) before it is digitized (sampled). A detailed expla-
noisy components later in the chain but they cannot reduce the im-
nation of the superheterodyne architecture is beyond the scope of
pact of the first component (typically referred to as the “first stage”).
this tutorial. Similarly, homodyne architectures, where the signal
To illustrate this, we will consider a simplified example. As-
is downconverted directly to baseband, will not be dealt with here,
sume that after the antenna there are three components: cable (NF
although they have advantages (low number of components) and
= 10 dB, gain = −10 dB), amplifier (NF = 2 dB, gain = 20 dB), and
disadvantages (very careful hardware design to avoid interference
the remainder-of-the-receiver (NF = 8 dB, gain = 50 dB). If after
from signals in adjacent bands). However, by downconverting in
the antenna, the components are connected as: cable -> amplifier
stages it is not necessary to use extremely high Q bandpass filters
-> receiver, (7) can be used to show the overall noise figure is 12.1
and thus the architecture is economical. A generic superheterodyne
dB. However, if the components are connected as: amplifier ->
architecture is depicted in Fig. 4 (as noted earlier, production re-
cable -> receiver, the overall noise figure is 3.44 dB! By merely
ceivers typically have burn-out protection circuitry and prefilters at
switching the order of the components, the noise figure changes
the input port to protect the front-end).
by more than 8 dB. If the first stage is a high gain component, it
As shown in the figure, each downconversion stage consists of
“sets” (e.g., dominates) the overall noise figure by significantly
an amplifier, local oscillator (LO) signal, mixer, and bandpass fil-
reducing the effect of any noise added later in the front-end. This
ter. The local oscillator signals nominally consist of pure sinusoids.
is why most GNSS antennas are so-called “active” antennas that
Now consider the center frequency of the signal input to the first
contain integrated low-noise amplifiers (LNAs). In a laboratory
mixer (which is the carrier frequency or generically the RF). Recall
situation where a rooftop-mounted antenna may be separated from
the familiar trigonometric identity
a receiver by tens of meters of cable, it is essential to have an LNA
at the antenna to prevent the lossy cable from degrading the SNR.
cos α cos β = 12 cos (α + β ) + 12 cos (α − β ) (8)
This LNA integrated with, or connected directly to, the antenna is
referred to as a pre-amplifier (or pre-amp for short) since it pro-
In the case of the first stage mixer, (8) becomes
vides amplification prior to any gain stages in the receiver.
Our characterization of the SNR (or carrier-to-noise ratio) is
cos (ωRF t ) cos (ωLO1t ) = 12 cos ([ωRF + ωLO1 ]t ) + 12 cos ([ωRF − ωLO1 ]t ) (9)
complete now that we have considered the receiver noise as well
as the background thermal noise. The front-end electronics that
The mixer output thus consists of a “sum” frequency term and
we have just considered (from the point of view of noise) provide
a “difference” frequency term. Since we are downconverting, we
three primary signal processing functions: amplification, filtering,
are interested in the difference frequency term (known as an inter-
and frequency downconversion. For the sake of completeness, it
mediate frequency or IF):
should be noted that production receivers typically also have burn-
out protection circuitry and prefilters at the input port to protect the ωIF = ωRF − ωLO1 (10)
front-end. GNSS receiver front-ends typically are designed using
the “superheterodyne” architecture that shall now be described. (Note: If we were designing a transmitter instead of a receiver, we
would want to upconvert a baseband signal to a carrier frequency
and at each stage we would be passing the sum frequency term
SUPERHETERODYNE ARCHITECTURE instead.)
As with most modern receivers, GNSS receiver front-ends are typ- Each stage of downconversion moves the passband of interest
ically designed according to the superheterodyne architecture [7]. down to a lower IF. At each stage the bandpass filter has a more

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 25


GPS Receiver Architectures, Front-End and Baseband Signal Processing

narrow passband than the previous stage in order to improve out- even voice sampled for telephones, GNSS signals are typically
of-band rejection. The choice of these IFs is known as the “fre- sampled with a low number of quantization levels. Low-cost
quency plan” of the receiver. Part of the decision-making process receivers frequently are so-called “hard limiting” devices that
involves determining what strong out-of-band signals the receiver use only 1-bit converters. Higher performance receivers will use
may encounter. The IFs are chosen, in part, to avoid being coinci- more quantization levels but rarely more than eight (i.e., a 3-bit
dent with any strong out-of-band signals that could cause interfer- converter). These very low numbers of sampling bits are possible
ence. because the signal is despread after digitization, and the signal
A variety of considerations are taken into account in the se- resolution is improved by the previously mentioned processing
lection of amplifiers, mixers and filters. There is a trade-off in gain. Legacy GPS signals such as the C/A-code are modulated
amplifier design between high gain and low noise [8]. In GNSS with bipolar waveforms and thus a large number of quantization
receivers, the total gain is spread over multiple amplifiers in mul- levels is not needed. With multi-bit converters, automatic gain
tiple stages of downconversion to ensure that only modest gain is control (AGC) is needed to ensure the quantization levels are
needed at each stage. This permits low noise amplifiers to be uti- being exercised properly (i.e., to minimize the loss of SNR in
lized. Practical mixers can be “unbalanced,” “single-balanced,” or the sampling process). Since the signal being sampled is domi-
“double-balanced.” An unbalanced mixer will have some amount nated by noise, the AGC circuit is designed to achieve a Gaussian
of both RF and LO feed-through in addition to the desired prod- distribution of samples across the quantization levels. The AGC
uct of the two. A single-balanced mixer will have feed-through of level also does not vary very much (in the absence of interfer-
either the RF or the LO signal, but not both. A double-balanced ence), except with temperature variations, which affect the noise
mixer will have neither RF nor LO feed-through. As mentioned level (see (3)).
earlier, one of the advantages of the superheterodyne architecture The choice of sampling rate is governed not by the highest fre-
is that high-Q filters are not needed in order to achieve good per- quency content of the signal but rather its bandwidth. For example,
formance. Nevertheless, the passband of the filter at each stage if the final IF is at 21.25 MHz and the bandwidth of the signal is
of downconversion must be chosen to ensure adequate “image” approximately 2.2 MHz, the information in the signal can be ad-
rejection for the next stage. Image signals are signals at frequen- equately captured with a sampling rate slightly higher than twice
cies below the LO frequency that will mix down to the same IF as the bandwidth (e.g., 5 MHz). Although the highest frequency con-
the desired RF signal. tent in the signal is at approximately 22.35 MHz, it is not necessary
Although not shown explicitly in Fig. 4, all LO signals are to apply Nyquist blindly and sample the signal at 45 MHz. This is
driven from a single frequency reference (i.e., clock or oscillator). due to the fact that the final bandpass filter has attenuated all sig-
This is quite important because the main measurement the GNSS nals in the range of 0 – 20 MHz such that they can be considered
receiver makes is a time measurement, and using a single time negligible. By sampling at a rate higher than twice the bandwidth
base makes this far easier. This clock also drives the sampling rate but lower than twice the highest frequency, the signal is being pur-
of the A/D converter. Virtually all GNSS receivers use some form posely aliased down to a lower frequency. This technique is known
of crystal oscillator (XO) that operates based on the piezoelec- as bandpass sampling, IF sampling, or digital downconversion [9],
tric effect. The temperature-driven instability (drift) in all oscilla- [10], [11], [25]. In the example above, a 5 MHz sampling rate will
tors can be improved either through temperature compensation or alias the signal down from 21.25 MHz to 1.25 MHz. Since the
temperature control. Temperature compensated crystal oscillators bandwidth is 2.2 MHz, the passband of the sampled signal ranges
(TCXOs) contain temperature sensors (thermistors) used to gen- from 0.15 – 2.35 MHz. Such a signal is clearly sampled properly
erate a correction voltage to compensate for changes in tempera- at a rate of 5 MHz.
ture. Even better performance can be achieved by maintaining the Once the signal has been sampled, baseband processing may
crystal at a near constant temperature, and this is done in oven- begin. One of the tasks of the baseband processing is the final
controlled crystal oscillators (OCXOs). Most high-performance downconversion of the (digitized) signal from IF to baseband. This
GNSS receivers use either TCXOs or OCXOs to minimize the must be done, however, without losing phase information. The
clock's effect on the receiver's measurements. Frequency variation typical technique used to do this will now be described before the
in the receiver's clock will manifest in frequency offsets (pseudo- baseband architecture is presented.
Doppler) of the downconverted signal. Clock phase noise will
result ultimately in tracking jitter and finally noise on the mea-
surements.
IN-PHASE AND QUADRATURE PROCESSING
The superheterodyne architecture takes the low-power, wide- After digitization, the signal enters the so-called baseband portion
band RF signal output from the antenna and yields an amplified, of the receiver. The signal is converted from its final IF down to
bandlimited (to the GNSS band of interest) signal at a low interme- baseband (i.e., center frequency of 0 Hz). However, since most of
diate frequency ready for sampling. the information in the signal is contained in its phase, the conver-
sion to baseband must be done in such a way as not to lose this
phase information. To illustrate this point, consider a generic input
ANALOG-TO-DIGITAL CONVERSION signal
Once the analog signal has been amplified, downconverted, and
filtered sufficiently, it is then digitized. Unlike digital music, or sin ( t ) = cos (ωIF t + φ ) (11)

26 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

We seek to downconvert the signal to baseband but not lose


phase information. If we downconvert with a single sinusoid the
result is

smix ( t ) = sin ( t ) cos (ωIF t ) = 12 cos ( 2ωIF t + φ ) + 12 cos (φ ) (12)

If the double-frequency term is filtered out, the remainder is


simply the cosine of the phase. However, since cosine is an even
function, it is impossible to distinguish positive phase from nega-
tive phase. Critical phase information is thus irretrievably lost. In
order to preserve phase, the commonly utilized technique involves
two parallel downconversions

sI ( t ) = sin ( t ) cos (ωIF t ) = 12 cos ( 2ωIF t + φ ) + 12 cos (φ )


Figure 5.
(13) GPS receiver baseband signal processing block diagram.
sQ ( t ) = sin ( t ) sin (ωIF t ) = 12 sin ( 2ωIF t + φ ) + 12 sin (φ )
after the receiver has started to track the received signal). Each of
these so-called “locally generated” codes (to distinguish them from
By downconverting two copies of the input signal with two si-
the code on the received signal) is multiplied with a copy of the
nusoids that are shifted by 90 deg with respect to each other, phase
in-phase samples and the product is passed through an accumulate-
is preserved. The double-frequency terms are filtered out and the
and-dump process (i.e., a digital integrator). This process serves
remaining terms are referred to as the in-phase and quadrature (or
both to perform correlation of the received signal with the locally-
quadra-phase) components
generated code (more on this shortly) and acts as a low-pass fil-
ter, thus removing the double-frequency term generated when the
I ( t ) = cos (φ ) sampled received signal is mixed with the carrier NCO signal.
(14)
Q ( t ) = sin (φ ) Typical baseband processing thus has six outputs: E, P, L
for both I and Q channels. Each represents a correlation of the
Clearly the phase can be recovered by a simple arctangent op- received signal with a time- and phase-shifted version of the
eration on the I and Q components. Although the original signal in locally generated signal. Let us now consider correlation a bit
this example ((11)) was very simple, the principle is the same for more closely.
the actual GNSS signals.
Another reason to create I and Q signals at baseband is that
there is a single analog circuit performing the downconversion
CORRELATION PROCESSING
from RF to IF. Due to the high satellite orbit speeds, the Doppler- As mentioned earlier with regard to Fig. 2, correlation of the re-
shift on the carrier frequencies of the different satellites are not the ceived signal with the locally-generated code is one of the most
same, so the signals from all the satellites being tracked at a given important functions of the receiver, as correlation is used both for
moment cannot all be brought down to zero frequency together. acquisition and tracking. The cross-correlation function of signal
The I and Q channels allow us to keep the phase relationships in x(t) with signal v(t) is defined as:
these signals.

With this understanding of in-phase and quadrature process-
R (τ ) ≡  x ( t ) v ( t + τ ) dt (15)
ing, we may now describe the baseband architecture of the GPS −∞
receiver.
where τ is the shift parameter known as the “lag.” For periodic sig-
nals, the integration need only be performed over one (or multiple)
BASEBAND PROCESSING ARCHITECTURE period(s). As mentioned earlier with regard to Fig. 5, the combi-
After the downconverted signal has been sampled, the digital data nation of the mixer followed by the accumulate-and-dump circuit
enters the baseband processing section of the receiver illustrated in implements the correlation process. The code (either received or
Fig. 5. The carrier numerically controlled oscillator (NCO) produc- locally-generated) consists of +1s and −1s but the received sig-
es sine and cosine waveforms used to perform the aforementioned nal is the sum of the code plus noise (see Fig. 3). Thus, when the
in-phase and quadrature final downconversion to baseband. The received and locally-generated codes are aligned, their product is
remainder of the figure illustrates the processing of the in-phase +1. The integration effectively averages the zero-mean noise but
samples, since duplicate processing is performed on the quadrature accumulates the code correlation result over the period of the in-
samples. A separate NCO drives a PRN code generator with the tegration. The correlation will yield a peak value when the codes
output feeding a three-stage shift register. The shift register is used are aligned but will result in relatively small noise values when the
to create “early” (E), “prompt” (P), and “late” (L) versions of the codes are not aligned (Fig. 2 showed the correlation result in the
code (the relative tardiness of these sample streams is only valid absence of noise).

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 27


GPS Receiver Architectures, Front-End and Baseband Signal Processing

Having described the baseband signal processing architecture, maneuvers are typically short-term events and thus are more of a
we may now consider how it is used for signal detection, tracking concern for tracking rather than acquisition. Space-based receiv-
and measurement generation. The first step is signal detection, also ers in low earth orbit can have high Doppler shifts due their orbit
known as acquisition. velocities. The major contributor to frequency offset typically is
the receiver oscillator. TCXOs can add +/− 10 kHz onto the un-
certainty and very low cost oscillators can add hundreds of kHz.
SIGNAL ACQUISITION The term “cold start” indicates there may be “warm starts”
GNSS signal acquisition is essentially a three-dimensional search and “hot starts” as well. This is indeed the case. Any a priori in-
process. The receiver must determine which satellites are “visible” formation, such as a good guess at location—often the last calcu-
(i.e., above the local horizon such that its signals are incident upon lated—and time—clocks are battery-backed—can help speed the
the antenna) (dimension 1) and, for each visible satellite, must acquisition process, thus leading to a warm start situation. A hot
match its locally-generated “carrier” (dimension 2), and code (di- start usually indicates the receiver was tracking a given satellite
mension 3) to the received signal. (Note: It is conventional to refer recently and can reacquire with a greatly reduced search space,
to the center frequency of the received signal as the “carrier” even and begin positioning immediately (i.e., it has up-to-date data from
after it has been downconverted to an intermediate frequency.) The the satellites).
matching of the locally-generated carrier to the received signal, as Let us now consider the primary techniques used to perform
described above, downconverts the received signal to baseband. signal acquisition. Early generation receivers were typically quite
The matching (and subsequent correlation) of the locally-gener- slow to perform acquisition (e.g., needing several minutes) and
ated code with the received signal accomplishes the de-spreading worked solely in the time domain. Modern ASIC designs enable
needed to narrow the signal bandwidth and raise the signal power the usage of frequency domain techniques that effectively parallel-
above the noise floor for successful detection (acquisition) and ize the search process thus greatly increasing speed. Each will now
tracking. As will be described shortly, all three dimensions must be examined in turn.
be searched simultaneously. Only after the locally-generated code
and carrier are matched to a signal received from a visible satellite
will the correlation output (e.g., IP in Fig. 5) exceed the background
ACQUISITION TECHNIQUES: SERIAL SEARCH
noise level and yield successful acquisition. In other words, it all There are three general approaches to GNSS signal acquisition: se-
has to work before any of it works! rial search, parallel frequency-offset, and parallel code-offset. The
serial search technique was the traditional approach and was uti-
lized by most receivers until processing power at the chip-level en-
COLD START abled real-time implementation of the parallel search techniques.
“Cold start” is the term used when the receiver has no a priori Serial search, as the name implies, simply involves the receiver
information to help with the acquisition. In a pure cold start the generating its local code at a particular offset, its locally-generated
receiver has not even an approximate knowledge of location, time carrier at a particular frequency offset, and then correlating this
or current satellite orbital and clock parameters (known as ephem- with the received signal and comparing the result to a threshold. If
eris). As a result, it must perform a so-called “sky search” in which the threshold is not exceeded, another code-offset/frequency-offset
it simply attempts acquisition on each and every PRN code in the is tried and so forth until either the signal is detected or the entire
satellite constellation. For each code that it searches, the receiver search space has been exhausted (in which case it is determined
must then perform a two-dimensional search of all possible code that the satellite is not visible). This method allows for relatively
offsets and all possible frequency offsets. In other words, even if small, cheap hardware to be allocated to the acquisition process.
the receiver is generating the PRN code for a satellite signal that it Referring back to the accumulate and dump outputs of Fig. 5, the
is receiving, it must shift its locally-generated code until it aligns acquisition detector is formed from the correlation outputs by
with the received signal. Similarly, a range of frequency offsets
(from nominal) must be searched until the locally-generated carrier Dacq = I p2 + Q p2 (16)
frequency matches the received signal.
Code offsets are typically searched in half-chip steps (thus Since the locally-generated carrier is not phase-locked to the
2,046 half-chip steps to search through the 1,023 chips of a GPS received signal during acquisition, correlation power will be split
C/A-code). The frequency offset is partly due to imperfections in between the I and Q channels. Further, squaring of each component
the satellite and receiver clocks but mainly Doppler shifts due to is needed to account for possible phase inversion between locally-
satellite and receiver motion. The frequency offset in the satellite generated code and the received code. Fig. 6 gives an example of
clock is small since atomic oscillators are used. For the medium- how (16) varies over the entire search space for a particular satel-
earth orbit (MEO) of GPS satellites, the induced Doppler shift is lite that was present within the data shown earlier (Fig. 3).
in the range of −5 to +5 kHz. Marine and ground vehicles have
relatively low dynamics and thus do not contribute appreciably to
the Doppler. High dynamic jet aircraft, though, can undergo rapid
ACQUISITION TECHNIQUES: PARALLEL SEARCHES
accelerations with commensurate changes in velocity that cause Throughout the 1970s and into the 1980s, not only were all re-
Doppler changes of several hundred Hz/s. However, high dynamic ceivers restricted to serial acquisition, but the bulk of the base-

28 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

band processing (up through correlation) was performed


in analog hardware. Gradually from the late 1980s and
into the 1990s, the entire baseband architecture was con-
verted from analog to digital (as indicated in Fig. 5). Fur-
thermore, parallel sets of baseband processing hardware
were developed to enable parallel tracking of multiple
satellites (early analog receivers did not have parallel
tracking channels; they had to sequence rapidly through
four or five satellites being tracked). By the mid-1990s,
digital baseband architectures were becoming common-
place. However, due to processing constraints, the data
stream being generated by the A/D converter had to be
processed in real-time with dedicated digital hardware.
Over the next decade processing power reached the point
that parallel search techniques based on the FFT could be
implemented in production receivers.
The parallel frequency search process is illustrated in Figure 6.
Fig. 7 [12], [13], [26]. The basic concept is straightfor- Serial search acquisition detector output for a particular PRN (satellite) that was present
ward. Ignoring the presence of the very low rate data, the within the data shown in Fig. 3. Since the signal is strong, there is a clear single peak
downconverted received signal can be represented by a at the correct code offset and Doppler frequency offset. (Note: Despite the fact that the
simplification of (1): final IF bandwidth of the sampled signal was only 2.2 MHz (i.e., only the main lobe of
the PRN code spectrum was passed), the sharpness of the correlation peak is due to a
low sampling rate of 5 Msps and the coarseness of the Doppler search (1 kHz bins).)
( )
s ( t ) = C ( t ) cos ωIF t + ωoffset t + φ + n ( t ) (17)

where n(t) represents the noise and “offset” represents the


total frequency offset due to the aforementioned clock
and Doppler effects. Recall the PRN code, C(t), consists
of +1s and −1s, and thus when the locally-generated code
is aligned with the received code, the output of the multi-
plier in Fig. 7 is simply

( )
smix ( t ) = cos ωIF t + ωoffset t + φ + n ( t ) C (t ) (18)

Each “−1” in the locally-generated code causes an


Figure 7.
inversion of the noise, but this is of no consequence. If Parallel frequency search process.
the signal is sufficiently strong, taking an FFT of the mul-
tiplier output ((18)) will yield a peak that rises above the
noise. Each incorrect locally-generated code offset will
yield a noisy result that will not exceed a predetermined
threshold. Fig. 8 shows the results of performing this pro-
cess for all of the possible code offsets for the same PRN
shown in Fig. 6 (for the serial search).
Although conceptually more difficult, it is possible to
parallelize the search of the code space (i.e., the “code
offset” axis shown in Figs. 6 and 8) [14], [13], [26]. This
is advantageous since while there may be several dozen
frequency bins to search (e.g., 20 kHz searched in 500 Hz
bins), there are over two thousand code offsets to search
(e.g., 2,046 half-chip steps for the GPS C/A-code), and
multiple satellites to consider. The key idea is to exploit
the tremendous similarity between correlation and con-
volution. Recall the convolution of two signals is given
by


Figure 8.
x (t ) ∗ v (t ) ≡  x ( λ ) v ( t − λ ) d λ (19) Parallel frequency search acquisition detector output for a particular PRN (satellite)
−∞
that was present within the data shown in Fig. 3.

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 29


GPS Receiver Architectures, Front-End and Baseband Signal Processing

whereas the correlation of these two signals was given in


(15).
As (15) and (19) show, the difference between convo-
lution and correlation is that one of the signals is time-re-
versed in convolution but not in correlation. Recalling the
Fourier transform of a time-reversed signal is given by

{ }
F x ( −t ) = X ∗ (ω ) (20)

Then we may write the Fourier transform of correlation as

 ∞ 
F   x ( t ) v ( t + τ ) dt  = X (ω )V ∗ (ω ) = X ∗ (ω )V (ω )
 −∞  (21)
Figure 9.
Parallel code search process. (Note: Although not shown on the figure, one of the
FFT outputs must be conjugated (it does not matter which one).) Furthermore, the Note that it does not matter which signal is conjugat-
FFT of the PRN code(s) may be precomputed offline and stored in hardware or ed. Fig. 9 illustrates the parallel code-search process. This
software to reduce realtime computational burden. process must be repeated for each frequency offset in the
search space. For the same PRN as before, the results for
the entire search space are illustrated in Fig. 10.
Another example of parallelism is simply to instantiate
in an ASIC a very large number (a million, say) of acqui-
sition channels, each assigned to one instance of satellite
number/code delay/Doppler frequency [24]. This massively
parallel operation can be used to “instantaneously” acquire
all signals necessary in normal conditions, or drastically
improve the time to acquire weak signals, e.g., indoors.
The conclusion of the acquisition process is the deter-
mination of the code and frequency offset for each satellite
in view. The determined offsets are only rough approxima-
tions that must be refined significantly to enable the code
and carrier-based measurements to be generated. Thus, the
primary purpose of acquisition is to provide starter values
for the tracking loops to “pull-in” the signal and track it
precisely. We now turn our attention to these loops.

TRACKING LOOPS
Figure 10. Beyond determining which satellites are visible, the goal of
Parallel code search acquisition detector output for a particular PRN (satellite) that the acquisition process is to determine a rough approxima-
was present within the data shown in Fig. 3. tion of the code and frequency offsets. The approximations
need only be close enough to permit closure of the tracking
loops. In other words, the residual offsets in the code and
frequency estimates need to be within the pull-in range of
the tracking loops. Fig. 11 depicts a block diagram of a ge-
neric phase-lock loop (PLL) [15]. There are three broad cat-
egories of tracking loops in a GNSS receiver (code tracking
loop, carrier frequency lock loop or FLL, carrier phase lock
loop or PLL) but all are just applications of the PLL prin-
ciple (to be precise, the carrier tracking loop is actually a
Costas loop [4] rather than a pure PLL, but it is common
in the GNSS community to loosely use the term PLL). In
Fig. 11 the NCO block can be generalized to an NCO driv-
ing a specific waveform generator (e.g., PRN code genera-
Figure 11.
Generic digital phase-lock loop (PLL). The phase discriminator determines the
tor, carrier-frequency generator). The phase discriminator
difference between the received signal and the signal generated by the numerically- (sometimes referred to as a phase detector) determines the
controlled oscillator (NCO) and provides an output proportional to this difference. offset between the received and locally generated signals.

30 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

The goal of the tracking loop, then, is to make adjustments to


the locally generated signal to keep it locked onto the time-varying
received signal. The first step is to determine the (time or phase)
difference between received and locally generated signals. Thus,
let us now consider the (time or phase) discriminator of the track-
ing loop.

TRACKING LOOP DISCRIMINATORS


We start by considering the code tracking loop. Given the sym-
metric nature of the correlation function (e.g., Fig. 2e), we cannot
use just a single prompt correlator for tracking. If the local code
is slightly early or slight late, the correlation power is the same.
The traditional solution is to implement a so-called delay-lock loop
(DLL). As aforementioned, local codes are generated purposely
early and purposely late. By differencing the two, an unambiguous
code offset discriminator may be constructed. A simplified ver-
Figure 12. sion of this is illustrated in Fig. 13. On the left of the figure are
Illustration of the effects of simply holding constant the initial estimates
the correlation functions associated with the late and early corre-
of code and frequency offset. Early, prompt, and late correlation powers
are depicted. Since the rate of the locally-generated code is too slow, lators. When these two correlation functions are differenced, the
the late power is observed to increase to double its original value before result is the DLL discriminator function (right side of the figure).
decaying. As the figure shows, the discriminator function is an unambigu-
ous measure of tracking error since it is an odd function. In actual
practice, the formation of the discriminator function is somewhat
This is the code offset, frequency difference or phase difference
more complicated due to correlation power being split between in-
in the cases of the code tracking loop, FLL and PLL, respectively.
phase and quadrature channels and potential phase inversions due
The loop filter serves both to reduce tracking noise and, depend-
to data bit changes. The normalized early-minus-late power detec-
ing upon the design, also track a shift in the nominal rate of the
tor is given by
received signal. The loop filter output is an error signal that adjusts
the rate of the NCO to keep the locally-generated signal locked
onto the received signal.
The need for the tracking loop can be understood by consider- D (τ ) =
(I 2
E ) (
+ QE2 − I L2 + QL2 ) (22)
ing what happens if the initial estimates of code and frequency (I 2
P +Q2
P )
offset are simply held constant. Fig. 12 illustrates this for the case
of one of the satellite signals in the data of Fig. 3. The plot in the
The DLL adjusts the rate of the locally-generated code to main-
middle of Fig. 12 depicts the prompt correlation power (computed
tain lock on the received signal. An example is given in Fig. 14.
using the same algorithm, (16), as was used for detection). The
In stark contrast to Fig. 12, there is a slight increase in power ob-
upper and lower plots depict the “early” correlation power (using
served over the duration of the run (10 seconds in this plot) and the
IE and QE) and the “late” correlation power (using IL and QL) us-
prompt power is maintained at a level of approximately twice that
ing the correlation results depicted in Fig. 5. How early or late the
of the early and late powers.
locally-generated codes are (Fig. 5) depends upon the receiver but
typically are in the range of 0.05 – 0.5 chip. Narrow spacing of
early/prompt/late correlators has the advantage of reducing noise
and multipath [16] but requires a wider bandwidth front end, high-
FREQUENCY AND PHASE DISCRIMINATORS
er rate A/D conversion, and faster baseband signal processing and Since it is impossible to determine frequency instantaneously, the
thus a more expensive receiver. The early and late correlators in FLL discriminator requires a sequence of at least two correlation
Fig. 12 were approximately +/− 0.4 chip spacing relative to the powers. A robust FLL discriminator is given by [4]
prompt. Given the chip spacing and the correlation function round-
ing due to a final IF bandwidth of approximately 2.2 MHz, the ATAN 2 ( cross, dot )
D( f ) = (23)
early and late correlation powers should be about half the value of 2π ( t2 − t1 )
the prompt power if the locally-generated codes are locked onto
the received signal. This is indeed the case at the beginning of the
where t1 and t2 are the time-of-validity of two sequential sets of
plot. However, as time goes on (note the duration of the plot is
correlations. Equation (23) is comprised of:
1 second) this is no longer the case. Indeed, the late correlation
power increases to double its original value before decaying. Thus, cross = I P1 ⋅ QP 2 − I P 2 ⋅ QP1
(24)
it is clear that the locally-generated code is too slow relative to the dot = I P1 ⋅ I P 2 + QP 2 ⋅ QP 2
received signal.

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 31


GPS Receiver Architectures, Front-End and Baseband Signal Processing

Figure 13.
Simplified illustration of the early-minus-late DLL discriminator function. The constituent late and early correlation functions are shown on the left and
the discriminator (consisting of the early correlation function minus the late correlation function) is shown on the right. (Note: In order to achieve this
particular discriminator function shape in practice one must modify (22) by computing the square-roots of the early, late and prompt powers (this is then
known as a normalized envelope discriminator).)

Figure 15.
Figure 14. Example frequency-lock loop (FLL) discriminator output depicting an
Illustration of the correlation power output when the code tracking loop approximately 200 Hz difference between the received carrier and the
(DLL) is closed (compare to Fig. 12). locally-generated carrier. The spikes in the data are due to phase inver-
sions that arise upon data bit changes.
where “1” and “2” are time indices. Assuming perfect code track-
An example is shown in Fig. 15. The locally-generated carrier is
ing and neglecting noise, the prompt correlation values can be
clearly off by approximately 200 Hz from the received signal. The
modeled by
spikes are due to data bit changes that cause phase inversions.
After acquisition, typically the loop is closed simultaneously
I P1 = cos φ1 I P 2 = cos φ2
(25) on both the code and frequency tracking loops. Once locked, the
QP1 = sin φ1 QP 2 = sin φ2
FLL can be turned over to a PLL. The PLL phase detector is given
simply by
where ϕi is the phase difference between the local and received
carriers at the ith time interval. It can be shown that substitution of ( )
Dφ = ATAN 2 Q p , I p (27)
(25) into (24) and substitution then into (23) yields
Fig. 16 illustrates IP and QP when the code is locked and the
φ2 − φ1 2π Δφ locally-generated frequency is within a few hertz of the received
D( f ) = = = Δf (26)
2π ( t2 − t1 ) 2π Δt signal. Again, the jumps occur due to data bit changes.

32 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

Figure 16. Figure 17.


Example in-phase (blue) and quadrature (red) correlator outputs for Example in-phase (blue) and quadrature (red) correlator outputs for a
a case where the code is being tracked and the carrier is within a few case where both the received signal code and carrier-phase are being
hertz of the received signal. tracked.

When the PLL is closed, all signal energy is driven into the zero steady-state error. If the filter has a single integrator, the PLL
in-phase channel and data demodulation becomes trivial for strong is a second-order loop. Such a loop will track an input frequency
signals as illustrated in Fig. 17. Since a Costas loop is used to track change with zero steady-state error but a signal with a nonzero
the carrier, this demodulation process results in an ambiguity. Spe- frequency-rate will be tracked with nonzero steady-state error. Fre-
cifically, it is initially not known which bits (e.g., high or low) are quency rates occur typically due to dynamics of the platform in
zeros and which are ones. This ambiguity can be resolved through which the receiver is mounted (e.g., an aircraft performing a turn).
the use of a known preamble in the so-called telemetry word of the Since these are typically short duration events, second-order track-
broadcast data and a six-bit parity sequence at the end of all data ing loops are common in civilian receivers. Additional detail on
words [3]. loop filter design may be found in [4].
Having looked at the discriminators, we now touch on some With the code and carrier tracking loops locked and the binary data
issues related to the other two components of the PLL. demodulated, we are finally ready to start generating measurements.

LOOP FILTERS AND NCOS GENERATING MEASUREMENTS


As shown in Fig. 11, a generic digital PLL consists of a phase dis- Although a significant amount of signal processing has occurred
criminator, loop filter, and variable oscillator (typically an NCO). from the antenna down to the tracking loops, little has been re-
NCOs (also known as digitally controlled oscillators) produce vealed regarding how the receiver measures time and utilizes this
a given frequency through a clocked phase accumulator (with a to generate the range-type of measurements known as pseudorang-
specified phase step) that feeds a sine and/or cosine mapping func- es. The relationship between time and pseudorange is quite simple.
tion. Details of NCO design are beyond the scope of this tutorial The GNSS pseudorange measurement is defined as
(see [15]) but the basic theory is straightforward. For those not
familiar with feedback control systems in general, and PLLs spe- PR = (TOR − TOT ) ⋅ c (28)
cifically, though, a few words are needed regarding the loop filter.
In general, PLL loop filters are not merely low-pass filters. Al- where:
though they are designed to reject high frequency noise in the dis-
TOR = signal time-of-reception (i.e., the time a given point on the
criminator output, they also serve a compensation role. The NCO
signal arrives at the receiver),
is initially set to generate a nominal frequency given a zero input
from the loop filter. If the frequency of the signal input to the PLL TOT = signal time-of-transmission (i.e., the time the given point on
changes from nominal, the loop filter output fed to the NCO must the signal leaves the satellite)
change to a nonzero steady-state value. A simple frequency-selec-
c = speed of light.
tive filter will not provide this. Although a variety of filter types
can be utilized, a common one is a proportional-integral filter. The Conceptually, time-of-reception is determined simply by the
number of integrators in the filter sets the order of the loop. If a receiver polling its own clock at a given measurement time (any
simple filter with no integrators is used, the PLL is a first-order clock offset in the receiver biases the measurement, hence the
loop. Such a loop will track an input frequency change with non- name “pseudorange” instead of just “range”). Accurate determina-

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 33


GPS Receiver Architectures, Front-End and Baseband Signal Processing

tion of time-of-transmission, however, is what distinguishes GNSS


from non-navigation communication systems that utilize spread
spectrum. Time is encoded onto the GNSS signal in two parts.
Absolute time (with respect to the time reference of the whole
GNSS) is encoded in the data bits. In GPS, for example, the data
is grouped into 30-second frames, each comprised of five 6-sec-
ond subframes. The so-called “hand-over word” or HOW speci-
fies the absolute time-of-transmission of the beginning of the next
subframe. Measurements of time-of-transmission in between these
subframes may be made based on the locked local-code generator.
To understand this, consider the fact that the GPS C/A-code broad-
cast by a given satellite repeats nominally every millisecond. Con-
ceptually then, the receiver may initialize a time-of-transmission
register and preload it with the value obtained from the aforemen-
tioned data. At the beginning of the next subframe, the receiver
may then increment this register by 1 millisecond every time it has
locally generated one whole C/A-code. Doppler shifts will change Figure 18.
the rate of the received signal, but the code-tracking loop will fol- Example of change of pseudorange and corresponding scaled running
low these changes. Thus, the time-of-transmission register will be Doppler count over a 10-second measurement interval with a stationary
incremented at intervals different than 1 millisecond in accordance receiver.
with the Doppler. In actual practice, 1-millisecond steps are far too
coarse (even the code generator chip steps are too coarse) and the
time-of-transmission register is updated according to the instanta-
neous state of the code generator.
Having outlined the pseudorange generation process, we now
consider the measurements derived from the Doppler-shifted car-
rier. Several measurements are associated with the carrier. The re-
lationship between line-of-sight (LOS) velocity and Doppler shift
is given by

vLOS = λo f D (29)

where λo is the nominal carrier wavelength and fD is the Doppler shift


frequency. Since the receiver has to adjust its local carrier frequency
to maintain lock on the received signal, Doppler shift is inherently
measured. More precisely, average Doppler shift over a measurement
interval is measured. Another form of this measurement is given by
accumulating (i.e., integrating) the total number of Doppler cycles
generated over an interval. Scaling the result by the carrier wave- Figure 19.
length provides an integration of (29). This is known as “delta-range” Example of full pseudorange and corresponding scaled running Doppler
count over a 10-second measurement interval with a stationary receiver
and, as the name implies, provides a measure of the change of LOS (same data set as Fig. 18).
range over the measurement interval. Finally, the so-called “carrier-
phase” measurement is obtained by maintaining a running Doppler
cycle count and adding the fractional phase (using (27)) that exists an example data set taken from a stationary experimental receiver.
at the end of a measurement interval. This fractional phase measure- Since a high-quality oscillator was used in the receiver, the change
ment is the key to the millimeter-level resolution utilized by so-called is almost completely due to satellite motion across the sky. When
high-precision GNSS applications such as surveying. The integrity the data bits are used to resolve absolute time, a full pseudorange
of these measurements is subject to a noise-induced phenomenon measurement can be made as illustrated in Fig. 19. Over such a
known as “cycle slips” wherein the running Doppler cycle count er- short time span and such a large scale, the measurement appears
roneously misses or adds cycles to the total. The occurrence of cy- to be constant.
cle slips can be minimized by setting a sufficiently high minimum With the measurements in hand, the major signal processing
carrier-to-noise ratio threshold and the use of high-quality front-end tasks of the receiver have now been described. The algorithms
components in the receiver (e.g., low-phase noise oscillators, high Q used to compute position and velocity from these measurements
narrow-band filters, double-balanced mixers, et cetera). may be found in [5], [22], [4], [23]. Before concluding this tutorial,
Fig. 18 illustrates the change of pseudorange (and correspond- however, we will look beyond the GPS C/A-code and consider the
ing scaled running Doppler count) over a span of 10 seconds in newer, so-called “modernized,” signals.

34 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

ates at L1 (which it calls E1) and E5: a


very wideband signal that captures the
L5 band on one side [20]. The Chinese
Beidou system also uses L1, which it
calls B1, and a B2 band which aligns
with the “other” side of E5 [21]. Both
Galileo (E6) and Beidou (B3) have a
signal at 1,268.52 MHz which is re-
stricted (i.e., not for public use).
In terms of receiver design, these
carrier frequencies need to be taken
into account, but there are other impor-
tant parameters of the signals that dif-
fer from GPS L1: the bandwidth, the
modulation, and the data carried. For
the purposes of this tutorial, we will
not discuss the carrier processing or
Figure 20. what is done with the data because the
How Manchester encoding “splits” the spectrum of a data signal. differences do not call for a different
approach in the receiver. That leaves
bandwidth and modulation.
GNSS MODERNIZATION The GPS L5 signal has a code chipping rate of 10.23 MHz,
GPS has served the positioning, navigation, and timing commu- i.e., ten times that for GPS L1. The correlation circuits must work
nity well for several decades, and is performing tasks it was never ten times as fast to process the signal, but there are advantages.
designed for, and that may not even have been envisaged when it The errors that the receiver experiences due to multipath and noise
was being designed, such as providing timing for high-frequency are reduced, almost by that factor of ten. The L5 code repeats at
trading at stock exchanges. Because of these extra demands, new the same rate as the L1 code (every 1ms) but there are 10 times as
signals have been added to GPS. For other (mostly political) rea- many chips in the code. This helps with a number of problems we
sons, new systems have also been designed. What that means is will not discuss here but it does require a code-search space during
that whereas “satellite navigation” has been synonymous with GPS acquisition that is ten times as long. Thus, the benefits of band-
L1 for some time, it is now increasingly being considered as multi- width and longer codes must be paid for in resources: time and/or
signal, multi-GNSS. (Note: In the early 1990s, the International hardware and/or power consumption.
Civil Aviation Organization coined the term “GNSS” to refer to A more profound difference is in the introduction of BOC
the global collection of satellite navigation systems. In more recent modulation in the Galileo signals. This is where a square wave
times, however, “GNSS” has come also to be used as a generic subcarrier (with values of +/−1) at an integer multiple of the code
moniker for any single global satellite navigation system. The term chipping rate multiplies each chip before spreading and despread-
“multi-GNSS” specifically refers to receivers and applications that ing. An example from older communications systems is Manches-
utilize more than one global navigation satellite system.) In fact, ter encoding, where the subcarrier has the same rate as the chipping
it's even more than that, with new systems coming on-line that are code, to remove the carrier if modulated or DC if unmodulated (see
regional rather than global. An example of this is the Indian Re- Fig. 20). This results in the spectrum being split around the carrier.
gional Navigation Satellite System, also known as Navigation with One component of the Galileo E1-B/C signal effectively uses the
Indian Constellation (NavIC), with a seven-satellite constellation Manchester encoding method at E1 to produce BOC(1,1). To ex-
that provides service to the Indian subcontinent. A hybrid between plain the terminology used for this signal, the integers refer to mul-
global and regional is the Japanese Quasi-Zenith Satellite System tiples of the GPS L1 C/A-code frequency of 1.023 MHz. The GPS
(QZSS). QZSS consists of three satellites that transmit GPS-like L1 C/A-code signal is thus BPSK (1) because it uses a code that
signals in highly elliptical orbits designed to improve GPS cov- is binary phase shift keyed at 1.023 MHz. The L5 signal is BPSK
erage in the dense high-rise cities of Japan. The proliferation of (10). Galileo's BOC(1,1) has a subcarrier and code rate of 1.023
satellite systems is a new paradigm that has been called “GNSS MHz, hence BOC(1,1). The full E1-B/C signal is actually a com-
modernization,” requiring “system of systems” receivers [17]. bination of a BOC(1,1) signal and a reduced-amplitude BOC(6,1)
In GPS, new civilian signals have been introduced at L2 signal. The result is called Composite BOC or CBOC. The signal
(1,227.60 MHz) and L5 (1,176.45 MHz) and a new civilian signal, is designed such that lower-cost low-bandwidth receivers are able
in addition to the traditional C/A signal, is also being planned at L1 to track only the BOC(1,1) component of E1-B/C, while more ad-
[18]. The Russian Glonass system traditionally operated on frequen- vanced receivers can exploit some of the advantages of that higher
cies near L1 and L2, but with separate frequencies for each satellite bandwidth signal. The Galileo E5 signal is the most sophisticated
(frequency division multiple access). It is moving towards CDMA signal of all and uses techniques beyond the scope of this tutorial
for compatibility reasons [19]. The European Galileo system oper- to create a signal with different subsignals on each side of the car-

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 35


GPS Receiver Architectures, Front-End and Baseband Signal Processing

ACKNOWLEDGMENT
Dr. Wouter Pelgrum (formerly with Ohio University) of NextNav
LLC is thanked for the provision of the software used to generate
the code and correlation plots. The reviewers of this tutorial are
thanked for their insightful corrections, comments and suggestions
for improvement.

REFERENCES
[1] EFF (Electronic Frontier Foundation). The problem with mobile
phones—A note about GPS. [Online] Available: https://ssd.eff.org/en/
Figure 21. module/problem-mobile-phones#4, last access 22 May 2017.
By using a subcarrier, the signal can be split over two bands for BOC,
[2] Utam, B. et al. Terrestrial radio-navigation systems. In Avionics Navi-
or twice as many signals can be modulated onto the same bands using
AltBOC. gation Systems, 2nd ed., M. Kayton and W. Fried, Eds. New York:
Wiley-Interscience, 1997, ch. 4.
rier using alternative BOC (similar to single sideband modulation). [3] GPS Directorate. Interface specification IS-GPS-200—Navstar GPS
That signal is AltBOC(15,10) (see Fig. 21). space segment/navigation user interfaces (IS-GPS-200J). 2018.
To track a BOC(1,1) signal, the correlator circuitry needs to [4] Ward, P., Betz, J., and Hegarty, C. GPS satellite signal character-
be more complex than for BPSK. The autocorrelation function is istics and satellite signal acquisition, tracking, and data demodula-
no longer triangular, as shown in Fig. 22. There are two incorrect tion. In Understanding GPS—Principles and Applications, 2nd ed.,
negative peaks in the autocorrelation function, so techniques must E. Kaplan and C. Hegarty, Eds. Boston: Artech House, 2005, chs.
be devised to cope. The most straightforward is the use of extra 4 and 5.
correlation hardware: very early and very late. [5] Betz, J. Engineering Satellite-Based Navigation and Timing—Global
The Galileo BOC(1,1) signal has twice the bandwidth of GPS Navigation Satellite Systems, Signals, and Receivers. Hoboken, NJ:
L1, which gives a lower multipath error. The correlation shape also IEEE Press/Wiley, 2016.
gives a further advantage. [6] Balanis, C. Antenna Theory—Analysis and Design. New York: Harper
& Row, 1982.
[7] Couch, L. Digital and Analog Communication Systems, 3rd ed. New
CONCLUSIONS York: Macmillan, 1990.
The current proliferation of GNSS constellations and applications [8] Orfanidis, S. Electromagnetic waves and antennas. [Online] Avail-
is a clear indication of the success of the satellite-based navigation able: http://www.ece.rutgers.edu/~orfanidi/ewa, last access 22 May
system concept. This article has focused on the signal processing 2017.
core of GNSS receivers. Additional information (including how to [9] Vaughan, R. G., Scott, N. L., and White, D. R. The theory of bandpass
determine position and velocity from the measurements described sampling. IEEE Transactions on Signal Processing, Vol. 39, 9 (Sep.
in this article) may be found in [5], [22], [4], [23]. 1991), 1973–1984.

Figure 22.
BPSK tracking (left) using early, prompt, and late correlators. BOC tracking on the right, where to avoid tracking the incorrect “negative” peaks, very
early and very late correlators are also required.

36 IEEE A&E SYSTEMS MAGAZINE FEBRUARY 2019 Part II of II


Braasch and Dempster

[10] Akos, D. M., Stockmaster, M., Tsui, J. B. Y., and Caschera, J. Direct
BIOS
bandpass sampling of multiple distinct RF signals. IEEE Transactions
on Communications, Vol. 47, 7 (Jul. 1999), 983–988. Michael S. Braasch (M'92 –
[11] Dempster, A. G. Quadrature bandpass sampling rules for single- and SM'03) received the PhD degree
multiband communications and satellite navigation receivers. IEEE in electrical engineering from
Transactions on Aerospace and Electronic Systems, Vol. 47, 4 (Oct. Ohio University in 1992. He has
2011), 2308–2316. been performing navigation re-
[12] Cheng, U., Hurd, W., and Statman, J. Spread-spectrum code acquisi- search with the Ohio University
tion in the presence of doppler shift and data modulation. IEEE Trans- Avionics Engineering Center
actions on Communications, Vol. 38, 2 (Feb. 1990). since 1985 and is currently a
[13] Akos, D. A software-radio approach to global navigation satellite sys- Principal Investigator. Since
tem receiver design. Ph.D. thesis, Ohio University, Athens, Ohio, Aug. 1994 he has also been a member
1997. of the electrical engineering fac-
[14] Van Nee, D., and Coenen, A. New fast GPS code-acquisition technique ulty at Ohio University and was
using FFT. Electronic Letters, Vol. 27, 2 (Jan. 17, 1991), 158–160. appointed to the Thomas Profes-
[15] Best, R. Phase-Locked Loops—Design, Simulation and Applications, sorship in 2004. He is interna-
3rd ed. New York: McGraw-Hill, 1997. tionally recognized for his work in characterizing the effects of GPS
[16] Van Dierendonck, A., Fenton, P., and Ford, T. Theory and perfor- multipath. In addition, his research in the application of phased-array
mance of narrow correlator spacing in a GPS receiver. NAVIGATION: techniques to differential GPS ground reference stations laid the
Journal of the Institute of Navigation, Vol. 39, 3 (Fall 1992). foundation for the development of the first-generation prototype an-
[17] Hewitson, S., and Dempster, A. The ‘system of systems' receiver: tennas for the FAA's Ground-Based Augmentation System (GBAS).
An Australian opportunity? In Proceedings of the 2007 International In the mid 1990s, he led the Ohio University research group that pio-
Global Navigation Satellite Systems Society IGNSS Symposium, Syd- neered the GPS software-defined receiver. He has also conducted
ney, Dec. 2007. research in the design, development and flight-testing of peripheral
[18] Anonymous. New civil signals. [Online] Available: http://www.gps. vision display systems for general aviation aircraft.
gov/systems/gps/modernization/civilsignals/, last access 22 May He has served as a visiting scientist at the Delft University of
2017. Technology in The Netherlands and has lectured for NATO AGARD
[19] Ipatov, V., and Shebshaevich, B. Glonass CDMA. In Inside GNSS, in Russia, Turkey and Ukraine. He has served as an associate editor
Jul./Aug. 2010. for navigation and technical editor for navigation for the IEEE Trans-
[20] Julien, O., and Macabiau, C. GNSS solutions: What are the major dif- actions on Aerospace and Electronic Systems and since 2014 has
ferences between Galileo and GPS current and forthcoming frequen- served as the IEEE/AESS liaison to the ION/IEEE Position, Location
cies? In Inside GNSS, May/Jun. 2006. and Navigation Symposium (PLANS). Since 2015, he has served
[21] Navipedia. BeiDou signal plan. [Online] Available: http://www.navi- as the associate editor for navigation for SYSTEMS and currently
pedia.net/index.php/BeiDou_Signal_Plan, last access 22 May 2017. serves as the Chair of the IEEE/AESS Navigation Systems Panel.
[22] Groves, P. Principles of GNSS, Inertial, and Multisensor Integrated
Navigation Systems, 2nd ed. Boston: Artech House, 2013. Andrew Dempster (M'92–
[23] Misra, P., and Enge, P. Global Positioning System—Signals, Measure- SM'03) He has a BE degree
ments, and Performance, 2nd ed. Lincoln, MA: Ganga-Jamuna Press, (1984) and MEngSc degree
2006. (1992) from UNSW and a PhD
[24] Pany, T. et al. On the State-of-the-Art of Real-Time GNSS signal degree from University of Cam-
acquisition—A comparison of time and frequency domain methods. bridge (1995) in efficient cir-
In Proceedings of the 2010 International Conference on Indoor Po- cuits for signal processing arith-
sitioning and Indoor Navigation (IPIN), Zürich, Switzerland, 15–17 metic.
Sep. 2010. He is Director of the Austra-
[25] Akos, D. and M. Braasch. A Software Radio Approach to Global lian Centre for Space Engineer-
Navigation Satellite System Receiver Design. In Proceedings of the ing Research (ACSER) at the
52nd Annual Meeting of the Institute of Navigation, Cambridge, MA, University of New South Wales
19-21 Jun. 1996. (UNSW). Prof. Dempster was
[26] Akos, D. and M. Braasch. Global Navigation Satellite System Soft- system engineer and project
ware Radio Receiver Implementation. In Proceedings of the 9th Inter- manager for the first GPS receiver developed in Australia in the
national Technical Meeting of the Satellite Division of the Institute of late 80s and has been involved in satellite navigation ever since.
Navigation (ION GPS-96), Kansas City, KS, 17-20 Sep. 1996. He has published in the areas of arithmetic circuits, signal process-
ing, biomedical image processing, satellite navigation and space
systems. His current research interests are in satellite navigation
receiver design and signal processing, areas where he has six pat-
ents, new location technologies, and space systems.

FEBRUARY 2019 Part II of II IEEE A&E SYSTEMS MAGAZINE 37

Anda mungkin juga menyukai