11.07.2015 Views

Design and Implementation of a GPS receiver channel And ... - SERC

Design and Implementation of a GPS receiver channel And ... - SERC

Design and Implementation of a GPS receiver channel And ... - SERC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

AcknowledgmentsI take this opportunity to express my deep sense <strong>of</strong> gratitude to my thesis guide Pr<strong>of</strong>.S K N<strong>and</strong>y for his constant encouragement <strong>and</strong> guidance.I thank all the faculty members & staff <strong>of</strong> <strong>SERC</strong> for their support.I am grateful to my parents <strong>and</strong> sister, whose faith, patience <strong>and</strong> love had always inspiredme 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 formaking my stay at IISc a memorable one.Special thanks to Reyaz who helped me all the way <strong>of</strong> my project for his valuable support.S.Babu Raoi


ContentsAcknowledgmentsList <strong>of</strong> FiguresivAbstract 1Thesis Organization 21 Introduction 32 Position determination by Satellite Navigation 62.1 Position determination using PRN code . . . . . . . . . . . . . . . . . . . 62.2 Calculation <strong>of</strong> the User Position . . . . . . . . . . . . . . . . . . . . . . . . 103 <strong>GPS</strong> signal structure <strong>and</strong> characteristics 123.1 Modulations <strong>of</strong> <strong>GPS</strong> signal . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 <strong>GPS</strong> Signal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.1 Frequencies,Modulation Format <strong>and</strong> PRN codes . . . . . . . . . . 153.3 Autocorrelation <strong>and</strong> PSD functions <strong>of</strong> r<strong>and</strong>om sequence <strong>of</strong> pulses . . . . 193.3.1 Effect <strong>of</strong> finite length PRN code on the autocorrelation function<strong>and</strong> PSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 <strong>GPS</strong> Receiver Channel 224.1 Analog front end <strong>of</strong> <strong>GPS</strong> <strong>receiver</strong> . . . . . . . . . . . . . . . . . . . . . . . 224.2 Digital <strong>receiver</strong> <strong>channel</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3 Frequency Synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29ii


CONTENTSiii5 <strong>Design</strong> <strong>of</strong> PRN code generators 315.1 C/A code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.2 P code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.3 Correlation results <strong>of</strong> the implemented <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> . . . . . . . 386 Subchip Multipath Delay Estimation using TeagerKaiser Operator 406.1 Signal <strong>and</strong> Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.2 Teager-Kaiser Operator <strong>and</strong> its application for the Delay Estimation . . . 426.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.5 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Bibliography 45


List <strong>of</strong> Figures2.1 Example PRN code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Use <strong>of</strong> replica code to determine satellite code transmission time. . . . . 82.3 Range measurement timing relationships. . . . . . . . . . . . . . . . . . . 93.1 BPSK modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 DSSS modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3 <strong>GPS</strong> signal structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 Vector diagram <strong>of</strong> L1 <strong>GPS</strong> signal . . . . . . . . . . . . . . . . . . . . . . . 183.5 <strong>GPS</strong> code mixing with data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 (a)An example R<strong>and</strong>om Sequence (b)Its autocorrelation function (c)PSD . . . . 203.7 (a)Autocorrelation function <strong>of</strong> a PRN sequence (b)Its PSD . . . . . . . . . . . . 214.1 Generic digital <strong>GPS</strong> <strong>receiver</strong> block diagram. . . . . . . . . . . . . . . . . . . . 234.2 Digital <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> block diagram. . . . . . . . . . . . . . . . . . . . 254.3 (a)Autocorrelation functions <strong>of</strong> Early <strong>and</strong> Late signals generated by <strong>GPS</strong> <strong>receiver</strong><strong>channel</strong>.(b)Code-phase discriminator formed by difference between thecorrelation functions in (a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4 frequency synthesizer block diagram. . . . . . . . . . . . . . . . . . . . . . . 294.5 (a)NCO phase state. (b)cos map output. (c)sin map output. (d)phase plane.(e)phase map table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1 General PRN code generator block diagram. . . . . . . . . . . . . . . . . . . . 315.2 C/A code generator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.3 P code generator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.4 clock control circut shown in figure 5.3. . . . . . . . . . . . . . . . . . . . . . 36iv


LIST OF FIGURESv5.5 Correlation results with Early,Prompt,<strong>and</strong> Late signals . . . . . . . . . . . . . 396.1 peaks shown by TK operator at multipath delays. . . . . . . . . . . . . . . . . 44


AbstractGlobal Positioning System (<strong>GPS</strong>) is a satellite-based navigation system. It is based onthe computation <strong>of</strong> range from the <strong>receiver</strong> to multiple satellites by multiplying thetime delay that a <strong>GPS</strong> signal needs to travel from the satellites to the <strong>receiver</strong> by velocity<strong>of</strong> light.This will be done by correlating the received signal with the locally generatedcarrier <strong>and</strong> individual satellite’s Pseudo R<strong>and</strong>om Noise(PRN) code.The correlationis maximum when frequency <strong>and</strong> phases <strong>of</strong> the carrier <strong>and</strong> code perfectly matchesthose <strong>of</strong> the received signal.Based on these correlation values error(correcting) signalswill be generated by the baseb<strong>and</strong> signal processes to correct the phase <strong>and</strong> frequency<strong>of</strong> the locally generated carrier <strong>and</strong> code to synchronize with the received signal. Thesecorrecting(synchronizing) signals will be influenced by the multipath propagation.Soan efficient technique which is computationally least complex must be used to mitigatethe effect <strong>of</strong> multipath propagation for accurate positioning by <strong>GPS</strong> <strong>receiver</strong>.<strong>Design</strong><strong>and</strong> implementation <strong>of</strong> a <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> <strong>and</strong> using its simulation results to evaluatethe performance <strong>of</strong> the Teager-Kaiser operator technique for multipath delay estimationis the objective <strong>of</strong> this project.1


Thesis OrganizationThere are six chapters in this thesis presentation.The first chapter gives a brief introductionto the satellite navigation <strong>and</strong> high speed signal processing done by a <strong>GPS</strong><strong>receiver</strong>. The second chapter describes the position determination by satellite navigationusing PRN codes. The third chapter describes the <strong>GPS</strong> modulation <strong>and</strong> gives anoverview <strong>of</strong> the spread spectrum principles.The detailed <strong>GPS</strong> signal structure is describedin this chapter. The fourth chapter describes the components <strong>of</strong> <strong>GPS</strong> <strong>receiver</strong><strong>channel</strong> with a brief overview <strong>of</strong> the overall <strong>GPS</strong> <strong>receiver</strong>. The details <strong>of</strong> the PRN codegeneration given by <strong>GPS</strong> specifications is described in the fifth chapter.The characteristics<strong>of</strong> different PRN codes are given in this chapter.Finally the sixth chapter describes the Teager-Kaiser operator <strong>and</strong> its application formultipath delay estimation.The performance <strong>of</strong> this technique is shown using the simulationresults from the implemented <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong>.2


Chapter 1IntroductionNavigation is defined as the science <strong>of</strong> getting a craft or person from one place to another.Insome cases a more accurate knowledge <strong>of</strong> our position,intended course, ortransit time to a desired destination is required.Navigation aids other than l<strong>and</strong>marksare used for such applications. These may be in the form <strong>of</strong> a simple clock to determinethe velocity over a known distance or the odometer in our car to keep track <strong>of</strong> thedistance traveled. Some other navigation aids transmit electronic signals <strong>and</strong> thereforeare more complex. These are referred to as radionavigation aids.Various types <strong>of</strong> radionavigation aids exist.Highly accurate systems generally transmitat relatively short wavelengths,<strong>and</strong> the user must remain within line <strong>of</strong> sight (LOS),whereas systems broadcasting at lower frequencies (longer wavelengths) are not limitedto LOS but are less accurate.Signals from one or more radionavigation aids enable a person (herein referred to asthe user) to compute their position. (Some radionavigation aids provide the capabilityfor velocity determination <strong>and</strong> time dissemination as well.) It is important to note thatit is the users radionavigation <strong>receiver</strong> that processes these signals <strong>and</strong> computes theposition fix. The <strong>receiver</strong> performs the necessary computations (e.g., range, bearing,<strong>and</strong> estimated time <strong>of</strong> arrival) for the user to navigate to a desired location.Global Positioning System (<strong>GPS</strong>) is a satellite-based navigation system. It is based3


Chapter 1. Introduction 5the accurate measurements.There are several techniques proposed for this purpose.Thereis a trade<strong>of</strong>f between the performance <strong>and</strong> complexity <strong>of</strong> these algorithms.Delay estimationusing Teager-Kaiser operator is one <strong>of</strong> the highly efficient technique with subchipmultipath delay estimation capability.Also it has the additional advantage <strong>of</strong> leastcomputational complexity.The detailed description <strong>of</strong> this operator with its capabilities<strong>and</strong> limitations are given in the chapter6.


Chapter 2Position determination by SatelliteNavigation<strong>GPS</strong> utilizes the concept <strong>of</strong> TOA ranging to determine user position. This concept entailsmeasuring 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 <strong>receiver</strong>. This time interval,referred to as the signal propagation time, is then multiplied by the speed <strong>of</strong> thesignal (e.g., speed <strong>of</strong> sound or speed <strong>of</strong> light) to obtain the emitter to <strong>receiver</strong> distance.By measuring the propagation time <strong>of</strong> the signal broadcast from multiple emitters (i.e.,navigation aids) at known locations, the <strong>receiver</strong> can determine its position.2.1 Position determination using PRN code<strong>GPS</strong> satellite transmissions utilize direct sequence spread spectrum (DSSS) modulation.The DSSS modulation is explained in chapter 4. DSSS provides the structurefor the transmission <strong>of</strong> ranging signals <strong>and</strong> essential navigation data, such as satelliteephemerides <strong>and</strong> satellite health. The ranging signals are PRN codes that binary phaseshift key (BPSK) modulate the satellite carrier frequencies. These codes look like <strong>and</strong>have spectral properties similar to r<strong>and</strong>om binary sequences but are actually deterministic.A simple example <strong>of</strong> a short PRN code sequence is shown in Figure 2.1.6


Chapter 2. Position determination by Satellite Navigation 7Figure 2.1: Example PRN codeThese codes have a predictable pattern,which is periodic <strong>and</strong> can be replicated by asuitably equipped <strong>receiver</strong>.But they can approximate the behaviour <strong>of</strong> fully r<strong>and</strong>omcodes.Hence these codes are called pseudo r<strong>and</strong>om codes.Each <strong>GPS</strong> satellite broadcaststwo types <strong>of</strong> PRN ranging codes: ashort coarse/acquisition (C/A)-code <strong>and</strong> a longprecision (P)-code. (The new <strong>GPS</strong> signal consists additional codes also).The C/A code has a 1-ms period <strong>and</strong> repeats constantly, whereas the P-code satellitetransmission is a 7-day sequence that repeats approximately every Saturday/Sundaymidnight.The P-code is encrypted. This encrypted code is denoted as the Y-code. TheY-code is accessible only to PPS users through cryptography. Further details regardingthese PRN codes <strong>and</strong> satellite signal structure were described in the chapter3.The distance between the satellite <strong>and</strong> the user r is computed by measuring the propagationtime required for a satellite-generated ranging code to transit from the satelliteto the user <strong>receiver</strong> antenna. The propagation time measurement process is illustratedin Figure 2.2. As an example, a specific code phase generated by the satellite at t1arrives at the <strong>receiver</strong> at t2. The propagation time is represented by ∆tWithin the <strong>receiver</strong>, an identical coded ranging signal is generated at t, with respect tothe <strong>receiver</strong> clock.This replica code is shifted in time until it achieves correlation withthe received satellite-generated ranging code. If the satellite clock <strong>and</strong> the <strong>receiver</strong>clock were perfectly synchronized, the correlation process would yield the true propagationtime. By multiplying this propagation time, ∆t, by the speed <strong>of</strong> light, the true(i.e.,geometric) satellite-to-user distance can be computed.The <strong>receiver</strong> clock will generally have a bias error from system time. Further, satellitefrequency generation <strong>and</strong> timing is based on a highly accurate free running cesium or


Chapter 2. Position determination by Satellite Navigation 9δt = Offset <strong>of</strong> the satellite clock from system time [advance is positive; retardation (delay)is negative]t u = Offset <strong>of</strong> the <strong>receiver</strong> clock from system timeT s + δt = Satellite clock reading at the time that the signal left the satelliteT u + t u = User <strong>receiver</strong> clock reading at the time the signal reached the user <strong>receiver</strong>c = speed <strong>of</strong> lightFigure 2.3: Range measurement timing relationships.Geometric range, r = c(T u - T s ) = c∆tPseudo range, ρ = c [(T u + t u ) − (T s + δt)]= c(T u − T s ) + c(t u − δt)= r + c(T u − δt)The formulae for computing the geometric <strong>and</strong> pseudo ranges are shown above. Assumingthe satellite error was compensated,the pseudo range equation becomes


Chapter 2. Position determination by Satellite Navigation 10ρ = ||s - u||+ ct uwhere vector s represents the position <strong>of</strong> the satellite relative to the coordinate origin<strong>and</strong> it is located at coordinates x s ,y s ,z s within the ECEF(Earth-Centered Earth-Fixed Coordinate System) Cartesian coordinate system.. Vector s is computed usingephemeris data broadcast by the satellite.<strong>And</strong> vector u,represents a user <strong>receiver</strong>s position with respect to the ECEF coordinatesystem origin. The users position coordinates x u , y u , z u are considered unknown.2.2 Calculation <strong>of</strong> the User PositionIn order to determine user position in three dimension(x u , y u , z u ) <strong>and</strong> the <strong>of</strong>fset t u .pseudorangemeasurements are made to four satellites resulting in the system <strong>of</strong> equations.ρ j = ||s - u||+ ct uwhere j ranges from 1 to 4 <strong>and</strong> references the satellites. Above equation can be exp<strong>and</strong>edinto the following set <strong>of</strong> equations in the unknowns x u , y u , z u <strong>and</strong> t u :ρ 1 = √ (x 1 − x u ) 2 + (y 1 − y u ) 2 + (z 1 − z u ) 2ρ 2 = √ (x 2 − x u ) 2 + (y 2 − y u ) 2 + (z 2 − z u ) 2ρ 3 = √ (x 3 − x u ) 2 + (y 3 − y u ) 2 + (z 3 − z u ) 2ρ 4 = √ (x 4 − x u ) 2 + (y 4 − y u ) 2 + (z 4 − z u ) 2where x j , y j , <strong>and</strong>z j denote the jth satellites position in three dimensions.These equations can be solved for user position u by linearisation <strong>of</strong> above equationsusing taylor series expansion about an approximate user position.After exp<strong>and</strong>ing the above equations about the approximate user position <strong>and</strong> consideringthe first order derivatives only the following matrix equation can be obtained.∆ρ = H∆x


Chapter 2. Position determination by Satellite Navigation 11where⎛⎛∆ρ 1∆ρ 2∆ρ = H =∆ρ 3⎜⎝⎞⎟⎠∆ρ 4 ⎜⎝a x1 a y1 a z1 1a x2 a y2 a z2 1a x3 a y3 a z3 1a x4 a y4 a z4 1⎞⎟⎠∆x =⎛⎜⎝∆x u∆y u∆z u−c∆t u⎞⎟⎠∆ρ <strong>and</strong> ∆x are the deviations <strong>of</strong> the actual user position from the approximate position<strong>and</strong> (a x j , a y j , a z j ) are the direction cosines <strong>of</strong> the unit vector pointing from the approximateuser position to the jth satellite.So the user position can be found as follows.∆x = H −1 ∆ρu = û + ∆x


Chapter 3<strong>GPS</strong> signal structure <strong>and</strong> characteristicsThe <strong>GPS</strong> signal format is known as direct sequence spread spectrum.The term direct sequenceis used when the spreading <strong>of</strong> the spectrum is accomplished by phase modulation<strong>of</strong> the carrier.This chapter will describe the modulations <strong>of</strong> <strong>GPS</strong> signal,Components<strong>of</strong> <strong>GPS</strong> signal,<strong>and</strong> autocorrelation function <strong>of</strong> the Rectangular PRN codes <strong>and</strong> its exploitationfor acquisition <strong>and</strong> tracking <strong>of</strong> <strong>GPS</strong> signal.3.1 Modulations <strong>of</strong> <strong>GPS</strong> signalBPSKBinary phase shift keying (BPSK) is a simple digital signaling scheme in which an RFcarrier is either transmitted as it is or with a 180 o phase shift over successive intervalsin time depending on whether a digital 0 or 1 is being conveyed an example is shownin the figure 3.1.BPSK signal, as illustrated in Figure 3.1, can be thought <strong>of</strong> as the product <strong>of</strong> two timewaveforms: the unmodulated RF carrier <strong>and</strong> a data waveform that takes on a value<strong>of</strong> either +1 or -1 for each successive interval <strong>of</strong> T b= 1/R b seconds, where R b is thedata rate in bits per second. The data waveform amplitude for the kth interval <strong>of</strong>T b seconds can be generated from the kth data bit to be transmitted using either the12


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 14Figure 3.2: DSSS modulationsymbol; <strong>and</strong> the reciprocal <strong>of</strong> the chip period is known as the chipping rate, R c . Theindependent time parameter for the PRN waveform is <strong>of</strong>ten expressed in units <strong>of</strong> chips<strong>and</strong> referred to as codephase. The signal just described is called spread spectrum, because<strong>of</strong> the wider b<strong>and</strong>width occupied by the signal after modulation by the high-ratePRN waveform. In general, the b<strong>and</strong>width is proportional to the chipping rate. Thereare three primary reasons why DSSS waveforms are employed for satellite navigation.First <strong>and</strong> most importantly, the frequent phase inversions in the signal introduced bythe PRN waveform enable precise ranging by the <strong>receiver</strong>.Second, the use <strong>of</strong> differentPRN sequences from a well-designed set enables multiple satellites to transmit signalssimultaneously <strong>and</strong> at the same frequency. A <strong>receiver</strong> can distinguish among thesesignals, based on their different codes. For this reason, the transmission <strong>of</strong> multipleDSSS signals having different spreading sequences on a common carrier frequency isreferred to as code division multiple access (CDMA). Finally DSSS provides significantrejection <strong>of</strong> narrowb<strong>and</strong> interference. The chip waveform in a DSSS signal does


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 15not need to be rectangular (i.e., a constant amplitude over the chip period).In principle,any shape could be used <strong>and</strong> different shapes can be used for different chips.DSSSsignals generated using BPSK signaling with rectangular chips as BPSK-R signals. Severalvariations <strong>of</strong> the basic DSSS signal that employ nonrectangular symbols have beeninvestigated for satellite navigation applications in recent years. Binary <strong>of</strong>fset carrier(BOC) signals are generated using DSSS techniques but employ portions <strong>of</strong> a squarewave for the spreading symbols [2].3.2 <strong>GPS</strong> Signal StructureThe <strong>GPS</strong> Satellites(refer to as SV’s) transmit navigation signals on two carrier frequenciescalled L1, the primary frequency, <strong>and</strong> L2, the seconda ry frequency. The carrierfrequencies are DSSS modulated by spread spectrum codes with unique PRN(PseudoR<strong>and</strong>om Noise) sequences associated with each SV <strong>and</strong> by a common navigation datamessage. All SVs transmit at the same carrier frequencies in a CDMA fashion. In orderto track one SV in common view with several other SVs by the CDMA technique, a<strong>GPS</strong> <strong>receiver</strong> must replicate the PRN sequence for the desired SV along with the replicacarrier signal,including Doppler effects. Two carrier frequencies are required to measurethe ionospheric delay, since this delay is related by a scale factor to the differencein signal TOA(time <strong>of</strong> arrival) for the two carrier frequencies. Single frequency usersmust estimate the ionospheric delay using modeling parameters that are broadcast tothe user in the navigation message.3.2.1 Frequencies,Modulation Format <strong>and</strong> PRN codesA block diagram that is representative <strong>of</strong> the SV signal structure for L1 (154 f 0 ) <strong>and</strong> L2(120 f 0 ) is shown in Figure 3.3 (where f 0 is the fundamental frequency: 10.23MHz).As shown in Figure 3.3, the L1 frequency (154 f 0 ) is modulated by two PRN codes(plus the navigation message data), the C/A code, <strong>and</strong> the P code. The L2 frequency


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 16(120 f 0 ) is modulated by only one PRN code at a time. One <strong>of</strong> the P code modes hasno data modulation. The nominal reference frequency, f 0 , as it appears to an observeron the ground, is 10.23 MHz. To compensate for relativistic effects, the output <strong>of</strong> theSV’s frequency st<strong>and</strong>ard (as it appears from the SV) is 10.23 MHz <strong>of</strong>fset by a ∆ f /f <strong>of</strong>4.467×10 −10 . This results in a ∆ f <strong>of</strong> 4.57 ×10 −3 Hz <strong>and</strong> f 0 = 10.22999999543 MHz. To the<strong>GPS</strong> <strong>receiver</strong> on the ground, the C/A code has a chipping rate <strong>of</strong> 1.023 ×10 6 chips/s( f 0 /10 = 1.023 MHz) <strong>and</strong> the P code has a chipping rate <strong>of</strong> 10.23 ×10 6 chips/s ( f 0 = 10.23MHz).The C/A code signal uses a BPSK-R(1) (means BPSK modulation using 1MHzchipping rate) modulation <strong>and</strong> the P code uses a BPSK-R(10) modulation.Where The Pcode is available only to specific users such as military.Figure 3.3: <strong>GPS</strong> signal structureAs figure 3.3 shows the same 50-bps navigation message data is combined with both


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 17the C/A code <strong>and</strong> the P(Y) code prior to modulation with the L1 carrier. An exclusiveorlogic gate is used for this modulation process, denoted by . Since the C/A code data <strong>and</strong> P(Y) code data are both synchronous operations, the bit transition ratecannot exceed the chipping rate <strong>of</strong> the PRN codes. Also note that BPSK modulation isused with the carrier signals. The P(Y) code data is modulated in phase quadraturewith the C/A code data on L1. As shown in Figure 3.3, the L1 carrier is phase shifted90 o before being BPSK modulated by the C/A code data.Then this result is combinedwith the attenuated output <strong>of</strong> the BPSK modulation <strong>of</strong> L1 by the P(Y) code data. The3-dB amplitude difference <strong>and</strong> phase relationship between P code <strong>and</strong> C/A code on L1are illustrated by the vector phase diagram in Figure 3.4. Figure 3.5 illustrates the result<strong>of</strong> P code data <strong>and</strong> C/A data. As observed in Figure 3.4, the exclusive-or processis equivalent to binary multiplication <strong>of</strong> two 1-bit values yielding a 1-bit product usingthe convention that logical 0 is plus <strong>and</strong> logical 1 is minus.There are 204,600 P(Y) code epochs between data epochs <strong>and</strong> 20,460 C/A code epochsbetween data epochs, so the number <strong>of</strong> times that the phase could change in the PRNcode sequences due to data modulation is relatively infrequent, but the spectrum changesdue to this modulation are very significant.There are 154 carrier cycles per P(Y) code chip <strong>and</strong> 1,540 carrier cycles per C/A codechip 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/Acode data or by the P(Y) code alone as selected by the CS(Ground based Controlsigment which monitors <strong>and</strong> controls the satellite navigation). The P(Y) code <strong>and</strong> C/Acodes are never present simultaneously on L2 prior to <strong>GPS</strong> modernization unlike thecase with L1. In general, the P(Y) code data is the one selected by the CS. There are120 carrier cycles per P(Y) code chip on L2, so the phase transitions on the L2 carrierare relatively infrequent. Table 3.1 summarizes the <strong>GPS</strong> signal structure on L1 <strong>and</strong> L2.


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 18Figure 3.4: Vector diagram <strong>of</strong> L1 <strong>GPS</strong> signalFigure 3.5: <strong>GPS</strong> code mixing with data


U N I V E R S I D A D E D O E S T A D O D E S A N T A C A T A R I N ACENTRO DE EDUCAÇÃO FÍSICA, FISIOTERAPIA E DESPORTOS§ 3º A critério da Instituição de Ensino Superior, o projeto pedagógico do cursode graduação em Educação Física poderá propor um ou mais núcleostemáticos de apr<strong>of</strong>undamento, utiliz<strong>and</strong>o até 20% da carga horária total,articul<strong>and</strong>o as unidades de conhecimento e de experiências que ocaracterizarão.§ 4º As questões pertinentes às peculiaridades regionais, às identidadesculturais, à educação ambiental, ao trabalho, às necessidades das pessoasportadoras de deficiência e de grupos e comunidades especiais deverão serabordadas no trato dos conhecimentos da formação do graduado emEducação Física.Art. 8º Para o Curso de Formação de Pr<strong>of</strong>essores da Educação Básica, licenciaturaplena em Educação Física, as unidades de conhecimento específico que constituemo objeto de ensino do componente curricular Educação Física serão aquelas quetratam das dimensões biológicas, sociais, culturais, didático-pedagógicas, técnicoinstrumentaisdo movimento humano.Art. 9º O tempo mínimo para integralização do curso de graduação em EducaçãoFísica será definido em Resolução específica do Conselho Nacional de Educação.Art. 10. A formação do graduado em Educação Física deve assegurar aindissociabilidade teoria-prática por meio da prática como componente curricular,estágio pr<strong>of</strong>issional curricular supervisionado e atividades complementares.§ 1º A prática como componente curricular deverá ser contemplada no projetopedagógico, sendo vivenciada em diferentes contextos de aplicaçãoacadêmico-pr<strong>of</strong>issional, desde o início do curso.§ 2º O estágio pr<strong>of</strong>issional curricular representa um momento da formação emque o gradu<strong>and</strong>o deverá vivenciar e consolidar as competências exigidas parao exercício acadêmico-pr<strong>of</strong>issional em diferentes campos de intervenção, soba supervisão de pr<strong>of</strong>issional habilitado e qualificado, a partir da segundametade do curso.Rua Pascoal Simone, 358, Coqueiros, Florianópolis, Santa Catarina, BrasilFone/Fax (0**48) 3321-8600 – Sítio Eletrônico: www.cefid.udesc.br24


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 20power spectral densities are shown in the figures 3.6.Figure 3.6: (a)An example R<strong>and</strong>om Sequence (b)Its autocorrelation function (c)PSDThe important property <strong>of</strong> a DSSS signal using a r<strong>and</strong>om binary code is that it correlateswith itself in one <strong>and</strong> only one place(within one chip <strong>of</strong>fset), <strong>and</strong> it is uncorrelatedwith any other r<strong>and</strong>om binary code or with itself if the <strong>of</strong>fset(τ) is more than one chipperiod.Because <strong>of</strong> this property satellite can recognize a particular satellite <strong>and</strong> canknow whether the received signal is within one chip <strong>of</strong>fset or not. But satellite navigationsystems employing rectangular chips have similar autocorrelation <strong>and</strong> power


Chapter 3. <strong>GPS</strong> signal structure <strong>and</strong> characteristics 21spectrum properties to those described for the r<strong>and</strong>om binary code case, but they employPRN codes that are perfectly predictable <strong>and</strong> reproducible. This is why they arecalled pseudo r<strong>and</strong>om codes.3.3.1 Effect <strong>of</strong> finite length PRN code on the autocorrelation function<strong>and</strong> PSDBecause <strong>of</strong> the finite length <strong>of</strong> the PRN codes used by satellites the code repeats afterevery finite interval N (but approximate r<strong>and</strong>om nature within this interval).Hence thethe autocorrelation function described above will become periodic with period N <strong>and</strong>function out side the chip period won’t completely vanish.So the actual autocorrelation function for PRN sequence is given by⎧⎪⎨ A ( ( ))2 1 − |τ|TR PN (τ) =c1 +1N⎪⎩− 1 Nfor|τ − nT c | ≤ T celsewhere(3.5)where n = 0,±1,±2,±3,.......This function <strong>and</strong> its PSD are shown in the figure 3.7.Figure 3.7: (a)Autocorrelation function <strong>of</strong> a PRN sequence (b)Its PSD


Chapter 4<strong>GPS</strong> Receiver ChannelThe ultimate goal <strong>of</strong> <strong>GPS</strong> is to provide position,velocity,<strong>and</strong> time.To achieve these theprimary tasks it has to perform are measurement <strong>of</strong> range <strong>and</strong> range-rate <strong>and</strong> demodulation<strong>of</strong> the navigation data. The navigation data are the 50-bits/s data stream modulatedonto the <strong>GPS</strong> signal. The navigation data contain the satellite clock <strong>and</strong> orbitalparameters which are used in the computation <strong>of</strong> user position.4.1 Analog front end <strong>of</strong> <strong>GPS</strong> <strong>receiver</strong>Most modern <strong>GPS</strong> <strong>receiver</strong> designs are digital <strong>receiver</strong>s. Block diagram <strong>of</strong> a digital<strong>GPS</strong> <strong>receiver</strong> is shown in figure 4.1. The <strong>GPS</strong> RF signals <strong>of</strong> all SVs in view are receivedby a RHCP(right h<strong>and</strong> circularly polarized) antenna with nearly hemispherical (i.e.,above the local horizon) gain coverage. These RF signals are amplified by a low noisepreamplifier (preamp), which effectively sets the noise figure <strong>of</strong> the <strong>receiver</strong>. Theremay be a passive b<strong>and</strong>pass prefilter between the antenna <strong>and</strong> preamp to minimizeout-<strong>of</strong>-b<strong>and</strong> RF interference. These amplified <strong>and</strong> signal conditioned RF signals arethen 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, based22


Chapter 4. <strong>GPS</strong> Receiver Channel 23Figure 4.1: Generic digital <strong>GPS</strong> <strong>receiver</strong> block diagram.on the frequency plan <strong>of</strong> the <strong>receiver</strong> design. One LO per downconverter stage is required.The LO signal mixing process generates both upper <strong>and</strong> lower sideb<strong>and</strong>s <strong>of</strong>the SV signals, so the lower sideb<strong>and</strong>s are selected <strong>and</strong> the upper sideb<strong>and</strong>s <strong>and</strong> leakthroughsignals are rejected by a postmixer b<strong>and</strong>pass filter. The signal Dopplers <strong>and</strong>the PRN codes are preserved after the mixing process. Only the carrier frequency islowered, but the Doppler remains referenced to the original L-b<strong>and</strong> signal. The A/Dconversion process <strong>and</strong> automatic gain control (AGC) functions take place at IF. Notshown in the block diagram are the baseb<strong>and</strong> timing signals that are provided to thedigital <strong>receiver</strong> <strong>channel</strong>s by the frequency synthesizer phase locked to the referenceoscillators stable frequency. The IF must be high enough to provide a single-sidedb<strong>and</strong>width that will support the PRN code chipping frequency. An antialiasing IF filtermust suppress the stopb<strong>and</strong> noise (unwanted out-<strong>of</strong>-b<strong>and</strong> signals) to levels that areacceptably low when this noise is aliased into the <strong>GPS</strong> signal passb<strong>and</strong> by the A/Dconversion process. The signals from all <strong>GPS</strong> satellites in view are buried in thermal


Chapter 4. <strong>GPS</strong> Receiver Channel 24noise at IF. At this point the digitized IF signals are ready to be processed by each <strong>of</strong>the N digital <strong>receiver</strong> <strong>channel</strong>s. No demodulation has taken place, only signal gain <strong>and</strong>conditioning plus A/D conversion into the digital IF.This digitized IF signal will be processed by a set <strong>of</strong> <strong>channel</strong>s which will normallyimplemented on ASIC or FPGA.A <strong>channel</strong> may be assigned to a single satellite ormultiple <strong>channel</strong>s using multiplexing depending upon the availability <strong>of</strong> hardwareresources.The next section describes the detailed <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> architecture.4.2 Digital <strong>receiver</strong> <strong>channel</strong>Figure 4.2 illustrates a high-level block diagram typical <strong>of</strong> one <strong>of</strong> the digital <strong>receiver</strong><strong>channel</strong>s where the digitized received IF signal is applied to the input. For simplification,only the functions associated with the code <strong>and</strong> carrier tracking loops are illustrated,<strong>and</strong> the <strong>receiver</strong> <strong>channel</strong> is assumed to be tracking the SV signal in steadystate. Referring to Figure 4.2, first the digital IF is stripped <strong>of</strong> the carrier (plus carrierDoppler) by the replica carrier (plus carrier Doppler) signals to produce in-phase (I)<strong>and</strong> quadraphase (Q) sampled data. Note that the replica carrier signal is being mixedwith all <strong>of</strong> the in-view <strong>GPS</strong> SV signals (plus noise) at the digital IF.The I <strong>and</strong> Q signalsat the outputs <strong>of</strong> the mixers have the desired phase relationships with respect to thedetected carrier <strong>of</strong> the desired SV.The NCO shown in the figure is described in the next section.This produces a staircasefunction whose period is the desired replica carrier plus Doppler period. The sine<strong>and</strong> cosine map functions convert each discrete amplitude <strong>of</strong> the staircase function tothe corresponding discrete amplitude <strong>of</strong> the respective sine <strong>and</strong> cosine functions. Byproducing I <strong>and</strong> Q component phases 90 apart, the resultant signal amplitude can becomputed from the vector sum <strong>of</strong> the I <strong>and</strong> Q components, <strong>and</strong> the phase angle with


Chapter 4. <strong>GPS</strong> Receiver Channel 25Figure 4.2: Digital <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> block diagram.respect to the I-axis can be determined from the arctangent <strong>of</strong> Q/I. In closed loop operation,the carrier NCO is controlled by the carrier tracking loop in the <strong>receiver</strong> processor.In phase lock loop (PLL) operation, the objective <strong>of</strong> the carrier tracking loop isto keep the phase error between the replica carrier <strong>and</strong> the incoming SV carrier signalsat zero. Any misalignment in the replica carrier phase with respect to the incomingSV signal carrier phase produces a nonzero phase angle <strong>of</strong> the prompt I <strong>and</strong> Q vectormagnitude, so that the amount <strong>and</strong> direction <strong>of</strong> the phase change can be detected <strong>and</strong>corrected by the carrier tracking loop.The autocorrelation function <strong>of</strong> the PRN sequence described in the previous chapterwill be used for this purpose.The <strong>GPS</strong> <strong>receiver</strong> generates a set <strong>of</strong> 3 codes calledEarly(E),Prompt(P) <strong>and</strong> Late(L) signals.E <strong>and</strong> L are typically separated in phase by 1


Chapter 4. <strong>GPS</strong> Receiver Channel 26chip <strong>and</strong> P is in the middle. Correspondingly the autocorrelation functions for the E<strong>and</strong> L signals will be shifted left <strong>and</strong> right respectively by half chip period as shownthe figure 4.3.In Figure 4.2, the I <strong>and</strong> Q signals are correlated with early, prompt, <strong>and</strong> late replicacodes (plus code Doppler) synthesized by the code generator, a 2-bit shift register, <strong>and</strong>the code NCO. In closed loop operation, the code NCO is controlled by the code trackingloop in the <strong>receiver</strong> processor.The code NCO produces twice the code generatorclocking rate, 2 f co , <strong>and</strong> this is fed to the clock input <strong>of</strong> the 2-bit shift register. Thecode generator clocking rate, f co , that contains the nominal spreading code chip rate(plus code Doppler) is fed to the code generator. The NCO clock, f c , should be a muchhigher frequency than the shift register clock, 2 f co .With this combination, the shift registerproduces two phase-delayed versions <strong>of</strong> the code generator output. As a result,there are three replica code phases designated as early (E), prompt (P), <strong>and</strong> late (L).Not shown are the controls to the code generator that permit the <strong>receiver</strong> processor topreset the initial code tracking phase states that are required during the code search<strong>and</strong> acquisition (or reacquisition) process.The prompt replica code phase is alignedwith the incoming SV code phase producing maximum correlation if it is tracking theincoming SV code phase. Under this circumstance, the early phase is aligned a fraction<strong>of</strong> a chip period early, <strong>and</strong> the late phase is aligned the same fraction <strong>of</strong> the chipperiod late with respect to the incoming SV code phase, <strong>and</strong> these correlators produceabout half the maximum correlation. Any misalignment in the replica code phase withrespect to the incoming SV code phase produces a difference in the vector magnitudes<strong>of</strong> the early <strong>and</strong> late correlated outputs so that the amount <strong>and</strong> direction <strong>of</strong> the phasechange can be detected <strong>and</strong> 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) <strong>and</strong> theQ signals are minimum (containing only noise).


Chapter 4. <strong>GPS</strong> Receiver Channel 27Figure 4.3: (a)Autocorrelation functions <strong>of</strong> Early <strong>and</strong> Late signals generated by <strong>GPS</strong> <strong>receiver</strong><strong>channel</strong>.(b)Code-phase discriminator formed by difference between the correlation functionsin (a).


Chapter 4. <strong>GPS</strong> Receiver Channel 28Predetection IntegrationPredetection is the signal processing after the IF signal has been converted to baseb<strong>and</strong>by the carrier <strong>and</strong> code stripping processes, but prior to being passed througha signal discriminator. Extensive digital predetection integration <strong>and</strong> dump processesoccur after the carrier <strong>and</strong> code stripping processes. This causes very large numbersto accumulate, even when 1 to 3 bits <strong>of</strong> quantization resolutions are used for IF A/Dconversion.The code wipe<strong>of</strong>f process that follows usually involving only 1-bit multiplication.Figure4.2 shows three complex correlators required to produce three inphasecomponents, which are integrated <strong>and</strong> dumped to produce I E , I P , I L <strong>and</strong> threequadraphase components integrated <strong>and</strong> dumped to produce Q E , Q P , Q L . The carrierwipe<strong>of</strong>f <strong>and</strong> code wipe<strong>of</strong>f processes must be performed at the digital IF sample rate,which is <strong>of</strong> the order <strong>of</strong> 50 MHz for a military P(Y) code <strong>receiver</strong> (that also operateswith C/A code), 5 MHz for civil C/A code <strong>receiver</strong>s that use 1-chip E-L correlatorspacing, <strong>and</strong> up to 50 MHz for civil C/A code <strong>receiver</strong>s that use narrow correlatorspacing for improved multipath error performance. The integrate <strong>and</strong> dump accumulatorsprovide filtering <strong>and</strong> resampling at the processor baseb<strong>and</strong> input rate, which canbe at 1,000 Hz during search modes or as low as 50 Hz during track modes, dependingon the desired dwell time during search or the desired predetection integrationtime during track.The hardware integrate <strong>and</strong> dump process in combination with thebaseb<strong>and</strong> signal processing integrate <strong>and</strong> dump process defines the predetection integrationtime.Predetection integration time is a compromise design. It must be as longas possible to operate under weak or RF interference signal conditions, <strong>and</strong> it must beas short as possible to operate under high dynamic stress signal conditions.


Chapter 4. <strong>GPS</strong> Receiver Channel 294.3 Frequency SynthesizerThe local carrier <strong>and</strong> code frequencies are synthesized from a high frequency sourcein the <strong>receiver</strong> using a numerically controlled oscillator(NCO).Figure 4.4. shows theblock diagram <strong>of</strong> a frequency synthesizer.Figure 4.4: frequency synthesizer block diagram.The NCO consists a hold register <strong>of</strong> fixed number <strong>of</strong> bits.In each clock cycle the valuehold by this register will be incremented by fixed value M which will be determinedby the frequency selection as follows.If the desired output frequency is f op <strong>and</strong> holdregister is <strong>of</strong> size N bits.After every 2 N /M clock cycles the hold register overflows <strong>and</strong>reset to 0.Hence the frequency will be divided by 2 N /M.Hence M value can be obtained2using the following formula M = f Nop f s.Where f s is the <strong>receiver</strong>s clock frequency.Onereplica carrier cycle <strong>and</strong> one replica code cycle are completed each time the NCO overflows.TheNCO phase diagram,cos <strong>and</strong> sin map diagrams are shown in figure 4.5.The number <strong>of</strong> bits, j, is determined for the sin <strong>and</strong> cos outputs. The phase plane <strong>of</strong>


Chapter 4. <strong>GPS</strong> Receiver Channel 30Figure 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 eachwaveform, one value per phase point. Each value represents the amplitude <strong>of</strong> thewaveform to be generated at that phase point. The upper j bits <strong>of</strong> the holding registerare used to determine the address <strong>of</strong> the waveform amplitude.Rate at which phaseplane is traversed determines the frequency <strong>of</strong> the output waveform.


Chapter 5<strong>Design</strong> <strong>of</strong> PRN code generatorsFigure 5.1 depicts a high-level block diagram <strong>of</strong> the direct sequence PRN code generationused for <strong>GPS</strong> C/A code <strong>and</strong> 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. <strong>Design</strong> <strong>of</strong> PRN code generators 32the second code generator output is delayed with respect to the first before their outputsare combined by an exclusive-or circuit. The amount <strong>of</strong> delay is different for eachSV. In the case <strong>of</strong> 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 relationshipto the PRN number. These delays are summarized in Table 5.1. The C/A codedelay can be implemented by a simple but equivalent technique that eliminates theneed for a delay register. This technique is explained in the following paragraphs.5.1 C/A code generationThe <strong>GPS</strong> C/A code is a Gold code [3] with a sequence length <strong>of</strong> 1,023 bits (chips). SinceFigure 5.2: C/A code generator.


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 33the chipping rate <strong>of</strong> the C/A code is 1.023 MHz, the repetition period <strong>of</strong> the pseudor<strong>and</strong>omsequence is 1,023/(1.023×10 6 Hz) or 1 ms. Figure 5.2 illustrates the designarchitecture <strong>of</strong> the <strong>GPS</strong> C/A code generator.Not included in this diagram are the controls necessary to set or read the phase states<strong>of</strong> the registers or the counters. There are two 10-bit shift registers, G1 <strong>and</strong> G2, whichgenerate maximum length PRN codes with a length <strong>of</strong> 2 1 0 − 1 = 1,023 bits. (The onlystate not used is the all-zero state). It is common to describe the design <strong>of</strong> linear code∑generators by means <strong>of</strong> polynomials <strong>of</strong> the form 1 + X i , where X i means that theoutput <strong>of</strong> the ith cell <strong>of</strong> the shift register is used as the input to the modulo-2 adder(exclusive-or), <strong>and</strong> the 1 means that the output <strong>of</strong> the adder is fed to the first cell. Thedesign specification for C/A code calls for the feedback taps <strong>of</strong> the G1 shift register tobe connected to stages 3 <strong>and</strong> 10. These register states are combined with each other byan exclusive-or circuit <strong>and</strong> fed back to stage 1. The polynomial that describes this shiftregister architecture is: G1 = 1 + X 3 + X 10 . The polynomials <strong>and</strong> initial states for boththe C/A-code <strong>and</strong> P-code generator shift registers are summarized in Table 5.2.The unique C/A code for each SV is the result <strong>of</strong> the exclusive-or <strong>of</strong> the G1 direct outputsequence <strong>and</strong> a delayed version <strong>of</strong> the G2 direct output sequence. The equivalentdelay effect in the G2 PRN code is obtained by the exclusive-or <strong>of</strong> the selected positions<strong>of</strong> the two taps whose output is called G21. This is because a maximum-length PRNcode sequence has the property that adding a phase-shifted version <strong>of</strong> itself producesthe same sequence but at a different phase. The function <strong>of</strong> the two taps on the G2 shiftregister in Figure 5.2 is to shift the code phase in G2 with respect to the code phase inG1 without the need for an additional shift register to perform this delay. Each C/Acode PRN number is associated with the two tap positions on G2. Table 5.1 describesthese tap combinations for all defined <strong>GPS</strong> PRN numbers <strong>and</strong> specifies the equivalentdirect sequence delay in C/A code chips. The first 32 <strong>of</strong> these PRN numbers are reservedfor the space segment. Five additional PRN numbers, PRN 33 to PRN 37, are


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 34reserved for other uses, such as ground transmitters (also referred to as pseudosatellitesor pseudolites). C/A codes 34 <strong>and</strong> 37 are identical.5.2 P code generationThe <strong>GPS</strong> P code is a PRN sequence generated using four 12-bit shift registers designatedX1A, X1B, X2A, <strong>and</strong> X2B. A detailed block diagram <strong>of</strong> this shift register architectureis shown in figure 5.3 [4]. Not included in this diagram are the controls necessaryto set or read the phase states <strong>of</strong> the registers <strong>and</strong> counters. This reset <strong>and</strong> clock controllogic were shown in figure 5.4. The X1A register output is combined by an exclusiveorcircuit with the X1B register output to form the X1 code generator <strong>and</strong> that the X2Aregister output is combined by an exclusive-or circuit with the X2B register output t<strong>of</strong>orm the X2 code generator.The composite X2 result is fed to a shift register delay <strong>of</strong>the SV PRN number in chips <strong>and</strong> then combined by an exclusive-or circuit with the X1composite result to generate the P code. The design specification for the P code calls foreach <strong>of</strong> the four shift registers to have a set <strong>of</strong> feedback taps that are combined by anexclusive-or circuit with each other <strong>and</strong> fed back to their respective input stages. Thepolynomials that describe the architecture <strong>of</strong> these feedback shift registers are shownin Table 5.2, <strong>and</strong> the logic diagram is shown in detail in Figure 5.3. As shown in Figure5.3,the natural cycles <strong>of</strong> all four feedback shift registers are truncated. For example,X1A <strong>and</strong> X2A are both reset after 4,092 chips,eliminating the last three chips <strong>of</strong> theirnatural 4,095 chip sequences. The registers X1B <strong>and</strong> X2B are both reset after 4,093 chips,eliminating the last two chips <strong>of</strong> their natural 4,095 chip sequences. This results in thephase <strong>of</strong> the X1B sequence lagging by one chip with respect to the X1A sequence foreach X1A register cycle. As a result, there is a relative phase precession between theX1A <strong>and</strong> X1B registers. A similar phase precession takes place between X2A <strong>and</strong> X2B.At the beginning <strong>of</strong> the <strong>GPS</strong> week, all <strong>of</strong> the shift registers are set to their initial statessimultaneously, as shown in Table 5.2.


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 35Figure 5.3: P code generator.


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 36DQClk_cntrlResumeHaltEnResetRstClkFigure 5.4: clock control circut shown in figure 5.3.Also, at the end <strong>of</strong> each X1A epoch, the X1A shift register is reset to its initial state. Atthe end <strong>of</strong> each X1B epoch, the X1B shift register is reset to its initial state. At the end <strong>of</strong>each X2A epoch, the X2A shift register is reset to its initial state. At the end <strong>of</strong> each X2Bepoch, the X2B shift register is reset to its initial state. The outputs (stage 12) <strong>of</strong> the A<strong>and</strong> B registers are combined by an exclusive-or circuit to form an X1 sequence derivedfrom X1A X1B, <strong>and</strong> an X2 sequence derived from X2A X2B. The X2 sequence isdelayed 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 tothe X1A/X1B shift registers. This is manifested as a phase precession <strong>of</strong> 37 chips perX1 period between the X2 epochs (shown in Figure 5.3 as the output <strong>of</strong> the divide by37 counter) <strong>and</strong> the X1 epochs. This is caused by adjusting the X2 period to be 37chips longer than the X1 period. The details <strong>of</strong> this phase precession are as follows.The X1 epoch is defined as 3,750 X1A cycles. When X1A has cycled through 3,750 <strong>of</strong>these cycles, or 3,750×4,092 = 15,345,000 chips, a 1.5-second X1 epoch occurs. WhenX1B has cycled through 3,749 cycles <strong>of</strong> 4,093 chips per cycle, or 15,344,657 chips, it iskept stationary for an additional 343 chips to align it to X1A by halting its clock controluntil the 1.5-second X1 epoch resumes it. Therefore, the X1 registers have a combinedperiod <strong>of</strong> 15,345,000 chips. X2A <strong>and</strong> X2B are controlled in the same way as X1A <strong>and</strong>


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 37Table 5.1: Code Phase AssignmentsSV PRN C/A-code Tap C/A-code P codeNumber Selection delay(chips) delay(chips)1 26 5 12 37 6 23 48 7 34 59 8 45 19 17 56 26 18 67 18 139 78 29 140 89 310 141 910 23 251 1011 34 252 1112 56 254 1213 67 255 1314 78 256 14. . . .. . . .. . . .. . . .33 510 863 3334 410 9503 3435 17 947 3536 28 948 3637 410 9503 37X1B, respectively, but with one difference: when 15,345,000 chips have completed inexactly 1.5 seconds, bothX2A <strong>and</strong>X2B are kept stationary for an additional 37 chipsby halting their clock controls until the X2 epoch or the start <strong>of</strong> the week resumesit. Therefore, theX2 registers have a combined period <strong>of</strong> 15,345,037 chips, which is 37chips longer than the X1 registers.Note that if the P code were generated by X1 .X2, <strong>and</strong>if it were not reset at the end <strong>of</strong> the week, it would have the potential sequence length<strong>of</strong> 15,345,000× 15,345,037 = 2.3547×10 14 chips. With a chipping rate <strong>of</strong> 10.23×10 6 , thissequence has a period <strong>of</strong> 266.41 days or 38.058 weeks. However, since the sequence istruncated at the end <strong>of</strong> the week, each SV uses only one week <strong>of</strong> the sequence, <strong>and</strong> 38unique one-week PRN sequences are available. The sequence length <strong>of</strong> each P code,


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 38Table 5.2: <strong>GPS</strong> Code Generator Polynomials <strong>and</strong> Initial StatesRegister Polynomial Initial StateC/A code G1 1 + X 3 + X 10 1111111111C/A code G2 1 + X 2 + X 3 + X 6 + X 8 + X 9 + X 10 1111111111P code X1A 1 + X 6 + X 8 + X11 + X 12 001001001000P code X1B 1 + X 1 + X 2 + X 5 + X 8 + X 9 + X 10 + X 11 + X 12 010101010100P code X2A 1 + X 1 + X 3 + X 4 + X 5 + X 7 + X 8 + X 9 + X 10 + X 11 + X 12 100100100101P code X2B 1 + X 2 + X 3 + X 4 + X 8 + X 9 + X 1 2 010101010100with the truncation to a 7-day period, is 6.1871×10 12 chips. As in the case <strong>of</strong> C/A code,the first 32 PRN sequences are reserved for the space segment <strong>and</strong> PRN 33 through 37are reserved for other uses (e.g., pseudolites). The PRN 38 P code is sometimes usedas a test code in P(Y) code <strong>GPS</strong> <strong>receiver</strong>s, as well as to generate a reference noise level(since, by definition, it cannot correlate with any used SV PRN signals). The unique Pcode for each SV is the result <strong>of</strong> the different delay in the X2 output sequence. Table5.1 shows this delay in P code chips for each SV PRN number.The P code delays (inP code chips) are identical to their respective PRN numbers for the SVs, but the C/Acode delays (in C/A code chips) are different from their PRN numbers. The C/A codedelays are typically much longer than their PRN numbers. The replica C/A codes fora conventional <strong>GPS</strong> <strong>receiver</strong> can be synthesized by programming the tap selections onthe G2 shift register.5.3 Correlation results <strong>of</strong> the implemented <strong>GPS</strong> <strong>receiver</strong><strong>channel</strong>According to the specifications <strong>of</strong> PRN code generation described in this chapter <strong>and</strong><strong>receiver</strong> <strong>channel</strong> architecture described in chapter 4 a <strong>receiver</strong> <strong>channel</strong> is implementedusing xilinx system generator.Using this <strong>channel</strong> the correlation values <strong>of</strong> incomingsignal for various phase delays are obtained.The incoming signal is modeled by givingvariable delay before being fed to the <strong>receiver</strong> <strong>channel</strong> input.The results are shown in


Chapter 5. <strong>Design</strong> <strong>of</strong> PRN code generators 39the figure 5.5.Correlation <strong>of</strong> the received signal with Early,Prompt,<strong>and</strong> Late C/A code Vs Code phase <strong>of</strong>fset0.5 x 104 Code phase <strong>of</strong>fset0IeIpIlQeQpQl−0.5−1−1.5−2−2.50 10 20 30 40 50 60 70Figure 5.5: Correlation results with Early,Prompt,<strong>and</strong> Late signals


Chapter 6Subchip Multipath Delay Estimationusing TeagerKaiser OperatorTraditional approaches used for <strong>channel</strong> estimation generally fail in estimating closelyspacedmultipath components in code-division multiple access (CDMA) systems. Application<strong>of</strong> Teager-Kaiser operator[8] for downlink WCDMA multipath delay estimationis a highly efficient technique with subchip resolution capability.[5].This techniquehas the advantage <strong>of</strong> simplicity <strong>and</strong> efficiency compared to the other available techniques.Butthe performance <strong>of</strong> this technique is influenced by the shape <strong>of</strong> the pulsewaveform used.It performs well for rectangular pulse than other pulse shapes.Thiswill be described in the following sections.6.1 Signal <strong>and</strong> Channel ModelIn a downlink DS-CDMA scenario with K users in the system, the received signal canbe written as [9].r(t) =K∑k=1√Pk∞∑n=−∞b n,kL∑α n,l s n k (t − τ n,l) + η(t) (6.1)l=1where40


Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 41P k is the power <strong>of</strong> user k.b n,k is the transmitted data symbol n <strong>of</strong> user k. α n,l <strong>and</strong> τ n,l arethe complex attenuation coefficient <strong>and</strong> delay,repectively, <strong>of</strong> the l th path during thesymbol n. L is the number <strong>of</strong> <strong>channel</strong> paths.s n k(.) is the signature <strong>of</strong> user k during thesymbol n. η(.) is the complex additive white Gaussian noise.The user signatures are expressed as follows.S Fk −1∑s n k (t) =m=0c n m,k p(t − mT c − nS Fk T c ) (6.2)where c n m,k is the code value <strong>of</strong> m th chip <strong>of</strong> user k during the symbol n, T c is the chipinterval, p(.) is the chip pulse shape, S Fk is the spreading factor <strong>of</strong> user k.Delay estimation is based on the cross-correlation between the received signal r(t) <strong>and</strong>the replica <strong>of</strong> the desired user signature. The output <strong>of</strong> the correlator is given by [11].y n (τ) = √ P k b n,kL∑α n,l R(τ − τ n,l ) + ˜η(τ) (6.3)l=1where ˜η(.) is an additive Gaussian noise process incorporating the effects <strong>of</strong> noise, multiuserinterference, interpath <strong>and</strong> intersymbol interference, <strong>and</strong> R(τ) is the pulse shapeautocorrelation function, which is given for a rectangular pulse shape by equation 3.2.Equation 6.3 implies that for rectangular pulse shape, the output <strong>of</strong> the correlator isa superposition <strong>of</strong> shifted triangular pulses weighted by the complex <strong>channel</strong> tap coefficients<strong>and</strong> the data modulation within some additive noise. To avoid the effect <strong>of</strong>multipaths the contribution <strong>of</strong> interfering paths must be subtracted from the output<strong>of</strong> the finger tracking the path <strong>of</strong> interest.For that we need to know these multipathdelays.


Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 42There are several delay estimation algorithms available for estimating these delays[5].The performance <strong>of</strong> the delay estimators is defined by the error statistics such as theacquisition probability(probability <strong>of</strong> estimating all multipath delays within a certainfixed error limit), the mean or the variance <strong>of</strong> the error,root mean square error (RMSE)<strong>of</strong> the multipath delays etc.TK based algorithm is one <strong>of</strong> the highly efficient techniques[6] with additional advantage<strong>of</strong> lowest complexity.It will give best performance for rectangular pulse shape.Thedescription <strong>of</strong> this Operator <strong>and</strong> the results obtained using this operator are shown inthe following section.6.2 Teager-Kaiser Operator <strong>and</strong> its application for the DelayEstimationThe nonlinear quadratic TK operator was first introduced for measuring the real physicalenergy <strong>of</strong> a system[7].Since its introduction, several other applications have beenfound for TK operator.The Structure <strong>of</strong> the correlation function 6.3 can be exploited with the aid <strong>of</strong> the nonlinearTK operator[8] ψ[.] defined below for continuous time function.ψ C [x(t)] = ẋ(t)ẋ ∗ (t) − 1 2 [ẍ(t)x∗ (t) + x(t)ẍ ∗ (t)]. (6.4)Similarly, the discrete-time Teager operator <strong>of</strong> a complex valued signal is given by[10]ψ D [x(n)] = x(n − 1)x ∗ (n − 1) − 1 2 [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)] = x 2 (n − 1) − x(n)x(n − 2). (6.6)


Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 43By applying the continuous TK operator to 6.3, the following equation can be obtained.ψ C [y n (τ)] = 1 T cL∑l=1+ 1 L∑TC2 l=1+ ˜η T K (τ).L∑Re[α n,l α ∗ n, j]R(τ − τ n,l ) × δ(τ − τ n,l )j=1L∑α n,l α ∗ n, j × sign((τ − τ n,l )(τ − τ n,j )) × Π(τ − τ n,l , T c ) × Π(τ − τ n,j , T c )j=1⎧⎪⎨ 1 |t| ≤ T cΠ(t, T c ) =⎪⎩ 0 otherwise(6.7)where Π(t, T c ) st<strong>and</strong>s for a rectangular function with unit amplitude <strong>and</strong> duration 2T ccentered at τ = 0. δ(τ) st<strong>and</strong>s for the Dirac function,<strong>and</strong> ˜η T K (τ)is the additive whiteGaussian noise at the output <strong>of</strong> the TK operator.This δ(.) function is the result <strong>of</strong> the sharp edges <strong>of</strong> the rectangular pulse shape. i.e Theperformance <strong>of</strong> this tecqnique is influenced by the pulse shape.From equation 6.7 it is very clear that the TK operator applied to the output <strong>of</strong> thecorrelator provides clear time-aligned peak locations <strong>of</strong> the closely spaced paths in thepresence <strong>of</strong> a certain ”noise” floor [second <strong>and</strong> third terms <strong>of</strong> 6.7].


Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 446.3 Simulation ResultsThe correlation data for different multipath delays is obtained using the implemented<strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong>.The attenuation factor α n,l is taken into account by giving differentweights to these time shifted triangular pulses.The results are shown in figure 6.1.Multipath Delay Estimation Using Teager−Kaiser Operator.2.5 x 104 Delay2LOS(desired signal)1/4 chip delay1/2 chip delay0.9 chip delayTK response1.510.500 50 100 150 200 250Figure 6.1: peaks shown by TK operator at multipath delays.6.4 ConclusionA <strong>GPS</strong> <strong>receiver</strong> <strong>channel</strong> was implemented <strong>and</strong> it is used to evaluate the performance<strong>of</strong> the Teager-Kaiser operator for subchip multipath DS-CDMA delay estimation.Fromthe equation 6.6 <strong>and</strong> results obtained it can be concluded that Teager-Kaiser techniqueshowing very good performance for rectangular pulse with least computational complexity.


Chapter 6. Subchip Multipath Delay Estimation using TeagerKaiser Operator 456.5 Future WorkTeager-Kaiser method is showing excellent performance for rectangular pulse withleast computational complexity.Efficient algorithms must be designed to make it independent<strong>of</strong> the pulse shape for showing high performance.This can be done by combiningthis technique with other efficient but complex techniques <strong>and</strong> optimizing theperformance.


Bibliography[1] Simon, M., et al., Spread Spectrum Communications H<strong>and</strong>book, New York:McGraw-Hill,1994.[2] Betz, J., ”Binary Offset Carrier Modulations for Radionavigation,” NAVIGATION:Journal <strong>of</strong> The Institute <strong>of</strong> Navigation, Vol. 48, No. 4, Winter 20012002.[3] Gold, R., ”Optimal Binary Sequences for Spread Spectrum Multiplexing,” IEEETrans. on Information Theory, Vol. 33, No. 3, 1967.[4] ARINC, NAVSTAR <strong>GPS</strong> Space Segment/Navigation User Interfaces, IS-<strong>GPS</strong>-200D, ARINC Research Corporation, Fountain Valley, CA, December 7, 2004.[5] E. S. Lohan, R.Hamila, A. Lakhzouri, <strong>and</strong> M. Renfors, ”Highly efficient techniquesfor mitigating the effects <strong>of</strong> 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, <strong>and</strong> M. Renfors, ”Subchip multipath delay estimationfor 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’ <strong>of</strong> a signal,” in Proc.IEEE Int. Conf. Acoustics, Speech, <strong>and</strong> Signal Processing (ICASSP), 1990, pp.381384.46


BIBLIOGRAPHY 47[8] R. Hamila, J. Astola, F. A. Cheikh, M. Gabbouj, <strong>and</strong> M. Renfors, ”Teager energy<strong>and</strong> 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, <strong>and</strong> M. Renfors, ”Performance analysis <strong>of</strong> an efficientmultipath delay estimation approach in CDMA multiuser environment,” Proc.12th IEEE Int. Symp. on Personal, Indoor <strong>and</strong> Mobile Radio Communications, pp.610, 2001.[11] R. Van Nee, Multipath <strong>and</strong> Multi-Transmitter Interference in Spread-SpectrumCommunication <strong>and</strong> Navigation System. Delft, The Netherl<strong>and</strong>s:Delft Univ.Press, 1995.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!