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 ...
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
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 inspired 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 support.
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
Autocorrelation and PSD functions of random sequence of pulses . . . .
19
3.3
3.3.1
Effect of finite length PRN code on the autocorrelation function and PSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 GPS Receiver Channel
21 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 receiver 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 velocity of light.This will be done by correlating the received signal with the locally generated carrier and individual satellite’s Pseudo Random Noise(PRN) code.The correlation 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 evaluate the performance of the Teager-Kaiser operator technique for multipath delay estimation is the objective of this project.
1
Thesis Organization There are six chapters in this thesis presentation.The first chapter gives a brief introduction to the satellite navigation and high speed signal processing done by a GPS receiver. The second chapter describes the position determination by satellite navigation 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 described 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 characteristics 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 simulation 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 another.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 determine 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 limited 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 Frequency) incoming signal.The second one is the processing the outputs from the correlators 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 improved 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 outputs will be processed by the baseband proceeses to generate the error correcting signals.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 estimation using Teager-Kaiser operator is one of the highly efficient technique with subchip 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 entails 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 interval, 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) modulation. 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 deterministic. 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 propagation 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 propagation 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 determined 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: T s = System time at which the signal left the satellite T u = 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 (delay) is negative] tu = Offset of the receiver clock from system time T s + δt = Satellite clock reading at the time that the signal left the satellite T u + 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(T u - T s ) = c∆t Pseudo range, ρ = c [(T u + tu ) − (T s + δt)] = c(T u − T s ) + c(tu − δt) = r + c(T u − δt) The formulae for computing the geometric and pseudo ranges are shown above. Assuming 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 origin and it is located at coordinates x s ,y s ,z s within the ECEF(Earth-Centered EarthFixed 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 expanded into the following set of equations in the unknowns xu , yu , zu and tu : ρ1 = ρ2 = ρ3 = ρ4 =
p p p p
(x1 − xu )2 + (y1 − yu )2 + (z1 − zu )2 (x2 − xu )2 + (y2 − yu )2 + (z2 − zu )2 (x3 − xu )2 + (y3 − yu )2 + (z3 − zu )2 (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 considering the first order derivatives only the following matrix equation can be obtained. ∆ρ = H∆x
Chapter 2. Position determination by Satellite Navigation
11
where a x1 ∆ρ1 a x2 ∆ρ2 ∆ρ = H = ∆ρ3 a x3 ∆ρ4 a x4
ay1 az1 1 ∆xu ∆yu ay2 az2 1 ∆x = ∆zu ay3 az3 1 −c∆t a a 1 y4
z4
u
∆ρ and ∆x are the deviations of the actual user position from the approximate position and (a x j , ay j , az j ) are the direction cosines of the unit vector pointing from the approximate user position to the jth satellite. So the user position can be found as follows. −1
∆x = H ∆ρ u = uˆ + ∆x
Chapter 3 GPS signal structure and characteristics The GPS signal format is known as direct sequence spread spectrum.The term direct sequence is used when the spreading of the spectrum is accomplished by phase modulation 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 exploitation 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 T b = 1/Rb seconds, where Rb is the data rate in bits per second. The data waveform amplitude for the kth interval of T b 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 modulation waveforms are shown in the figure 3.2. As shown in Figure 3.2, DSSS signaling adds a third component, referred to as a spreading 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 receivers. 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 between transitions in the PRN waveform is commonly referred to as the chip period, T c ; 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, because 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 significant 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 principle, 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. Several 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 frequencies 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 order 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 measure 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−3 Hz 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 exclusiveor 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 frequency (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
Figure 3.4: Vector diagram of L1 GPS signal
Figure 3.5: GPS code mixing with data
18
Chapter 3. GPS signal structure and characteristics Parameter Chipping rate Chip length Repetition rate Code type
C/A-code 1.023×106 bits per second ≈ 300m 1 Millisecond 37 unique codes
Properties
Easy to acquire
19 P-code 10.23 ×106 bits per second ≈ 30m one week 37 one-week segments 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 1 R(τ) = lim T →∞ 2T
Z
T
s(t)s(t − τ) dt
(3.1)
−T
From the above definition the autocorrelation function of a random sequence of rectangular chips(pulses), each of amplitude A and width T c is given by the following formula.
2 A 1 − R(τ) = 0
|τ| Tc
for|τ| ≤ T c
(3.2)
elsewhere
The power spectral density is defined to be the Fourier transform of the autocorrelation function:
Z
∞
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 ) = A2 T c sinc2 (π f T c ) where sinc(x) =
(3.4)
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 correlates 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 navigation 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 employ 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
2 A 1 − RPN (τ) = − N1
|τ| Tc
1+
1 N
for|τ − nT c | ≤ T c elsewhere
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
(3.5)
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 demodulation of the navigation data. The navigation data are the 50-bits/s data stream modulated 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 required. 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 leakthrough 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 filter 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 simplification, only the functions associated with the code and carrier tracking loops are illustrated, 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 staircase 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 operation, the carrier NCO is controlled by the carrier tracking loop in the receiver processor. 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 chapter 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 tracking 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 register 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 fraction 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 receiver channel.(b)Code-phase discriminator formed by difference between the correlation functions in (a).
Chapter 4. GPS Receiver Channel
28
Predetection Integration Predetection is the signal processing after the IF signal has been converted to baseband 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 multiplication.Figure 4.2 shows three complex correlators required to produce three inphase 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 accumulators 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.The hardware integrate and dump process in combination with the baseband signal processing integrate and dump process defines the predetection integration 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 N
using the following formula M = fop 2fs .Where f s is the receivers clock frequency.One replica carrier cycle and one replica code cycle are completed each time the NCO overflows.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 generation 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 outputs 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 relationship 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 pseudorandom sequence is 1,023/(1.023×106 Hz) 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 21 0 − 1 = 1,023 bits. (The only state not used is the all-zero state). It is common to describe the design of linear code X generators by means of polynomials of the form 1 + X i , where X i 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 + X 3 + X 10 . 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 output 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 reserved 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 pseudosatellites 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 designated X1A, X1B, X2A, and X2B. A detailed block diagram of this shift register architecture 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 exclusiveor 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
Figure 5.3: P code generator.
35
Chapter 5. Design of PRN code generators
36
Clk_cntrl D
Q
Resume En Halt
Reset
Rst
Clk
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
SV PRN Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 . . . . 33 34 35 36 37
Table 5.1: Code Phase Assignments C/A-code Tap C/A-code Selection delay(chips) 26 5 37 6 48 7 59 8 19 17 26 18 18 139 29 140 310 141 23 251 34 252 56 254 67 255 78 256 . . . . . . . . 510 863 410 9503 17 947 28 948 410 9503
37
P code delay(chips) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 . . . . 33 34 35 36 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 States Register Polynomial Initial State 3 10 C/A code G1 1 + X + X 1111111111 2 3 6 8 9 10 C/A code G2 1 + X + X + X + X + X + X 1111111111 P code X1A 1 + X 6 + X 8 + X11 + X 12 001001001000 1 2 5 8 9 10 11 12 P code X1B 1+X +X +X +X +X +X +X +X 010101010100 P code X2A 1 + X 1 + X 3 + X 4 + X 5 + X 7 + X 8 + X 9 + X 10 + X 11 + X 12 100100100101 P 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. 4
0.5
Correlation of the received signal with Early,Prompt,and Late C/A code Vs Code phase offset
x 10
Ie Ip Il Qe Qp Ql
0
−0.5
−1
−1.5
−2
−2.5
0
10
20
30 40 Code phase offset
50
60
Figure 5.5: Correlation results with Early,Prompt,and Late signals
70
Chapter 6 Subchip Multipath Delay Estimation using TeagerKaiser Operator Traditional approaches used for channel estimation generally fail in estimating closelyspaced multipath components in code-division multiple access (CDMA) systems. Application of Teager-Kaiser operator[8] for downlink WCDMA multipath delay estimation is a highly efficient technique with subchip resolution capability.[5].This technique has the advantage of simplicity and efficiency compared to the other available techniques.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 p X k=1
Pk
∞ X n=−∞
bn,k
L X l=1
where 40
αn,l snk (t − τn,l ) + η(t)
(6.1)
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. S Fk −1
snk (t) =
X
cnm,k p(t − mT c − nS Fk T c )
(6.2)
m=0
where cnm,k is the code value of m th chip of user k during the symbol n, T c 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 (τ) =
p
Pk bn,k
L X
αn,l R(τ − τn,l ) + η˜ (τ)
(6.3)
l=1
where η(.) ˜ is an additive Gaussian noise process incorporating the effects of noise, multiuser 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 coefficients 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 advantage 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 Delay Estimation The nonlinear quadratic TK operator was first introduced for measuring the real physical 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 nonlinear TK operator[8] ψ[.] defined below for continuous time function.
1 ψC [x(t)] = x˙(t) x˙∗ (t) − [ x¨(t)x∗ (t) + x(t) x¨∗ (t)]. 2
(6.4)
Similarly, the discrete-time Teager operator of a complex valued signal is given by[10]
1 ψD [x(n)] = x(n − 1)x∗ (n − 1) − [x(n − 2)x∗ (n) + x(n)x∗ (n − 2)]. 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. L L 1 XX ψC [yn (τ)] = Re[αn,l α∗n, j ]R(τ − τn,l ) × δ(τ − τn,l ) T c l=1 j=1 L L 1 XX αn,l α∗n, j × sign((τ − τn,l )(τ − τn,j )) × Π(τ − τn,l , Tc ) × Π(τ − τn,j , Tc ) + TC2 l=1 j=1
+ η˜ T K (τ). 1 Π(t, T c ) = 0
|t| ≤ T c
(6.7)
otherwise
where Π(t, T c ) stands for a rectangular function with unit amplitude and duration 2T c 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 different weights to these time shifted triangular pulses.The results are shown in figure 6.1.
4
2.5
Multipath Delay Estimation Using Teager−Kaiser Operator.
x 10
LOS(desired signal) 1/4 chip delay 1/2 chip delay 0.9 chip delay TK response
2
1.5
1
0.5
0
0
50
100
150
200
250
Delay
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 complexity.
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 independent of the pulse shape for showing high performance.This can be done by combining 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-GPS200D, 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 estimation,” 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.