design and implementation of a gps receiver channel and ... · channel and multipath delay...

53
Design and Implementation of a GPS receiver channel And Multipath Delay Estimation using Teager-Kaiser operator. A project report Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Technology in Computational Science Submitted by SABBI BABU RAO SR NO: 5510-511-071-05309 Department of Super Computer Education and Research Centre Indian Institute of Science Bangalore, INDIA June 2009

Upload: vodiep

Post on 11-Jun-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Design and Implementation of a GPS receiverchannel And Multipath Delay Estimation using

Teager-Kaiser operator.

A project report

Submitted in Partial Fulfillment of the

Requirements for the Degree of

Master of Technology

in

Computational Science

Submitted by

SABBI BABU RAO

SR NO: 5510-511-071-05309

Department of Super Computer Education and Research Centre

Indian Institute of Science

Bangalore, INDIA

June 2009

Acknowledgments

I take this opportunity to express my deep sense of gratitude to my thesis guide Prof.

S K Nandy for his constant encouragement and guidance.

I thank all the faculty members & staff of SERC for their support.

I am grateful to my parents and sister, whose faith, patience and love had always in-

spired me to walk upright in my life.

I would like to extend my heartfull thanks to my friends Adarsha,Kesavan,Mythri,

Reyaz,Bharath, Chowhan, Sainath, Sankar, Sravanthi, Prasenjit, Saptarshi, Gaurav for

making my stay at IISc a memorable one.

Special thanks to Reyaz who helped me all the way of my project for his valuable sup-

port.

S.Babu Rao

i

Contents

Acknowledgments i

List of Figures v

Abstract 1

Thesis Organization 2

1 Introduction 3

2 Position determination by Satellite Navigation 6

2.1 Position determination using PRN code . . . . . . . . . . . . . . . . . . . 6

2.2 Calculation of the User Position . . . . . . . . . . . . . . . . . . . . . . . . 10

3 GPS signal structure and characteristics 12

3.1 Modulations of GPS signal . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 GPS Signal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.1 Frequencies,Modulation Format and PRN codes . . . . . . . . . . 15

3.3 Autocorrelation and PSD functions of random sequence of pulses . . . . 19

3.3.1 Effect of finite length PRN code on the autocorrelation function

and PSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 GPS Receiver Channel 22

4.1 Analog front end of GPS receiver . . . . . . . . . . . . . . . . . . . . . . . 22

4.2 Digital receiver channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3 Frequency Synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ii

CONTENTS iii

5 Design of PRN code generators 31

5.1 C/A code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2 P code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.3 Correlation results of the implemented GPS receiver channel . . . . . . . 38

6 Subchip Multipath Delay Estimation using TeagerKaiser Operator 40

6.1 Signal and Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.2 Teager-Kaiser Operator and its application for the Delay Estimation . . . 42

6.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.5 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Bibliography 45

List of Figures

2.1 Example PRN code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Use of replica code to determine satellite code transmission time. . . . . 8

2.3 Range measurement timing relationships. . . . . . . . . . . . . . . . . . . 9

3.1 BPSK modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 DSSS modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 GPS signal structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4 Vector diagram of L1 GPS signal . . . . . . . . . . . . . . . . . . . . . . . 18

3.5 GPS code mixing with data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.6 (a)An example Random Sequence (b)Its autocorrelation function (c)PSD . . . . 20

3.7 (a)Autocorrelation function of a PRN sequence (b)Its PSD . . . . . . . . . . . . 21

4.1 Generic digital GPS receiver block diagram. . . . . . . . . . . . . . . . . . . . 23

4.2 Digital GPS receiver channel block diagram. . . . . . . . . . . . . . . . . . . . 25

4.3 (a)Autocorrelation functions of Early and Late signals generated by GPS re-

ceiver channel.(b)Code-phase discriminator formed by difference between the

correlation functions in (a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.4 frequency synthesizer block diagram. . . . . . . . . . . . . . . . . . . . . . . 29

4.5 (a)NCO phase state. (b)cos map output. (c)sin map output. (d)phase plane.

(e)phase map table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.1 General PRN code generator block diagram. . . . . . . . . . . . . . . . . . . . 31

5.2 C/A code generator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.3 P code generator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.4 clock control circut shown in figure 5.3. . . . . . . . . . . . . . . . . . . . . . 36

iv

LIST OF FIGURES v

5.5 Correlation results with Early,Prompt,and Late signals . . . . . . . . . . . . . 39

6.1 peaks shown by TK operator at multipath delays. . . . . . . . . . . . . . . . . 44

Abstract

Global Positioning System (GPS) is a satellite-based navigation system. It is based on

the computation of range from the receiver to multiple satellites by multiplying the

time delay that a GPS signal needs to travel from the satellites to the receiver by veloc-

ity of light.This will be done by correlating the received signal with the locally gener-

ated carrier and individual satellite’s Pseudo Random Noise(PRN) code.The correla-

tion is maximum when frequency and phases of the carrier and code perfectly matches

those of the received signal.Based on these correlation values error(correcting) signals

will be generated by the baseband signal processes to correct the phase and frequency

of the locally generated carrier and code to synchronize with the received signal. These

correcting(synchronizing) signals will be influenced by the multipath propagation.So

an efficient technique which is computationally least complex must be used to mitigate

the effect of multipath propagation for accurate positioning by GPS receiver.Design

and implementation of a GPS receiver channel and using its simulation results to eval-

uate the performance of the Teager-Kaiser operator technique for multipath delay esti-

mation is the objective of this project.

1

Thesis Organization

There are six chapters in this thesis presentation.The first chapter gives a brief intro-

duction to the satellite navigation and high speed signal processing done by a GPS

receiver. The second chapter describes the position determination by satellite naviga-

tion using PRN codes. The third chapter describes the GPS modulation and gives an

overview of the spread spectrum principles.The detailed GPS signal structure is de-

scribed in this chapter. The fourth chapter describes the components of GPS receiver

channel with a brief overview of the overall GPS receiver. The details of the PRN code

generation given by GPS specifications is described in the fifth chapter.The character-

istics of different PRN codes are given in this chapter.

Finally the sixth chapter describes the Teager-Kaiser operator and its application for

multipath delay estimation.The performance of this technique is shown using the sim-

ulation results from the implemented GPS receiver channel.

2

Chapter 1

Introduction

Navigation is defined as the science of getting a craft or person from one place to an-

other.In some cases a more accurate knowledge of our position,intended course, or

transit time to a desired destination is required.Navigation aids other than landmarks

are used for such applications. These may be in the form of a simple clock to deter-

mine the velocity over a known distance or the odometer in our car to keep track of the

distance traveled. Some other navigation aids transmit electronic signals and therefore

are more complex. These are referred to as radionavigation aids.

Various types of radionavigation aids exist.Highly accurate systems generally transmit

at relatively short wavelengths,and the user must remain within line of sight (LOS),

whereas systems broadcasting at lower frequencies (longer wavelengths) are not lim-

ited to LOS but are less accurate.

Signals from one or more radionavigation aids enable a person (herein referred to as

the user) to compute their position. (Some radionavigation aids provide the capability

for velocity determination and time dissemination as well.) It is important to note that

it is the users radionavigation receiver that processes these signals and computes the

position fix. The receiver performs the necessary computations (e.g., range, bearing,

and estimated time of arrival) for the user to navigate to a desired location.

Global Positioning System (GPS) is a satellite-based navigation system. It is based

3

Chapter 1. Introduction 4

on the computation of range from the receiver to multiple satellites by multiplying

the time delay that a GPS signal needs to travel from the satellites to the receiver by

velocity of light.Based on the distances from atleast four satellites it can compute the

position of the user.This whole functioning of the GPS receiver involves analog and

digital processing of the received GPS signal.

The analog processing which involves filtering, amplification, downconversion and

analog to digital conversion will be done by the front end portion of the GPS receiver

whereas the digital processing can be implemented either on ASIC or FPGA and a DSP

or microprocessor.

The digital processing involves two important stages.The first one is the generation

of local carrier and PRN code and correlating with the digitized IF(Intermediate Fre-

quency) incoming signal.The second one is the processing the outputs from the correla-

tors to compute various measurements and feedback error signals for the local carrier

and code generators for correcting their respective frequency and phase offsets.

The correlation processes must be performed at the digital IF sample rate, which is

of the order of 50 MHz for a military P(Y) code receiver (that also operates with C/A

code), 5 MHz for civil C/A code receivers that use 1-chip E-L correlator spacing, and

up to 50 MHz for civil C/A code receivers that use narrow correlator spacing for im-

proved multipath error performance. The correlators provide filtering and resampling

at the processor baseband input rate, which can be at 1,000 Hz during search modes

or as low as 50 Hz during track modes, depending on the desired dwell time during

search or the desired predetection integration time during track.These correlator out-

puts will be processed by the baseband proceeses to generate the error correcting sig-

nals.Using these signals the receiver corrects phase and frequencies of its local carrier

and code to synchronize with the incoming carrier signal.

But these signals will be influenced by the multipath prpagation and thermal noise.An

efficient technique must be used to deal with multipath and noise interference to get

Chapter 1. Introduction 5

the accurate measurements.There are several techniques proposed for this purpose.There

is a tradeoff between the performance and complexity of these algorithms.Delay esti-

mation using Teager-Kaiser operator is one of the highly efficient technique with sub-

chip multipath delay estimation capability.Also it has the additional advantage of least

computational complexity.The detailed description of this operator with its capabilities

and limitations are given in the chapter6.

Chapter 2

Position determination by Satellite

Navigation

GPS utilizes the concept of TOA ranging to determine user position. This concept en-

tails measuring the time it takes for a signal transmitted by an emitter (e.g., foghorn,

radiobeacon, or satellite) at a known location to reach a user receiver. This time inter-

val, referred to as the signal propagation time, is then multiplied by the speed of the

signal (e.g., speed of sound or speed of light) to obtain the emitter to receiver distance.

By measuring the propagation time of the signal broadcast from multiple emitters (i.e.,

navigation aids) at known locations, the receiver can determine its position.

2.1 Position determination using PRN code

GPS satellite transmissions utilize direct sequence spread spectrum (DSSS) modula-

tion. The DSSS modulation is explained in chapter 4. DSSS provides the structure

for the transmission of ranging signals and essential navigation data, such as satellite

ephemerides and satellite health. The ranging signals are PRN codes that binary phase

shift key (BPSK) modulate the satellite carrier frequencies. These codes look like and

have spectral properties similar to random binary sequences but are actually determin-

istic. A simple example of a short PRN code sequence is shown in Figure 2.1.

6

Chapter 2. Position determination by Satellite Navigation 7

Figure 2.1: Example PRN code

These codes have a predictable pattern,which is periodic and can be replicated by a

suitably equipped receiver.But they can approximate the behaviour of fully random

codes.Hence these codes are called pseudo random codes.Each GPS satellite broadcasts

two types of PRN ranging codes: ashort coarse/acquisition (C/A)-code and a long

precision (P)-code. (The new GPS signal consists additional codes also).

The C/A code has a 1-ms period and repeats constantly, whereas the P-code satellite

transmission is a 7-day sequence that repeats approximately every Saturday/Sunday

midnight.The P-code is encrypted. This encrypted code is denoted as the Y-code. The

Y-code is accessible only to PPS users through cryptography. Further details regarding

these PRN codes and satellite signal structure were described in the chapter3.

The distance between the satellite and the user r is computed by measuring the propa-

gation time required for a satellite-generated ranging code to transit from the satellite

to the user receiver antenna. The propagation time measurement process is illustrated

in Figure 2.2. As an example, a specific code phase generated by the satellite at t1

arrives at the receiver at t2. The propagation time is represented by ∆t

Within the receiver, an identical coded ranging signal is generated at t, with respect to

the receiver clock.This replica code is shifted in time until it achieves correlation with

the received satellite-generated ranging code. If the satellite clock and the receiver

clock were perfectly synchronized, the correlation process would yield the true prop-

agation time. By multiplying this propagation time, ∆t, by the speed of light, the true

(i.e.,geometric) satellite-to-user distance can be computed.

The receiver clock will generally have a bias error from system time. Further, satellite

frequency generation and timing is based on a highly accurate free running cesium or

Chapter 2. Position determination by Satellite Navigation 8

Figure 2.2: Use of replica code to determine satellite code transmission time.

rubidium atomic clock, which is typically offset from system time. Thus, the range de-

termined by the correlation process is denoted as the pseudorange ρ. The measurement

is called pseudorange because it is the range determined by multiplying the signal

propagation velocity, c, by the time difference between two nonsynchronized clocks

(the satellite clock and the receiver clock).The timing relationships are shown in Figure

2.3, where:

Ts = System time at which the signal left the satellite

Tu = System time at which the signal reached the user receiver

Chapter 2. Position determination by Satellite Navigation 9

δt = Offset of the satellite clock from system time [advance is positive; retardation (de-

lay) is negative]

tu = Offset of the receiver clock from system time

Ts + δt = Satellite clock reading at the time that the signal left the satellite

Tu + tu = User receiver clock reading at the time the signal reached the user receiver

c = speed of light

Figure 2.3: Range measurement timing relationships.

Geometric range, r = c(Tu - Ts) = c∆t

Pseudo range, ρ = c [(Tu + tu) − (Ts + δt)]

= c(Tu − Ts) + c(tu − δt)= r + c(Tu − δt)

The formulae for computing the geometric and pseudo ranges are shown above. Assum-

ing the satellite error was compensated,the pseudo range equation becomes

Chapter 2. Position determination by Satellite Navigation 10

ρ = ||s - u||+ ctu

where vector s represents the position of the satellite relative to the coordinate ori-

gin and it is located at coordinates xs,ys,zs within the ECEF(Earth-Centered Earth-

Fixed Coordinate System) Cartesian coordinate system.. Vector s is computed using

ephemeris data broadcast by the satellite.

And vector u,represents a user receivers position with respect to the ECEF coordinate

system origin. The users position coordinates xu, yu, zu are considered unknown.

2.2 Calculation of the User Position

In order to determine user position in three dimension(xu, yu, zu) and the offset tu.pseudorange

measurements are made to four satellites resulting in the system of equations.

ρ j = ||s - u||+ ctu

where j ranges from 1 to 4 and references the satellites. Above equation can be ex-

panded into the following set of equations in the unknowns xu, yu, zu and tu:

ρ1 =√

(x1 − xu)2 + (y1 − yu)2 + (z1 − zu)2

ρ2 =√

(x2 − xu)2 + (y2 − yu)2 + (z2 − zu)2

ρ3 =√

(x3 − xu)2 + (y3 − yu)2 + (z3 − zu)2

ρ4 =√

(x4 − xu)2 + (y4 − yu)2 + (z4 − zu)2

where x j, y j, andz j denote the jth satellites position in three dimensions.

These equations can be solved for user position u by linearisation of above equations

using taylor series expansion about an approximate user position.

After expanding the above equations about the approximate user position and consid-

ering the first order derivatives only the following matrix equation can be obtained.

∆ρ = H∆x

Chapter 2. Position determination by Satellite Navigation 11

where

∆ρ =

∆ρ1

∆ρ2

∆ρ3

∆ρ4

H =

ax1 ay1 az1 1

ax2 ay2 az2 1

ax3 ay3 az3 1

ax4 ay4 az4 1

∆x =

∆xu

∆yu

∆zu

−c∆tu

∆ρ and ∆x are the deviations of the actual user position from the approximate position

and (ax j, ay j, az j) are the direction cosines of the unit vector pointing from the approxi-

mate user position to the jth satellite.

So the user position can be found as follows.

∆x = H−1∆ρ

u = u + ∆x

Chapter 3

GPS signal structure and characteristics

The GPS signal format is known as direct sequence spread spectrum.The term direct se-

quence is used when the spreading of the spectrum is accomplished by phase modula-

tion of the carrier.This chapter will describe the modulations of GPS signal,Components

of GPS signal,and autocorrelation function of the Rectangular PRN codes and its ex-

ploitation for acquisition and tracking of GPS signal.

3.1 Modulations of GPS signal

BPSK

Binary phase shift keying (BPSK) is a simple digital signaling scheme in which an RF

carrier is either transmitted as it is or with a 180o phase shift over successive intervals

in time depending on whether a digital 0 or 1 is being conveyed an example is shown

in the figure 3.1.

BPSK signal, as illustrated in Figure 3.1, can be thought of as the product of two time

waveforms: the unmodulated RF carrier and a data waveform that takes on a value

of either +1 or -1 for each successive interval of Tb = 1/Rb seconds, where Rb is the

data rate in bits per second. The data waveform amplitude for the kth interval of

Tb seconds can be generated from the kth data bit to be transmitted using either the

12

Chapter 3. GPS signal structure and characteristics 13

Figure 3.1: BPSK modulation

mapping [0, 1]→ [−1,+1] or [0, 1]→ [+1,−1].

Direct Sequence Spread Spectrum

Direct sequence spread spectrum(DSSS) is an extension of BPSK or other phase shift keyed

modulation used by GPS and some other satellite navigation systems.The DSSS mod-

ulation waveforms are shown in the figure 3.2.

As shown in Figure 3.2, DSSS signaling adds a third component, referred to as a spread-

ing or PRN waveform, which is similar to the data waveform but at a much higher

symbol rate. This PRN waveform is completely known, at least to the intended re-

ceivers. The PRN waveform is often periodic, and the finite sequence of bits used to

generate the PRN waveform over one period is referred to as a PRN sequence or PRN

code. An overview of PRN codes, including their generation,characteristics, and code

families with good properties is provided in [1]. The minimum interval of time be-

tween transitions in the PRN waveform is commonly referred to as the chip period, Tc;

the portion of the PRN waveform over one chip period is known as a chip or spreading

Chapter 3. GPS signal structure and characteristics 14

Figure 3.2: DSSS modulation

symbol; and the reciprocal of the chip period is known as the chipping rate, Rc. The

independent time parameter for the PRN waveform is often expressed in units of chips

and referred to as codephase. The signal just described is called spread spectrum, be-

cause of the wider bandwidth occupied by the signal after modulation by the high-rate

PRN waveform. In general, the bandwidth is proportional to the chipping rate. There

are three primary reasons why DSSS waveforms are employed for satellite navigation.

First and most importantly, the frequent phase inversions in the signal introduced by

the PRN waveform enable precise ranging by the receiver.Second, the use of different

PRN sequences from a well-designed set enables multiple satellites to transmit signals

simultaneously and at the same frequency. A receiver can distinguish among these

signals, based on their different codes. For this reason, the transmission of multiple

DSSS signals having different spreading sequences on a common carrier frequency is

referred to as code division multiple access (CDMA). Finally DSSS provides signifi-

cant rejection of narrowband interference. The chip waveform in a DSSS signal does

Chapter 3. GPS signal structure and characteristics 15

not need to be rectangular (i.e., a constant amplitude over the chip period).In princi-

ple, any shape could be used and different shapes can be used for different chips.DSSS

signals generated using BPSK signaling with rectangular chips as BPSK-R signals. Sev-

eral variations of the basic DSSS signal that employ nonrectangular symbols have been

investigated for satellite navigation applications in recent years. Binary offset carrier

(BOC) signals are generated using DSSS techniques but employ portions of a square

wave for the spreading symbols [2].

3.2 GPS Signal Structure

The GPS Satellites(refer to as SV’s) transmit navigation signals on two carrier frequen-

cies called L1, the primary frequency, and L2, the seconda ry frequency. The carrier

frequencies are DSSS modulated by spread spectrum codes with unique PRN(Pseudo

Random Noise) sequences associated with each SV and by a common navigation data

message. All SVs transmit at the same carrier frequencies in a CDMA fashion. In or-

der to track one SV in common view with several other SVs by the CDMA technique, a

GPS receiver must replicate the PRN sequence for the desired SV along with the replica

carrier signal,including Doppler effects. Two carrier frequencies are required to mea-

sure the ionospheric delay, since this delay is related by a scale factor to the difference

in signal TOA(time of arrival) for the two carrier frequencies. Single frequency users

must estimate the ionospheric delay using modeling parameters that are broadcast to

the user in the navigation message.

3.2.1 Frequencies,Modulation Format and PRN codes

A block diagram that is representative of the SV signal structure for L1 (154 f0) and L2

(120 f0) is shown in Figure 3.3 (where f0 is the fundamental frequency: 10.23MHz).

As shown in Figure 3.3, the L1 frequency (154 f0) is modulated by two PRN codes

(plus the navigation message data), the C/A code, and the P code. The L2 frequency

Chapter 3. GPS signal structure and characteristics 16

(120 f0) is modulated by only one PRN code at a time. One of the P code modes has

no data modulation. The nominal reference frequency, f0, as it appears to an observer

on the ground, is 10.23 MHz. To compensate for relativistic effects, the output of the

SV’s frequency standard (as it appears from the SV) is 10.23 MHz offset by a ∆ f /f of

4.467×10−10. This results in a ∆ f of 4.57 ×10−3Hz and f0 = 10.22999999543 MHz. To the

GPS receiver on the ground, the C/A code has a chipping rate of 1.023 ×106 chips/s

( f0/10 = 1.023 MHz) and the P code has a chipping rate of 10.23 ×106 chips/s ( f0 = 10.23

MHz).The C/A code signal uses a BPSK-R(1) (means BPSK modulation using 1MHz

chipping rate) modulation and the P code uses a BPSK-R(10) modulation.Where The P

code is available only to specific users such as military.

Figure 3.3: GPS signal structure

As figure 3.3 shows the same 50-bps navigation message data is combined with both

Chapter 3. GPS signal structure and characteristics 17

the C/A code and the P(Y) code prior to modulation with the L1 carrier. An exclusive-

or logic gate is used for this modulation process, denoted by �. Since the C/A code

� data and P(Y) code � data are both synchronous operations, the bit transition rate

cannot exceed the chipping rate of the PRN codes. Also note that BPSK modulation is

used with the carrier signals. The P(Y) code � data is modulated in phase quadrature

with the C/A code � data on L1. As shown in Figure 3.3, the L1 carrier is phase shifted

90o before being BPSK modulated by the C/A code� data.Then this result is combined

with the attenuated output of the BPSK modulation of L1 by the P(Y) code � data. The

3-dB amplitude difference and phase relationship between P code and C/A code on L1

are illustrated by the vector phase diagram in Figure 3.4. Figure 3.5 illustrates the result

of P code � data and C/A � data. As observed in Figure 3.4, the exclusive-or process

is equivalent to binary multiplication of two 1-bit values yielding a 1-bit product using

the convention that logical 0 is plus and logical 1 is minus.

There are 204,600 P(Y) code epochs between data epochs and 20,460 C/A code epochs

between data epochs, so the number of times that the phase could change in the PRN

code sequences due to data modulation is relatively infrequent, but the spectrum changes

due to this modulation are very significant.

There are 154 carrier cycles per P(Y) code chip and 1,540 carrier cycles per C/A code

chip on L1, so the phase shifts on the L1 carrier are relatively infrequent.The L2 fre-

quency (1,227.60 MHz) can be modulated by either the P(Y) code � data or the C/A

code � data or by the P(Y) code alone as selected by the CS(Ground based Control

sigment which monitors and controls the satellite navigation). The P(Y) code and C/A

codes are never present simultaneously on L2 prior to GPS modernization unlike the

case with L1. In general, the P(Y) code � data is the one selected by the CS. There are

120 carrier cycles per P(Y) code chip on L2, so the phase transitions on the L2 carrier

are relatively infrequent. Table 3.1 summarizes the GPS signal structure on L1 and L2.

Chapter 3. GPS signal structure and characteristics 18

Figure 3.4: Vector diagram of L1 GPS signal

Figure 3.5: GPS code mixing with data

Chapter 3. GPS signal structure and characteristics 19

Parameter C/A-code P-codeChipping rate 1.023×106 bits per sec-

ond10.23 ×106 bits persecond

Chip length ≈ 300m ≈ 30mRepetition rate 1 Millisecond one weekCode type 37 unique codes 37 one-week seg-

mentsProperties Easy to acquire More accurate

Table 3.1: PRN codes characteristics

3.3 Autocorrelation and PSD functions of random sequence

of pulses

The autocorrelation function of a signal is defined as

R(τ) = limT→∞

12T

∫ T

−Ts(t)s(t − τ) dt (3.1)

From the above definition the autocorrelation function of a random sequence of rect-

angular chips(pulses), each of amplitude A and width Tc is given by the following

formula.

R(τ) =

A2(1 − |τ|Tc

)for|τ| ≤ Tc

0 elsewhere(3.2)

The power spectral density is defined to be the Fourier transform of the autocorrelation

function:

S ( f ) =

∫ ∞

−∞R(τ)e− j2π f τ dτ (3.3)

Hence the power spectral density(PSD) of a random sequence of pulses is given by

S ( f ) = A2Tcsinc2(π f Tc) (3.4)

where sinc(x) =sin(x)

x .

An example of a random sequence of rectangular pulses,its autocorrelation function,

Chapter 3. GPS signal structure and characteristics 20

power spectral densities are shown in the figures 3.6.

Figure 3.6: (a)An example Random Sequence (b)Its autocorrelation function (c)PSD

The important property of a DSSS signal using a random binary code is that it corre-

lates with itself in one and only one place(within one chip offset), and it is uncorrelated

with any other random binary code or with itself if the offset(τ) is more than one chip

period.Because of this property satellite can recognize a particular satellite and can

know whether the received signal is within one chip offset or not. But satellite nav-

igation systems employing rectangular chips have similar autocorrelation and power

Chapter 3. GPS signal structure and characteristics 21

spectrum properties to those described for the random binary code case, but they em-

ploy PRN codes that are perfectly predictable and reproducible. This is why they are

called pseudo random codes.

3.3.1 Effect of finite length PRN code on the autocorrelation function

and PSD

Because of the finite length of the PRN codes used by satellites the code repeats after

every finite interval N (but approximate random nature within this interval).Hence the

the autocorrelation function described above will become periodic with period N and

function out side the chip period won’t completely vanish.

So the actual autocorrelation function for PRN sequence is given by

RPN(τ) =

A2(1 − |τ|Tc

(1 + 1

N

))for|τ − nTc| ≤ Tc

− 1N elsewhere

(3.5)

where n = 0,±1,±2,±3,.......

This function and its PSD are shown in the figure 3.7.

Figure 3.7: (a)Autocorrelation function of a PRN sequence (b)Its PSD

Chapter 4

GPS Receiver Channel

The ultimate goal of GPS is to provide position,velocity,and time.To achieve these the

primary tasks it has to perform are measurement of range and range-rate and demod-

ulation of the navigation data. The navigation data are the 50-bits/s data stream mod-

ulated onto the GPS signal. The navigation data contain the satellite clock and orbital

parameters which are used in the computation of user position.

4.1 Analog front end of GPS receiver

Most modern GPS receiver designs are digital receivers. Block diagram of a digital

GPS receiver is shown in figure 4.1. The GPS RF signals of all SVs in view are received

by a RHCP(right hand circularly polarized) antenna with nearly hemispherical (i.e.,

above the local horizon) gain coverage. These RF signals are amplified by a low noise

preamplifier (preamp), which effectively sets the noise figure of the receiver. There

may be a passive bandpass prefilter between the antenna and preamp to minimize

out-of-band RF interference. These amplified and signal conditioned RF signals are

then down-converted to an IF using signal mixing frequencies from local oscillators

(LOs).

The LOs are derived from the reference oscillator by the frequency synthesizer, based

22

Chapter 4. GPS Receiver Channel 23

Figure 4.1: Generic digital GPS receiver block diagram.

on the frequency plan of the receiver design. One LO per downconverter stage is re-

quired. The LO signal mixing process generates both upper and lower sidebands of

the SV signals, so the lower sidebands are selected and the upper sidebands and leak-

through signals are rejected by a postmixer bandpass filter. The signal Dopplers and

the PRN codes are preserved after the mixing process. Only the carrier frequency is

lowered, but the Doppler remains referenced to the original L-band signal. The A/D

conversion process and automatic gain control (AGC) functions take place at IF. Not

shown in the block diagram are the baseband timing signals that are provided to the

digital receiver channels by the frequency synthesizer phase locked to the reference

oscillators stable frequency. The IF must be high enough to provide a single-sided

bandwidth that will support the PRN code chipping frequency. An antialiasing IF fil-

ter must suppress the stopband noise (unwanted out-of-band signals) to levels that are

acceptably low when this noise is aliased into the GPS signal passband by the A/D

conversion process. The signals from all GPS satellites in view are buried in thermal

Chapter 4. GPS Receiver Channel 24

noise at IF. At this point the digitized IF signals are ready to be processed by each of

the N digital receiver channels. No demodulation has taken place, only signal gain and

conditioning plus A/D conversion into the digital IF.

This digitized IF signal will be processed by a set of channels which will normally

implemented on ASIC or FPGA.A channel may be assigned to a single satellite or

multiple channels using multiplexing depending upon the availability of hardware

resources.The next section describes the detailed GPS receiver channel architecture.

4.2 Digital receiver channel

Figure 4.2 illustrates a high-level block diagram typical of one of the digital receiver

channels where the digitized received IF signal is applied to the input. For simplifi-

cation, only the functions associated with the code and carrier tracking loops are il-

lustrated, and the receiver channel is assumed to be tracking the SV signal in steady

state. Referring to Figure 4.2, first the digital IF is stripped of the carrier (plus carrier

Doppler) by the replica carrier (plus carrier Doppler) signals to produce in-phase (I)

and quadraphase (Q) sampled data. Note that the replica carrier signal is being mixed

with all of the in-view GPS SV signals (plus noise) at the digital IF.The I and Q signals

at the outputs of the mixers have the desired phase relationships with respect to the

detected carrier of the desired SV.

The NCO shown in the figure is described in the next section.This produces a stair-

case function whose period is the desired replica carrier plus Doppler period. The sine

and cosine map functions convert each discrete amplitude of the staircase function to

the corresponding discrete amplitude of the respective sine and cosine functions. By

producing I and Q component phases 90 apart, the resultant signal amplitude can be

computed from the vector sum of the I and Q components, and the phase angle with

Chapter 4. GPS Receiver Channel 25

Figure 4.2: Digital GPS receiver channel block diagram.

respect to the I-axis can be determined from the arctangent of Q/I. In closed loop op-

eration, the carrier NCO is controlled by the carrier tracking loop in the receiver pro-

cessor. In phase lock loop (PLL) operation, the objective of the carrier tracking loop is

to keep the phase error between the replica carrier and the incoming SV carrier signals

at zero. Any misalignment in the replica carrier phase with respect to the incoming

SV signal carrier phase produces a nonzero phase angle of the prompt I and Q vector

magnitude, so that the amount and direction of the phase change can be detected and

corrected by the carrier tracking loop.

The autocorrelation function of the PRN sequence described in the previous chap-

ter will be used for this purpose.The GPS receiver generates a set of 3 codes called

Early(E),Prompt(P) and Late(L) signals.E and L are typically separated in phase by 1

Chapter 4. GPS Receiver Channel 26

chip and P is in the middle. Correspondingly the autocorrelation functions for the E

and L signals will be shifted left and right respectively by half chip period as shown

the figure 4.3.

In Figure 4.2, the I and Q signals are correlated with early, prompt, and late replica

codes (plus code Doppler) synthesized by the code generator, a 2-bit shift register, and

the code NCO. In closed loop operation, the code NCO is controlled by the code track-

ing loop in the receiver processor.The code NCO produces twice the code generator

clocking rate, 2 fco, and this is fed to the clock input of the 2-bit shift register. The

code generator clocking rate, fco, that contains the nominal spreading code chip rate

(plus code Doppler) is fed to the code generator. The NCO clock, fc, should be a much

higher frequency than the shift register clock, 2 fco.With this combination, the shift reg-

ister produces two phase-delayed versions of the code generator output. As a result,

there are three replica code phases designated as early (E), prompt (P), and late (L).

Not shown are the controls to the code generator that permit the receiver processor to

preset the initial code tracking phase states that are required during the code search

and acquisition (or reacquisition) process.The prompt replica code phase is aligned

with the incoming SV code phase producing maximum correlation if it is tracking the

incoming SV code phase. Under this circumstance, the early phase is aligned a frac-

tion of a chip period early, and the late phase is aligned the same fraction of the chip

period late with respect to the incoming SV code phase, and these correlators produce

about half the maximum correlation. Any misalignment in the replica code phase with

respect to the incoming SV code phase produces a difference in the vector magnitudes

of the early and late correlated outputs so that the amount and direction of the phase

change can be detected and corrected by the code tracking loop as shown figure 4.3.

When the PLL is phase locked, the I signals are maximum (signal plus noise) and the

Q signals are minimum (containing only noise).

Chapter 4. GPS Receiver Channel 27

Figure 4.3: (a)Autocorrelation functions of Early and Late signals generated by GPS receiverchannel.(b)Code-phase discriminator formed by difference between the correlation functionsin (a).

Chapter 4. GPS Receiver Channel 28

Predetection Integration

Predetection is the signal processing after the IF signal has been converted to base-

band by the carrier and code stripping processes, but prior to being passed through

a signal discriminator. Extensive digital predetection integration and dump processes

occur after the carrier and code stripping processes. This causes very large numbers

to accumulate, even when 1 to 3 bits of quantization resolutions are used for IF A/D

conversion.The code wipeoff process that follows usually involving only 1-bit mul-

tiplication.Figure 4.2 shows three complex correlators required to produce three in-

phase components, which are integrated and dumped to produce IE, IP, IL and three

quadraphase components integrated and dumped to produce QE,QP,QL. The carrier

wipeoff and code wipeoff processes must be performed at the digital IF sample rate,

which is of the order of 50 MHz for a military P(Y) code receiver (that also operates

with C/A code), 5 MHz for civil C/A code receivers that use 1-chip E-L correlator

spacing, and up to 50 MHz for civil C/A code receivers that use narrow correlator

spacing for improved multipath error performance. The integrate and dump accumu-

lators provide filtering and resampling at the processor baseband input rate, which can

be at 1,000 Hz during search modes or as low as 50 Hz during track modes, depend-

ing on the desired dwell time during search or the desired predetection integration

time during track.The hardware integrate and dump process in combination with the

baseband signal processing integrate and dump process defines the predetection inte-

gration time.Predetection integration time is a compromise design. It must be as long

as possible to operate under weak or RF interference signal conditions, and it must be

as short as possible to operate under high dynamic stress signal conditions.

Chapter 4. GPS Receiver Channel 29

4.3 Frequency Synthesizer

The local carrier and code frequencies are synthesized from a high frequency source

in the receiver using a numerically controlled oscillator(NCO).Figure 4.4. shows the

block diagram of a frequency synthesizer.

Figure 4.4: frequency synthesizer block diagram.

The NCO consists a hold register of fixed number of bits.In each clock cycle the value

hold by this register will be incremented by fixed value M which will be determined

by the frequency selection as follows.If the desired output frequency is fop and hold

register is of size N bits.After every 2N/M clock cycles the hold register overflows and

reset to 0.Hence the frequency will be divided by 2N/M.Hence M value can be obtained

using the following formula M = fop2N

fs.Where fs is the receivers clock frequency.One

replica carrier cycle and one replica code cycle are completed each time the NCO over-

flows.The NCO phase diagram,cos and sin map diagrams are shown in figure 4.5.

The number of bits, j, is determined for the sin and cos outputs. The phase plane of

Chapter 4. GPS Receiver Channel 30

Figure 4.5: (a)NCO phase state. (b)cos map output. (c)sin map output. (d)phase plane.(e)phase map table.

360 degrees is subdivided into 2 j = K phase points.K values are computed for each

waveform, one value per phase point. Each value represents the amplitude of the

waveform to be generated at that phase point. The upper j bits of the holding register

are used to determine the address of the waveform amplitude.Rate at which phase

plane is traversed determines the frequency of the output waveform.

Chapter 5

Design of PRN code generators

Figure 5.1 depicts a high-level block diagram of the direct sequence PRN code genera-

tion used for GPS C/A code and P code generation to implement the CDMA technique.

Each synthesized PRN code is derived from two other code generators. In each case,

Figure 5.1: General PRN code generator block diagram.

31

Chapter 5. Design of PRN code generators 32

the second code generator output is delayed with respect to the first before their out-

puts are combined by an exclusive-or circuit. The amount of delay is different for each

SV. In the case of P code, the integer delay in P-chips is identical to the PRN number.

For C/A code, the delay is unique to each SV, so there is only a table lookup relation-

ship to the PRN number. These delays are summarized in Table 5.1. The C/A code

delay can be implemented by a simple but equivalent technique that eliminates the

need for a delay register. This technique is explained in the following paragraphs.

5.1 C/A code generation

The GPS C/A code is a Gold code [3] with a sequence length of 1,023 bits (chips). Since

Figure 5.2: C/A code generator.

Chapter 5. Design of PRN code generators 33

the chipping rate of the C/A code is 1.023 MHz, the repetition period of the pseu-

dorandom sequence is 1,023/(1.023×106Hz) or 1 ms. Figure 5.2 illustrates the design

architecture of the GPS C/A code generator.

Not included in this diagram are the controls necessary to set or read the phase states

of the registers or the counters. There are two 10-bit shift registers, G1 and G2, which

generate maximum length PRN codes with a length of 210 − 1 = 1,023 bits. (The only

state not used is the all-zero state). It is common to describe the design of linear code

generators by means of polynomials of the form 1 +∑

Xi, where Xi means that the

output of the ith cell of the shift register is used as the input to the modulo-2 adder

(exclusive-or), and the 1 means that the output of the adder is fed to the first cell. The

design specification for C/A code calls for the feedback taps of the G1 shift register to

be connected to stages 3 and 10. These register states are combined with each other by

an exclusive-or circuit and fed back to stage 1. The polynomial that describes this shift

register architecture is: G1 = 1 + X3 + X10. The polynomials and initial states for both

the C/A-code and P-code generator shift registers are summarized in Table 5.2.

The unique C/A code for each SV is the result of the exclusive-or of the G1 direct out-

put sequence and a delayed version of the G2 direct output sequence. The equivalent

delay effect in the G2 PRN code is obtained by the exclusive-or of the selected positions

of the two taps whose output is called G21. This is because a maximum-length PRN

code sequence has the property that adding a phase-shifted version of itself produces

the same sequence but at a different phase. The function of the two taps on the G2 shift

register in Figure 5.2 is to shift the code phase in G2 with respect to the code phase in

G1 without the need for an additional shift register to perform this delay. Each C/A

code PRN number is associated with the two tap positions on G2. Table 5.1 describes

these tap combinations for all defined GPS PRN numbers and specifies the equivalent

direct sequence delay in C/A code chips. The first 32 of these PRN numbers are re-

served for the space segment. Five additional PRN numbers, PRN 33 to PRN 37, are

Chapter 5. Design of PRN code generators 34

reserved for other uses, such as ground transmitters (also referred to as pseudosatel-

lites or pseudolites). C/A codes 34 and 37 are identical.

5.2 P code generation

The GPS P code is a PRN sequence generated using four 12-bit shift registers desig-

nated X1A, X1B, X2A, and X2B. A detailed block diagram of this shift register architec-

ture is shown in figure 5.3 [4]. Not included in this diagram are the controls necessary

to set or read the phase states of the registers and counters. This reset and clock control

logic were shown in figure 5.4. The X1A register output is combined by an exclusive-

or circuit with the X1B register output to form the X1 code generator and that the X2A

register output is combined by an exclusive-or circuit with the X2B register output to

form the X2 code generator.The composite X2 result is fed to a shift register delay of

the SV PRN number in chips and then combined by an exclusive-or circuit with the X1

composite result to generate the P code. The design specification for the P code calls for

each of the four shift registers to have a set of feedback taps that are combined by an

exclusive-or circuit with each other and fed back to their respective input stages. The

polynomials that describe the architecture of these feedback shift registers are shown

in Table 5.2, and the logic diagram is shown in detail in Figure 5.3. As shown in Figure

5.3,the natural cycles of all four feedback shift registers are truncated. For example,

X1A and X2A are both reset after 4,092 chips,eliminating the last three chips of their

natural 4,095 chip sequences. The registers X1B and X2B are both reset after 4,093 chips,

eliminating the last two chips of their natural 4,095 chip sequences. This results in the

phase of the X1B sequence lagging by one chip with respect to the X1A sequence for

each X1A register cycle. As a result, there is a relative phase precession between the

X1A and X1B registers. A similar phase precession takes place between X2A and X2B.

At the beginning of the GPS week, all of the shift registers are set to their initial states

simultaneously, as shown in Table 5.2.

Chapter 5. Design of PRN code generators 35

Figure 5.3: P code generator.

Chapter 5. Design of PRN code generators 36

Halt

Resume

Q

Clk_cntrl

Reset

Clk

D

Rst

En

Figure 5.4: clock control circut shown in figure 5.3.

Also, at the end of each X1A epoch, the X1A shift register is reset to its initial state. At

the end of each X1B epoch, the X1B shift register is reset to its initial state. At the end of

each X2A epoch, the X2A shift register is reset to its initial state. At the end of each X2B

epoch, the X2B shift register is reset to its initial state. The outputs (stage 12) of the A

and B registers are combined by an exclusive-or circuit to form an X1 sequence derived

from X1A � X1B, and an X2 sequence derived from X2A � X2B. The X2 sequence is

delayed by i chips (corresponding to SVi) to form X2i. The P code for SVi is Pi = X1 �X2i.

There is also a phase precession between the X2A/X2B shift registers with respect to

the X1A/X1B shift registers. This is manifested as a phase precession of 37 chips per

X1 period between the X2 epochs (shown in Figure 5.3 as the output of the divide by

37 counter) and the X1 epochs. This is caused by adjusting the X2 period to be 37

chips longer than the X1 period. The details of this phase precession are as follows.

The X1 epoch is defined as 3,750 X1A cycles. When X1A has cycled through 3,750 of

these cycles, or 3,750×4,092 = 15,345,000 chips, a 1.5-second X1 epoch occurs. When

X1B has cycled through 3,749 cycles of 4,093 chips per cycle, or 15,344,657 chips, it is

kept stationary for an additional 343 chips to align it to X1A by halting its clock control

until the 1.5-second X1 epoch resumes it. Therefore, the X1 registers have a combined

period of 15,345,000 chips. X2A and X2B are controlled in the same way as X1A and

Chapter 5. Design of PRN code generators 37

Table 5.1: Code Phase AssignmentsSV PRN C/A-code Tap C/A-code P codeNumber Selection delay(chips) delay(chips)1 2�6 5 12 3�7 6 23 4�8 7 34 5�9 8 45 1�9 17 56 2�6 18 67 1�8 139 78 2�9 140 89 3�10 141 910 2�3 251 1011 3�4 252 1112 5�6 254 1213 6�7 255 1314 7�8 256 14. . . .. . . .. . . .. . . .33 5�10 863 3334 4�10 9503 3435 1�7 947 3536 2�8 948 3637 4�10 9503 37

X1B, respectively, but with one difference: when 15,345,000 chips have completed in

exactly 1.5 seconds, bothX2A andX2B are kept stationary for an additional 37 chips

by halting their clock controls until the X2 epoch or the start of the week resumes

it. Therefore, theX2 registers have a combined period of 15,345,037 chips, which is 37

chips longer than the X1 registers.Note that if the P code were generated by X1 .X2, and

if it were not reset at the end of the week, it would have the potential sequence length

of 15,345,000× 15,345,037 = 2.3547×1014 chips. With a chipping rate of 10.23×106, this

sequence has a period of 266.41 days or 38.058 weeks. However, since the sequence is

truncated at the end of the week, each SV uses only one week of the sequence, and 38

unique one-week PRN sequences are available. The sequence length of each P code,

Chapter 5. Design of PRN code generators 38

Table 5.2: GPS Code Generator Polynomials and Initial StatesRegister Polynomial Initial StateC/A code G1 1 + X3 + X10 1111111111C/A code G2 1 + X2 + X3 + X6 + X8 + X9 + X10 1111111111P code X1A 1 + X6 + X8 + X11 + X12 001001001000P code X1B 1 + X1 + X2 + X5 + X8 + X9 + X10 + X11 + X12 010101010100P code X2A 1 + X1 + X3 + X4 + X5 + X7 + X8 + X9 + X10 + X11 + X12 100100100101P code X2B 1 + X2 + X3 + X4 + X8 + X9 + X12 010101010100

with the truncation to a 7-day period, is 6.1871×1012 chips. As in the case of C/A code,

the first 32 PRN sequences are reserved for the space segment and PRN 33 through 37

are reserved for other uses (e.g., pseudolites). The PRN 38 P code is sometimes used

as a test code in P(Y) code GPS receivers, as well as to generate a reference noise level

(since, by definition, it cannot correlate with any used SV PRN signals). The unique P

code for each SV is the result of the different delay in the X2 output sequence. Table

5.1 shows this delay in P code chips for each SV PRN number.The P code delays (in

P code chips) are identical to their respective PRN numbers for the SVs, but the C/A

code delays (in C/A code chips) are different from their PRN numbers. The C/A code

delays are typically much longer than their PRN numbers. The replica C/A codes for

a conventional GPS receiver can be synthesized by programming the tap selections on

the G2 shift register.

5.3 Correlation results of the implemented GPS receiver

channel

According to the specifications of PRN code generation described in this chapter and

receiver channel architecture described in chapter 4 a receiver channel is implemented

using xilinx system generator.Using this channel the correlation values of incoming

signal for various phase delays are obtained.The incoming signal is modeled by giving

variable delay before being fed to the receiver channel input.The results are shown in

Chapter 5. Design of PRN code generators 39

the figure 5.5.

0 10 20 30 40 50 60 70−2.5

−2

−1.5

−1

−0.5

0

0.5x 10

4

Code phase offset

Correlation of the received signal with Early,Prompt,and Late C/A code Vs Code phase offset

IeIpIlQeQpQl

Figure 5.5: Correlation results with Early,Prompt,and Late signals

Chapter 6

Subchip Multipath Delay Estimation

using TeagerKaiser Operator

Traditional approaches used for channel estimation generally fail in estimating closely-

spaced multipath components in code-division multiple access (CDMA) systems. Ap-

plication of Teager-Kaiser operator[8] for downlink WCDMA multipath delay estima-

tion is a highly efficient technique with subchip resolution capability.[5].This technique

has the advantage of simplicity and efficiency compared to the other available tech-

niques.But the performance of this technique is influenced by the shape of the pulse

waveform used.It performs well for rectangular pulse than other pulse shapes.This

will be described in the following sections.

6.1 Signal and Channel Model

In a downlink DS-CDMA scenario with K users in the system, the received signal can

be written as [9].

r(t) =

K∑

k=1

√Pk

∞∑

n=−∞bn,k

L∑

l=1

αn,lsnk(t − τn,l) + η(t) (6.1)

where

40

Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 41

Pk is the power of user k.bn,k is the transmitted data symbol n of user k. αn,l and τn,l are

the complex attenuation coefficient and delay,repectively, of the l th path during the

symbol n. L is the number of channel paths.snk(.) is the signature of user k during the

symbol n. η(.) is the complex additive white Gaussian noise.

The user signatures are expressed as follows.

snk(t) =

S Fk−1∑

m=0

cnm,k p(t − mTc − nS FkTc) (6.2)

where cnm,k is the code value of m th chip of user k during the symbol n, Tc is the chip

interval, p(.) is the chip pulse shape, S Fk is the spreading factor of user k.

Delay estimation is based on the cross-correlation between the received signal r(t) and

the replica of the desired user signature. The output of the correlator is given by [11].

yn(τ) =√

Pkbn,k

L∑

l=1

αn,lR(τ − τn,l) + η(τ) (6.3)

where η(.) is an additive Gaussian noise process incorporating the effects of noise, mul-

tiuser interference, interpath and intersymbol interference, and R(τ) is the pulse shape

autocorrelation function, which is given for a rectangular pulse shape by equation 3.2.

Equation 6.3 implies that for rectangular pulse shape, the output of the correlator is

a superposition of shifted triangular pulses weighted by the complex channel tap co-

efficients and the data modulation within some additive noise. To avoid the effect of

multipaths the contribution of interfering paths must be subtracted from the output

of the finger tracking the path of interest.For that we need to know these multipath

delays.

Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 42

There are several delay estimation algorithms available for estimating these delays[5].

The performance of the delay estimators is defined by the error statistics such as the

acquisition probability(probability of estimating all multipath delays within a certain

fixed error limit), the mean or the variance of the error,root mean square error (RMSE)

of the multipath delays etc.

TK based algorithm is one of the highly efficient techniques[6] with additional advan-

tage of lowest complexity.It will give best performance for rectangular pulse shape.The

description of this Operator and the results obtained using this operator are shown in

the following section.

6.2 Teager-Kaiser Operator and its application for the De-

lay Estimation

The nonlinear quadratic TK operator was first introduced for measuring the real phys-

ical energy of a system[7].Since its introduction, several other applications have been

found for TK operator.

The Structure of the correlation function 6.3 can be exploited with the aid of the non-

linear TK operator[8] ψ[.] defined below for continuous time function.

ψC[x(t)] = x(t)x∗(t) − 12

[x(t)x∗(t) + x(t)x∗(t)]. (6.4)

Similarly, the discrete-time Teager operator of a complex valued signal is given by[10]

ψD[x(n)] = x(n − 1)x∗(n − 1) − 12

[x(n − 2)x∗(n) + x(n)x∗(n − 2)]. (6.5)

For a real signal equation 6.5 comes into very simple form as

ψD[x(n)] = x2(n − 1) − x(n)x(n − 2). (6.6)

Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 43

By applying the continuous TK operator to 6.3, the following equation can be obtained.

ψC[yn(τ)] =1Tc

L∑

l=1

L∑

j=1

Re[αn,lα∗n, j]R(τ − τn,l) × δ(τ − τn,l)

+1

T 2C

L∑

l=1

L∑

j=1

αn,lα∗n, j × sign((τ − τn,l)(τ − τn,j)) × Π(τ − τn,l,Tc) × Π(τ − τn,j,Tc)

+ ηT K(τ).

Π(t,Tc) =

1 |t| ≤ Tc

0 otherwise(6.7)

where Π(t,Tc) stands for a rectangular function with unit amplitude and duration 2Tc

centered at τ = 0. δ(τ) stands for the Dirac function,and ηT K(τ)is the additive white

Gaussian noise at the output of the TK operator.

This δ(.) function is the result of the sharp edges of the rectangular pulse shape. i.e The

performance of this tecqnique is influenced by the pulse shape.

From equation 6.7 it is very clear that the TK operator applied to the output of the

correlator provides clear time-aligned peak locations of the closely spaced paths in the

presence of a certain ”noise” floor [second and third terms of 6.7].

Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 44

6.3 Simulation Results

The correlation data for different multipath delays is obtained using the implemented

GPS receiver channel.The attenuation factor αn,l is taken into account by giving differ-

ent weights to these time shifted triangular pulses.The results are shown in figure 6.1.

0 50 100 150 200 2500

0.5

1

1.5

2

2.5x 10

4

Delay

Multipath Delay Estimation Using Teager−Kaiser Operator.

LOS(desired signal)1/4 chip delay1/2 chip delay0.9 chip delayTK response

Figure 6.1: peaks shown by TK operator at multipath delays.

6.4 Conclusion

A GPS receiver channel was implemented and it is used to evaluate the performance

of the Teager-Kaiser operator for subchip multipath DS-CDMA delay estimation.From

the equation 6.6 and results obtained it can be concluded that Teager-Kaiser technique

showing very good performance for rectangular pulse with least computational com-

plexity.

Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 45

6.5 Future Work

Teager-Kaiser method is showing excellent performance for rectangular pulse with

least computational complexity.Efficient algorithms must be designed to make it in-

dependent of the pulse shape for showing high performance.This can be done by com-

bining this technique with other efficient but complex techniques and optimizing the

performance.

Bibliography

[1] Simon, M., et al., Spread Spectrum Communications Handbook, New York:

McGraw-Hill,1994.

[2] Betz, J., ”Binary Offset Carrier Modulations for Radionavigation,” NAVIGATION:

Journal of The Institute of Navigation, Vol. 48, No. 4, Winter 20012002.

[3] Gold, R., ”Optimal Binary Sequences for Spread Spectrum Multiplexing,” IEEE

Trans. on Information Theory, Vol. 33, No. 3, 1967.

[4] ARINC, NAVSTAR GPS Space Segment/Navigation User Interfaces, IS-GPS-

200D, ARINC Research Corporation, Fountain Valley, CA, December 7, 2004.

[5] E. S. Lohan, R.Hamila, A. Lakhzouri, and M. Renfors, ”Highly efficient techniques

for mitigating the effects of multipath propagation in DS-CDMA delay estima-

tion,” IEEE Transactions on Wireless Communications, vol. 4, no. 1, pp. 149162,

2005.

[6] R. Hamila, E. S. Lohan, and M. Renfors, ”Subchip multipath delay estimation

for downlink WCDMA system based on Teager-Kaiser operator” IEEE Commun.

Lett., vol. 7, pp. 13, Jan. 2003.

[7] J. F. Kaiser, ”On a simple algorithm to calculate the ’energy’ of a signal,” in Proc.

IEEE Int. Conf. Acoustics, Speech, and Signal Processing (ICASSP), 1990, pp.

381384.

46

BIBLIOGRAPHY 47

[8] R. Hamila, J. Astola, F. A. Cheikh, M. Gabbouj, and M. Renfors, ”Teager energy

and the ambiguity function,” IEEE Trans. Signal Processing, vol. 47, pp. 260262,

Jan. 1999.

[9] ”Physical layer-general description,” 3GPP, 3GPP Tech. Rep. TS 25.201 V3.0.0,

1999.

[10] E. S. Lohan, R. Hamila, and M. Renfors, ”Performance analysis of an efficient

multipath delay estimation approach in CDMA multiuser environment,” Proc.

12th IEEE Int. Symp. on Personal, Indoor and Mobile Radio Communications, pp.

610, 2001.

[11] R. Van Nee, Multipath and Multi-Transmitter Interference in Spread-Spectrum

Communication and Navigation System. Delft, The Netherlands:Delft Univ.

Press, 1995.