Upload
others
View
15
Download
1
Embed Size (px)
Citation preview
Implementation of GNSS Signal Processing into the
GNSS-SDR platform during GSoC 2017
DamianMiralles
UniversityofColoradoBoulder
Outline • OverviewofGoogleSummerofCode(GSoC)
• GSoC2017ediAon• GNSS-SDR• VOLK
• Intrinsicdevelopment• GNSS-SDRGLONASS
• AcquisiAon• Tracking• Decoding• NavigaAonSoluAon
• Summary/FutureWork• References
11/10/17
Google Summer of Code
• GoogleSummerofCode(GSoC)isaglobalprogramfocusedonbringingmorestudentdevelopersintoopensourcesoSwaredevelopment*
• StudentsworkwithanopensourceorganizaAonona3monthprogrammingprojectduringtheirsummer
• 13,000+students,104countries,12years,607opensourceorganizaAons
11/10/17
Google Summer of Code 2017
• CodingDates:May30th-August29th
• 1,318studentsacceptedfrom72countries
• 1,647mentorswithacAveprojectsfrom69countries
• 3,439registeredmentors• 198opensourceorganizaAons• 86.2%overallsuccessrate
11/10/17
Outline • OverviewofGoogleSummerofCode(GSoC)
• GSoC2017ediAon• GNSS-SDR• VOLK
• Intrinsicdevelopment• GNSS-SDRGLONASS
• AcquisiAon• Tracking• Decoding• NavigaAonSoluAon
• Summary/FutureWork• References
11/10/17
GNSS-SDR
• GNSS-SDRisanopensourceprojectthatimplementsaglobalnavigaAonsatellitesystemsoSwaredefinedreceiverinC++*.
• GNSS-SDRproposesasoSwarearchitecturethatbuildsupontheGNURadioframeworkinordertoimplementitsreceiver
• GNSS-SDRisoneofthememberorganizaAonsofGSoC.Eachyeardefinessetofideaslisttobecompletedduringthesummer
• UpdatedsomeoftheVOLKintrinsicforfasterprocessing• AddedGLONASSprocessingtothepladorm
11/10/17
GNSS-SDR
11/10/17
• SignalSource*blockthatinjectsaconAnuousstreamofrawsamplesofGNSSsignaltotheprocessingflowgraph
• SignalCondi0oner*blockisinchargeofadapAngthesamplebitdepthtoadatatypetractableatthehostcomputerrunningthesoSwarereceiver.
• DataTypeAdapterblockperformsaconversionofthedatatypeintheincomingsamplestream.
• InputFilterblockfilterstheincomingsignal.• ResamplerblockresamplesthesignalandtodeliverittotheNNparallelprocessingchannels.
GNSS-SDR
11/10/17
• Channel*encapsulatesblocksforsignalacquisiAon,trackinganddatadecoding
• Observables*block:collectsthesynchronizaAondatacomingfromalltheprocessingChannels,andcomputesfromthemtheGNSSbasicmeasurements.
• PVT*block:computesnavigaAonsoluAonsanddeliverinformaAoninadequateformatsforfurtherprocessingordatarepresentaAon.
GNSS-SDR
• Thecodedefinesinterfacesforthereceiver’sprocessingblocks
• InterfacesallowstodefineseveralalgorithmandimplementaAonsforeachprocessingblock
• HierarchymodelsoffersmaximumflexibilityandreconfiguraAon
11/10/17
Outline • OverviewofGoogleSummerofCode(GSoC)
• GSoC2017ediAon• GNSS-SDR• VOLK
• Intrinsicdevelopment• GNSS-SDRGLONASS
• AcquisiAon• Tracking• Decoding• NavigaAonSoluAon
• Summary• References
11/10/17 10
VOLK Intrinsic
• TheVector-OpAmizedLibraryofKernels(VOLK)*isafreelibrary,thatcontainskernelsofhand-wrijenSIMDcodefordifferentmathemaAcaloperaAons.
• HowdoesVOLKwork?• Foreacharchitectureorpladormthatadeveloperwishestovectorizefor,anewproto-kernelisaddedtoVOLK.
• AtrunAme,VOLKwillselectthecorrectandmostefficientproto-kernel.• TheusersofVOLKcallakernelforperformingtheoperaAonthatispladorm/architectureagnosAc.
• GNSS-SDRcreatedaVOLKmodulethattargetscommonoperaAonsinGNSS-SDRtechnologies,i.ecorrelaAons.
11/10/17 11
VOLK Intrinsic • IntrinsicsInstrucAonsareCstylefuncAonsthatprovideaccesstomanyIntelinstrucAonswithouttheneedofassemblycode.
• VOLKlibrarieswereinneedofsupportforthenewextensionslikeAVX2
• Adds256bitregistersupportforintegeroperaAons
• FusedMulAplyAdd(FMA)operaAons
• WorkfocusedontheaddiAonofnewprotokernelssupporAngthenewextensions.
• BothGNSS-SDRandGNURadiocommunitywillbenefitfromthelatestaddiAon.
11/10/17 12
Technology Register Integers Floats Support
SSEn 128 Yes Yes
AVX 256 Yes(128) Yes
AVX2 256 Yes Yes ParAal
AVX512 512 Yes Yes
VOLK Intrinsic
11/10/17 13
VOLK Intrinsic
• Morethan15protokernelswhereupdated
• ChangedmainlyfocusedinAVXandAVX2addiAon
• CumulaAveAmereducAonforupdatedkernelsof225ms
11/10/17 14
Outline • OverviewofGoogleSummerofCode(GSoC)
• GSoC2017ediAon• GNSS-SDR• VOLK
• Intrinsicdevelopment• GNSS-SDRGLONASS
• AcquisiAon• Tracking• Decoding• NavigaAonSoluAon
• Summary• References
11/10/17 15
16
GLONASS Constellation • Threeorbitalplanesat64.8degreeinclinaAon(GPSusessixplanesat55degrees)
• 24satellites,8pereachplane• MEO,~19100kmalAtude• TheinclinaAonoftheorbitsisidealtoensuregoodcoverageofpolarlaAtudes
• Eccentricityof~0• Orbitalperiod=11hours15minand28sec
• Groundtrackrepeatsevery7days,23hours,27minutesand28seconds
Asof11-Sept-2017:• 23satellitesinoperaAon• 1satellite(k=-5)inflighttest• 1satelliteundercheckby
contractor
GLONASS Time, Coordinate System & Freq. Plan
11/10/17 17
GLONASS Signal Plan Parameter GLONASSL1 GLONASSL2
ServiceName C/ACode C/ACode
CenterFrequency 1602MHz+k*562.5kHz
1246MHz+k*437.5kHz
AccessTechnique FDMA FDMA
SpreadingMod. BPSK BPSK
CodeFreq. 0.511MHz 0.511MHz
CodeLength 511 511
MeanderSequence
100Hz 100Hz
DataRate 50bps 50bps
Nav.Message GNAV GNAV
11/10/17 18
GLONASS L1 C/A Acquisition
• PCPSAcquisiAonbymeansofFFTimplemented
• GLONASSAcquisiAonloopsthroughfrequencychannels
• Samerangingcodespreadthrough14frequencychannels
11/10/17 19
GLONASS L1 C/A Tracking
11/10/17 20
GLONASS L1 C/A Tracking
11/10/17 21
GLONASS L1 C/A Telemetry Decoding • Symboltobitconversion
• RelaAvedataratehappensat100Hz(meandersequence)
• TransformaAonfrombi-binarytorelaAvecode• TransformaAonfromrelaAvetodelayedcode
• TransiAonfromfrequencychannel(K)tosatelliteslotnumber
• IncoldstartapplicaAonsuserdoesnotknowslotnumberoftransmisngsatellite
• DecodedGLONASSnavigaAonaldataorGNAVissharedamongL1andL2carrier
• SingledecoderwillsufficeforbothimplementaAons,L1andL2
11/10/17 22
GLONASS L1 C/A Telemetry Decoding
11/10/17 23
GLONASS L1 C/A Observables
• DecodedGNAVparametersallowforGLONASSTtoGPSTconversion
• GLONASSObservablesAmetaggedinGPST
• TimestandardtranslaAonenablesintegraAonwithotherconstellaAons
11/10/17 24
GLONASS L1 C/A PVT • PosiAonSoluAonusingGLONASSL1onlymeasurements
• PosiAonSoluAonin‘Single’modeofoperaAon.SeeRTKLibdetails
• Averageerrors~10m
11/10/17 25
Outline • OverviewofGoogleSummerofCode(GSoC)
• GSoC2017ediAon• GNSS-SDR• VOLK
• Intrinsicdevelopment• GNSS-SDRGLONASS
• AcquisiAon• Tracking• Decoding• NavigaAonSoluAon
• Summary/FutureWork• References
11/10/17 26
Summary/ Future Work
• AddsupportforIntelIntrinsicAVX512toVOLKanditsGNSS-SDRmodules
• AVX512registersizeof512bitsoffertremendouspossibiliAesforspeedup• ProcessorswillAVX512willhavemorecoresperCPUincreasingchanceoffuncAonalchannels
• CombineGLONASSL1C/AposiAonsoluAonwithexistentsignalsinthepladormlikeGPSL1,GalieloE1B,etc
• AddGLONASSL2C/AtoGNSS-SDR• MinimalchangesintheaddiAonsinceGNAVmessageissharedinbothsignals
11/10/17 27
References 1. GoogleSummerofCode.2017.StaAsAcsofprogram.[ONLINE]Availableat:hjps://
summerofcode.withgoogle.com/.[Accessed5November2017].2. GNSS-SDR:AnOpenSourceToolForResearchersandDevelopersProceedingsofthe24thInternaAonal
TechnicalMeeAngofTheSatelliteDivisionoftheInsAtuteofNavigaAon(IONGNSS2011),Portland,OR,Sep.2011,pp.780-794.
3. GNSS-SDR.2017.SignalProcessingBlocks.[ONLINE]Availableat:hjp://gnss-sdr.org/docs/sp-blocks/.[Accessed5November2017].
4. T.Rondeau,N.McCarthy,andT.O’Shea,“SIMDProgramminginGNURadio:MaintainableandUser-FriendlyAlgorithmOpAmizaAonwithVOLK,”inConferenceonCommunicaAonsTechnologiesandSoSwareDefinedRadio(SDR12).Brussels,Belgium:WirelessInnovaAonForumEurope,June2012.
5. N.WestandD.Geiger,“AcceleraAngSoSwareRadioonARM:AddingNEONSupporttoVOLK”,pp1-35.6. GNSS-SDR.2017.Tracking.[ONLINE]Availableat:hjp://gnss-sdr.org/docs/sp-blocks/tracking/.[Accessed
5November2017].
7. C.Fernandez-Prades,J.ArribasandP.Closas.“AcceleraAngGNSSSoSwareReceivers”,Proceedingsofthe29thInternaAonalTechnicalMeeAngofTheSatelliteDivisionoftheInsAtuteofNavigaAon(IONGNSS+2016),Portland,OR,Sept.2016,pp.44-61.
8. B.Dahlstrom,M.Liljeblad,M.Nilsson,andD.Sandberg,“DemodulaAonandProcessingofGNSS-signalsfromtheRussianGlonass–system”,Access,1998.
11/10/17 28
Questions?
11/10/17 29
Thank You