Software Defined Radio For Processing GNSS Signals - Free

Transcription

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveSoftware Defined Radio for processing GNSSsignalsDev perspectiveGot it !What next .S. Martinez Gutierrez, J.-M Friedt, G. Cabodevila, P.Y Bourgeois,E. RubiolaFEMTO-ST Time & Frequency, Besançon, Francewww.femto-st.frfirst-tf.comSlides available at http://jmfriedt.free.fr/efts gps.pdfJanuary 31, 20151 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next .Introduction: GNSSGNSS: Spaceborne atomic clocks 1 Aim: use of ultrastable time references beyond positioning . . eg. tide gauge 2 , moisture detection 3 ,phase monitoring (TEC) Requires at least phase recovery. Educational purpose: detailed understandingof the steps needed to complete a GPSreceiver low phase noise LO !Use a low cost DVB-T receiver for acquisition: 8 bit-resolution poor sensitivity pre-amplified antenna 2.4 MHz measurement bandwidth limited byUSB bandwidth (I, Q components) gnss-sdr /w GNURadio processing blocks1 http://geodesie.ign.fr/journee-gnss-science/2 K.M. Larson: http://spot.colorado.edu/ kristine/Kristine Larson/Home.html 3 Bock et. al., West African Monsoon observed with ground-based GPS receivers ., J. Geophysical Research 113, D21105 (2008),at 10327/pdf2 / 36

Software definedGPS receiverIntroduction: GPS basicsFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next .Borre & al. p.183 / 36

Software definedGPS receiverObjectivesFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next . a modulator generates the information, here encoded in the phaseof the carrier the information is carried on a signal whose frequency varies(Doppler, thermal drift of LO) recovering the transmitted information is a matter of eliminatingcarrier information two degrees of freedom (carrier frequency and CDMA for satelliteidentification) will require two feedback loops to recover theinformation carrier recovery and code position (delay) recovery1575.42 MHz / dffeedback loopNAVNAV (50 bps)PRN (1.023 Mbps)PRNfeedback loop4 / 36

Software definedGPS receiverSDR: user perspectiveFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next . DVB-T dongle application : L1 C/A at 1.023 MHz barely meets theNyquist criteria when sampling at 2 MHz (no need to: strongassumption on modulation, i.e. 2/1.023 1.95 symbol/period) Receiver sensitivity ?ReceiverE4000R820TFC0013137 MHz-105-112-112434 MHz-105-112-1111090 MHz-96-109-761500 MHz-95-102-58ReceiverE4000R820TFC0013137 MHz-109-117-116434 MHz-110-119-1151090 MHz-101-113-801500 MHz-101-110-62Carrier power (dBm) needed for a demodulated signal SNR of 10 dB. All dongles setto their max gain (RF 39 dB and IF 45 dB for E4000, RF 50 dB for R820T,RF 20 dB for FC0013). Top: FM, bottom: AM.5 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveLink budget: is it possible ? Emitted power: 25.6 W 14 dBWDev perspective 13 dBi antenna gainGot it ! FSPL (21000 km) 182 dBWhat next . Received power -155 dBW -125dBm Themal noise in a 2 MHz BW:-174 dBm/Hz 10·log10 (2 MHz) -111 dBm Compression (coding) gain:BW τ 2 MHz 1 ms 33 dB SNR ( 125 33) ( 111) 19 dB Receiver antenna amplification: 27 dB (-125 27)-(-102DVB T ) '4 dB SNRR820T RTL2832U based DVB-T receiver, bias T, antenna (30 )44 http://www.adafruit.com/product/960: 13 antenna ab-fm-usb-digital-tv-dongle-black-170541:12 dongle6 / 36

Software definedGPS receiverSDR: user perspectiveFriedt & al.Intro & basics Frequency offset budget: LO offset ( 50 ppm) & driftUser perspectiveWhat next .-55offset frequence (ppm)Got it !(temperature) remote carrier dependence with position in space Identify carrier frequency mismatch: carrier recovery (phase) issue Temperature dependence : front-end-cal 5 over a week-56-57-58-59-60-61-62050100150200temps (h)250300050100150200temps (h)25030030temperature (degC)Dev perspective252015105[.7.19.27.]Total signal acquisition run time 11.703 [seconds]Reference Time:GPS Week: 790GPS TOW: 209107 16728.560000 UTC:Tue Oct 14 12:05:08 2014Current TOW obtained from SUPL assistance 209107Reference location (defined in config file):350 Latitude 47.3 []Longitude 6 []Altitude 10 [m]Doppler analysis results:SV ID Measured [Hz]Predicted 6.75Parameters estimation for Elonics E4000 Front-End:Sampling frequency 1999884.81 [Hz]IF bias present in baseband 90736.35 [Hz]Reference oscillator error -57.60 [ppm]350Corrected Doppler vs. PredictedSV ID Corrected [Hz]Predicted 5GNSS-SDR Front-end calibration program ended.PSK signal is hidden by phase rotation ifincoming carrier and LO mismatch5 gnss-sdr.org7 / 36

Software definedGPS receiverSDR: user perspectiveFriedt & al.Intro & basicsCalculation of Doppler shift as a function of orbital parametersUser perspectiveDev perspectiveGot it ! Orbiting at 20000 km in 12 hoursWhat next . 2π(6400 20000)/12 13800 km/h 3840 m/svP90 θ vθH’H RR rEarthReceiver at position P observes thesatellite from horizon to horizon HH 0 .At H, velocity vector v along thesatellite trajectory is projectedtowards P along vk with ϑ meetingRthe condition sin(ϑ) R randhence vk v · cos(90 ϑ) v · sin(ϑ) v · R/(R r ). Hererorbit vk 13800·6400/(6400 20000) 3345 km/h and the Doppler shift is f f0 · vk /c 4800 Hz'3.1 ppm8 / 36

Software definedGPS receiverSDR: user perspectiveFriedt & al.Intro & basicsCalculation of Doppler shift as a function of orbital parametersUser perspective25Dev perspectiveGot it ! Orbiting at 20000 km in 12 hours 2π(6400 20000)/12 13800 km/h 3840 m/s20What next . Receiver at position P observes the-4000-200002000Doppler shift (Hz)4000051015time (h)satellite from horizon to horizon HH 0 . At H, velocity vector v along thesatellite trajectory is projectedtowards P along vk with ϑ meetingRthe condition sin(ϑ) R randhence vk v · cos(90 ϑ) v · sin(ϑ) v · R/(R r ). Here vk 13800·6400/(6400 20000) 3345 km/h and the Doppler shift is f f0 · vk /c 4800 Hz'3.1 ppm9 / 36

Software definedGPS receiverFriedt & al.SDR: developer perspectiveIntro & basics Real life: LO offset introduces ω and receiver mixer yieldscos( ω · t ϕ): ϕ variation hidden in ω · tMixer acts as BPSK modulator1X2signal2 (u.a.)0 0.5 1010.80.50.60.40.2050010001500temps (u.a.)2000050010001500temps (u.a.)5004003002001000modulation100cos(ϕ)2 cos(2ϕ)ϕ [0; π] 2ϕ 0 [2π]0800 850 900 950 1000 1050 1100 1150 2) (u.a.)What next . Ideal recovery: mix with ω and cos(ϕ) is leftporteuse (absente)Got it ! Problem: BPSK modulates the carrier as ϕ [0; π]: sin(ωt ϕ)signal (u.a.)Dev perspectiveFFT(signal) (u.a.)User perspective6004002000800 850 900 950 1000 1050 1100 1150 1200frequence(u.a.)Carrier recovery by squaring BPSK10 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveSDR: developer perspective Problem: BPSK modulates the carrier as ϕ [0; π]: sin(ωt ϕ)Dev perspective Ideal recovery: mix with ω and cos(ϕ) is leftGot it ! Real life: LO offset introduces ω and receiver mixer yieldsWhat next .cos( ω · t ϕ): ϕ variation hidden in ω · temissionMixer acts as BPSK modulatorreceptionSource 1.21 GHzLO, 43 dBmIFRFBPSKDVB T100 kHzmodulated1Vpp Mixer creates signalthe BPSKmodulation of thecarrier at1210 MHzcos(ϕ)2 cos(2ϕ)ϕ [0; π] 2ϕ 0 [2π]Practical BPSK signala , here squared by oscilloscope softwareaE. Rubiola, Tutorial on the double balanced mixer,http://arxiv.org/pdf/physics/0608211.pdf11 / 36

Software definedGPS receiverFriedt & al.SDR: developer perspectiveIntro & basicsUser perspectiveDev perspectiveSoftware based carrier recovery (feedback loop not allowed inGNURadio): use the ready made Costas loop blockGot it !What next .12 / 36

Software definedGPS receiverSDR: developer perspectiveFriedt & al.Intro & basicsUser perspectiveDev perspectiveSoftware based carrier recovery (feedback loop not allowed inGNURadio): use the ready made Costas loop blockGot it !What next .(3)(4)centered on 0 Hz locked loop(3)(4)not centered on 0 Hz unlocked loopphase of signal shiftedby the carrier frequencyphase of the signal hiddenby phase rotations du to freq.offsetfrequency offset(2)30 dBreceived signal: carriershifted wrt 0 HzmodulationcarrierLocked Costas loop(1)squared signal removesthe modulationcarrier f20 dB(1)(2)received signal:excessive carrier offsetmodulationcarrierUnocked Costas loop13 / 36

Software definedGPS receiverSDR: developer perspectiveFriedt & al.Intro & basicsUser perspective Single carrier demodulation is not applicable as is to GPS: CDMADev perspective All GPS satellites send over the same frequency (shifted byDoppler): need for correction by the BPSK modulation beforecarrier recovery (but PRN requires carrier ?!)Got it !What next . Mockup system with a 7-bit FLSR code generated by C. Fluhr(EFTS labs)code 1, after Costascode 2, after Costas6035503020200000250time (sample)code 2, before Costas2010xcorr1055100 200 300 400 500 600 700 800time (sample)code 1, shifted by 120025502040151000100 200 300 400 500 600 700 800time (sample)0100 200 300 400 500 600 700 800time (sample)Before and after Costas0100 200 300 400 500 600 700 800time (sample)302050100 200 300 400 500 600 700 800time (sample)code 2, shifted by 1600 00 200 300 400 500 600 700 800time (sample)code 1, shifted by 1120151552502020100 200 300 400 500 600 700 800time (sample)code 1, before Costas100 200 300 400 500 600 700 800time (sample)code 1, shifted by 1120xcorr100 200 300 400 500 600 700 800xcorr0301050105105151015xcorrxcorrxcorr30code 2, shifted by 1050201540xcorrcode 1, shifted by 1050202510000100 200 300 400 500 600 700 800time (sample)With frequency compensation14 / 36

Software definedGPS receiverFrom mock-up to actual GPSsignalsFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next .We have demonstrated that cross-correlating with the PRN will yieldnon-zero signal even if carrier offsets exist. get familiar with GPS PRN code: a bit more complex (combinationof two LFSR) how resistant is GPS PRN code (10 bits) to carrier frequencyoffset ? applicability to recorded DVB-T data ?IDVB-T xcorr (s LO), PRN) exp(jωt) exp(jω 0 t)exp( jωt) exp(jω 0 t)Qcos(ωt) exp(jω 0 t)NCOf CPRN Rwhen handling complex functions, f 6 f since exp(jft) 6 exp( jft) no need for band pass filter (mixer output is a single frequency)15 / 36

Software definedGPS receiver10-bit PRN code resistance tocarrier offetFriedt & al.Intro & 1*PRN1User perspective200Dev perspective1150xcorr (a.u.)What next .more o f f ; c l o s e a l l ; c l e a r a l lset (0 , ” defaultaxesfontname ” , ” Helvetica ”)310057509005001000sample offset (no RN1PRN1,1.01*PRN115200a c a c o d e ( [ 1 : 3 1 ] , 1 ) ;a a ’ ;a a mean ( a ) ;plot ( xcorr (a (: ,1) ,a (: ,1) ) , ’ r ’ )h o l d onplot ( xcorr (a (: ,1) ,a (: ,2) ) )x l a b e l ( ’ s a m p l e o f f s e t ( no u n i t ) ’ )ylabel ( ’ xcorr (a . u .) ’ )h o l d ona2 c a c o d e ( 1 , 1 . 0 0 3 ) ; a1 c a c o d e ( 1 , 1 ) ; p l o t ( x c o r r( a1 mean ( a1 ) , a2 mean ( a2 ) ) , ’ c ’ )a2 c a c o d e ( 1 , 1 . 0 1 ) ; a1 c a c o d e ( 1 , 1 ) ; p l o t ( x c o r r (a1 mean ( a1 ) , a2 mean ( a2 ) ) , ’ g ’ )% 10 kHz /1023 kHz 0.01150xcorr (a.u.)Got it !cacode.m available at MatlabCentrala100a50K.S. Raju & al., Digital GPS Signal Generator for L1Band, Signal & Image Processing: An International Journal(SIPIJ) 3 (6), Dec. 2012, available j07.pdf01000102010401060sample offset (no unit)1080110016 / 36

Software definedGPS receiverApplication to real GPS signalsFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next . gnss-sdr provides a calibration software that stores the recordedsamples (2 MS/s) in a temporary file when calibrating the dongle, we have saved the result of thegnss-sdr calibration process and the raw sample we now process these datasets and compare our analysis with thoseof gnss-sdr2468101214x r e a d c o m p l e x b i n a r y ( ’ 1413968929 c a p t u r e . d a t ’ ) ;t i m e [ 0 : 1 / 2 e6 : l e n g t h ( x ) /2 e6 ] ’ ; t i m e t i m e ( 1 : end 1) ;f o r m 1:37a c a c o d e (m, 2 / 1 . 0 2 3 ) ; a a mean ( a ) ;l 1; m% d i s p l a y s a t PRNf o r f r e q 8e4 : 2 0 0 : 1 e5% r u n t h r o u g h p o s s i b l e f r e q u e n c y o f f s e t s : c f f r o n t end c a lm y s i n e e x p ( j 2 p i ( f r e q ) t i m e ) ; % LOxx x . m y s i n e ;% frequency s h i f t the s i g n a l[ u ( l ,m) , v ( l ,m) ] max ( a b s ( x c o r r ( a , xx ) ) ) ; % c h e c k f o r c r o s s c o r r e l a t i o n max .l l 1;endendfigureimagesc ( abs ( u ) )Notice the extended frequency offset range: hi accuracy LO will speedup acquisition time17 / 36

Software definedGPS receiverApplication to real GPS signalsFriedt & al.Intro & basicsUser perspectiveDev perspective2D plot with PRN number as X-axis and frequency offset in Y-axisGot it !0What next .50100freq offset1502002503003504005101520PRN253035Borre & al. p.23: sat ID PRN, here 4, 7, 11, 15,19, 27, 30Latitude 47.3 []Longitude 6 []Altitude 10 [m]Doppler analysis results:SV ID Measured [Hz]Predicted .133090375.00139.85Parameters estimation for Elonics E4000 Front-End:Sampling frequency 1999885.64 [Hz]IF bias present in baseband 90082.96 [Hz]Reference oscillator error -57.18 [ppm]Corrected Doppler vs. PredictedSV ID Corrected [Hz]Predicted 92.04139.85GNSS-SDR Front-end calibration program ended.18 / 36

Software definedGPS receiverApplication to real GPS signalsFriedt & al.Intro & basicsUser perspectiveDev perspective2D plot with PRN number as X-axis and frequency offset in Y-axisGot it !What next .050frequency shift (200 Hz/point)1001502002503003504005101520PRNsat ID PRN, here 19, 27253035[.7.19.27.]Total signal acquisition run time 11.4224 [seconds]Reference Time:GPS Week: 791GPS TOW: 299342 23947.360000 UTC:Wed Oct 22 13:09:03 2014Current TOW obtained from SUPL assistance 299343Reference location (defined in config file):Latitude 47.3 []Longitude 6 []Altitude 10 [m]Doppler analysis results:SV ID Measured [Hz]Predicted 5.40Parameters estimation for Elonics E4000 Front-End:Sampling frequency 1999885.48 [Hz]IF bias present in baseband 90205.75 [Hz]Reference oscillator error -57.26 [ppm]Corrected Doppler vs. PredictedSV ID Corrected [Hz]Predicted GNSS-SDR Front-end calibration program ended.19 / 36

Software definedGPS receiverApplication to real GPS signalsFriedt & al.Intro & basicsUser perspectiveDev perspective2D plot with PRN number as X-axis and frequency offset in Y-axisGot it !What next .050100freq offset1502002503003504005101520PRNID PRN, here 7, 11, 19, 27, 30253035GPS TOW: 299662 23972.960000 UTC:Wed Oct 22 13:14:23 2014Current TOW obtained from SUPL assistance 299662Reference location (defined in config file):Latitude 47.3 []Longitude 6 []Altitude 10 [m]Doppler analysis results:SV ID Measured [Hz]Predicted 41.052790000.00-209.333090000.00-244.43Parameters estimation for Elonics E4000 Front-End:Sampling frequency 1999885.36 [Hz]IF bias present in baseband 90302.65 [Hz]Reference oscillator error -57.32 [ppm]Corrected Doppler vs. PredictedSV ID Corrected [Hz]Predicted .0527-302.65-209.3330-302.65-244.43GNSS-SDR Front-end calibration program ended.sat20 / 36

Software definedGPS receiverDid we get this right ? Nav.messagesFriedt & al.Intro & basicsUser perspectiveDev perspective Navigation message is XORed with C/AGot it ! 50 bps or 20 ms longer record than front-end-calWhat next . C/A PRN repeats every 1023 cycles at 1.023 MHz probecorrelation phase every 1 ms2580000PRN 3120cross correlationfrequency offset (Hz)850009000015109500051000005101520PRN number (no unit)253035090000920009400096000frequency offset98000100000PRN 31: visibility chart & cross-correlation for carrier freq. identification21 / 36

Software definedGPS receiverDid we get this right ? Nav.messagesFriedt & al.Intro & basicsUser perspectiveDev perspective Navigation message is XORed with C/AGot it ! 50 bps or 20 ms longer record than front-end-calWhat next . C/A PRN repeats every 1023 cycles at 1.023 MHz probecorrelation phase every 1 ms4040FFT freq estimatemanual correction: 100 Hzunwrapped manual corr.00phase (rad)20phase (rad)20FFT freq estimatemanual correction: 100 Hzunwrapped manual corr.-20-20-40-40-600500100015002000time (ms)2500300035004000-60250025502600time (ms)26502700Manual frequency correction to get a flat phase in each bit ( 100 Hz)Nav signal: bit recovery requires phase tracking (here lin. fit removal) !22 / 36

Software definedGPS receiverFeedback loop: carrier frequencytrackingFriedt & al.Intro & basicsUser perspectiveDev perspective Need for frequency tracking to compensate for Doppler shift andGot it !temperature drift Need for PRN phase positioning (?)What next .DVB T2 MS/s8 bitsA/DCatan(Q/I)PRNPRNPRN positionfrequency trackingQuick reminder on implementing a feedback loop control:a·z ba b·z 1C (z) O(z)I (z) c·z d c d·z 1 c · Ok d · Ok 1 a · Ik b · Ik 1 orOk a/c · Ik b/c · Ik 1 d/c · Ok 123 / 36

Software definedGPS receiverPhase discriminatorFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it ! The phase is needed for carrier frequency tracking yet encodes theBPSK information discriminator insensitive to 180o phase shifts Keep the phase close to 0 means arctan(Q/I ) ' 0 Q ' 0What next . arctan(Q/I ) is the exact phase estimate insensitive to 180o rotations atan2(Q, I ) provides the full phase including 180o rotations needed to exctract the navigation message Q sign(I ) is easier to compute and yields the samefunctionality6 .Q(1,1) ( 1, 1)Following graphs: from top to bottom thephase of the cross correlation maximum, theNCO frequency, and the extractednavigation bits.I( 1,1) (1, 1)6 C.O’Driscoll, M.G. Petovello & G. Lachapelle, Choosing the coherent integrationtime for Kalman filter-based carrier-phase tracking of GNSS signals, GPS Solut 15345–356 (2011)24 / 36

Software definedGPS receiverFeedback loop: carrier frequencytrackingFriedt & al.Intro & basicssampling rate: 2.0 MS/sfinit 92960 HzDiscriminator: arctan(Q/I )finit 92860 Hz22phase [pi], rad)5[ num , den ] t f d a t a ( Cz , ’ v ’ ) ;m y s i n e e x p ( j (2 p i mod ( ( ( f r e q 0 f r ( l ) ) t i m e ( kk : kk f s 1000 1) ) , 1 ) ) ) ;xx x ( kk : kk f s 1000 1) . m y s i n e ;zp x c o r r ( ap , xx ,MAXLAG) ;% we h a v e d e f i n e d MAXLAG 2000yp ( l ) a t a n ( imag ( zp ( k ( l ) ) ) . / r e a l ( zp ( k ( l ) ) ) ) ;% discriminatorf r e q den ( 2 ) freqm1 den ( 3 ) f r e q m 2 num ( 1 ) yp ( l ) num ( 2 ) ym ; % f e e d b a c k l o o p10 1 20500100015002000250030003500400010 1 002000250030003500400045005001000150020002500time (ms)3000350040004500010freq. (Hz)3 500 10 20 1005001000150020002500300035004000450066phase (bpsk)1What next .phase [pi], rad)Got it !Te 1e-3;A 150;Cz tf((1/A)*[2-a -1],[1 -2 1],Te);freq. (Hz)Dev perspectivephase (bpsk)User perspective420 205001000150020002500time (ms)3000350040004500420 2025 / 36

Software definedGPS receiverFeedback loop: carrier frequencytrackingFriedt & al.Intro & basicsUser perspectiveDev perspective Difficulty in carrier tracking due to low sampling rate ?Got it !What next . Attempt at 2.4 MS/s2phase [pi], rad)phase [pi], rad)210 1 2050010001500200025003000350040000 1 5002000250030003500400045005001000150020002500time (ms)300035004000450020 2freq. (Hz)freq. (Hz)1 4 6151050500100015002000250030003500400045006phase (bpsk)phase (bpsk)6420 205001000150020002500time (ms)3000350040004500420 20 Much poorer results ! (sampling rate mismatch ?)26 / 36

Software definedGPS receiverFeedback loop: carrier frequencytrackingFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !9-second long decoding without divergence, after implementing PRNcode positioning (R&S SMA100)What next .atan (rad)210 1 2010002000300040005000time (ms)6000700080009000010002000300040005000time (ms)6000700080009000010002000300040005000time (ms)6000700080009000freq (Hz)6420 2angle (rad)6420 227 / 36

Software definedGPS receiver(Temporary) conclusions –perspectivesFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next .Conclusion . Rather good understanding of the modulation scheme Operational carrier recovery even in a CDMA environment The so-called GPS acquisition is functional Tracking loop functional but VERY sensitive. and perspectives: if interested, could provide navigation information (to bedemonstrated – 50 Hz, output of the correlation scheme) postprocessing real time processing with gnss-sdr . . whose code remains to be understood ! Beyond DVB-T: L2 tracking ? L5 tracking ?7 Passive RADAR: use remote emitter for Doppler-distance mapping7 ration/28 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveSoftware defined radio: secondarycorrelator peaksDev perspectiveGot it !What next . Access to raw correlator output search for multipath signal Cross correlation of direct and reflected signal even compatiblewith P-code Water height measurement performed by amplitude measurement orphase measurement8 SNR hints at surface structure opportunistic signal source: extension to passive RADAR analysis Replace the known C/A pseudorandom code with any informationtransmitted PRN v.s Doppler is now replaced with time-delay v.s Doppler(Doppler helping to get rid of clutter) common clock on reference and measurement receivers to get rid ofrelative oscillator drift8 /00-0867.pdf orhttp://arxiv.org/pdf/physics/0212055.pdf29 / 36

Software definedGPS receiverExperimental setupFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !PRN v.s Doppler is now replaced with phase shift (delay distance) v.sDoppler (speed)What next . Common clock to bothdongles (either external orfrom one of the quartz) Simultaneous acquisition fromboth dongles No apparent effect of USB bus(load due to file transfer doesnot induce phase slip) Ability to detect phase butslow signal drift ?! dependenton how the dongles areinitialized ?30 / 36

Software definedGPS receiverExperimental setupFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !PRN v.s Doppler is now replaced with phase shift (delay distance) v.sDoppler (speed)What next . Common clock to bothdongles (either external orfrom one of the quartz) Simultaneous acquisition fromboth dongles No apparent effect of USB bus(load due to file transfer doesnot induce phase slip) Ability to detect phase butslow signal drift ?! dependenton how the dongles areinitialized ?31 / 36

Software definedGPS receiverExperimental setupFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !PRN v.s Doppler is now replaced with phase shift (delay distance) v.sDoppler (speed)What next . Common clock to bothdongles (either external orfrom one of the quartz) Simultaneous acquisition fromboth dongles No apparent effect of USB bus(load due to file transfer doesnot induce phase slip) Ability to detect phase butslow signal drift ?! dependentExample on commercial FM broadcaston how the dongles areinitialized ?32 / 36

Software definedGPS receiverPerspectivesFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What next . Stabilize understanding of carrier frequency feedback loop Demonstrate phase shift when antenna is moved (carrier phasetracking, λ 300/1575 ' 19 cm Use carrier phase information in local oscillator stabilizationfeedback loopReplace E4k with R820T so far, no GPS signal decoded from a R820T based receiverFrom educational to research analysis replace DVB-T with high-bandwidth multichannel acquisition cardEGNOS (European WAAS 9 ) decoding ? L1-compatible signal sent by geosynchronous satellites extended PRN codes beyond 37: 135, 138: over USA 120, 124 (decomissioned), 126, 136: active over Europe new PRN code generator seems functional ( 31) but no EGNOSsignal detected9 WideArea Augmented System33 / 36

Software definedGPS receiverReferencesFriedt & al.Intro & basics1User perspectiveDev perspectiveGot it !2What next .34567K. Borre et al., A Software-Defined GPS and Galileo Receiver – ASingle-Frequency Approach, Birkhäuser Boston, 2007E.D Kaplan, Understanding GPS: Principles and Applications, 2ndEd., Artech House (2005)gnss-sdr.org, significantly http://gnss-sdr.org/node/50C. Fernández-Prades et al., GNSS-SDR: an open source tool forresearchers and developers, Proc. ION GNSS Conference 2011 10Michele’s GNSS blog at http://michelebavaro.blogspot.fr/SoftGPS web page kom.aau.dk/project/softgps, now moved tothe rather useless gfix.dk/matlab-gnss-sdr-bookP. Boven, Hacking the GPS, OHM2013 program athttps://program.ohm2013.org/event/314.html, unfortunatelyno trace other than notes and memoriesArchive of data and scripts:http://jmfriedt.free/fr/efts archive.tar.gz in addition tothe slides at http://jmfriedt.free/fr/efts slides.pdf10 urce-tool-for-researchers-and-developers/34 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What about this squared carrierstory ?P. Boven at OHM2013: track GPS by squaring the received signal toconcentrate the spread spectrum into a single frequency bin .What next .35 / 36

Software definedGPS receiverFriedt & al.Intro & basicsUser perspectiveDev perspectiveGot it !What about this squared carrierstory ?. but the de-spread GPS signal is narrowband ( 5 kHz) and hidden inthe broadband noise LO offsetWhat next .Knowing what to look for, we found it !36 / 36

Software de ned GPS receiver Friedt & al. Intro & basics User perspective Dev perspective Got it ! What next . Software De ned Radio for processing GNSS signals S. Martinez Gutierrez, J.-M Friedt, G. Cabodevila, P.Y Bourgeois, E. Rubiola FEMTO-ST Time &