You are on page 1of 9

Feature

Implementation
of a Complete
GPS Receiver
Using Simulink
COMSTOCK

Gihan Hamza,
Abdelhaliem Zekry,
and Ibrahim Motawie

Abstract
During the past few years a lot of efforts
have been exerted to make the inner
working of the GPS receiver visible, clear
and easy to learn and modify either on
the level of software or hardware. This
article adds a step on the route toward
the implementation of a more visible,
clearer, and easier to learn and modify
a single frequency GPS receiver using
the C/A code on the L1 carrier. Simulink
was used in the implementation of such
receiver, thereby introducing a new look
for the SDR technology that can be accomplished via a graphical user interface environment.

I. Introduction
uring the past decade a lot of efforts have been exerted not only
to open the inner working of the GPS receiver but also to facilitate
the education of the design and implementation of such system.
The Software-Defined Radio technique was used as a tool in the implementation. From the efforts that were exerted in this field are:
The open source GPS project that was initiated in 1995 and leaded by
Clifford Killy and Douglas Baker (with collaboration with others) [1].
This project had an educational aims to help any GPS enthusiast to
learn deeply the internal working of the GPS receiver. They developed
both a commercial hardware and software that constitute a complete
GPS receiver. The hardware was introduced by developing two chipsets called GP1010 and GP1020. The GP1010 was used as a front-end
and performs the acquisition phase; while The GP1020 was the tracking and navigation data extraction chip that has 6 correlators channels [2][3]. The software of this project was a C program written in
Borland C. This program contained a library of the GPS functions such
as the satellite location by using the almanac, the ephemeris, computing the navigation solution and decoding the navigation message.
Dick Benson, a consulting application engineer at Mathworks: developed an incomplete single channel GPS receiver using Simulink.
He implemented acquisition, partial tracking, and no pseudorange
in SIMULINK [4].
The efforts of Kai Bore and Dennis Akos (with collaboration with
others) fruited a book titled A Software-Defined GPS and GALILEO

Digital Object Identifier 10.1109/MCAS.2009.934706

FOURTH QUARTER 2009

1531-636X/09/$26.002009 IEEE

IEEE CIRCUITS AND SYSTEMS MAGAZINE

43

Receiver A Single-Frequency Approach [5]. They


introduced the implementation of a complete
8-channels single frequency GPS receiver using
the C/A code on the L1 carrier using Matlab as the
coding language. This book is accompanied with
39 m-files that represent the receiver algorithm
and a record for a real GPS signal collected from
a specially designed ASIC-based front-end.
In general, the algorithm of a complete GPS receiver
is considered complicated and long, because it contains
different stages that deals with the processing of RF, IF,
and baseband signals. Previously, to write either a part
or a complete GPS algorithm you must be professional
in C/C11 programming, assembly, or Matlab. These are
the programming languages that researchers used in
the simulation of the GPS receivers. To write a complete
algorithm for a GPS receiver; a teamwork is needed. Every person writes the algorithm of a certain part and
delivers the output to the next person to write the next
part of the algorithm. Using a GUI environment instead
of the hand written programming languages was a far
idea due to the algorithms complexity and length.
In This article the 39 m-files that are accompanied
with the book titled A Software-Defined GPS and GALILEO Receiver: A Single-Frequency Approach are converted to only 5 Simulink models, after modifying the
algorithm of some parts to conform with the GUI environment and make the simulation time faster.
This article adds a step on the route toward a clear,
easy, and transparent simulation of GPS receivers implemented with the SDR technology. The implementation of
a complete 8-channel GPS receiver is accomplished via a

graphical environment, which is Simulink. In general, the


graphical environment makes the relation between the system modeling, simulation, and implementation clearer and
easier to debug, because we can put test points anywhere
and obtain immediate results. Also, using a graphical programming language eliminates the need to a team work
and enables only one person to finish the simulation of the
complete system in a relatively short time. In general, the
success of using a graphical programming language such
as SIMULINK in simulating a complicated system such as
the GPS receiver will open the route for other complicated
systems to be simulated by the same way. This will facilitate the education, the modification and the debugging of
many of the complicated electronic systems.
II. Building The Different Stages Of GPS Receiver
A. The Front-End
The Simulink models of acquisition, tracking, pseudorange, and position solution are tested and developed
by a real GPS signal that was collected from the SE4110
ASIC-based front end. Its functional block diagram is
shown in reference [6]. The same signal is used in testing and developing the Matlab algorithms. The main
parameters of these data are:Sampling frequency: 38.192 MHz.
IF: 9.548 MHz.
Four-bit samples.

B. Representing the Data Collected from the


Front- End in the Different Domains
The digital samples that were collected from the frontend can be represented in the different domains using the different
Time Domain
types of scopes available in SimuRepresentation
link. Fig. 1 shows the Simulink
User of 1,000 Samples
Submatrix
model for data representation. In
Vector
Scope
this figure the first branch gives
the time domain representation
vipmen.bin
Double
Histogram
of 1,000 samples that is shown
User of 1,048,576 Samples
in Fig. 2. The signal is a noise
Data Type
Histogram
Read Binary File
Vector
Conversion
like and this is the nature of the
Scope 1
CDMA signal. The second branch
gives a histogram of 1,048,576
Frequency Domain
Representation
samples that is shown in Fig. 3. It
FFT of 1,048,576 Samples
is clear that the 4-bit samples are
Spectrum
translated to 16 levels. The third
Scope
branch gives the frequency doFigure 1. Simulink model to represent the collected data in the different domains.
main representation of 1,048,576

Gihan Hamza is a research assistant in the National Institute of Standards, Guiza, Egypt (Tel: +202-26356263; E-mail: gihan_hamza@yahoo.com).
Abdelhaliem Zekry is a professor in the Faculty of Engineering, Ain Shams University, Cairo, Egypt (Tel: +202-24840051; E-mail: aaazekry@asunet.shams.edu.
eg). Ibrahim Motawie is a professor in the National Institute of Standards, Guiza, Egypt (Tel: +202-35715755; E-mail: motawie@nis.sci.eg).

44

IEEE CIRCUITS AND SYSTEMS MAGAZINE

FOURTH QUARTER 2009

6
PSD Magnitude (dB)

40

Amplitude

4
2
0
2
4
6

20
0
20
40
60

8
0

0.5

1.5
Time

2.5
105

Figure 2. Time domain representation of 1,000 samples.

0
2
Frame

8
10 12 14
Frequency (MHz)

16

18

Figure 4. Frequency domain representation of 1,048,576


samples.

104

Incoming Signal

16
Number Within Bin

14
Acquisition

12

10
8
Tracking

6
4
2
0

8
Bins

10

12

14

16

Pseudorange
and Position Calculation
X, Y, Z dt

Figure 3. Histogram of 1,048,576 samples receiver.

Figure 5. Structure of a single channel GPS receiver.

samples that is shown in Fig. 4. It is clear that the symmetry is around the IF frequency.
Incoming Signal

C. GPS Receiver Architecture


The operation of a single channel GPS receiver is based
on the structure shown in Fig. 5. In acquisition we determine one of the visible satellites and determine both the
carrier frequency and code phase roughly. In tracking
we track any changes to these values to ensure correct
data decoding. After that both the pseudorange and position are calculated. Each block in Fig. 5 is translated
into a Simulink model, as shown in Fig. 6. In Fig. 6 there
are two additional models; one provides the demodulation carrier and the other provides the dispreading
code. Both the demodulation and dispreading models
must be simulated first to feed lookup tables existed in
the acquisition model. These tables contain all the possibilities of the demodulating carrier and dispreading
codes according to a specified sampling frequency that
is a modifiable value reserved in the Workspace.
FOURTH QUARTER 2009

Demodulation
Carrier.mdl

Dispreading Code.mdl

Acquisition.mdl

Tracking.mdl

Pseudorange
and
Position Calculation.mdl
X, Y, Z dt

Figure 6. SIMULINK implementation of a single channel


GPS receiver.

IEEE CIRCUITS AND SYSTEMS MAGAZINE

45

the actual implementation of this


block diagram in Simulink where
it is shown the position of both

the demodulation and dispreadFine Resolution


DFT

|u|2
IDFT

Frequency Search Carrier


ing models that were mentioned
Frequency
Conj
before in Fig. 6.
The simulation time of the
90
DFT
acquisition phase that was simulated as m-files was about 183
Local Oscillator PRN Generator
second; while the time for it when
simulated as a Simulink model
Figure 7. Parallel code phase search block diagram.
was about 200 seconds. The increase in simulation time comes
D. Acquisition
from that Simulink is optimized to make FFT and IFFT
Acquisition is a two dimensional search process that not a DFT and IDFT, while Matlab able to do both. So, the
results in identifying the code phase with an uncertain- DFT and IDFT were built as a Level-2 M-file S-Function
ty equals to 6 chip and the IF with an uncertainty blocks that made them consume larger time than if they
equals to 6 the Doppler search bin size. Acquisition were implemented in Matlab.
can be implemented by either of 3-standard methods,
The implementation of the Fourier Transform thus afwhich are: the serial search acquisition, the parallel fre- fects the simulation time. It is well known that the FFT
quency space search acquisition, and the parallel code and IFFT are faster than the DFT and IDFT but they affect
phase space search acquisition. It is customary to use only sequences that have a radix-2 length. To use the FFT
the first two methods in the traditional implementation and IFFT we have to reduce the number of samples per
of the acquisition phase, which is implemented on an C/A code from 38192 to the lower radix-2 value, which
ASIC. Implementing acquisition according to the SDR is 32768 5 214. This means that we have to resample the
technology is accomplished according to the third incoming signal by a frequency of 32.768 MHz. SIMULINK
method [7]. Acquisition was implemented with the par- doesnt have a block that down sample by a fractional
allel code phase search technique shown in Fig. 7 [5]. factor. So, we have either of two ways; the first is to use
In this technique we search through all the possible fre- the resample m-function using the Embedded MATLAB
quency bins and parallelize the code phase search such Function in the SIMULINK model to resample by the facthat the total number of searches per satellite equals tor (32768/38192).
Using a new sampling rate of 32.768 MHz makes the dethe number of frequency bins. The number of frequency bins in our case was 29 frequency bins for 14 KHz tected code phase be referenced to the new number of
search band stepped by a 0.5 KHz frequency interval. samples per C/A code, which are 32768 samples. To make
In the Simulink model of acquisition the 29 frequency the detected code phase to be referenced again to the old
bins are searched at the same time where the incoming number of samples per C/A code we multiplied the detectsignal is multiplied by a look up table containing all the ed one by an inverse of the factor that was used in sampossible IF frequencies. This means that the total num- pling down the frequency. This means that each detected
ber of searches for the 32 satellites is 32. Fig. 8 shows code phase is multiplied by the factor (38192/32768).
The second way is by interpolating the input signal by FIR
Incoming
interpolation filter to increase
Signal
the number of samples per 1 ms

(time of a complete C/A code)


Fine
Resolution
DFT

|u|2
IDFT

Frequency Search.mdl Carrier


from 38192 to 65536 samples [8].
Frequency
Conj
This signal is then punctured
regularly to reach 32768 samples
90
DFT
Code Phase and
per C/A code [9]. Resampling by
Peak Metric
this way made the detected code
Dispreading
Demodulation
code.mdl
phase referenced to the new numCarrier.mdl
ber of samples per C/A code. So,
Figure 8. Acquisition.mdl (Implementation of the Parallel code phase search in
a mapping block was created to
SIMULINK).
eliminate the effect of resampling
Incoming
Signal

46

IEEE CIRCUITS AND SYSTEMS MAGAZINE

FOURTH QUARTER 2009

Double [1 8]
[1]

[1]

[1]

Detected
PRN

21

Detected
PRN

22

15

18

26

4.326

4.216

Display
Double [1 8]

Peak
Metric

Peak
Metric

14.62

13.26

12.09

9.4

Display 1
Double [1 8]

Carr Freq

9547399.0249634 9549657.2341919 9549875.7705688

Carr Freq

9548200.3250

Display 2
Double [1 8]
[1]

Code
Phase

Code
Phase

13.404

6288

36321

207xxx

Display 3

Rearranging The Detected


Sats Descendingly
Figure 9. Results obtained from the Acquisition.mdl before resampling.

on the detected code phases. In the mapping block we


apply the reverse process of interpolation and puncturing to the detected code phase. In other words, we
obtain code phases that are referenced to the original
number of samples per C/A code, which is 38192, after
the resampling process and consequently we dont need
to make any changes to the Tracking model.
Both the demodulating carrier and the dispreading code are resampled according to the new sampling
frequency and then FFT and IFFT of a length of 215 are
used instead of the DFT and IDFT. The resolution of the
detected frequencies will not change because both the
sampling frequency and the Fourier transform length
are changed. The resolution of the detected frequency
is calculated according to the following equation:
Df 5

fs / 2
,
N/2

(1)

where fs is the sampling frequency and N is the Fourier


transform length.
Using FFT instead of DFT made the simulation time
become about 70 seconds. The Fine Resolution Frequency Search block consumes the largest time from
the overall simulation time. So, after building it as an
S-function, the acquisition simulation time became
about 58 seconds, which amounts only to 1/3 of that of
the previous implementation.
FOURTH QUARTER 2009

Fig. 9 shows the final results obtained from the acquisition model before resampling. The first branch shows
the PRN of the visible satellites. The second branch illustrates that the peakMetric of all the visible satellites
exceeds 2.5, which is a criteria putted to differentiate
between the visible and nonvisible satellite. The third
branch shows the corresponding carrier frequency of
each visible satellite. The fourth branch gives the corresponding code phases of the detected ones. Fig. 10
shows the acquisition results after resampling with the
results sorted from the strongest to weakest visible satellites. These results are stored in the Workspace as inputs to the tracking. Comparing the results of Fig. 9 and
Fig. 10, we see that the resampling process has a minor
effect on the acquisition process in spite of reducing the
acquisition time to only its 1/3 of its original value. Fig.
11 and Fig. 12 show the acquisition results for one of the
visible satellites and invisible satellites respectively. It
is clear that the visible satellite has a single dominant
peak while the nonvisible satellite doesnt have a distinct peak such that the ratio of the first to second peak
is more than 2.5.
E. Tracking
The main purpose of tracking is to refine the acquisition
results, track any changes that occur to these values,
and demodulate the incoming signal to obtain the 50 Hz
navigation data bits.
IEEE CIRCUITS AND SYSTEMS MAGAZINE

47

21
22
15
18
26
Detected
PRN

Double [32 1]

Double [8 1]

12.56

Detected
PRN

Detected
PRN

12.32

12.15
Display

10.09
Peak Metric

Double [32 1]

Peak Metric Peak Metric

Double [8 1]

for {...}

Carr Freq

Quired Code Phase

Double [32 1]

Double [32 1]

Carr Freq

Carr Freq

Double [8 1]

4.421

9547429.6875

3.372

9549695.3125

3.006

9549921.875

2.938

9548250

Display 1

9545015.625
9550843.75

Double [8 1]
Code Phase Code Phase

13404

9544312.5

6288

9549914.0625

36321

Display 2

20725
26826
4696

or Iterator

Rearranging the Detected


Sats Descendingly

28202
34211
Display 3

Figure 10. Results obtained from the Acquisition.mdl after resampling.

Tracking consists of a carrier tracking loop implemented as a PLL and a code phase tracking loop implemented as a DLL. The two loops are combined in one
loop to decrease the number of multipliers that consume a lot of time. Fig. 13 shows the combined code and
carrier tracking loops, i.e., a complete tracking channel
[5]. The implementation of these loops in Simulink is

shown in Fig. 14, where it consists of 7 blocks. From left,


the first block is the feedback block of the DLL. The second block represent the incoming signal, where we read
a variable data size, determined by the feedback, from
the file that was recorded by the front-end module. The
third block represents the NCO carrier generator and
the PLL feedback. The NCO carrier generator provides

107

107
12
10
8
6
4
2
0
4
104

0 0

10

15 20

Figure 11. Acquisition plot for a visible satellite.

48

IEEE CIRCUITS AND SYSTEMS MAGAZINE

25

30

12
10
8
6
4
2
0
4
104

0 0

10

15 20

25

30

Figure 12. Acquisition plot for a not visible satellite.

FOURTH QUARTER 2009

a refined value for the carrier frequency, the fourth block is the
PRN code generator which provide the early, late, and prompt
codes. The fifth block is the integrate block at which we integrate
over the number of samples per
C/A code for the early, late, and
prompt codes. This block consists of summing blocks. The
sixth block is the code loop discriminator, which helps in adjusting the code phase. This discriminator was built as a noncoherent
discriminator according to the
following equation:
codeError 5

1 I 2E 1 Q2E 2 2 1 I 2L 1 Q2L 2
1 I 2E 1 Q2E 2 1 1 I 2L 1 Q2L 2

Integrate lE
and Dump
Integrate lP

Data

and Dump
P

Integrate
and Dump

lL

L
Incoming
Signal

Code Loop
Discriminator

PRN Code
Generator
L

Integrate
and Dump QL

Integrate
and Dump QP

Integrate
and Dump QE

90

NCO Carrier
Generator

(2)

Carrier Loop
Filter

Carrier Loop
Discriminator

Figure 13. Combined code and carrier tracking loops (complete tracking channel).

where IE and IL are the in-phase


outputs of the early and late codes
respectively. QE and QL are the outputs of the quadrature early and late codes respectively.
The seventh and last block is the carrier loop discriminator and loop filter. The carrier loop discriminator is built as an arctan discriminator. This type of
discriminators is precise but consumes more time.
This discriminator is built according to the follow ing equation:

Q
f 5 tan 21 a b,
I

here f is the phase error. I and Q are the in-phase and


quadrature signals of Costas loop.
The comparison between Fig. 13 and Fig. 14 demonstrates the resemblance between the tracking block diagram and its implementation in Simulink. This means

For 1 : N
1
Iterator
chNo
For Iterator
> 37000 Compare To Constant

4
fid
R

fid

IncomingSignal

PhaseStep abSample
remPhase

U
PhaseStep
remPhase_N
FeedBackBlock

remPhase

blksize

3
fid

iBaseband
Signal
qaseband
Signal

earlyCode
RemPhase
lateCode
acqFreq
carrSin
PhaseStep
R
promptCode
blkSize carrCos
caCode
3
carrFreq_N
tcode_P
caCode
remPhase_N
PRN Code
tcode_P
Generator
NCO Carrier
Generator

Incoming Signal
2
acqFreq

(3)

IE
IP
IL
QE
IL
QL

IE
QE
IL
QL
IP
QP

Code Loop
Discriminator
Reset
I_E codeNco
Q_E
I_L
codeFreq
Q_L

Integrate Resetting
the I/P Is the Dump

2
Out4
Reset
carrError
1
I_P
Out2
Q_P
carrFreq
acqFreq
Carrier
Loop
Discriminator
and Loop
Filter

Figure 14. Top view for the Trackink.mdl (the implementation of the tracking loops in Simulink).

FOURTH QUARTER 2009

IEEE CIRCUITS AND SYSTEMS MAGAZINE

49

x 104

1.5

Tracking Result

1
0.5

Calculate Pseudorange

0
0.5

Satellite Position and Clock Offset

1
1.5

Least Square Filter (az, el, DOP, xyz dt)

0 100 200 300 400 500 600 700 800 900 1,000

Figure 15. Part of the navigation data extracted from the


Trackink.

Tracking Results

Find Preamble

Subframe Start

Figure 16. Flow diagram for the pseudorange and position


calculation.

Calculate Pseudorange

Pseudorange
Sat. Clock
Correction

Ephemeris
Satellite Position

Ephemeris
TOW

Least Square XYZ, dt


Position

Sat. Position

Figure 17. The block diagram according to which the Pseudorange and position calculation was built in SIMULINK.

pseudoranges
[1x8]
satClkCorr

corrected_psuedoranges

Double [1x8]

21285293.33907

22688941.376222

[1x8]

Display

pos
[1x8]
navSolutions.channel.correctedP
[1x4]
[1x4]

UY

Double

pos(1)X

Double

477646.66344317
Display 1

[1x8]

[1x4]

UY

Double

pos(1)Y

Double

4429017.6790361
Display 2

[1x4]

UY

Double

pos(1)Z

Double

1403.372632145

Coordinate Conversion (cart2geo - findUtmZone - cart2utm)


Succeeded
1288156.1168178

4720789.6023873

Display 3

4079720.7646892

519510.63323641

[1x4]
Display 4
72.558332232667
[1x8]

46.486710475713

57.26070306979

72.483443421818

Display 5

Figure 18. The final results from the Pseudorange_and_position.

easier building, debugging, and modification in SIMULINK environment. Fig. 15 shows a part of the navigation data extracted from one of the receiver channels.
50

IEEE CIRCUITS AND SYSTEMS MAGAZINE

The simulation time for the tracking algorithm that implemented as m-files (tracking.m) for a single channel was
about 20 minutes while the time for that implemented as a
FOURTH QUARTER 2009

SIMULINK model (tracking.mdl)in Simulink was about 37


minutes. The increase in time comes from that the performance of the Product blocks in Simulink is not the same as
in Matlab 7.1.

National Institute for Standards (NIS) in the Time and Frequency Department and a PhD student. She is interested
in the time and frequency dissemination through using
GPS receivers.

F. Pseudorange and Position Calculation


This phase includes decoding the 50 Hz navigation bits
(message) according to ICD-GPS-200 (1991) to obtain
the pseudorange, the receiver position, and the receiver
clock offset.
A complete navigation message consists of 25 frames/
pages and each frame consists of 5 subframes. Each subframe contains 10 words and each of them has a length
of 30 bits. Subframes 1, 2, and 3 are the same in all the
frames while subframes 4 and 5 are varying from frame
to other. The subframe consumes 6 s as a transmission
time which means that we need 12.5 minutes to receive
a complete navigation message. In our work we decoded
a complete page that has a time of 30 s.
Fig. 16 shows a flow diagram for calculating the pseudorange, the satellite position and clock offset, and the
receiver position. Fig. 17 shows the block diagram according to which the SIMULINK model was built. The
first step is to find the subframe start and then begin
decoding the received data bits. By identifying the subframe start we calculate the pseudorange, the ephemeris, and the Time Of Week (TOW). After that we calculate
the satellite clock correction and satellite position. The
final step is to calculate the receiver position and the
receiver clock offset. Fig. 18 shows the results obtained
from that model. The first display shows the corrected
pseudorage values for all the visible satellites, the second, third, and fourth displays illustrate the coordinate
conversion from the Cartesian to the UTM system.

Abdelhaliem Zekry graduated from


Cairo University Egypt in 1969. He was
offered the MSc degree in 1973 from
the same university. He worked as a
scientific coworker at TU Berlin, where
he got his PhD at 1981. He worked as an
assistant prof. at Ain Shams University
(ASU), Egypt 1982. He moved to King Soud University
at 1988 and stayed there for 6 years, where he became
a professor of Electronics. Now he is a professor of
Electronics at the faculty of Egypt, ASU.
Dr. Zekry made intensive research on semiconductor
materials, devices, and circuits. He published more than
70 papers in specialized conferences and periodicals in
addition to two books in Electronics. Now, he is driving
research on electronics for communication especially
the implementation of advanced communication standards using DSP platforms.
Dr. Zekry has been awarded several prizes for outstanding research as well as the Decoration of distinction from the Egyptian President. He has been an IEEE
Member since 1991.

III. Conclusion
In general, system design becomes easier and clearer if it is
accomplished via a graphical user interface environment.
The simulated model has an educational and commercial
aims. The educational aims come from the transparency
in the design and simulation of any part of the algorithm.
Also, it is very easy to modify, debug, or test any part of
the system. The commercial aims are embedded in the
tools available in Simulink, such as the RTW embedded
coder [10], [11].
Gihan Hamza received her BSc in Communications and Electronics from Ain
Shams University, Egypt in 1998. She
received the MSc degree from the same
university in 2004 in the field of automating the long-term measurements.
Now, she is a research assistant in the
FOURTH QUARTER 2009

Ibrahim Motawie graduated from Cairo


University, Egypt. He was offered the
MSc degree from Ain Shams University,
Egypt. He got his PhD in 1979 from Paul
Seharie University, France. He worked
as an associate professor at Constantine
University, Algeria for about 6 years.
Now, he is a professor in the National Institute for Standards (NIS). He is interested in the Time and Frequency
measurements and applications. He published more than
20 papers in specialized conferences and periodicals.
References
[1] Available: http://home.earthlink.net/~cwkelley/
[2] Available: http://www.zarlink.com/zarlink/hs/82_GP2015.htm
[3] Available: http://www.zarlink.com/zarlink/hs/82_GP2021.htm
[4] Available: www.xilinx.com/publications/magazines/dsp_01/xc_pdf/
p50-53_dsp-gps.pdf
[5] K. Borre and D. Akos, A Software-Defined GPS and GALILEO ReceiverA Single-Frequency Approach. New York: Birkhuser, Oct. 2006.
[6] SE4110L PointCharger GPS Receiver IC Data Sheet.
[7] J. Tian, W. Ye, S. Lin, and Z. Hua, Software defined radio GNSS receiver design over single DSP platform, in Proc. 10th Int. Symp. Spread
Spectrum Techniques and Applications (ISSSTA08), 2008, pp. 3741.
[8] J. H. Meclellan, R. W. Schafer, and M. A. Yoder, DSP First A Multimedia
Approach. Englewood Cliffs, NJ: Prentice-Hall, 1997.
[9] Simulink Dynamic System Simulation for Matlab Users Guide.
[10] Real-Time Workshop Users Guide.
[11] Real-Time Workshop Embedded Coder Users Guide.

IEEE CIRCUITS AND SYSTEMS MAGAZINE

51

You might also like