USF Libraries
USF Digital Collections

Behavioral VHDL implementation of coherent digital GPS signal receiver

MISSING IMAGE

Material Information

Title:
Behavioral VHDL implementation of coherent digital GPS signal receiver
Physical Description:
Book
Language:
English
Creator:
Daita, Viswanath
Publisher:
University of South Florida
Place of Publication:
Tampa, Fla.
Publication Date:

Subjects

Subjects / Keywords:
tracking
acquisition
sliding correlator
C/A code
time domain
Dissertations, Academic -- Electrical Engineering -- Masters -- USF
Genre:
government publication (state, provincial, terriorial, dependent)   ( marcgt )
bibliography   ( marcgt )
theses   ( marcgt )
non-fiction   ( marcgt )

Notes

Summary:
ABSTRACT: Global Positioning System is a technology which is gaining acceptance. Originally developed for military purposes, it is being used in civilian applications such as navigation, emergency services, etc. A system-on-chip application merges different functions and applications on a single substrate. This project models a GPS receiver for a system on chip application. The GPS receiver, developed as a core, is intended to be a part of a navigation tour guide being developed. The scope of this work is the GPS C/A code on the L1 carrier. The digital signal processing back-end in a GPS receiver is modelled in this work. VHDL modeling of various communiation sub-blocks, detection and demodulation schemes is done. A coherent demodulation of the GPS signals is implemented. GPS receiver calculates the position based on the data collected from four satellites. Given four satellites, acquisition of the data from the signals is performed and data demodulated from the same.Synthetic data is generated for validation purposes. Code acuqisition and tracking of the GPS C/A signal is implemented. Cadence NC-Launch VHDL simulator is used to validated the behavioral VHDL model.
Thesis:
Thesis (M.S.E.E.)--University of South Florida, 2004.
Bibliography:
Includes bibliographical references.
System Details:
System requirements: World Wide Web browser and PDF reader.
System Details:
Mode of access: World Wide Web.
Statement of Responsibility:
by Viswanath Daita.
General Note:
Title from PDF of title page.
General Note:
Document formatted into pages; contains 125 pages.

Record Information

Source Institution:
University of South Florida Library
Holding Location:
University of South Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 001498142
oclc - 57719310
notis - AJU6737
usfldc doi - E14-SFE0000554
usfldc handle - e14.554
System ID:
SFS0025245:00001


This item is only available as the following downloads:


Full Text

PAGE 1

BehavioralVHDLImplementationofCoherentDigitalGPSSig nalReceiver by ViswanathDaita Athesissubmittedinpartialfulllment oftherequirementsforthedegreeof MasterofScienceinElectricalEngineering DepartmentofElectricalEngineering CollegeofEngineering UniversityofSouthFlorida Co-MajorProfessor:SrinivasKatkoori,Ph.D. Co-MajorProfessor:MorenoWilfrido,Ph.D. SanjuktaBhanja,Ph.D. DateofApproval: November01,2004 Keywords:Timedomain,C/Acode,Slidingcorrelator,Acqui stion,Tracking c r Copyright2004,ViswanathDaita

PAGE 2

DEDICATION Tomyfamily

PAGE 3

ACKNOWLEDGEMENTS Iwouldliketotakethisopportunitytoexpressthanksandgr atitudetoDr.Katkoori forhissupport,encouragementandpatienceduringthecour seofthisresearch.Iwould alsoliketothankDr.Morenoforhissupportandpatienceand Dr.Bhanjaforbeingon mycommittee.Iwouldalsoliketothankallthefaculywhogui dedmeduringmyMasters. Iwouldliketoacknowledgeallthehelpandsupportprovided byfamilywhostoodby meatalltimesandhavebeenasourceofencouragement.Iamgr atefultomyfatherD.Satyanarayana,sister-VijayaGouri,brother-in-law-T .G.K.MurthyandmybrotherRaghunath,whoalwaysbelievedinme. Finally,Iwouldacknowledgeallthehelpandsupportgivenb ymembersofVCAPP group,especiallyViswanath,Narender,Ranganath,andSri ram.Iwouldliketothankall myfriendsandroomatesatUSFfortheirconstantsupportand encouragement.Iwould alsoliketoacknowledgethehelpprovidedbytheComputerSc ienceTechsupportteamled byDanielPrieto.

PAGE 4

TABLEOFCONTENTS LISTOFTABLES iii LISTOFFIGURES iv LISTOFSYMBOLS vii ABSTRACT ix CHAPTER1INTRODUCTION 1 1.1GPSIntegrationandIssues 3 1.2ReceiverProcessingHistory 4 1.3System-on-a-ChipImplementation(SoC)4 CHAPTER2SPREADSPECTRUMSIGNALS 8 2.1Introduction 8 2.1.1DirectSequenceSpreadSpectrum(DSSS)102.1.2Synchronization 11 2.1.2.1Acquisition 12 2.1.2.2CodeTracking 15 2.1.3CoherentandNon-coherentSignalProcessing17 2.2GlobalPositioningSystem 20 2.2.1GPSSegments 20 2.2.2Signals 24 2.2.2.1PRNCodes 24 2.2.2.2SignalDataStructure29 2.3Summary 30 CHAPTER3GLOBALPOSITIONINGSYSTEMRECEIVER31 3.1ReceiverCongurations 31 3.1.1SingleandMulti-channelReceivers31 3.2Summary 40 CHAPTER4VHDLDESIGNANDIMPLEMENTATION41 4.1DigitalSystemDesignandImplementation42 4.1.1AccumulateandDump 42 4.1.2LinearFeedbackShiftRegister(LFSR)444.1.3NumericalControlledOscillator(NCO)44 4.1.3.1CodeNCO 45 i

PAGE 5

4.1.3.2CarrierNCO 46 4.1.4DirectDigitalFrequencySynthesizer464.1.5DigitalIFGeneration 47 4.1.6CorrelatorsandMatchedFilters474.1.7ControlSignalGeneration 48 4.1.8MultipleSatelliteTracking 50 4.1.9GPSDataGenerator 51 4.2Summary 51 CHAPTER5EXPERIMENTALRESULTS 53 5.1CommunicationBlocksSimulations 53 5.2GPSSignalSimulation 54 5.3Summary 68 CHAPTER6CONCLUSIONSANDFUTUREWORK69REFERENCES 70 APPENDICES 73 AppendixAVHDLCode 74 ii

PAGE 6

LISTOFTABLES Table2.1SpreadingCodes-AComparision 10 Table2.2ComparisionofC/AandPCodes 26 iii

PAGE 7

LISTOFFIGURES Figure1.1SoftwareGPSReceiver 6 Figure1.2ReceiverBlockDiagrams:(a)Hardware(b)Softwa re6 Figure2.1SpreadingBandwidthusingHighFrequencyCode9Figure2.2SpreadSpectrumModel 9 Figure2.3DirectSequenceDemodulator 12 Figure2.4TwoDimensionalAcquisitionSearchSpace13Figure2.5SlidingCorrelator(a)SerialCorrelator(b)Ser ialAcquisition14 Figure2.6ParallelCorrelator 15 Figure2.7DelayLockedLoop 16 Figure2.8S-Curve 17 Figure2.9Non-coherentDemodulation 18 Figure2.10CoherentDemodulation 19 Figure2.11Triangulation 21 Figure2.12GPSSatelliteConstellation 22 Figure2.13GPSSegments 23 Figure2.14CodeGenerator 25 Figure2.15C/ACodeAutocorrelation 26 Figure2.16PositionDeterminationusingPseudo-codes27Figure2.17GPSChipandDataBitStructure 30 Figure3.1GPSReceiver 33 Figure3.2DigitalReceiverChannel 36 iv

PAGE 8

Figure3.3ChannelSerialAcquisition 38 Figure3.4PDFofDetection 38 Figure3.5TrackingLoops 39 Figure4.1IntegrateandDump 43 Figure4.2LinearFeedbackShiftRegister 44 Figure4.3NumericalControlledOscillator 45 Figure4.4DirectDigitalFrequencySynthesizer 46 Figure4.5IFGPSSignalGeneration 47 Figure4.6DigitalImplementationofSerialCorrelator48Figure4.7DataGeneration 52 Figure5.1SineWaveGeneration 54 Figure5.2BinaryPhaseShiftKeyingSignal 55 Figure5.3AutoCorrelationusingAccumulateandDump56Figure5.4DataGeneration 57 Figure5.5C/ACodeforSatellite1 57 Figure5.6C/ACodeforSatellite8 58 Figure5.7C/ACodeforSatellite12 58 Figure5.8C/ACodeforSatellite15 59 Figure5.9C/ACodeforSatellite21 59 Figure5.10C/ACodeforSatellite24 60 Figure5.11AcquisitionofaSingleSatellitebyIncrementi ngCodePhase inHalfChipIncrements 60 Figure5.12TrackingAfterSignalhasbeenAcquired61Figure5.13AcquiringMultipleSatellitesSet1 62 Figure5.14AcquiringMultipleSatellitesSet2 63 Figure5.15AcquiringMultipleSatellitesSet3 64 Figure5.16AcquiringMultipleSatellitesSet4 65 v

PAGE 9

Figure5.17AcquiringMultipleSatellitesSet5 66 Figure5.18AcquiringMultipleSatellitesSet6 67 vi

PAGE 10

LISTOFSYMBOLS AGCAutomaticGainControlASICApplicationSpecicIntegratedCircuitBPSKBinaryPhaseShiftKeyingC/ACoarse/AcquisitionCMOSComplementaryMetalOxideSemiconductorFieldEectT ransistor DGPSDierentialGlobalPositioningSystemDLLDelayLockedLoopDSPDigitalSignalProcessorDSSSDirectSequenceSpreadSpectrumFFTFastFourierTransformFHSSFrequencyHoppedSpreadSpectrumFPGAFieldProgrammableGateArrayGNSSGlobalNavigationSatelliteSystemforGPSandGLONASSIFIntermediateFrequencyoforder100sofKHz-fewMHzL1CivilianGPSsignaloffrequency1.575GHzL2CivilianGPSsignaloffrequency1.227GHzMEMSMicro-Electro-MechanicalSystemsNMEANationalMarineElectronicsAssociationPPrecisionCodePLLPhaseLockedLoopPRNPseudoRandomNoiseCodeRFRadioFrequencyoforder100sofMHz-fewGHzRHCPRightHandCircularlyPolarized vii

PAGE 11

RINEXReceiverIndependentExchangeSoCSystem-on-a-ChipSSSpreadSpectrumVCOVoltageControlledOscillatorVHDLVHSICHardwareDescriptionLanguageWAASWideAreaAugmentationSystem viii

PAGE 12

BEHAVIORALVHDLIMPLEMENTATIONOFCOHERENTDIGITAL GPSSIGNALRECEIVER ViswanathDaita ABSTRACT GlobalPositioningSystemisatechnologywhichisgaininga cceptance.Originallydevelopedformilitarypurposes,itisbeingusedinciviliana pplicationssuchasnavigation, emergencyservices,etc.Asystem-on-a-chipapplicationm ergesdierentfunctionsandapplicationsonasinglesubstrate.ThisprojectmodelsaGPSr eceiverforasystemonchip application.TheGPSreceiver,developedasacore,isinten dedtobeapartofanavigationtourguidebeingdeveloped.Thescopeofthisworkist heGPSC/Acodeonthe L1carrier.Thedigitalsignalprocessingback-endinaGPSr eceiverismodeledinthis work.VHDLmodelingofvariouscommunicationsub-blocks,d etectionanddemodulation schemesisdone.AcoherentdemodulationoftheGPSsignalis implemented.GPSreceiver calculatesthepositionbasedonthedatacollectedfromfou rsatellites.Givenfoursatellites, acquisitionofthedatafromthesignalsisperformedanddat ademodulatedfromthesame. Syntheticdataisgeneratedforvalidationpurposes.Codea cquisitionandtrackingofthe GPSC/Asignalisimplemented.CadenceNC-LaunchVHDLsimul atorisusedtovalidate thebehavioralVHDLmodel. ix

PAGE 13

CHAPTER1 INTRODUCTION Globalpositioningsystemisanadvancednavigationandpos itioningsystemusedtoday forvariousapplications.ThesevaryfromGPSguidedmissil esforprecisionbombinginthe military,topeacetimeandcivilianuses,suchasnavigatio n,treasurehunthobbies,and agriculture. Explorationhasbeenimportanttomankindwhichhasresulte dindiscoveryofcontinentsandnewworlds.Inancienttimes,navigationwasbased ontheplanetaryandstellar positions.Thischangedtotheuseofmagneticcompassinthe medievaltimesuptovery recentinthepast.Suchalternativesalwayshadtheirdisad vantagesandmisgivingswhen dealingwithhostileweatherconditions,forexample,fogg yconditions,reducedvisibility, therebyhinderingnavigation.Withthedevelopmentofsate llitesandimprovementsinradio signaltransmissionandreception,thesewereusedforthen avigationpurposesaswellasfor positioning.Theadvantageofusingradiosignalsisthatth eyareimmunetotheweather eects.EarliersystemsincludedLORAN( Lo ngRa nge N avigation),OMEGAtoguideaircraftandships[1].LORANwasrestrictedtotheUnitedState sandBritain.OMEGA wasatrulygloballyavailablepositioningsystem.Theuseo fsatellitesinpositioningand navigationwasrstappliedinTRANSIT(NavyNavigationSat elliteSystem),aproject developedattheAppliedPhysicsLaboratoryatJohnsHopkin sUniversity.TheDoppler frequencyshiftsofthesignalstransmittedbysatellitesw ereusedtodeterminethesatellite orbit.Thereceiverontheearthcoulddetermineitspositio nfromtheknowledgeofthe satelliteorbitandtheDopplershiftmeasurementofthefre quency.GlobalPositioningSystem,inshortGPS,isaproductoftheUnitedStatesDepartmen tofDefense.Intendedfor militarypurposes,especiallyprecisepositioningforamm unition,ithasbeendemonstrated 1

PAGE 14

thatitcouldbeusedforcivilianpurposesaswell.Itsutili zationhasbeendemonstrated correctlyduringthetwoGulfwarswhereprecisionguidedmi ssileshavefoundtargetwith ahighprobabilitydestroyingenemypositions.Thetarget' sco-ordinatesareloadedinthe computerofthemissilewhichisguidedbythesatellites.Ap artfromthesemilitaryadvantagescivilianapplicationstoosuchasnavigationandsurv eyinghavefounduseforGPS. ConnectedCar [2]isamorerecentexampleofhowGPScanbeusedasanavigati onaidin co-ordinationwithotherapplicationsandframeworkssuch asMicrosoft.NetFramework, Bluetoothetc.Itcanbeusedasaguideinnewplaces.GPShasb eenusedalsotolandan airplaneinadverseweatherconditions.AGPSmeasurementc anhaveanerrorof5-10m (uncorrected)orupto1mdiscrepancy(usingWAASandDGPS). Agriculturealsohasfound useoftheGPS-tocontrolthedistributionofthechemicalsa ndfertilizers.Inconjuction withGeographicInformationSystem(G.I.S),GPShasfoundm oreuseintrackinganimals, humans,andknowingtheseismologyoftheearthatagivenpla ce.Furtheradvancesin GPSsignalreceptioncouldleadtoindoorcoverage,indownt ownareas,andundertrees etc.,wherethereceptionislow.ThisiswhathelpsGPStobea partoftheemergency services.Inthisclassofapplications,anotherpopularon eispervasivecomputing-location awareness.GPSpresentsasolutiontothisendinmobilecomm unicationelectronics.Alot ofresearchgoesintohowtomaketheGPSsignalmorereliable ,visible,andaccurate.This systemofnavigationusesomnipresentradiowavesandrelat ivetimeofarrivalofsignalsto determinepositions.Thetwocommonfrequenciesusedtoday byGPSsatellitestobroadcastareL1(1575.42MHz)andL2(1227MHz).L1isprimarilyac iviliansignalwhileL2 isusedformilitarypurposes.L1isalsousedbythemilitary andL2byciviliansthough theciviliansdonothaveaknowledgeofthecodesmodulating theL2frequency.From2005 onwards,GPSsatelliteswillbebroadcastingnewsignalswh ichcouldhelpeliminatepositioningerrorsduetoIonosphericeects.Thecurrentcivil iansignalswillbeboostedbythe additionofanotherciviliansignalonL2.From2008,anewfr equencybandcalledL5willbe emittedat1176.45MHzwhichisalsoaciviliansignal.L3and L4willcarrynon-navigation informationforthemilitary[3]. 2

PAGE 15

1.1GPSIntegrationandIssues GPSreceiversincorporateDirectSequenceSpreadSpectrum (DSSS)Techniquesintheir analysis.Traditionally,GPSreceiverhasbeenachipset,c onsistingoftwoormorechips. WiththeadvancesinIntegratedCircuittechnologythereis atrendtowardsasinglechip solution,whichisadvantageousinmanyways.Suchachipwil lhelpintegrationofa varietyofapplicationsfromcellphonestowristwatches.I tinvolvesahighlevelofdesign integration.AsinglechipGPSsolutiondevelopedbyValenc eSemiconductors[4],Motorola [5]andSonyrecentlyhasshownthatsuchasolutionispossib le.Thesinglechipsolution looksatintegratingtheRF/IFblockwiththedigitalsignal processingblockonasingle chip.Sony'sRFCMOStechnology[6]wasusedtodevelopsucha singlechipsolution.It wasshownthataseparateacquisitionandtrackingblocksco uldimprovetheperformance oftheGPSchipasitgavetheindependencetodevelopbettera lgorithms.Withthenew algorithmsitwasshownthattherewasadrasticreductionin theacquisitiontimesfora hotstart. Eectsofintegrationandcongurationpossibilitiesofsi nglechipGPSimplementation arenextdescribed[7].Chipscaleintegrationresultsinfo remostreductioninsize,improves reliability,reducescost,andreducespowerconsumption. Typicaltwo-chipsolutions,one fortheRF/IFsectionandtheotherfortheDSP/ASICaccountf ormorepowerconsumptionasthereisamplicationneededforsignalsthatexitac hip.Thesinglechipsolution removessuchaneedasthesesignalsbecomeinternaltothech ip.AsinglechipGPSalso resultsinhigherperformancebyallowinghigherspeeds.In tegrationtowardsasinglechip involvesintegratingdierentlikelycomponentssuchasLN A,RFsection,digitalprocessing, microprocessor,peripherals,andI/Odrivers.Forforming asingleGPSchiptobeapplied invariousenvironmentsanidealintegrationwouldbetheLN A,RFsectionanddigital processingintoonechipsuchthattheperipheralsandmicro processorcanbesharedwith theapplication.Themajorissuestobeaddressedinasingle chipsolutionarethecross-talk betweenthedigitalsignalsandweakanalogsignals. 3

PAGE 16

1.2ReceiverProcessingHistory DigitalSignalProcessingtechniqueshavebeenusedtoproc esstheGPSsignals.Such digitalreceiversperformcodecorrelation,whichisthema insignalprocessingrequirement, ondigitaldataratherthananalogdata.Digitalsignalproc essingofthedigitaldatais performedinaDSPchiporanASIC.Asoftwarebaseddesignapp roachofaGNSSreceiver hasbeendemonstratedin[8].Thisdevelopsatechniquetosa mpletheincomingsignal veryneartotheantennaandatRFrange.Suchplacementremov estheneedforanalog signalprocessingcomponents.Researchintosoftwareden edradiosbaseddigital/software GPSreceiverprovidesalgorithmicspecicationoftheproc ess.Anychangesrequiredwould leadtochangeincode.TheGPSreceiverconsistsofmanycomp onentssuchasPLLs, DLLs,etc.,forprocessingthesignal.Adigitalimplementa tionofthesamehasresultedin greaterdelity.SoftwareradiobasedGPSreceiverstrytod igitizethesignalveryneartothe antenna.Conventionally,AnalogtoDigitalConverterisem ployedasinaSuper-heterodyne receiverafterfewstagesofdown-conversion.Softwarerec eiverstrytosampleatGHz frequencyrange.Atthesametime,theyprocesssignalswith outanyanalogcomponents whichresultinnonlinearities.1.3System-on-a-ChipImplementation(SoC) System-on-a-ChipdesignisdenedasacomplexIntegratedC ircuitthatintegratesthe majorfunctionalelementsofacompleteend-productintoas inglechiporchipset[9].An SoCdesignincludestheperipheralcomponentsandthemotiv ationforsuchadesignstems fromadvancesintechnologicalperspectives.Sometimesth esystem-on-a-chipdesigncould incorporatetheanalog,MEMScomponentsinputs.Asystemon chipusesintellectual propertycoresinitsdesignwhichformthebasicreusablebl ocks.Thesecorescouldbe anycomplexfunctionwhichisusedinanapplication.Suchco rebaseddesignistermed Block-baseddesign.Anotherdesignaspectistheplatformb aseddesignapproachwhich usesafamilyofHardware-Softwarearchitecturestoimplem enttherequiredarchitecture. 4

PAGE 17

InLocationbasedcomputingwhereGPScouldbeusedtodeterm inethelocation,aSoC approachcouldbeusedtoimplementthedesign.Insuchsitua tionsaplatformbased approachispreferred. ThebasicintentionbehinddevelopingthisdigitalGPSprot otypeistwopronged.First itisdesignedaspartofasinglechipreceiver.Thisreceive risintendedtobeusedtodevelop aSystem-on-a-Chipdesign,withthisactingasacorewithin amobilelocationcomputing tourguidedevelopedby[10].Thisworktriestodeveloptheb ackendinbehavioralVHDL. Thisworkincludesdesignandimplementationofthebackend /basebandDigitalSignal ProcessingTechniques.Zhuang[11]wasoneoftheoriginalw orkswhichillustratedthe advantagesofdesigningasoftwarereceiveroverhardwareb asedreceiverinmonitoring eectsofthesystemparameters.Braasch[12]dealswiththe dierentreceiverarchitectures andtheperformancesofthesewithrespecttoacquiringandt rackingasignal.Boththese processesaredependentoncorrelation.Computingthecorr elationhasbeenachievedin severalways.Itcanbeimplementedintimedomainorinfrequ encydomain.Apartfrom this,theuseofaDSPorusingasoftwarebasedapproachtoimp lementthesamealso determineshowcorrelationisperformed.HardwarebasedNpointsequencestocorrelate inaDSPwasdemonstratedbyVanNee[13].Fasteracquisition timecouldbeobtained byusingasoftwareapproachorbyusingecientalgorithmss uchasFFTtocalculate thecorrelation,eg.,Averagingcorrelator[14],ModiedA veragingcorrelator[15],block processingtechniques[16],[8].Anattempttowardsimplem entingablockprocessingbased GPSreceiverwasdonein[15]usingFPGAwhichusesparallelp rocessing,therebyincreasing thespeed.BesidesusinganASIC/FPGAwhichwasthecaseabov e,onecouldalsodevelop softwaredenedGPSreceivers(SGR)[17],[18]wherethepro cessingisimplementedona computerasshowninFigure1.1.Ahardwarereceiverblockdi agramandadierentsoftware receiverblockdiagramareasshownintheFigure1.2below[1 9].Softwarereceiversare rexibleinoperationandcandeviatefromconventionalhard wareapproach.Ausercould takeasnapshotofthedatainsteadofcontinuouslytracking it.Alsonewalgorithmscould bedevelopedwithoutchangingthehardware,whichisnotpos sibleinthehardwareGPS 5

PAGE 18

Local Oscillaotor Buffering Data Processor Navigation Microprocessor Correlator Software Figure1.1.SoftwareGPSReceiver DSP Programmable (b) (a) Processor ASIC Down-converter RF Down-converter RF Figure1.2.ReceiverBlockDiagrams:(a)Hardware(b)Softw are receiverdesign[20].Onecanwriteprogramstoprocessthes ignalsinawayindependent oftheunderlyinghardware. ThisworkinvolvesVHDLimplementationofthecodetracking andacquisitionloopsin theGPSreceiver.Chapter2introducesSpreadSpectrumComm unicationsandGPSSig6

PAGE 19

nals.Chapter3describestheGPSreceiverbothhardwarebas edandsoftware-based,and describestheprosandconsofeach.Chapter4presentsanove rviewoftheVHDLImplementationoftimedomainserialacquisitionofsignals.Cha pter5presentstheexperimental results.InconclusionChapter6summarizestheworkandout linesfuturedirections. 7

PAGE 20

CHAPTER2 SPREADSPECTRUMSIGNALS ThischapterintroducestheconceptoftheSpreadSpectrumc ommunicationswhich isthebasisoftheGPS.Brierydescribedisthenatureofspre adingandtheeectsof spreadingthebasebanddata.Thischapteroutlinesthedie rentmodulationtechniques usedinSScommunicationsandalsothedierentspreadingco des.Theimportantconcept ofcorrelationisalsodealt,withreferencetosynchroniza tion.Alsointroducedareboththe correlationmethodsserialandparallel,whichhelpincode acquisitionandtracking.An introductiontotheprimaryproblemofSpreadspectrumcomm unications,synchronization, isgivenandemphasisgiventobothcodeacquisitionandcode tracking.Demodulation couldbeeithercoherentornon-coherentandthedierences betweenthetwohavealso beenoutlined.FinallyanintroductiontoGPSsignalsisgiv en.Detailsofthedierent segmentsofGPSsystem,theGPSsignalstructure,generatio nofGPSC/Acodeshave beenlisted.2.1Introduction SpreadSpectrumsignalingwasrstusedinWorldWarII[21]t ocommunicatebyshiftingthecontrolfrequenciesataveryfastrate.Itisusedina reaswhereessentialcommunicationscanbejammedonintention[22].Anti-jammingand lowprobabilityofintercept (LPI)aretwoimportantadvantagesofSpreadSpectrumCommu nicationsinmulti-user communicationenvironmentswhereeachusercouldbeassign edauniquecode(CodeDivisionMultipleAccess).Spreadspectrumcommunicationsisu sedwhenthebandwidthofthe basebandmodulatingwaveform( W s )isspreadtoawiderbandwidth( W c )(byaspreading sequence)asshownintheFigure2.1.TheProcessGainorSpre adSpectrumGainforthe 8

PAGE 21

Power Spectral Density(PSD)PSD f f W c Upon Spreading Original Waveform Spreading Waveform sc Baseband BW W spreaded by a sequence of BW W The Power Spectral Density (PSD) is plotted versus frequency. W s W s Figure2.1.SpreadingBandwidthusingHighFrequencyCode abovesystemisgivenby: G =10log W c =W s (2.1) Spreadspectrumisalsousefulwhenthedatarateislowandth edistancestobetransmittedarelong.Forsuchtransmission,wewouldotherwisen eedanantennaofverylarge diameter.Thiskindoftransmission,however,limitsthean tennasizetonormalstandards. Theusefulnessofaspreadingcodeisthatitspreadsthedata overalargebandwidth[23]. AspreadspectrumsystemisillustratedinFigure[24]below Received Data Data Demodulator Transmitted Decoder Channel Modulator Pattern Generator Pseudo Random Pattern Generator Pseudo Random ChannelEncoder Channel Figure2.2.SpreadSpectrumModel AsshownintheFigure2.2,theinformationsequenceismodul atedwithsequencegeneratedbyapseudo-randompatterngeneratoratthetransmit terwhichisthenremovedat thereceiverbyusinganexactreplica.Togettheinformatio nsequenceattheoutputof thereceiveronehastohaveasynchronouscopyofthespreadi ngsequence.PSK(phase 9

PAGE 22

Table2.1.SpreadingCodes-AComparision Sequence Auto Correlation Cross Correlation m-sequence Ideal Poor GoldCodes Poor Ideal WalshTransforms Poor Zero(ifsynchronized) KasamiCodes Poor Poor shiftkeying)andFSK(frequencyshiftkeying)aretwocommo nmodulationtechniquesto implementspreadspectrum.PSKusesaphaseshiftof forachipchange.Sucha modulatedsignalistermedDirectSequenceSpreadSpectrum signal.Ifthecodeisusedto modulateanM-aryFSKthenitresultsinFrequencyHoppingSp readSpectrum(FHSS). Thecarrierismodulatedbythedata.Twoimportantprocesse shavetotakeplaceatthe receiverendtogetthenaldata.Atrst,thecarrieralongw ithanyDopplereectshas toberemovedandthenthemodulatingcodehastobestrippedo beforeonecanstart detectingthedataatthereceiverend.Therearedierentki ndsofcodesthatareused tospreadthedatainspreadspectrumcommunications.Theco desneedtohavecertain propertiestoqualifyasspreadingcodes.Theyshouldhaveg oodcross-correlation(ideally zero),idealautocorrelation(shouldbezeroifosetisgre aterthanonechip)andalsothey havetoberandominnature.Asitisdiculttoworkwithtruly randomcodes,there aresomecodeswhichareperiodicinnature,butrandomandat thesametimesatisfythe twocriterialistedaboveknownas pseudo-randomsequences .ExamplesincludeGoldcodes, maximallengthsequences,Walshcodes,andKasamicodes.Ta ble2.1illustratestheauto andcross-correlationpropertiesofthesecodes[22].2.1.1DirectSequenceSpreadSpectrum(DSSS) AbriefintroductionisgivenheretoDirectSequenceSpread Spectrum(DSSS)which isusedinGPS.DSSSismorerobustthanFHSS(FrequencyHoppe dSpreadSpectrum). FrequencyandphasesynchronizationiseasierinDSSSthant helatter,becauseonlyone frequencyactsasthecarrieranddoesn'tchange.Thedicul tpartofsynchronizationin aDSSSReceiveristhatithastoacquireboththechiptimeasw ellasthesymboltiming 10

PAGE 23

whiletheFHSSReceiverhastoacquireonlythesymboltime.A nequivalentmathematical representationofBPSKmodulationisamultiplicationwith +1or-1correspondingtoa0 ora1bitrespectively.ABPSKDSSSsignalcanberepresented as: s ( t )= Ac ( t ) d ( t ) sin ( wt + )(2.2) where w:thecarrierfrequencyatwhichthesignalisbeingtransmi tted c(t):modulatingpseudorandomcoded(t):databits Suchaphasemodulatedsignalisdemodulatedbycorrelating thereceivedsignalwitha synchronizedreplicaofthespreadingsignal.If r ( t )= Ad ( t T d ) c ( t T d ) cos ( w 0 ( t T d ))(2.3) isthereceivedsignalthenareplicaofthecode c ( t ^ T d )isusedtosynchronize.The correlatoroutputintheFigureis: r ( t )= Ad ( t T d ) c ( t T d ) c ( t ^ T d ) cos ( w 0 ( t T d ))(2.4) If T d = ^ T d thereceivedcodeissynchronizedwiththeincomingcode.Th eoutputof thereceiveratthisinstantisthetransmitteddatawiththe delay T d .Thusdatasignalis recoveredintwosteps:detectionanddemodulationashasbe enrepresentedinFigure2.3. Theabovediscussionassumesthatthelocalandreceivedsig nalsaresynchronized.In realityonehastosynchronizethembeforedetectionanddem odulationcanstart. 2.1.2Synchronization Itistheprocessofmatchingthelocallygeneratedspreadin gsignalwiththeincoming spreadspectrumsignal.Synchronizationisatwostepproce dure: 11

PAGE 24

1.Acquisitionand2.Tracking. Inacquisitionphasethetwosignalsarebroughtintocoarse alignmentwitheachother. Oncethesignalhasbeenacquired,trackingphasestarts.In thisphase,theclosestpossible waveformistrackedandanealignmentismaintainedusinga feedbackloop. 2.1.2.1Acquisition Inthisphasethereplicasignalisbroughtwithinonecodech iptimeoftheincoming signal.Thereceivercontinuouslysearchesforthepseudorandompatterngeneratedbythe transmitterduringacquisition.Giventhechipdurationto be T c ,theinitialdelaytobe T d andN,thenumberofcodephaseswhicharetobesearchedforac quisition,theinitialtime foracquiringasignalintimestepsof T c = 2is: T acq =2 NT d (2.5) Forcorrelatingsignalseithersignalmatchingcanbedonea sina matchedlter or timeaveragedcrosscorrelationasina correlator .The matchedlter ,matchedtoaknown pseudorandomcode,looksforwhetherathresholdhasexceed edthepresetvalue.Onsuch anoccurrencethedataissaidtohavebeenacquiredandthere ceiverstartsdemodulating Transmitted Data Demodulator BPSK Correlator Filter Local Synchronized Replica Incoming DSSS Figure2.3.DirectSequenceDemodulator 12

PAGE 25

thedata.Ontheotherhand,the correlator ,cyclesthroughdierentphasesindiscretetime steps,tomatchtheincomingcode.Thecross-correlationis performedoverNchipsandthe correlatoroutputiscomparedtoathreshold.Ifthethresho ldhasnotexceededthepreset value,thephaseisadvancedbyadiscretetimeintervalandt heprocessrepeateduntilthe signalisdetected.Ifthesignalisnotdetectedinagiventi me(dwelltime),thesearch processisrepeatedagain.Thiscodeacquisitionproblemis illustratedinFigure2.4. ....................... ....................... ....................... ... 10 KHz + 10 KHz 1 KHz 1/2 chip 1 cell Frequency 1023 Chips ....................... 1.25 MHz(center frequency) ....................... ....................... ....................... ....................... ....................... Figure2.4.TwoDimensionalAcquisitionSearchSpace Itassumesa2DsearchspacetondcodephaseandcarrierDopp lerfrequencywithout knowingthecarrierphase.ThisisanexampleforGPSsearchs pacewherethecodephase isspreadamong2046chipsandthecarrierfrequencyspreado utaround1.25MHz 20kHz. Signalacquisitioncanbecategorizedaseither: 1.serialor2.parallelacquisition. 13

PAGE 26

1/ Length D : Chip Time c T c Length of PN code sequence: N Code Template Incoming Data Sampling PN Code PN code Generator Code chip/Symbol Timing Clock Shifter/ Generator Detector Threshold Correlator Received (b) (a) Data @ N T c c Figure2.5.SlidingCorrelator(a)SerialCorrelator(b)Se rialAcquisition Figure2.5illustratesaserialcorrelatorandageneralacq uisitionloop. Theserialacquisitionistimeconsuming,buthasasimpleim plementation.Onthe otherhand,theparallelacquisitionisverydiculttoimpl ement,thecomplexityvarying indirectproportiontothelengthofthecode,butacquirest hedataquicklycomparedto serialtechnique.Intheparallelcorrelator,theincoming pseudo-noisecodeiscorrelated withlocallygeneratedcodewithdierentcodephasedelays .Thecorrelatoroutputsare comparedtoapresetthreshold.Thelargestofthecorrelato routputsisthecorrectcode phasedelay,thatweareinterestedin.AsillustratedinFig ure2.6,themaximumtimefor acquisitioninparallelapproachdependsonthedwelltime( theIntegrateandDumptime) andthereisnoshiftingofthecodephaseindiscretesteps. 14

PAGE 27

.... Local Code g(t) g(t-Tc/2) g(t-(2N -1)Tc/2) g(t-2Tc/2) Output Incoming Signal Comparator Integrate & Dump Integrate & Dump Integrate & Dump Integrate & Dump Figure2.6.ParallelCorrelator 2.1.2.2CodeTracking Aftertheinitialacquisition,whichisacoarsesearchproc ess,anesynchronization startsknownas tracking .ThetrackingmaintainsthelocalPNcodeinsynchronywith theincomingsignaltowithinhalfachiptime.Therearetwom ethodstoimplementcode trackinginDSSSsystems: 1. Delay-LockedLoop and 2. Tau-ditherLoop Inthe delaylockedloop ,showninFigure2.7,theincomingsignalismultipliedwith two outputsofthelocalPNcodegeneratorwhicharedelayedmutu allybyt T c = 2,where T c is thechiptime.Thecrosscorrelatedvaluesarelteredanden velopedetectedandsubtracted. Thiserrorsignalispassedthroughalooplterwhichdrives avoltagecontrolledoscillator. VCO'soutputdrivesthePNgenerator.Thus,theerrorsignal changesthephaseofthe 15

PAGE 28

localreplicacodesoastosynchronizewiththeacquiredsig nal.Ifthecrosscorrelator outputfromonecorrelatorisgreaterthantheotherthenthe VCOclockfrequencyiseither advancedorretarded.ThischangetriestogenerateaPNcode whichproducesazeroerror signalasinputtotheVCO. Code Incoming Advance T d Generator VCO LoopFilter PN Code BPF Detector Envelope BPF EnvelopeDetector Retard T d Figure2.7.DelayLockedLoop An Early-Latecorrelator isanexampleofadelaylockedloopwhichisusedintracking GPSsignals.Ituses t = T c = 2.Thecodesgeneratedare: c E ;c P ;c L referredtotheEarly, Prompt,andLatecodeshavearelationshipasshownbelow: c E ( t )= c ( t + 4 t +0 : 5 T c )(2.6) c P ( t )= c ( t + 4 t )(2.7) c L ( t )= c ( t + 4 t 0 : 5 T c )(2.8) Thecorrelationvaluesandanerrorsignalcanbeplottedasa nS-curveasillustratedin Figure2.8.TheS-curveplotsthetheearlyandlateauto-cor relation.Asshownthesedier by T c .The R e ( t ) R l ( t )producesanerrorsignalplottedas e ( t )intheS-curve[25]. Asincodeacquisition,onecanthinkofcoherentandnon-coh erentmodesforcode tracking.Figure2.7showsacoherentdelaytrackingloop,w herethecarrierphaseisknown. Ifthecarrierphaseisunknown,thenenvelopedetectionisu sedtointerpretthedatabit. 16

PAGE 29

R R (t) l R (t) e t -1.5T -T -0.5T 0 0.5T T 1.5T e(t) Figure2.8.S-Curve Inthenextsection,abriefdescriptionofcoherentandnoncoherentsignalprocessingis presented.2.1.3CoherentandNon-coherentSignalProcessing Signalprocessinginareceivercanbedonewithorwithoutth eknowledgeofthecarrier phaseinformation.Since,itisdiculttokeeptrackofcarr ierphasecontinuouslyreal worldapplicationsare non-coherent innature.Forsignals,anenvelopedetectionisused todetectmessagebits.Intheothercase,wherewehaveinfor mationaboutthephase,the demodulationprocessbecomessimplerwithouttheneedfora nynon-linearoperationsuch asenvelopedetection.Forcoherentacquisition,theslidi ngcorrelatorwouldworkperfect. Becauseofunknownphase,therearesomechangesintheacqui sitiontechniqueasdescribed below. 17

PAGE 30

Innon-coherentbasebandprocessing,oneusesaquadrature waveformsinadditionto theenvelopedetectiontodetecttheincomingsignal.Anoncoherentdemodulatingcircuit isshowninFigure2.9.If r ( t )= p (2 =T ) c ( t ) cos (2 wt + )istheincomingsignal,thenthe r(t) 2 R d (t) IQ d (t) g(t) sin(wt) cos(wt) Detector Envelope Dump Integrate & LPF Detector Envelope Dump Integrate & LPF Figure2.9.Non-coherentDemodulation quadraturecomponentsaregivenas: r I ( t )= p (2 =T ) c ( t ) cos (2 wt + ) p (2 =T ) cos (2 wt )(2.9) r Q ( t )= p (2 =T ) c ( t ) cos (2 wt + ) p (2 =T ) sin (2 wt )(2.10) Passingthroughthelowpasslterthehigherfrequenciesar eeliminatedandtheresulting lteroutputisjustdependentontheunknownphase: d I ( t )= p (2 =T ) c ( t ) cos ( )(2.11) d Q ( t )= p (2 =T ) c ( t ) sin ( )(2.12) Thissignaliscorrelatedwiththelocalsignal^ c ( ).Thecorrelatoroutputissquaredand addedtogetridofthephaseinformation.Thus,theterm R 2 c c ( )isnowcomparedtoa threshold,tomakeadecisiononthesynchronizationordata bit.Asthecorrelatingsignal hasaphasecomponent,justcorrelatingitwithlocalcodewi llnotyieldinthecorrectvalue ofcorrelationtomeasureagainstthethreshold. 18

PAGE 31

Forcoherentsignalprocessing,thefollowingoccurs:rst weacquirethephasebefore anyotherprocessingoccurs.Oncethishappens,theincomin gsignalismultipliedwith inphaseandquadraturecomponentswithproperphaserelati onships.Thecomponents become: r I ( t )= p (2 =T ) c ( t ) cos (2 wt + ) p (2 =T ) cos (2 wt + )(2.13) r Q ( t )= p (2 =T ) c ( t ) cos (2 wt + ) p (2 =T ) sin (2 wt + )(2.14) Thesesignals,whenpassedthroughalowpassltertoremove thehigherfrequency components,resultinjustthecodewhichisusedtomodulate thecarrier. d I ( t )=1 =Tc ( t )= d Q ( t )(2.15) Thisistheincomingsignaltothecorrelator.Asthisisinde pendentofphasethereisno needforenvelopedetectionandthec(t)isknown. r(t) LPF LPF g(t) cos(wt + phi) sin(wt + phi) Correlator Stage R To Threshold Ingetrate & dump Ingetrate & dump Figure2.10.CoherentDemodulation Figure2.10illustrationdepictsacoherentsignaldemodul ationprocess.Thissection discussedabouttheSpreadspectrumcommunicationswhichf ormthebasisofGlobalPositioningsystemsignaling.ThenextsectiondealswithGlo balPositioningSystemSignals andcharacteristics. 19

PAGE 32

2.2GlobalPositioningSystem GlobalPositioningsystemmakesuseofcelestialsatellite sindeterminingtheposition ofauser.ThisisbasedontheprincipleofTriangulation.Th eGPSsignalfromasatellite isradiatedat500Watts.BythetimethissignalcomestoEart haftertravelingabout 20000kmitwillbeoftheorderof10 13 watts[3].Fromsuchsignalwehavetoextract thenavigationmessageandtiminginformationtodetermine thelocation.GPSsignals arrivinghavetodealwithlotoferrorssuchasenvironmenta l,errorsduetoshiftinthe positionofthesatelliteandthereceiveretc.Theposition ofauserusingradiosignalis determinedusingeitherhyperbolationortriangulation.G PSusesthelatter.Triangulation istheprocessinwhichwedetermineapositionbasedonthelo cationofthreexedpoints inspace.Anypointonthecircumferenceofacircleoneisequ idistantfromtheradiusof thatcircleasshowninFigure2.11.In2D,ifauserisatadist anceofafrompointA andbfrompointBasshownhewouldbeatlocations1or2.Ifhew eretobeinaddition atadistancecfromCthenhewouldbeatpoint3asshown.In3Dw hentwospheres (rangesofsatellitesignals)intersectwehaveacommonpla neofintersectionwhichisa circle.Thiscirclewhenintersectedwithathirdsphereres ultsintwopointscommontoall threesatellites,indicatingthepositionoftheuser.Oneo fthesepositionsisinspaceandthe otheraterrestrialpoint.Thiscanbedeterminedbymeasure mentfromafourthsatellite. AsshownintheFigure2.11thedistancesmaynotbeaccuratea ndtherecouldbeanerror inthetransmissiontime.Hencetherangeswecalculateassu mingperfecttransmissionare calledpseudo-ranges.2.2.1GPSSegments FortheGPStofunctionsmoothlytherearethreeimportantco nstituents.Theyare: UserSegment(receivingsegment),theSatelliteconstella tionandtheControlSegment.The SatelliteConstellationconstitutesof24satellitesatan altitudeofabout20,000kmabove theEarth'ssurface.Thesesatellitesarearrangedinsetso f4satellitesin6orbitalplanes. TheseorbitalplanesareinclinedtotheEarth'sequatorial planeatanangleof55 .The 20

PAGE 33

A B C ab c Figure2.11.Triangulation orbitalplanelocationaredenedbythelongitudeoftheasc endingnodewhilethesatellite locationbythemeananomaly[26].Thesesatellitesareatsu chaheightandinsuchorbits suchthatthereareat-leastfoursatellitesvisibletoause ratanylocationandatanygiven time.Atatimeonecanhoweverreceivesignalsfrom7to9sate llites[27].Figure2.12 illustratestheGPSconstellation. TheControlsegmentconsistsofMasterControlStationatCo loradoSprings,5Monitor Stationslocatedaroundtheworldtoensuremaximumsatelli tecoverageandgroundantennas.ThefunctionsoftheOperationsControlSegmentinc ludemaintainingthesatellite orbitalposition,andmonitoringthehealthofthesatellit econstellation.Thehealthinclude parameterslikethepower,fuellevelsamongothers.Thegro undstationsmakepseudo rangemeasurementsbypassivelytrackingthesatellites.T hisdataisusedbytheMaster ControlStationtoupdatethenavigationmessagewithephem erisdata,correctionsandalmanacdata.ThisupdatedinformationcalledTT&C(Telemetr y,TrackingandCommand) data.Thisinformationforeachsatelliteisuploadedbyagr ounduplinkantennawhen thatparticularsatelliteisinviewoftheantenna. 21

PAGE 34

Figure2.12.GPSSatelliteConstellation TheUsersegmentconsistsofGPSreceiverstryingtondoutt heuser'slocationonthe surfaceoftheEarth.TheGPSReceiversemployahemispheric alcoverageantennawhich hasaRightHandCircularPolarization(RHCP).Thepolariza tionensuresthedierentiation betweenmulti-pathanddirectpathsignals.TheGPSreceive rmeasurespseudo-rangesfrom threedierentsatellitestocomputetheuser'slocation.I tdoesthisbycalculatingthecode andcarrierphasesandalsodemodulatingthenavigationmes sagedata.Apartfromthe positionthereceivermayalsoperformthePVTmeasurements .TheGPSreceiversareof twokinds:(i)TrackingaP(Y)codeandC/Acodeondualfreque nciesL1andL2or(ii) TrackingC/AcodealoneonL1frequency.Apartfromthiscate gorization,thereceivers 22

PAGE 35

canbegroupedonthecombinationofwhichdatatheyareproce ssing(carrierphasesor pseudo-ranges)andwhichcodeisavailable(C/A,P,orYcode ).Theyare[28]: 1.C/Acodepseudo-range,2.C/Acarrierphase,3.P-codecarrierphase,and4.Y-codecarrierphasereceivers. Thecarrierphasereceiversresultinagreateraccuracytha npseudo-rangemeasurements. AlsothePandYcodeshavebetteraccuracy(upto1mdiscrepan cy)comparedtothe C/Acodes(whichhaveanaccuracyofupto10m).Thethreecode segmentsareshownin Figure2.13. Figure2.13.GPSSegments Nextwedealaboutthesignalswhicharemanipulatedinthiss ystem. 23

PAGE 36

2.2.2Signals TheGPSsignalisaDirectSequenceBPSKspreadspectrumsign alrepresentedas: s ( t )= A ( t ) c ( t ) d ( t ) sin (2 ( f o + 4 f ) t + + 4 )(2.16) where A(t):amplitudeofthetransmittedsignalc(t):pseudo-randomcode(C/Acodeofthesatellite1.023MH z) d(t):navigationdatastream(50Hz)f 0 :carrierfrequencyofthetransmittedfrequency(1.575GHz ) 4 f :frequencyosetduetorelativepositionchange :originalcarrierphase 4 :carrierphaseoset SincethisisaBPSKsignalcorrespondingtoc(t)thereisaph asechangeof .The rateatwhichthecodephasechangesistermedasthechiprate .TheGPSsignalsare radiofrequencysignalsandoftheorderofGHz.Theyhavebee nusedforbothcivilian andmilitarypurposes.Thetwocommonlyusedfrequenciesar etheL1andL2frequencies whichare1.575and1.227GHzrespectively.TheGPSsignalis modulatedbytwokinds ofcodeP(Precision)andC/A(Coarse/Acquisitioncode)cod e.TheC/Acodeis1023 chipsequencegeneratedat1.023MHzandrepeatsatevery1ms whilethePrecisioncode isat10.23MHzandrepeatsforeveryweek.Thoughthefrequen cyissamethereislittle interferencebetweenthesignalsfromdierentsatellites becausethemodulatingcodes(part ofGoldcodes)arenearorthogonal,i.e.thecross-correlat ioniszeroorsmall. 2.2.2.1PRNCodes VariouscodescanbeusedasPseudoRandomSequenceswhichar eusedtomodulatethe carriersignal.Themajoronesare:Gold,Kasami,WalshTran sforms,m-sequence.These codeshavedierentauto-correlationandcrosscorrelatio npropertieswhichdeterminetheir 24

PAGE 37

utility.Theautocorrelationwhichmeasurestheamountofs imilaritybetweentwowavesis usedinGPSSignaldemodulationtodeterminewhethertheloc alreplicacodeismatching theincomingthereceivedsignal.Thecodesdescribedabove aregeneratedusingLinear FeedbackShiftRegisters.TheC/Acode,whichbelongstothe familyofGoldCodesisa 1023chipsequenceandisgeneratedasillustratedintheFig ure2.14. G2(t +T) C/A code Phase Select Logic G1(t) clock 1.023 MHz x"3FF" Set to 10 9 8 7 6 5 4 3 2 1 5 4 3 2 1 6 10 9 8 7 Figure2.14.CodeGenerator Twopolynomialsareusedtodescribetheshiftregisters.Fo rC/Acase G 1=1+ x 3 + x 10 ;G 2=1+ x 2 + x 3 + x 6 + x 8 + x 9 + x 10 (2.17) arethetwopolynomials.TheuniqueC/Acodeforeachsatelli teisobtainedfromthe modulo2sumofthedelayedversionofG2registerandG1regis ter.Byaddingtwophases ofaPNcodewegetanotherphasebutnotanothercode.Adiere nttapcombination resultsinadierentcode.Thereare32PRNnumberseachasso ciatedwithasatelliteand 25

PAGE 38

Table2.2.ComparisionofC/AandPCodes SignalPropertyC/APrecision ChipRate1 : 023 10 6 10 : 23 10 6 CodeLength10236 : 1871 10 12 AutoCorrelationPeriod1ms1week ChipTime977.5ns97.8ns another5associatedwithgroundtransmitters.C/Acodeiso flength2 n 1wherenisthe lengthoftheshiftregister. ThePcodeisgeneratedusingfourlinearfeedbackshiftregi sterscalledX1A,X2A, X1B,andX2B.Therepetitionofsuchacodeis1weekanditisof length6 : 1871 10 12 chips.FormoreinformationonPcodeonecanrefer[29].Abri efcomparisionbetweenthe twocodesisgiveninTable2.2. Theautocorrelationprocessisfundamentaltosignaldemod ulationoftheGPSsignal. Theautocorrelationfunctionofarandombinarycodeissimi lartothepulsewaveform.The GPScodesarehoweverperiodichencethesecodesarecalledP seudoRandomCodes.The autocorrelationofaGPSC/Acodeisgivenas: R c ( )=1 = 1023 Z T 0 c ( t ) c ( t + ) dt (2.18) TheautocorrelationfunctionofaC/AcodeisshowninFigure 2.15.Itisarepeating sequencewithperiod1ms.Ittakesdierentsidelobevalues includingas63/1023,-65/1023, -1/1023,1023/1023[1]. -1/1023 0 1 mst in sec 977.5 ns Figure2.15.C/ACodeAutocorrelation 26

PAGE 39

Assumingthatboththetransmitterandthereceiveraresync hronized,wecanrst getthedelayandhencethetimeoftransmissionofthesignal fromaparticularsatellite. Knowingthisthepseudo-rangescanbecalculatedas: R = c ( T 2 T 1 )(2.19) where T 1 :timeofTransmissionatthesatellitewithrespecttoGPSTi me T 2 :timeofReceptionatthereceiver TheillustrationinFigure2.16representsthedelayalongw ithtransmittedmodulated data.Thereceivedcodeiscomparedwithareplica.Thedier enceintimegivesusthe amountofdelay(alsothe T d ). c T Transmitted Data Delay = T2 T1 1 0 1 Demodulated Data Shifted Local Template d Delay T d Delay T Local Template d Delay T T2 T1 Period of PN code 1 0 1 Figure2.16.PositionDeterminationusingPseudo-codes 27

PAGE 40

Howevertheclocksarenotsynchronizedandthereisanerror whichhastobetaken intoaccount.Thenthetruegeometricrangebecomes R = c [( T u t u ) ( T s t s )]= c [ T u T s ]+ c [ t s t u ]= r + c 4 t (2.20) where 4 t = t s t u T u :timeofreceptionofthesignalatthereceiver T s :timeoftransmissionofthesignalfromsatellite t s :osetofthesatelliteclockfromsystemtime t u :osetofthereceiverclockfromsystemtime. c:velocityoflightinvacuum(3 10 8 ms 1 ). Onecancalculatethepositionoftheuserin(x,y,z)fromakn owledgeoftheinitial positionsofsatellites( x i ;y i ;z i )andalsothepseudo-rangeswhichcanbecalculatedfrom above.If( x i ;y i ;z i )arethepositionofsatelliteiandifweknowsuchpositions forfour satellitesonecansolve4equationstogettheunknownrecei verpositionas: PR i = p (( x x i ) 2 +( y y i ) 2 +( z z i ) 2 )+ 4 e (2.21) where 4 e :representserrors. Theseerrorsandbiasescouldresultfromvarioussources.T heseinclude[30]: 1.EphemerisErrors-relatingtonon-accurateavailableal manacdataafteraperiodof 4hours 2.SatelliteandReceiverclockerrors-resultingfromnons ynchronizationofthesatellite andreceiver 28

PAGE 41

3.Multi-patherror-dealingwithsignalsarrivingafterre rectionsinsteadofarriving directly.Itdistortstheincomingsignalandaectscarrie rphaseandpseudo-range measurements 4.ReceiverMeasurementNoise-relatedtothelimitationso fthereceiverelectronics 5.Ionosphericdelay-Theionosphericlayerintheatmosphe reactsasadispersive medium,bendingthesignalandchangingitsspeed.Thechang einspeedcauses anerrorinmeasurement 6.TroposphericDelay-Thiscausesadelayinthesignalther ebywemeasureadierent distancewhichislongerthantheactualdistance. Theabovesystemoffournon-linearequationscanbesolvedu singKalmanlteringorclosed formtechniquesoriterativetechniquesbasedonlineariza tion[26]. 2.2.2.2SignalDataStructure ThedataformatforaGPSsignalisshowninFigure2.17below. Thebasicelementis 1msdurationC/Acodeof1023chips.Thenavigationdatabith asadatarateof50Hz anditis20mslongandcontains20C/Acodes.Thirtysuchdata bitsconstituteaword of600mslong.Tenwordsmakeupasub-frame6seclong.Fivesu chsub-framesmakea framewhichis30seclong.Twentyvesuchpagesconstitutea completedatasetequal to12.5minuteslong.Todeterminethepositionofauseronen eedstoknowtheposition ofthesatellitesinadditiontothedistancesfromthesatel litestotheuseraswehaveseen above.Therstthreesub-framescontaintherequireddata. Ineect18secofdatais necessarytocalculateauserposition.Toreportthedatafo rcomputationofpositionthe GPSusesNMEAorRINEXformats.NMEA(NationalMarineElectr onicsAssociation)is acommunicationstandarddevelopedformarineinstruments .Anotherindustrystandard istheRINEX(ReceiverIndependentExchange).ThisisanASC IIformatandisusedfor exchangeofdatabetweendierentreceivers. 29

PAGE 42

10 11 12 ..................................... 2930 1 Word = 600 ms constitutes 30 Navigation Data Bits 1 1 2 3 4 5 6 7 8 9 1021 1022 1023 Length of GPS C/A code = 1023 chipsEach chip has duration = 977.5 nsDuration of one C/A code period = 1ms 1 C/A code period 2 3 4 5 1 1 Subframe = 10 Words (duration of 6 seconds) 1 Page (duration 30 seconds) has 5 subframes 2 3 4 5 6 7 8 910 Navigation Data Bit = 20 C/A code periods (Duration 20 ms) 1 2 3 4 5 6 7 8 910 1112 13 2 3 4 5 6 7 8 910 14151617181920 1 Figure2.17.GPSChipandDataBitStructure 2.3Summary Thischapteroutlinedthebasicconceptsofspreadspectrum communications,themodel, modulationanddemodulationschemes.Variousdetectorswe reintroduced.ItalsodescribedtheGPSsignalsandsegments,usefulforGPSsignalp ropagationanddetection. ItdiscussedaboutthecorrelationpropertiesoftheGPSsig nalswhichareinstrumentalin signaldemodulationanddetection. 30

PAGE 43

CHAPTER3 GLOBALPOSITIONINGSYSTEMRECEIVER TheGPSusersegmentasdescribedinChapter2consistsofGPS receivers.Thecontrol segmentsuploadstheephemerisdataandtheGPSreceiveruse sthisdatatocalculatethe position.Thereceiverisdescribedhere,withemphasisont hedigitalbackendprocessor.A briefdescriptionofthevariouscomponentsisoutlined.3.1ReceiverCongurations State-of-the-artreceivershavemulti-channelsforsigna lreception.Advantagesofmultichanneloversinglechannelaredescribedbelowandtypesof receiverstartsareintroduced. 3.1.1SingleandMulti-channelReceivers AGPSsignalasmentionedbeforeisaSpreadSpectrumbasedsi gnal.UsingaGPS receiver,wecandetermineourlocationatanypointontheea rth'ssurface.GPSreceivers arecategorizedbroadlybasedonwhethertheyhaveasinglec hannelforeachsatelliteor multiplexdierentsatellitesignalswithonechannel.The ycanbesingle-channelsequential, single-channelmultiplexed,orsinglechannelpersatelli te.Insinglechannelsequential receiver,eachofthesatellitesaretrackedcontinuously, oneatatimeforfewseconds, beforetrackinganothersatellite.Insinglechannelmulti plexing,thesequencingrateis highsothatthedatafromfoursatellitesareviewedsimulta neously.Inmultiplechannel receivers,whichisthenormtodayeachofthesatelliteisas signedasinglechannel.Today's receiverscomewithtwelveparallelchannelsandoperateon boththeL1andL2frequencies. Asmentionedearlierfoursatellitesareneededtoknowthep osition,andatanypointin 31

PAGE 44

timethereareatleast7-9satellitesvisibletothereceive r.Hence,specialprecisionand backupcapabilityaretheadvantagesofhavingmorethan5ch annels[31]. Forthereceivertooperate,someinformationmustbeknownu pfront.Thevisible satelliteinformationstoredinthealmanachelpsinthesig nalacquisition.Thisinformation alsohelpsinspeedingupthesearchprocessinsteadofacold start,whennoinformation aboutthesatellitesinrangeisknown.Typically,aGPSrece ivertakesabout30seconds toreadtheephemerisdataforasatelliteaftersignalacqui sition.AgenericGPSreceiver ispresentedhere.Wealsobrierydescribethesignalrowins idethereceiver.Atraditional GPSreceiver,showninFigure3.1consistsoftwostages:the analogfrontendandthe digitalbackend.Theanalogfrontenddescribedbelowisuse dtoconditionthesignaland generatetheinputforthedigitalbackend.Ittakesinincom ingsatellitesignalswithpowers oftheorder10 16 Wattsandidentiestheminthepresenceofnoiseatitsinput 4000times strongerthanthesatellitesignal.Thedigitalbackend,wh ichisusuallyadigitalsignal processor,takestheinputandcomputesthepositionandloc ationinformation.Thoughitis usuallyachipset,onlyrecentlyhavetherebeenattemptsto haveasinglechipGPSreceiver. Irrespectiveoftheimplementation,thegenericGPSreceiv erfunctionalblockdiagramisas shownintheFigure3.1. Asshown,themaincomponents/blocksoftheGPSreceiverinc ludetheAntenna,PreAmplier,Frequencysynthesizer,Frequencydown-convers iontoIF,AnalogtoDigitalconversion,andsignalprocessing.Theantennaisusedtocolle cttheGPSsignals.Various parameterssuchasthesatellitevisibilityprole,polari zationoftheincomingsignals,elevation,etc.,determinethedesignoftheantenna.Theanten naisaRightHandCircular Polarizationantennawithhemisphericalvisibility.Sign alswhichhavebeenreceivedusing theantennaareveryweakinstrength.Thisisduetomanyfact orssuchasthedistancestraveledbytheGPSsignal,themultipathinterferencebyotherf requencies,andthemultiuser environmentetc.Forfurtherprocessing,thereceivedsign alsareampliedandconditioned bythePre-amplier.Thereferenceoscillatorprovidesthe timeandfrequencyreferencefor thereceiver.Thishastobestable,becausetheimportantme asurementsinGPSarethe 32

PAGE 45

N 2 AGC ADC Converter Down Pre-Amp Digital 3 User Interface Processing Navigation Frequency Synthesizer Oscillator Reference Antenna Digital Back End Analog Front End Processing Receiver Channel 1 Receiver Figure3.1.GPSReceiver timeofarrivalofthesignalandthecarrierphasewhichareu sedtocalculatethepseudorangeofthesatellite.Eitherrubidium,orovencontrolled crystaloscillators,ortemperature controlledcrystaloscillatorsareinuse.Thefrequencysy nthesizerisrequiredtogenerate thereferencesamplingclocks,localIFtowhichtheinputsi gnalhastobedown-convertedas wellassignalprocessingclocks.Thedown-convertermixes thelocaloscillationsgenerated bythefrequencysynthesizerwiththeincomingsignaltogen eratetheIFfrequencysignal forfurtherprocessing.Thedown-conversionisusuallyint wostagesandpreservesthePRN codesandtheDopplereects.[32]howeverreferstodesigno fadirectconversionGPS receiver.Indirectconversion,the1.5GHzsignalissample dwithouttheintermediateIF stages,therebyeliminatingtheneedforlocaloscillators andPLLs.TheADCandAGCare usefulforrejectingunwantedsidebandsaftermixingandto maintainaconstantamplitude forsignalprocessing.TheAGCensuresthatthesignalampli tudeisspreadamongstthe 33

PAGE 46

quantizationlevelsofADC.GPSreceiversusea1-bitor2-bi tdataandhencehavetwoor fourquantizationlevels.Twoapproachesarepossibleford igitizingtheincomingsignal 1.directdigitizationoftheL1signal;or2.down-conversionoftheinputsignaltoIFfollowedbydigi tization. Theformerremovestheneedformixerandotheranalogcompon entsbuttheADCmust operateathighfrequency.Thedown-convertedapproachuse smixersandanalogcomponentstodownconverttheRFsignaltoIFrangeandthenmanipu latesthiswithpractical ADCs.ThesamplingfrequencyselectionisrelatedtoC/Acod echiprate.Itshouldbenot amultipleoftheC/Achiprate,sinceinthatcasethesynchro nizationisnotachieved[20]. TherelationbetweentheincomingIFsignal,samplingfrequ ency,andtheoutputfrequency canbederivedfrom: f o = f i nf s = 2(3.1) where f o f i = 2 f o :outputfrequency f s :samplingfrequency f i :inputfrequency n:integer Alsoif 4 f isthebandwidthoftheinputsignal,thenaccordingtoNyqui strequirement thesamplingfrequency f s ,shouldbegreaterthan2 4 f (practically2 : 5 4 f ).Giventhe bandwidthofC/Acodesignaltobe2MHznull-to-null,wecans afelychoose5MHztobe thesamplingfrequency.Therelationbetweentheoutputsig nal,samplingfrequency,and thebandwidthoftheincomingsignalcanbeexpressedas: f o f s = 4(3.2) 34

PAGE 47

where f s 2 4 f ThedigitalreceiverchannelgeneratesthelocalPseudo-No isecodesandchangesinphase andoperatesontheincomingsignalsamples.Itisusedtoacq uirethesatellitesignals, trackingthecodeandcarriersignalsetc.[33].ThepseudorangesandtimetagsandGPS systemdatawhichareusedinNavigationprocessingareoutp utsofsignalprocessing.The inputIFsignalcanberepresentedas: s i ( nT s )= A ^ c i ( nT s ) ^ d ( nT s ) sin (2 ( f IF + 4 f ) nT s + )(3.3) where s i : i th satelliteinformation nT s :samplingintervalT=1 =f s A:Amplitude ^ c i ( nT s ):sampledanddelayedC/Acode ^ d ( nT s ):delayednavigationdatabit 4 f :frequencyoset ParallelprocessingasshowninFigure3.1isperformedonth eIFtotrackvisiblesatellites simultaneouslybytheindividualreceiverchannels.TheGP Sreceivermeasuresthecode phaseforpseudo-rangemeasurementsfromthesatellitesig nals.Italsoextractsthecarrier frequencyandifitisinphaselockwiththeincomingsignalt henitcouldcalculatethedelta pseudo-rangemeasurements[33]. Figure3.2belowshowsthereceiverchannelwherethebacken ddigitalprocessingis performed. Demodulationtakesplacewithinthereceiverchannel.Asde scribedpreviously,itconstitutestwophases:AcquisitionandTracking.SignalAcqu isitioninaGPSreceiverrefers toproblemofsearchingdierentsatellitesignals.Depend inguponthekindofreceiver hardwareorsoftwareusedtherearedierenttechniques.Th ehardwarereceiverusescontinuoustimedomaincorrelationtoacquirewhilethesoftwa rereceiverusesblocksofdata 35

PAGE 48

COSMap SINMap I Q Digital IF E P Generator CodeCode NCO ReceiverProcessing II PL QQ PL Clock carrier phase increment per clock cycle L L P E Carrier NCO EPL 3 bit Shift Register f co 2f co code phase increment per clock cycle Integrate & Dump Integrate & Dump Integrate & Dump Integrate & Dump Integrate & Dump Integrate & Dump I EE Q f c Figure3.2.DigitalReceiverChannel toperformtheacquisition.ThedesigngoalofanyGPSreceiv ershouldbetheabilityto trackthedataafterithasbeenacquiredwithoutanydelay.T heamountofdataused foracquisitionpurposesisimportant.Thereisanavigatio ndatabitchangeevery20ms. Therefore,ifweconsidertwoconsecutive10msintervals,t henwecandetermineifthere wasatransition.However,sinceaC/Acodeis1mslongthepha sechangesevery1ms, andonecanconsider1msdurationforstrongsignalsforsign alacquisition. Basedontheavailabilityofpriorinformationofthepresen ceofasatellite,thereare threestarts: 1.Hotstart:WhenaGPSreceiverhasbeenswitchedoforless than4hours,itstillhas thealmanacdatavalidandhenceknowswhichsatellitesarev isible.Basedonthelast 36

PAGE 49

knownposition,currenttimefromlocalclock,andsatellit evisibility,theacquisition isquick. 2.WarmStart:Thereceiverhasbeenswitchedoformorethan 4hoursresultingin lessthanaccurateephemerisdata.Thisdeterminesaroughl istofsatelliteswhichare inrange. 3.ColdStart:Thistakesthelongesttimetoacquire.Inthis casethereceiverhasno priorinformationandthereceiverhastorandomlysearchfo rarbitrarysatellites. Inthebeginning,eightchannelsareusedtoacquiresignals fromanyeightsatellitesfor sometime.Ifanychanneldoesnotacquireasatellite,thena dierentsatelliteissearched. Thetime,whenthereceiverreportsthepositionrstafterp oweringup,iscalledthe Time toFirstFix .Dependinguponthestart,thiscanvaryfromunder18second s(HotStart),or under45seconds(WarmStart)to3minutes(ColdStart).GPSs ignalacquisitionfollows thesamelinesasthespreadspectrumsignalacquisitiondes cribedinChapter2.Figure2.4, describesthesearchspaceofGPSsignalacquisitionproble min2D,i.e.,weareinterested inthecodephaseandcarrierfrequency,givenwhichsatelli teswearelookingat.TheGPS C/Acodeissearchedinstepsof T c = 2where T c representsthechiptimeie.,itsearches over2046bins.Also,theDopplerfrequencyosetcanbeappr oximately 10kHz.Hence, thereceiversearchspacehas20binseachof1kHz,aroundthe centerfrequencyoftheIF carriersignal.Thetotalnumberofacquisitioncellswould thenbeapproximately40,000. Thedwelltimeforeachcellcanvaryfromlessthan1msforstr ongsignalsto20msfor weaksignals.Theacquisitioncongurationwithinareceiv erchannelisshowninFigure 3.3. Duringacquisition,thecorrelationpeakisdetectedandth ereceivercalculatesanenvelopetodetermineifthecorrelationpeakhascrossedthet hreshold.Ineachbin,the envelopeisestimatedandcomparedtoathresholdtodetermi nethepresenceorabsenceof asignal.ThedetectionisdescribedbyaPDF(probabilityde nsityfunction)foreachcell. Figure3.4(shadedportion)showsthePDFofdetection. 37

PAGE 50

Control Logic Q Receiver Baseband Processing Digital IF I Local OscillatorCode Generator Detection Threshold Integrate & Dump Detection Envelope Detection Envelope Integrate & Dump Figure3.3.ChannelSerialAcquisition t v PDF of noise and signal PDF of noise Figure3.4.PDFofDetection Ifweassumeadwelltimeof1ms,thentheminimumtimetoacqui reasignalwouldbe 40seconds.Oncethesignalhasbeenacquired,thenextphase oftrackingstarts.Figure 3.5showsthetrackingofbothcarrierandcodeinachannel. Boththecodeandcarrierarecontinuouslytracked,usingth ereceiverchannelinFigure 3.5.Inherently,thereisaphaselockedlooptotrackthecar rierandadelaylockedloop totrackthecodephase,respectively.Duringtracking,ift hecodechangessuddenlyor driftsbeyondtrackingrange,thenthereceiverhastore-ac quireandthetrackingoperation comestoahalt.Thisisknownas loss-of-lock .Thecarriertrackingisperformedtolockthe incomingsignalphasewiththelocallygeneratedcarriersi gnalphase.Thisisperformed 38

PAGE 51

Detection Threshold L Q Control Logic E Q L I Digital IF Detector I E Envelope Integrate & Dump Detector Envelope Detector Envelope Detector Envelope Integrate & Dump Integrate & Dump Integrate & Dump Code Generator Figure3.5.TrackingLoops usingPhaseLockedLoopstolockthephaseofthesignals.The incomingsignalismixed withthelocalsignalinquadraturetoconvertittobaseband .Thisstepisknownas carrier wipeo sincetheresultingsignaldoesnotcontainanycarriercomp onent.Thesignalisthen correlatedwithpromptC/Acode(thisresultsina codewipeo )andintegratedasshown inFigure3.5.TheAccumulateandDumpactsasalowpasslter andltersthedouble frequencyterminthequadraturemixeroutputleavingonlyt hecorrelationvalue.The carrierloopdiscriminatorgivesanoutputphasedierence whichisfedtothesynthesizer togenerateappropriatephasetokeepthesignalinsynchron ization. ThecodetrackingisbasedonaEarly-latecorrelationvalue .Whenasignalisacquired, thelocalreplicaiswithinachiptimeoftheincomingsignal .Thedelaylockedlooptracks thesignalbygeneratinganearlyandalatesignal.Theseare generatedusinga3-bit shiftregisterinFigure3.2.Theshiftregisterisclockeda t2 f c ,whilethecodegeneratoris clockedat f c .Theincomingcodeiscorrelatedwithboththeearlyandlate codesamples. Thecorrelationenvelopesaresubtractedtogetanerrorsig nal.Thisdetermineswhether 39

PAGE 52

theclockhastobeadvancedorretarded.Boththeearlyandla tesamplesare1/2chip timedelayedwithrespecttopromptcode. Thereceivertriestomatchthereplicacodewiththeincomin gcodealongwithany changeduetoDopplerandalsothereplicacarrierfrequency withtheincomingfrequency adjustedwithDoppler.Thereceivermeasuresthetimedelay andhencecancalculatethe pseudo-ranges.Theephemerisdatawhichareobtainedfromd ecodingthesub-framesare alsousedinconjunctionwiththepseudo-rangesbythenavig ationprocessortocompute thepositionoftheuserandalsothevelocity.3.2Summary ThischapterdiscussedaboutaGPSreceiverandthedigitalb ackendfunctions.It discussedhowareceivercouldbeoperatedandwhatsignalsi tmanipulatesupon.The dierentspreadspectrumdemodulationschemesappliedtoa GPSreceiverweredescribed. ThenextchapterdiscussestheVHDLImplementationofthedi gitalbackend. 40

PAGE 53

CHAPTER4 VHDLDESIGNANDIMPLEMENTATION Thischapterpresentstheimplementationdetailsofthe GPSDigitalReceiver explained thusfar.First,isoutlinedthestandardprocedureinthede signofadigitalASICdesign. TheGPSreceiver,ashasbeendescribedbefore,consistsoft woparts:analogfrontend anddigitalprocessor.Hereisdescribedbriery,thedesign rowfortheanalogfrontend butthescopeofthisworkisonlythedigitalprocessor.Thed esignoftheRFsystemof theGPSreceiverinvolvesRFcircuitdesignrow.Thedesignr owrstrequiresthesystem specicationswhichareusedtodeterminetheRFcircuits.T heseRFcircuitsaresimulated usingsoftwaresuchas Matlab or ADS .ApartfromtheRFsysteminareceivertherearealso thedigitalcircuitswhichprocesstheRFsystemoutput.cir cuitsystemdesignrowisshown ingure.Thedigitalcircuitsystemisrstdesignedatanal gorithmiclevel.Thisdescribes theimplementationintermsofbasicmodulesandtheinterco nnectionbetweenthem.The modulescanbedescribedatthebehavioralorstructurallev elofdesignabstraction[22].The behavioraldescriptionrepresentsthefunction.Thisbeha vioralmoduleisthensimulated andvalidated.Thevalidateddesignisnextsynthesizedint oanetlist,whichcanberealized onhardware(eitherASICorFPGA).Aplaceandroutetooltake sthegate-levelnetlistand generatesalayoutbasedonthecomponentlibraryofthetarg ettechnology.Thisdesignis re-simulatedtotakecareofthetimingconstraintsanddela ysuntilthetimingconditions aremet.Thenallayoutisrealizedontoasiliconsubstrate .Thedesignofadigitalreceiver involvesbothdigitalandRFcircuitry.Problemsofcouplin geectsoftheanalogRFsignal onthedigitalcircuitry,havetobetakencareofduringthed esign. 41

PAGE 54

4.1DigitalSystemDesignandImplementation BehaviorallevelVHDLcodeiswrittentoimplementthedigit alprocessingofthesignal.TheinputtothereceiverisdigitalIF;weassumesample ddigitaldataforsimulation purposes.Asdescribedinthepreviouschapter,theincomin gsignalisrstdownconverted toIFrangewhichhasacenterfrequencyof f c =21.25MHzandthensampledat5MHzto givea1.25MHzsignalinputtothebasebandprocessing.Sinc ethecodeandcarrierphase informationispreservedduringdown-conversion,theinco mingsignalof1.25MHzwhichis modulatedbyagivenPNcodeaswellasdata,isassumedforsim ulationpurposes.The digitalbackend,illustratedinFigure3.1,includesdemod ulator,GPSC/Acodegenerator, andcodeandcarriersynchronizationloops.BehavioralVHD Ldescriptionshavebeenwrittenandveriedtohavethedesiredfunctionalityofthefoll owingcomponents: 1.AccumulateandDump,2.LinearFeedbackShiftRegisters,3.DirectDigitalfrequencysynthesizer,4.Correlatorandmatchedlters,5.Digitalsyntheticdatageneration,6.BPSKIFsignalgeneration,etc. 4.1.1AccumulateandDump An AccumulateandDump isusedinareceiverasshowninFigure3.1asan Integrate anddump .Itimplementsthefunctionofalowpasslter.Thiscommuni cationblockadds samplesoveratimeintervalandattheendofthisintervalre sets,hencethenameIntegrate andDump.ItcanbeimplementedasshownintheFigure4.1.The integrateanddump 42

PAGE 55

implementsthefunctionshownbelow: y k = k X i =( k 1) N Nx i (4.1) i-1 s ctrl k y x i s + + i FF FF Figure4.1.IntegrateandDump Theintegrateanddumpbecomesabinarymatchedlterinthee ventoftheincoming signalbeingrectangularsignalpulses[34].Thefollowing algorithmdescribesthefunction oftheIntegrateanddump. Algorithm:IntegrateandDump if count
PAGE 56

TAPS 12345678910 Figure4.2.LinearFeedbackShiftRegister 4.1.2LinearFeedbackShiftRegister(LFSR) Afeedbackshiftregisterisaregisterwhichhastheinputto beamodulo-2sumof itsoutputs.TheLFSRisusedingenerationofthepseudo-ran domcodesinthesystem implemented.Basedonthetapsused,onecangetdierentcod esfromaLFSR.FortheGPS system,theC/Acodeusestwo10-bitLFSBsasgiveninequatio n2.17.Mathematically,a LFSRpolynomialcanberepresentedas: C ( s )= z k + c k 1 z k 1 + :::: + c 1 z +1(4.2) where c i areknownasthetapswhichdeterminewhatbitshavetobemodu lo-2added.If c i =1,thebitismodulo-2addedelsethecorrespondingbitdoes n'taddtotheoutputsum. ThemultiplicationandadditionaredoneusingANDandXORga tes. 4.1.3NumericalControlledOscillator(NCO) Anumericalcontrolledoscillatoristhedigitalcounterpa rtofananalogvoltagecontrolled oscillator.Basedontheerrorvoltage,theoutputfrequenc yischangedinananalogVCO. Similarly,inadigitalNCO,basedontheerrorinputwordthe outputfrequencyisaltered. AnNCOconsistsofanaccumulator,towhichanincomingerror signalisadded.Thiserror signaldecidestheoutputfrequencyoftheNCO.If f c istheclockfrequency, ,theincoming errorsignalmagnitude, n ,thenumberofbitsoftheaccumulator,thefreerunningoutp ut 44

PAGE 57

frequencyoftheNCOisgivenas: f out = f c = 2 n (4.3) TheNCOgeneratesasquarewavewhosefrequencyiscontrolle dbytheerror.TheNCO formsanimportantpartofdigitalreceiverasitisusedinth etimingrecovery.Asdescribed above,itisusedtochangethefrequencyoftheclock,thereb y,theclocktiming. Input Error Word ++ n bits Square Wave f nco HoldingRegister f nco Figure4.3.NumericalControlledOscillator AlgorithmNCO whilesum < thresholddo sum ( sum+ ifsum > thresholdthen changeinputerrorword ^ else sum sum+ ^ endif endwhile 4.1.3.1CodeNCO AcodeNCOisusedinthecodetrackingloop.Itisusedtogener ateaclocksignal,as wellasthepromptsignal,basedupontheEarlyminusLatesig nalobtainedbycorrelating theearlyandlatecodes. 45

PAGE 58

4.1.3.2CarrierNCO ThecarrierNCOisusedinthecarriertrackingloop,totrack thephaseoftheincoming carrier,bychangingthephaseofthelocalsignal.Thecarri ertrackingisdoneusinga Costasloop.Basedonthecarrierdiscriminator,theerrors ignalisgenerated[26].This errorsignalisusedtoincreaseordecreasethephaseofthel ocallygeneratedsignal,sothat itmatcheswiththeincomingsignal.4.1.4DirectDigitalFrequencySynthesizer Toproducesineandcosinewavesdigitallyoneoftheapproac hesusedisthelookup tablemethod.ItisanextensionoftheNCO.TheNCOgenerates asquarewaveform.The amplitudeisconvertedtoacorrespondingsinewave.ADDFSi sshowninFigure4.4.The kMSBsoftheaccumulatorregisteroftheNCOareusedtoaddre ssalookuptablewhich containsannbitprecisionsineandcosinevalues.Onecange nerateasinewavebystoring valuesinthelookuptableforonecompletecycle.Thisrequi reslargeROM.Hence,another techniqueusedistostoreonlyonequarterofthecycleandsi ncetheothercyclesaremirror images,onecanappropriatelyobtainthosevalues.Theinco mingdigitaldataismodulated bythecarrierandcode.Thedemodulationprocessattherece iverinvolvescarrierstripping initially.Forthis,oneneedsthesineandcosinevalueswhi chcanbegeneratedusingthis module. IncomingError Word m m nn k MSBs + + COS SIN mm k MSBs Holding Register Figure4.4.DirectDigitalFrequencySynthesizer 46

PAGE 59

TheVHDLcodeforthedigitalfrequencysynthesizertogener atea1.25MHzsignalis presented.4.1.5DigitalIFGeneration Forsimulationpurposes,wegeneratedanIFcarrierusingaD DFSdescribedinsection onDDFS.Thepseudo-noisecode,generated,modulatesthisI Fcarrier.Thepseudo-noise codeisgeneratedusingtwoLFSBs.Theblockdiagramofthetr ansmitterusedisshownin Figure4.5. IF Carrier @ 1.25 MHz BPSK Modulated @ 50Hz @1.023MHz C/A Code Data Figure4.5.IFGPSSignalGeneration 4.1.6CorrelatorsandMatchedFilters Theseconstitutethemostimportantfunctionofthedemodul ationanddetectionprocess inareceiver.AserialcorrelatorisshowninFigure2.5(a). Thedigitalcorrelatortriesto matchthecodesbymultiplyingthemandsummingtheresultby andaccumulateand dump.TheblockdiagramisshowninFigure4.6.Thefollowing algorithmdescribesthe functionalityofthecorrelatorimplemented. 47

PAGE 60

Accumulate & Dump Correlation Cross or Auto R(t) Incoming c(t) local c(t) + + Pseudo Noise Generator R R Figure4.6.DigitalImplementationofSerialCorrelator Algorithm:Correlation ifcount < Nthen sum sum+local-data incoming else corr-value sum endif 4.1.7ControlSignalGeneration Thecontrolsignalshavetobegeneratedtocontroltheacqui sition,changefromacquisitionphasetotrackingphase,etc.TheVHDLdesignoftheac quisitionassumesaknown carrierfrequencyandphase.Hence,acoherentsignaldemod ulationwasdesigned.Clock timingisalsoassumed.Thisassumptionleadstoaknowledge ofthebitsateveryclock. Thecodeacquisitionproblemthentranslatestoaone-dimen sionalproblemofsearching thephasegiventhecarrierfrequencyandwhichsatelliteco detosearchfor.Correlationis theprocessbehindacquisitionofthesignal.Theacquisiti onprocesscanbestatedasan algorithmasfollows: Algorithm:PhaseChanges ifreset=0then state Reset 48

PAGE 61

else state Acquisition endifwhilestate Acquisitiondo ifsum thresholdthen state Acquisition else state Tracking endif endwhile Asdescribedinthealgorithmabovethestatechangesaftert hereceiverhasbeen switchedon.Ifthereceiverisinacquisitionphase,thenit goestoatrackingphaseonly afterithasdeterminedthecodephasetowithinonechiptimi ng.Theserialcorrelationacquisitionalgorithmimplemented,changesdelayscodeinst epsofhalfchip,untilthelocally generatedcodematcheswiththeincomingcode. Algorithm:Acquisition whileSTATEstate beginacquiringdo sum=sum+localdata din ifsum < thresholdthen delayclockby T c = 2 state continueacquiring else state begintracking endif endwhile Codetrackinginvolvestheuseofadelaylockedloop.Intheb ehavioraldesignof thedelaylockedloop,earlyandlatecodesaregeneratedbas edonaclocksignalwhich generatesthepromptcode.Thisphaseasdescribedearlier, startsoncewehavetheprompt 49

PAGE 62

codealignedtowithinachiptimeoftheincomingcode.Theea rlyandlatecodesare correlatedwiththeincomingsignalandthecorrelationval uessquaredtogettheabsolute values.Fromthese,anerrorsignalisgenerated.Basedonth eerrorsignal,wehaveto advancetheclocksuchthatthenewearly,andlatecorrelati onvaluesproduceaprompt codewhichiswithinhalf-a-chiptimealignmentwiththeinc omingcode. Algorithm:Tracking whileSTATEstate ( continuetrackingdo correlateearlyandlatecodessquarethecorrelationvaluesgenerateearly-latecorrelationvaluesifEarly < Latethen shiftclockby T c = 2 state continuetracking else promptcodeisnearincomingcode endif endwhile 4.1.8MultipleSatelliteTracking Areceivertypicallyreceivesmorethanonesatellitesigna latatime.Thoughthese signalshavesamefrequency,theyhavedierentcodes.Thes ecodesareorthogonaland thecrosscorrelationbetweenthecodesthemselvesisverys mall.Whenacquiringdierent codes,eachchannelinareceiverlooksforaparticularcode fromthesignaltransmission. Iftherearefoursatellitestransmittingdata,thenthepro blemofacquisitionisthateach channelhastodetectthecarrierfrequencyandcodephase.A ssumingthatthecarrier frequencyisknown,ittranslatestocodephasedeterminati onofmultiplecodesineach channel. 50

PAGE 63

Algorithm:MultipleCodeAcquisition ifreset=0then state beginacquisition endifwhileSTATEstate beginacquisitiondo forchannelin0tondo forsatellite=0toKdo state Acquire if sum channel;satellite > thresholdthen satellite satellite isacquired else changetodierentsatellite endif endfor endfor endwhile 4.1.9GPSDataGenerator AsdescribedinthechapteronGPSsignals,thecarrierismod ulatedbyboththepseudorandomcode,aswellas,thedata.Thisdataisgeneratedat50 Hz.Figure4.7showshow thedataisgenerated.4.2Summary ThepresentchapterpresentedthebehaviourVHDLimplement ationsofvariouscommunicationcomponentsusedinaGPSreceiver.Validassumpt ionsweredescribedwhich wereusedinthedesign.Thenextchapterpresentstheexperi mentalresultsobtainedby simulatingtheabovemodules. 51

PAGE 64

Divide by 20 Count 1023 1 Khz ctrl50 Hz data C/A code G2 Register G1 Register 1.023 MHz clock 10 9 8 7 6 5 4 3 21 10 9 8 7 6 5 4 3 21 Figure4.7.DataGeneration 52

PAGE 65

CHAPTER5 EXPERIMENTALRESULTS Variouscommunicationblockshavebeenimplementedascore swhichcouldbeusedin thedesignofdierentcommunicationsystems.Thedesignof thedigitalsignalprocessing inaGPSreceiverisimplemented.Thedesignincludedthedi erentcommunicationmoduleslistedinchapter4.Behavioralcodeforthesemodulesw aswrittenandexplainedin chapter4andthecorrespondingwaveformsarepresentedint hischapter.Acoherentsignal demodulationwasassumedduringtheprocessingofthesigna l.Bythisweunderstandthat thecodeisknownandthecarrierphaseisknown.5.1CommunicationBlocksSimulations Figure5.1showsthesineandcosinewaveformsobtainedfrom thesimulationofthe DDFS.TheDDFSwasdesignedusingalookuptabletechnique.T hecorrespondingnumericallycontrolledoscillatoroutputisalsorepresente dbysignal holdsum .Wecanobserve thattheNCOoutputisasquarewave,thestepsizebeingthein comingphaseerror.As showninFigure5.1,oncethethresholdiscrossedintheaccu mulator,itisresetandthe sinewaverepeats.Thefrequencyofthesignalgeneratedis1 .25MHzwhichistheIFfor thesystemunderstudy.Thecarrierisabinaryphaseshiftke yedsignalmodulatedbythe pseudo-noisecodeandadatasignal.Figure5.2showsthesin ewavemodulatedbytheC/A code.AswecanobserveinFigure5.2,abit0haszerophase,wh ileforabit1,thereis achangeofphase.Theamountofphasechangeis radians,foradatacorrespondingto bit1,and radiansforabit0.Asshown,thewaveformmatchestheorigin alsinewave whenthereisabit0beingtransmitted.TheIntegrateanddum pasdescribedbeforeis usedincorrelation.Thecorrelationprocess,usedintheco herentdemodulation,isaserial 53

PAGE 66

Figure5.1.SineWaveGeneration method.Figure5.3showstheautocorrelationofsatellite1 c a ,withalocalsignal, recca Thesignal intsum ,representsthecorrelationsumfortheintegrationperiod of1ms.The integrationtimeforastrongsatellitesignalcanbeassume dtobe1ms[35].Ifboththec a andreccaareequal,theresultingsumismaximum.Ifthedata bitis`0',thesumispositive maximum,whilefora`1',thesumisanegativeminimum.Thein tsumisaccumulatedfor thisperiodanddumpedattheendofitresultinginthesawwav eformasshown. 5.2GPSSignalSimulation AsdiscussedinthechapteronGPSsignals,thedataisa50Hzs ignal,synchronouswith theC/Acode.Syntheticdataisgeneratedfortestingthemod eldesigned.Thewaveform inFigure5.4showsadatasignal( din )whichissynchronouswiththecode(signal c a ). Figures5.5,5.6,5.7,5.8,5.9,and5.10representthecodes fordierentsatellites.Theseare obtainedbyusingdierentdelaysfromtheG2register. 54

PAGE 67

Figure5.2.BinaryPhaseShiftKeyingSignal Themajorprocessinvolvedindemodulationisthecorrelati onoftheincomingsignal withthelocalsignal.Aslidingcorrelatorhasbeenimpleme ntedinthisdesignforcorrelation purposes.Itconsistsofamultiplierandanaccumulateandd umpasdescribedinchapter 4.Ageneratedsignalissaidtobecorrelatedifthethreshol doftheaccumulateanddump exceedsamaximumvalue.Inthisdesign,acorrelationinteg rationtimeof1mswasused andthemaximumsumof 1022wascheckedfordetectingthecorrelation.Thesignal int sum representsthecorrelationsumwhichischecked,ifthresho ldisexceededornot. Thisprocessisthebasisofthetwoproblemssolvednext:acq uisitionandtracking.Knowing 55

PAGE 68

Figure5.3.AutoCorrelationusingAccumulateandDump thatdatafromasatelliteisbeingreceived,ithastobesync hronizedwithalocalsignalto demodulatetheincomingdata.Figure5.11representsacqui sitionofasatellitewithID1. Theacquisitionisachievedbyshiftingthecodegeneration everyhalfchiptimeas shown.Thecontrolsignal shiftclk determines,ifthereisanyphasechangefromacquisition totrackingorifthestateremainsconstantdependingupont hevalueofthecorrelation sum.Ifthe int sum valueexceedsthethresholdvalue,thecodeisgeneratedint hesame frequencyandphase,otherwisethephaseofthecodeisdelay edbyhalfchiptime. If shiftclkisequaltolt ,itimpliesthatthesignalhasnotbeenacquiredandisacqui redif the shiftclkisequaltoeq .Oncethesignalhasbeenacquired,theincomingsignaliswi thin onechiptimeofthelocalsignalashasbeenshowninFigure5. 11.Oncethesignalhasbeen 56

PAGE 69

Figure5.4.DataGeneration acquired,todetectthedatasignal,weneedtoknowprecisel ywhenthesignalchanges. ThisisachievedbydesigninganEarly-Latetrackingloop.T hetrackingloopsamplesthe incomingsignalatorveryclosetotheoriginalincomingsig nalbycorrelatingtheearlyand latecodes.The early code and late code inFigure5.12representtheearlyandlatecodes. Thetrackingphaseisenteredwhen shiftclkisequaltoeq andthe recca signalcorresponds Figure5.5.C/ACodeforSatellite1 57

PAGE 70

Figure5.6.C/ACodeforSatellite8 tothelocalreceiverpromptcode.Byshiftingthephaseofth eclockbyhalfachip,a newearlyandlatecodephasesaregeneratedandcorrelatedw iththeincomingsignal.To generateanerrorsignal,theabsolutecorrelationvalueso ftheearlyandlatecodesmustbe known.Thecorrelationvaluesaresquaredtoobtainthisand anerrorsignalisgenerated basedonwhethertheearlycorrelationvalueisgreaterthan thelatecorrelationvalue.If Figure5.7.C/ACodeforSatellite12 58

PAGE 71

Figure5.8.C/ACodeforSatellite15 Figure5.9.C/ACodeforSatellite21 thecorrelationsumoftheearlycodeissmallerthanthecorr elationsumofthelatecode, thenthecodeisdelayed.Otherwise,thecodeissaidtobetra ckingtheincomingcode.As shown, din iswithinhalfchiptimeof recca The recca signalisthenearestreplicaoftheincomingsignal.Thedat aisdetectedfrom thissignal.Thishasbeenillustratedby data out .Ifthesumisgreaterthan1020,thedata isdetectedas0andifthesumislessthan-1020,thedataisde tectedasa1.ModernGPS 59

PAGE 72

Figure5.10.C/ACodeforSatellite24 Figure5.11.AcquisitionofaSingleSatellitebyIncrement ingCodePhaseinHalfChip Incrementsreceiversprocessdatafrommultiplesatellitesinparalle l.Thiscanbeachievedbyeither havingasinglechannelmultiplexingthesatellitesorhavi ngmultiplechannelswitheachof themdetectingonlyonesatelliteatatime.Theincomingsig nalataGPSreceiverismade 60

PAGE 73

Figure5.12.TrackingAfterSignalhasbeenAcquired upofcodesfrommultiplesatellites,transmittingatdier entfrequencies.AsthecrosscorrelationpropertiesoftheC/Acodesaresuchthat,theyh avelitterinterference,onecan assumethateachchannelcancorrelatewithmultipleGPSsat ellitesignals.Thecorrelation whichresultsinthegreatestcorrelationsumisthesatelli tewhichisbeinglocallygenerated. Figures5.13,5.14,5.15,5.16,5.17,and5.18illustrateth ecasewherefoursatellitesignals arebeingacquiredbyafourchannelGPSreceiver.Eachchann elhasfourcorrelatorsone foreachsatellite.When shiftclkisequaltoeq ,itindicatesthatthesignalhasbeenacquired andthenextphaseoftrackingcouldstart. 61

PAGE 74

Figure5.13.AcquiringMultipleSatellitesSet162

PAGE 75

Figure5.14.AcquiringMultipleSatellitesSet263

PAGE 76

Figure5.15.AcquiringMultipleSatellitesSet364

PAGE 77

Figure5.16.AcquiringMultipleSatellitesSet465

PAGE 78

Figure5.17.AcquiringMultipleSatellitesSet566

PAGE 79

Figure5.18.AcquiringMultipleSatellitesSet667

PAGE 80

5.3Summary BehavioralVHDLcodesforcommunicationblockswerewritte n.Theexperimental waveformsareshownforeachofthecomponentsandfunctiona lblocksofthedigitalbackendGPSreceiver.Toaccountforatmosphericeectsandothe rcumulativeeectsthe generateddatawasdelayed.Itwasseenthatthedesireddata isobtainedatthereceiver afterdemodulationanddetection.Resultsforacquiringda tafrommultiplesatelliteswas alsopresented.Afourchannelparallelreceiverwassimula ted. 68

PAGE 81

CHAPTER6 CONCLUSIONSANDFUTUREWORK ThisworkoutlinedtheimplementationofaGPSreceiverinti medomain.Itdealtwith VHDLimplementationofthedigitalbackendofaGPSreceiver .Dierentfunctionalblocks andcommunicationblockswereimplementedaspartofthiswo rk.Thescopeofthiswork, wastodevelopaworkingcodeacquiringandtrackingmodule, capableofacquiringaGPS signalandtrackingit.Syntheticdatawasgeneratedatther equiredrateandmodulated thePRNsequence.Thistransmitteddatawasdemodulatedand detectedandtheexpected datawasrecovered.Thus,aDS/SSreceiverwasimplemented, intimedomain,capableof acquiringandtrackingaGPSC/Acodesignal.Thereceiverim plementationassumeda coherentsignalacquisitionandtracking.Thisworkalsode altwithacquiringcodesfrom multiplesatellites.Itusedadedicatedchannelforeachof thesatellitesbeingtracked.Four satelliteswerecontinuouslybeingacquired. Forthistobeintegratedasanindependentmodule,thecarri eracquisitionhastobe performedalongwiththecodeacquisition.Thismodulehast obetestedonoriginalGPS datatovalidateit.Theentiremodelhastobesynthesized,t obeusedinconjunction withthetourguidebeingdeveloped.Lowpowermodesandfunc tionalitieshavetobe incorporated.Neweralgorithmstospeeduptheacquisition timesinthetimedomain couldbeworkedupon.Acquiringdatafromagreaternumberof satellitesandtracking themsimulatneouslyisanotheraspectforfutureresearch. Integratingthismodulewiththe analogfrontendtoachieveproperGPSfunctionalityisafut urework.Finally,developing algorithmsforusingtheGPSreceiverindoorsisanaspectof futureresearch. 69

PAGE 82

REFERENCES [1]P.MisraandP.Enge. \GlobalPositioningSystem:Signals,MeasurementsandPer formance" .Ganga-JamunaPublishers,2001. [2]MicosoftPressPass.Microsoftunveilsrstconnvected conceptcars. http://www.microsoft.com/presspass. [3]P.Enge.NextGenerationGPSReceiver.http://www.scia m.com/. [4]PressRelease.SinglechipGPSModule.http://www.vale nce.com/. [5]InstantGPSProductDocumentation.SinglechipGPSRece iver. http://www.motorola.com/ies/GPS/products.html. [6]WirelessDevNet.comPressRelease.SONYIntroducesInd ustry'sFirst1-ChipCMOS GPS.http://www.wirelessdevnet.com/news/2003/dec/15/ news1.html. [7]J.Ashjaee.GPS:ChallengeofSingleChip.http://www.g psworld.com. [8]D.M.Akos. ASoftwareRadioApproachtoGlobalNavigationSatelliteSy stemReceiver Design .PhDthesis,OhioUniversity,1997. [9]G.MartinandH.Chang.\Tutorial2System-on-ChipDesig n".In Processingsofthe 4thInternationalConferenceonASIC ,pages12{17,Oct2001. [10]U.Kailasam.HighLevelVHDLModelingofLowPowerASICf oraTourGuide. Master'sthesis,UniversityofSouthFlorida,2004. [11]W.ZhuangandJ.Tranquilla.\DigitalBasebandProcess orfortheGPSReceiver ModelingandSimulations". IEEETransactionsonAerospaceandElectronicSystems pages1343{1349,Oct1993. [12]M.S.BraaschandA.J.vanDierendonck.\GPSReceiverAr chitecturesandMeasurements".In ProceedingsoftheIEEE ,pages48{64,Jan1999. [13]D.J.R.vanNeeandR.J.R.M.Conen.\NewFastGPSAcquisi tionTechniquesusing FFT". ElectronicLetters ,pages158{160,Jan1991. [14]Z.Zhen.AveragingCorrelationforWeakSignalGlobalP ositioningSystemSignal Processing.Master'sthesis,OhioUniversity,2002. [15]A.A.Alaqeeli. GlobalPositioningSystemSignalAcquisitionandTracking usingField ProgrammableGateArrays .PhDthesis,OhioUniversity,2002. 70

PAGE 83

[16]U.deHaag. BlockProcessingofGPSSignals .PhDthesis,OhioUniversity,1999. [17]A.FridmanandS.Semenov.\ArchitecturesofSoftwareG PSReceivers". GPSSolutions ,pages58{64,2000. [18]S.P.PowellB.M.LedvinaandP.M.Kintner.\A12channel RealTimeGPSL1Software Receiver".2000. [19]S.M.KrishnaandB.R.Madhukar.\DigitalSignalProces sorsinGPSReceivers". GPS Solutions ,pages67{71,2000. [20]J.B-YenTsui. \FundamentalsofGlobalPositioningSystemReceivers-ASo ftware Approach" .Wiley-Interscience,2000. [21]R.C.Dixon. \SpreadSpectrumSystems" .JohnWileyandSonsInc,1994. [22]C.Chien. \DigitalRadioSystemsOnAChip" .KluwerAcademicPublishers,2001. [23]B.Sklar. \DigitalCommunications-FundamentalsandApplications" .PearsonEducation,2001. [24]J.G.Proakis. \DigitalCommunications" .McGrawHill,2000. [25]J.S.Lee,andL.E.Miller. \CDMASystemsEngineeringHandBook" .ArtechHouse Publishers,1998. [26]E.D.Kaplan. \UnderstandingGPSPrinciplesandApplications" .ArtechHousePublishers,1996. [27]G.Sanjeev.FeasibilityStudyForImplementationofGl obalPositioningSystemProcessingTechniquesinFieldProgrammableGateArrays.Mast er'sthesis,OhioUniversity,2000. [28]B.H.Wellenhof,H.Lichtenegger,andJ.Collins. \GPSTheoryandPractice" .SpringerVerlag,2001. [29]InterfaceContrlDocumentpublishedbyUSDoD.\GPSICD 2000Document". [30]A.El-Rabbany. \IntroductiontoTheGlobalPositioningSystem" .ArtechHousePublishers,2002. [31]D.Herskovitz.\GlobalPositioningSystemReceivers" MicrowaveJournal ,pages 66{69,September1994. [32]J.Ceccherelli.RevolutionaryGPSReceiverChipset.h ttp://www3.ibm.com/chips/micronews/vol6no/ceccherelli.html. [33]B.W.Parkinson,andJ.J.SpilkerJr. \GlobalPositioningSystem:TheoryandApplicationsVolume1" .AmericanInstituteofAeronauticsandAstronautics,Inc. ,1996. [34]M.S.Roden. \DigitalCommunicationSystemsDesign" .PrenticeHall,1988. 71

PAGE 84

[35]Y.SuhD.ManandharandR.Shibasaki.\GPSSignalAcquis itionandTrackingAn ApproachtowardsDevelopmentofSoftwarebasedGPSReceive rs". TechnicalReport ofIEICE ,2004. 72

PAGE 85

APPENDICES 73

PAGE 86

AppendixAVHDLCodeCorrelatorlibraryieee;useieee.std_logic_1164.all;useieee.numeric_bit.all;entitycorris port(d1:insigned(2downto0); d2:insigned(2downto0);clk:instd_logic;rst:instd_logic;flag:outstd_logic;csum:outinteger); endcorr;architecturecorr_behofcorris signaldcount,intsum:integer:=0; begin--corr_beh process(clk,rst,d1,d2)begin--process --activitiestriggeredbyasynchronousreset(activelow)ifrst='0'then dcount<=0;intsum<=0; --activitiestriggeredbyrisingedgeofclockelsifclk'eventandclk='1'then dcount<=dcount+1;intsum<=intsum+to_integer(d1*d2); 74

PAGE 87

AppendixA(Continued) ifdcount=1022then dcount<=0;intsum<=0;csum<=intsum; endif; endif; endprocess; endcorr_beh; 75

PAGE 88

AppendixA(Continued)CodeandDataGenerationlibraryieee;useieee.std_logic_1164.all;useieee.numeric_std.all;entitydel_codewdatais port(clk:instd_logic; rst:instd_logic;del_ca:outstd_logic); enddel_codewdata;architecturedata_behofdel_codewdatais signalg1,g2:std_logic_vector(1to10):=(others=>'1');signaldcount,timecount:integer:=0;signalflag,din,dclk:std_logic:='0';signalcount:integer:=0;constantt1:integer:=2;constantt2:integer:=6; begin--del_beh process variablec_a:std_logic:='0'; begin--process --activitiestriggeredbyasynchronousreset(activelow)ifrst='0'then count<=0;c_a:='0';g1<=(others=>'1'); 76

PAGE 89

AppendixA(Continued) g2<=(others=>'1');dcount<=0;timecount<=0;dclk<='0';flag<='0'; endif;waituntilclk'eventandclk='1';--activitiestriggeredbyrisingedgeofclock g1(2to10)<=g1(1to9);g2(2to10)<=g2(1to9);g1(1)<=g1(3)xorg1(10);g2(1)<=g2(2)xorg2(3)xorg2(6)xorg2(8)xorg2(9)xorg2(1 0); c_a:=g1(10)xor(g2(t1)xorg2(t2)); --introductingadelayinthesignaltoaccountforanyeffec ts iftimecount<10230then flag<='0'; else flag<='1'; endif;ifflag='0'then waitfor0ns; else waitfor400ns; endif; del_ca<=transportdinxorc_aafter2.75us;count<=count+1; 77

PAGE 90

AppendixA(Continued) timecount<=timecount+1; ifcount=1022then count<=0;c_a:='0';g1<=(others=>'1');g2<=(others=>'1');dcount<=dcount+1;ifdcount=9then dclk<=notdclk;dcount<=0; endif; endif; endprocess;--datagenerationdataisinvertedevery20msprocess(dclk,rst)begin--process--activitiestriggeredbyasynchronousreset(activelow) ifrst='0'then din<='0'; --activitiestriggeredbyrisingedgeofclock elsifdclk'eventanddclk='1'thendin<=notdin; endif; endprocess; enddata_beh; 78

PAGE 91

AppendixA(Continued)DDFSSineGenerationandIFGenerationlibraryieee;useieee.std_logic_1164.all;useieee.numeric_std.all;entitydig_synth2is port(clk:instd_logic; clk_code:instd_logic;reset:instd_logic;ph_err:inunsigned(7downto0);mod_out:outsigned(4downto0)); enddig_synth2;architecturebeh_synth2ofdig_synth2is signalsin_out:signed(4downto0);signalcos_out:signed(4downto0);signalg1,g2:std_logic_vector(1to10):=(others=>'1');constantT1:integer:=2;constantT2:integer:=6;signalpncount:integer:=0;signalflag:std_logic:='0';signalc_t:std_logic:='0'; begin--beh_synth process(clk,reset,c_t) variablehold_sum:unsigned(7downto0):=(others=>'0'); begin--process --activitiestriggeredbyasynchronousreset(activelow) 79

PAGE 92

AppendixA(Continued) ifreset='0'then hold_sum:=(others=>'0'); --activitiestriggeredbyrisingedgeofclockelse ifc_t'eventandc_t='1'then hold_sum:=hold_sum-"10000000"; elsifc_t'eventandc_t='0'then hold_sum:="10000000"+hold_sum; endif;ifclk'eventandclk='1'then hold_sum:=hold_sum+ph_err;--whenthereisnochangeinda ta. casehold_sum(7downto3)is when"00000"=>sin_out<="00000";when"00001"=>sin_out<="00010";when"00010"=>sin_out<="00100";when"00011"=>sin_out<="00110";when"00100"=>sin_out<="01000";when"00101"=>sin_out<="01010";when"00110"=>sin_out<="01100";when"00111"=>sin_out<="01110";when"01000"=>sin_out<="01111";when"01001"=>sin_out<="01110";when"01010"=>sin_out<="01100";when"01011"=>sin_out<="01010";when"01100"=>sin_out<="01000";when"01101"=>sin_out<="00110"; 80

PAGE 93

AppendixA(Continued) when"01110"=>sin_out<="00100";when"01111"=>sin_out<="00010";when"10000"=>sin_out<="00000";when"10001"=>sin_out<="11110";when"10010"=>sin_out<="11100";when"10011"=>sin_out<="11010";when"10100"=>sin_out<="11000";when"10101"=>sin_out<="10110";when"10110"=>sin_out<="10100";when"10111"=>sin_out<="10010";when"11000"=>sin_out<="10000";when"11001"=>sin_out<="10010";when"11010"=>sin_out<="10100";when"11011"=>sin_out<="10110";when"11100"=>sin_out<="11000";when"11101"=>sin_out<="11010";when"11110"=>sin_out<="11100";when"11111"=>sin_out<="11110";whenothers=>null; endcase;--generatingcosinevaluescasehold_sum(7downto3)is when"00000"=>cos_out<="01111";when"00001"=>cos_out<="01110";when"00010"=>cos_out<="01100";when"00011"=>cos_out<="01010"; 81

PAGE 94

AppendixA(Continued) when"00100"=>cos_out<="01000";when"00101"=>cos_out<="00110";when"00110"=>cos_out<="00100";when"00111"=>cos_out<="00010";when"01000"=>cos_out<="00000";when"01001"=>cos_out<="11110";when"01010"=>cos_out<="11100";when"01011"=>cos_out<="11010";when"01100"=>cos_out<="11000";when"01101"=>cos_out<="10110";when"01110"=>cos_out<="10100";when"01111"=>cos_out<="10010";when"10000"=>cos_out<="10000";when"10001"=>cos_out<="10010";when"10010"=>cos_out<="10100";when"10011"=>cos_out<="10110";when"10100"=>cos_out<="11000";when"10101"=>cos_out<="11010";when"10110"=>cos_out<="11100";when"10111"=>cos_out<="11110";when"11000"=>cos_out<="00000";when"11001"=>cos_out<="00010";when"11010"=>cos_out<="00100";when"11011"=>cos_out<="00110";when"11100"=>cos_out<="01000";when"11101"=>cos_out<="01010"; 82

PAGE 95

AppendixA(Continued) when"11110"=>cos_out<="01100";when"11111"=>cos_out<="01110";whenothers=>null; endcase; mod_out<=cos_out;endif; endif; endprocess; process(clk_code,reset) begin--process --activitiestriggeredbyasynchronousreset(activelow) ifreset='0'then g1<=(others=>'1');g2<=(others=>'1');pncount<=0;c_t<='0'; --activitiestriggeredbyrisingedgeofclockelsifclk_code'eventandclk_code='1'then g1(2to10)<=g1(1to9);g2(2to10)<=g2(1to9);g1(1)<=g1(3)xorg1(10);g2(1)<=g2(2)xorg2(3)xorg2(6)xorg2(7)xorg2(9)xorg2(1 0); c_t<=g1(10)xorg2(T1)xorg2(T2);pncount<=pncount+1;ifpncount=1022then g1<=(others=>'1'); 83

PAGE 96

AppendixA(Continued) g2<=(others=>'1');pncount<=0;c_t<='0'; endif; endif; endprocess; endbeh_synth2; 84

PAGE 97

AppendixA(Continued)Acquisition--acquiresthesignaltowithinachipaccuracylibraryieee;useieee.std_logic_1164.all;useieee.numeric_bit.all;entityreccorr1is port(din:instd_logic; rclk:instd_logic;recrst:instd_logic); endreccorr1;architecturerec_correlationofreccorr1is signalrg1,rg2:std_logic_vector(1to10):=(others=>'1' ); signalrecca:std_logic:='0';signaltclk,lclk:std_logic:='0';--localclocktomanipu late signalcsum:integer:=0;--outputsthecorrelationsumtypeshift_stateis(eq,lt);signalshiftclk:shift_state:=eq;--toshifttheclocksignalrcount:integer:=0;signaleval:std_logic:='0';constantt1:integer:=2;constantt2:integer:=6; begin--corr_beh process(lclk,din) variablerint,tint,intsum,dcount:integer:=0;variabletmp:shift_state:=eq; begin--process 85

PAGE 98

AppendixA(Continued) --activitiestriggeredbyasynchronousreset(activelow)ifrecrst='0'then rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca<='0';rcount<=0;intsum:=0;--theintegratorsumtodeterminethresholddcount:=0;--thecountofthenumberofdatasamplesshiftclk<=eq; --activitiestriggeredbyrisingedgeofclockelsiflclk'eventandlclk='1'then rg1(2to10)<=rg1(1to9);rg2(2to10)<=rg2(1to9);rg1(1)<=rg1(3)xorrg1(10);rg2(1)<=rg2(2)xorrg2(3)xorrg2(6)xorrg2(8)xorrg2(9)x orrg2(10); rcount<=rcount+1;recca<=rg1(10)xor(rg2(t1)xorrg2(t2));ifrecca='0'then rint:=1; elsifrecca='1'then rint:=-1; endif;ifdin='0'then tint:=1; elsifdin='1'then tint:=-1; 86

PAGE 99

AppendixA(Continued) endif;intsum:=intsum+(rint*tint);ifrcount=1022then ifintsum>1020orintsum<-1020then shiftclk<=eq;csum<=intsum; else shiftclk<=lt; endif;rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca<='0';rcount<=0;intsum:=0;--theintegratorsumtodeterminethresholddcount:=0;--thecountofthenumberofdatasamples endif; endif; endprocess;process(recrst,rclk)begin--process ifrecrst='0'then lclk<=rclk;eval<='0'; elsifrclk'eventthen ifrcount=0andlclk='0'then ifeval='0'then 87

PAGE 100

AppendixA(Continued) eval<='1';ifshiftclk=eqthen lclk<=notlclk; elsifshiftclk=ltthen lclk<=lclk;--transportrclkafter488.75ns; endif; else eval<='0';lclk<=notlclk; endif; else ifeval='1'then eval<='0'; endif; lclk<=notlclk; endif; endif; endprocess; endrec_correlation; 88

PAGE 101

AppendixA(Continued) Tracking --createdbyViswanathDaita--on8/16/04--tracksthesignalforasinglechannellibraryieee;useieee.std_logic_1164.all;useieee.numeric_bit.all;entitydll3synthis port(d_in:instd_logic; rclk:instd_logic;recrst:instd_logic;dout:outstd_logic); enddll3synth;architecturedll3synth_behaveofdll3synthis signalrg1,eg1,rg2,eg2:std_logic_vector(1to10):=(oth ers=>'1'); signalrecca,early_code,late_code:std_logic:='0';signallclk:std_logic:='0';--localclocktomanipulatetypeshift_stateis(eq,lt);signalshiftacq,shifttrack:shift_state:=lt;--toshift theclock signalrcount,sum_early,sum_late,ecount,lcount,early _env,late_env:integer:=0; signalacquire,track:std_logic:='0';constantt1:integer:=2;constantt2:integer:=6;begin--corr_behprocess(lclk,d_in) variablerint,tint,intsum,dcount:integer:=0; 89

PAGE 102

AppendixA(Continued) variabletmp:shift_state:=eq; begin--process ifrecrst='0'then rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca<='0';rcount<=0;intsum:=0;--theintegratorsumtodeterminethresholddcount:=0;--thecountofthenumberofdatasamplesshiftacq<=lt; elsiflclk'eventandlclk='0'then rg1(2to10)<=rg1(1to9);rg2(2to10)<=rg2(1to9);rg1(1)<=rg1(3)xorrg1(10);rg2(1)<=rg2(2)xorrg2(3)xorrg2(6)xorrg2(8)xorrg2(9)x orrg2(10); rcount<=rcount+1;recca<=rg1(10)xor(rg2(t1)xorrg2(t2));ifrecca='0'then rint:=1; elsifrecca='1'then rint:=-1; endif;ifd_in='0'then tint:=1; elsifd_in='1'then tint:=-1; 90

PAGE 103

AppendixA(Continued) endif;intsum:=intsum+(rint*tint);ifrcount=1022then ifintsum>1020then shiftacq<=eq; ifshifttrack=eqthen dout<='0'; endif; elsifintsum<-1020then shiftacq<=eq; ifshifttrack=eqthen dout<='1'; endif; else shiftacq<=lt; endif;rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca<='0';rcount<=0;intsum:=0;--theintegratorsumtodeterminethresholddcount:=0;--thecountofthenumberofdatasamples endif; endif; endprocess;process(lclk,d_in,recrst) 91

PAGE 104

AppendixA(Continued) variableinc,e_in,l_in:integer:=0;variabledelay:std_logic:='0'; begin--process ifrecrst='0'then ecount<=0;lcount<=-1;eg1<=(others=>'1');eg2<=(others=>'1');late_code<='0';early_code<='0';inc:=0;e_in:=0;l_in:=0;sum_early<=0;sum_late<=0;delay:='0';early_env<=0;late_env<=0; elsifshiftacq=eqthen iflclk'eventandlclk='1'then eg1(2to10)<=eg1(1to9);eg2(2to10)<=eg2(1to9);eg1(1)<=eg1(3)xoreg1(10);eg2(1)<=eg2(2)xoreg2(3)xoreg2(6)xoreg2(8)xoreg2(9)x oreg2(10); early_code<=eg1(10)xoreg2(t1)xoreg2(t2);ifd_in='1'then 92

PAGE 105

AppendixA(Continued) inc:=-1; else inc:=1; endif;ifearly_code='1'then e_in:=-1; else e_in:=1; endif;late_code<=early_code;iflate_code='1'then l_in:=-1; else l_in:=1; endif;sum_early<=sum_early+inc*e_in;ifecount=0then sum_late<=0; else sum_late<=sum_late+inc*l_in; endif;ecount<=ecount+1;early_env<=sum_early*sum_early;late_env<=sum_late*sum_late;ifecount=1022then eg1<=(others=>'1'); 93

PAGE 106

AppendixA(Continued) eg2<=(others=>'1');ecount<=0;lcount<=-1;sum_late<=0;sum_early<=0; endif; endif; endif; endprocess; --togeneratethelocalclockfromthereceiverclock process(recrst,rclk)begin--process ifrecrst='0'then lclk<=rclk;acquire<='0';track<='0'; elsifrclk'eventthen ifshiftacq=eqthen ifrcount=1022andlclk='0'then ifearly_env
PAGE 107

AppendixA(Continued) endif; else lclk<=notlclk; endif; else iftrack='1'then track<='0'; endif;lclk<=notlclk; endif;shifttrack<=eq;--enteredtrackingmode elsifshiftacq=ltthen shifttrack<=lt;--notenteredtracking ifrclk'eventthen ifrcount=0andlclk='0'then ifacquire='0'then acquire<='1';lclk<=lclk; else acquire<='0';lclk<=notlclk; endif; else ifacquire='1'then acquire<='0'; endif; 95

PAGE 108

AppendixA(Continued) lclk<=notlclk; endif; endif; endif; endif;endprocess; enddll3synth_behave; 96

PAGE 109

AppendixA(Continued)AcquiringMultipleSatelliteslibraryieee;useieee.std_logic_1164.all;useieee.numeric_bit.all;entitymul_channel_rx1is port(sat_1:instd_logic;--datafromsatelliteid1 sat_2:instd_logic;--datafromsatelliteid2sat_3:instd_logic;--datafromsatelliteid6sat_4:instd_logic;--datafromsatelliteid9rclk:instd_logic;recrst:instd_logic); endmul_channel_rx1;architecturemult_corr1_behaveofmul_channel_rx1is signalrg1,rg2,rg3,rg4,rg5,rg6,rg7,rg8:std_logic_vec tor(1to10):=(others=>'1'); signalrecca1,recca2,recca3,recca4:std_logic:='0';signallclk1,lclk2,lclk3,lclk4:std_logic:='0';--loca lclocks signalcsum1,csum2,csum3,csum4:integer:=0;--correlat ionsum typeshift_stateis(eq,lt);signalshiftclk1,shiftclk2,shiftclk3,shiftclk4:shift _state:=eq; signalrcount1,rcount2,rcount3,rcount4:integer:=0;signaleval1,eval2,eval3,eval4:std_logic:='0';constantt1:integer:=2;constantt2:integer:=6;constantt3:integer:=3;constantt4:integer:=7;constantt5:integer:=10; 97

PAGE 110

AppendixA(Continued) constantt6:integer:=1;constantt7:integer:=4;constantt8:integer:=5;constantt9:integer:=8;constantt10:integer:=9; begin--corr_beh process(lclk1,sat_1,sat_2,sat_3,sat_4) variablerint1:integer:=0;variabletint1,tint2,tint3,tint4:integer:=0;variableintsum_11,intsum_12,intsum_13,intsum_14:int eger:=0; begin--process ifrecrst='0'then rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca1<='0';rcount1<=0;intsum_11:=0;--theintegratorsumtodeterminethresholdintsum_12:=0;intsum_13:=0;intsum_14:=0;shiftclk1<=lt; elsiflclk1'eventandlclk1='1'then rg1(2to10)<=rg1(1to9);rg2(2to10)<=rg2(1to9);rg1(1)<=rg1(3)xorrg1(10);rg2(1)<=rg2(2)xorrg2(3)xorrg2(6)xorrg2(8)xorrg2(9)x orrg2(10); 98

PAGE 111

AppendixA(Continued) rcount1<=rcount1+1;recca1<=rg1(10)xor(rg2(t1)xorrg2(t2));--satelliteid 1 --determinethereceivercodeifrecca1='0'then rint1:=1; elsifrecca1='1'then rint1:=-1; endif;--determiningthereceivedcodeifsat_1='0'then tint1:=1; elsifsat_1='1'then tint1:=-1; endif; ifsat_2='0'then tint2:=1; elsifsat_2='1'then tint2:=-1; endif;ifsat_3='0'then tint3:=1; elsifsat_3='1'then tint3:=-1; endif;ifsat_4='0'then tint4:=1; 99

PAGE 112

AppendixA(Continued) elsifsat_4='1'then tint4:=-1; endif; intsum_11:=intsum_11+(rint1*tint1);intsum_12:=intsum_12+(rint1*tint2);intsum_13:=intsum_13+(rint1*tint3);intsum_14:=intsum_14+(rint1*tint4);ifrcount1=1022then if(intsum_11>1020orintsum_11<-1020)or (intsum_12>1020orintsum_12<-1020)or(intsum_13>1020orintsum_13<-1020)or(intsum_14>1020orintsum_14<-1020)then shiftclk1<=eq; else shiftclk1<=lt; endif;rg1(1to10)<=(others=>'1');rg2(1to10)<=(others=>'1');recca1<='0';rcount1<=0;intsum_11:=0;--theintegratorsumtodeterminethresholdintsum_12:=0;intsum_13:=0;intsum_14:=0; endif; endif; 100

PAGE 113

AppendixA(Continued) endprocess;process(recrst,rclk)begin--process ifrecrst='0'then lclk1<=rclk;eval1<='0'; elsifrclk'eventthen ifrcount1=0andlclk1='0'then ifeval1='0'then eval1<='1';ifshiftclk1=eqthen lclk1<=notlclk1; elsifshiftclk1=ltthen lclk1<=lclk1;--transportrclkafter488.75ns; endif; else eval1<='0';lclk1<=notlclk1; endif; else ifeval1='1'then eval1<='0'; endif;lclk1<=notlclk1; endif; endif; 101

PAGE 114

AppendixA(Continued) endprocess;process(lclk2,sat_1,sat_2,sat_3,sat_4) variablerint2:integer:=0;variabletint5,tint6,tint7,tint8:integer:=0;variableintsum_21,intsum_22,intsum_23,intsum_24:int eger:=0; begin--process ifrecrst='0'then rg3(1to10)<=(others=>'1');rg4(1to10)<=(others=>'1');recca2<='0';rcount2<=0;intsum_21:=0;--theintegratorsumtodeterminethresholdintsum_22:=0;intsum_23:=0;intsum_24:=0;shiftclk2<=lt; elsiflclk2'eventandlclk2='1'then rg3(2to10)<=rg3(1to9);rg4(2to10)<=rg4(1to9);rg3(1)<=rg3(3)xorrg3(10);rg4(1)<=rg4(2)xorrg4(3)xorrg4(6)xorrg4(8)xorrg4(9)x orrg4(10); rcount2<=rcount2+1;recca2<=rg3(10)xor(rg4(t3)xorrg4(t4));--satelliteid 2 ifrecca2='0'then rint2:=1; elsifrecca2='1'then 102

PAGE 115

AppendixA(Continued) rint2:=-1; endif;ifsat_1='0'then tint5:=1; elsifsat_1='1'then tint5:=-1; endif;ifsat_2='0'then tint6:=1; elsifsat_2='1'then tint6:=-1; endif;ifsat_3='0'then tint7:=1; elsifsat_3='1'then tint7:=-1; endif;ifsat_4='0'then tint8:=1; elsifsat_4='1'then tint8:=-1; endif;intsum_21:=intsum_21+(rint2*tint5);intsum_22:=intsum_22+(rint2*tint6);intsum_23:=intsum_23+(rint2*tint7);intsum_24:=intsum_24+(rint2*tint8); 103

PAGE 116

AppendixA(Continued) ifrcount2=1022then if(intsum_21>1020orintsum_21<-1020)or (intsum_22>1020orintsum_22<-1020)or(intsum_23>1020orintsum_23<-1020)or(intsum_24>1020orintsum_24<-1020)then shiftclk2<=eq; else shiftclk2<=lt; endif;rg3(1to10)<=(others=>'1');rg4(1to10)<=(others=>'1');recca2<='0';rcount2<=0;intsum_21:=0;--theintegratorsumtodeterminethresholdintsum_22:=0;intsum_23:=0;intsum_24:=0; endif; endif; endprocess;process(recrst,rclk)begin--process ifrecrst='0'then lclk2<=rclk;eval2<='0'; elsifrclk'eventthen 104

PAGE 117

AppendixA(Continued) ifrcount2=0andlclk2='0'then ifeval2='0'then eval2<='1';ifshiftclk2=eqthen lclk2<=notlclk2; elsifshiftclk2=ltthen lclk2<=lclk2;--transportrclkafter488.75ns; endif; else eval2<='0';lclk2<=notlclk2; endif; else ifeval2='1'then eval2<='0'; endif;lclk2<=notlclk2; endif; endif;endprocess;process(lclk3,sat_1,sat_2,sat_3,sat_4) variablerint3:integer:=0;variabletint9,tint10,tint11,tint12:integer:=0;variableintsum_31,intsum_32,intsum_33,intsum_34:int eger:=0; begin--process ifrecrst='0'then 105

PAGE 118

AppendixA(Continued) rg5(1to10)<=(others=>'1');rg6(1to10)<=(others=>'1');recca3<='0';rcount3<=0;intsum_31:=0;--theintegratorsumtodeterminethresholdintsum_32:=0;intsum_33:=0;intsum_34:=0;shiftclk3<=lt; elsiflclk3'eventandlclk3='1'then rg5(2to10)<=rg5(1to9);rg6(2to10)<=rg6(1to9);rg5(1)<=rg5(3)xorrg5(10);rg6(1)<=rg6(2)xorrg6(3)xorrg6(6)xorrg6(8)xorrg6(9)x orrg6(10); rcount3<=rcount3+1;recca3<=rg5(10)xor(rg6(t1)xorrg6(t5));--satelliteid 6 ifrecca3='0'then rint3:=1; elsifrecca3='1'then rint3:=-1; endif;ifsat_1='0'then tint9:=1; elsifsat_1='1'then tint9:=-1; endif; 106

PAGE 119

AppendixA(Continued) ifsat_2='0'then tint10:=1; elsifsat_2='1'then tint10:=-1; endif;ifsat_3='0'then tint11:=1; elsifsat_3='1'then tint11:=-1; endif;ifsat_4='0'then tint12:=1; elsifsat_4='1'then tint12:=-1; endif;intsum_31:=intsum_31+(rint3*tint9);intsum_32:=intsum_32+(rint3*tint10);intsum_33:=intsum_33+(rint3*tint11);intsum_34:=intsum_34+(rint3*tint12);ifrcount3=1022then if(intsum_31>1020orintsum_31<-1020)or (intsum_32>1020orintsum_32<-1020)or(intsum_33>1020orintsum_33<-1020)or(intsum_34>1020orintsum_34<-1020)then shiftclk3<=eq; else 107

PAGE 120

AppendixA(Continued) shiftclk3<=lt; endif;rg5(1to10)<=(others=>'1');rg6(1to10)<=(others=>'1');recca3<='0';rcount3<=0;intsum_31:=0;--theintegratorsumtodeterminethresholdintsum_32:=0;intsum_33:=0;intsum_34:=0; endif; endif; endprocess;process(recrst,rclk)begin--process ifrecrst='0'then lclk3<=rclk;eval3<='0'; elsifrclk'eventthen ifrcount3=0andlclk3='0'then ifeval3='0'then eval3<='1';ifshiftclk3=eqthen lclk3<=notlclk3; elsifshiftclk3=ltthen lclk3<=lclk3;--transportrclkafter488.75ns; 108

PAGE 121

AppendixA(Continued) endif; else eval3<='0';lclk3<=notlclk3; endif; else ifeval3='1'then eval3<='0'; endif;lclk3<=notlclk3; endif; endif; endprocess;process(lclk4,sat_1,sat_2,sat_3,sat_4) variablerint4:integer:=0;variabletint13,tint14,tint15,tint16:integer:=0;variableintsum_41,intsum_42,intsum_43,intsum_44:int eger:=0; begin--process ifrecrst='0'then rg7(1to10)<=(others=>'1');rg8(1to10)<=(others=>'1');recca4<='0';rcount4<=0;intsum_41:=0;--theintegratorsumtodeterminethresholdintsum_42:=0;intsum_43:=0; 109

PAGE 122

AppendixA(Continued) intsum_44:=0;shiftclk4<=lt; elsiflclk4'eventandlclk4='1'then rg7(2to10)<=rg7(1to9);rg8(2to10)<=rg8(1to9);rg7(1)<=rg7(3)xorrg7(10);rg8(1)<=rg8(2)xorrg8(3)xorrg8(6)xorrg8(8)xorrg8(9)x orrg8(10); rcount4<=rcount4+1;recca4<=rg7(10)xor(rg8(t3)xorrg8(t5));--satelliteid 9 ifrecca4='0'then rint4:=1; elsifrecca4='1'then rint4:=-1; endif;ifsat_1='0'then tint13:=1; elsifsat_1='1'then tint13:=-1; endif;ifsat_2='0'then tint14:=1; elsifsat_2='1'then tint14:=-1; endif;ifsat_3='0'then tint15:=1; 110

PAGE 123

AppendixA(Continued) elsifsat_3='1'then tint15:=-1; endif;ifsat_4='0'then tint16:=1; elsifsat_4='1'then tint16:=-1; endif;intsum_41:=intsum_41+(rint4*tint13);intsum_42:=intsum_42+(rint4*tint14);intsum_43:=intsum_43+(rint4*tint15);intsum_44:=intsum_44+(rint4*tint16);ifrcount4=1022then if(intsum_41>1020orintsum_41<-1020)or (intsum_42>1020orintsum_42<-1020)or(intsum_43>1020orintsum_43<-1020)or(intsum_44>1020orintsum_44<-1020)then shiftclk4<=eq; else shiftclk4<=lt; endif;rg7(1to10)<=(others=>'1');rg8(1to10)<=(others=>'1');recca4<='0';rcount4<=0;intsum_41:=0;--theintegratorsumtodeterminethreshold 111

PAGE 124

AppendixA(Continued) intsum_42:=0;intsum_43:=0;intsum_44:=0; endif; endif; endprocess;process(recrst,rclk)begin--process ifrecrst='0'then lclk4<=rclk;eval4<='0'; elsifrclk'eventthen ifrcount4=0andlclk4='0'then ifeval4='0'then eval4<='1';ifshiftclk4=eqthen lclk4<=notlclk4; elsifshiftclk4=ltthen lclk4<=lclk4;--transportrclkafter488.75ns; endif; else eval4<='0';lclk4<=notlclk4; endif; else ifeval4='1'then 112

PAGE 125

eval4<='0'; endif;lclk4<=notlclk4; endif; endif; endprocess; endmult_corr1_behave; 113


xml version 1.0 encoding UTF-8 standalone no
record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd
leader nam Ka
controlfield tag 001 001498142
003 fts
006 m||||e|||d||||||||
007 cr mnu|||uuuuu
008 041209s2004 flua sbm s000|0 eng d
datafield ind1 8 ind2 024
subfield code a E14-SFE0000554
035
(OCoLC)57719310
9
AJU6737
b SE
SFE0000554
040
FHM
c FHM
090
TK145 (ONLINE)
1 100
Daita, Viswanath.
0 245
Behavioral VHDL implementation of coherent digital GPS signal receiver
h [electronic resource] /
by Viswanath Daita.
260
[Tampa, Fla.] :
University of South Florida,
2004.
502
Thesis (M.S.E.E.)--University of South Florida, 2004.
504
Includes bibliographical references.
516
Text (Electronic thesis) in PDF format.
538
System requirements: World Wide Web browser and PDF reader.
Mode of access: World Wide Web.
500
Title from PDF of title page.
Document formatted into pages; contains 125 pages.
520
ABSTRACT: Global Positioning System is a technology which is gaining acceptance. Originally developed for military purposes, it is being used in civilian applications such as navigation, emergency services, etc. A system-on-chip application merges different functions and applications on a single substrate. This project models a GPS receiver for a system on chip application. The GPS receiver, developed as a core, is intended to be a part of a navigation tour guide being developed. The scope of this work is the GPS C/A code on the L1 carrier. The digital signal processing back-end in a GPS receiver is modelled in this work. VHDL modeling of various communiation sub-blocks, detection and demodulation schemes is done. A coherent demodulation of the GPS signals is implemented. GPS receiver calculates the position based on the data collected from four satellites. Given four satellites, acquisition of the data from the signals is performed and data demodulated from the same.Synthetic data is generated for validation purposes. Code acuqisition and tracking of the GPS C/A signal is implemented. Cadence NC-Launch VHDL simulator is used to validated the behavioral VHDL model.
590
Co-adviser: Katkoori, Srinivas.
Co-adviser: Moreno, Wilfrido.
653
tracking.
acquisition.
sliding correlator.
C/A code.
time domain.
690
Dissertations, Academic
z USF
x Electrical Engineering
Masters.
773
t USF Electronic Theses and Dissertations.
4 856
u http://digital.lib.usf.edu/?e14.554