1
ION Southern California Section Meeting
Software GPS Receivers:Some Recent Developments & Trends
June 25, 2008
Chun YangSigtem Technology, Inc.
San Mateo, CA(650) 312-1132
2
Outline
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
• Standardization
3
Software GPS Receivers: Definitions• Typical Architecture of GPS Receivers in Use Today
Correlators
Code/CarrierGenerators
Baseband IC/Microprocessor
RAM ROM
I/O
Processor
ApplicationSoftware
I/O
Application Platform
Data Processor- Demodulation- Positioning- Interface
Signal Processor- Acquisition- Tracking
ANTLNA
Down-Converters
(BPF, AMP,Mixers)
ADC
RF IC
PowerSupply
~MHz ~kHz ~Hz~GHz
4
Software GPS Receivers: Definitions• Software GPS Receivers: from IF samples to position fix,
all implemented in software on a general purpose computer
RAM ROM
I/O
Processor
Software for- Acquisition- Tracking- Demodulation- Positioning
General Purpose Processor
ANTLNA
Down-Converters
(BPF, AMP,Mixers)
ADC
RF IC
PowerSupply RAM ROM
I/O
Processor
ApplicationSoftware
I/O
Application Platform
DMA
Software for- Code/Carrier Generation- Correlation
SeveralHundreds~ Tens MHz
~GHz ~Hz
As close to RFas possible
Total signal bandwidth
Several RF channels, e.g., L1, L2, L5
5
Tools for Algorithms Evaluation Hardware Receiver Simulator Post-Processing of Recorded IF Samples Real-Time Research/Commercial Receivers
Software-Configured Hardware Correlator - Configurable Code Generators & NCOs - Sequential Repeated at Very High Speed (>> fs)
Software-Implemented Correlators: - Time-Domain Sum of Products (XOR, I&D, LUT) - FFT-Implemented Correlation (Acquisition, Tracking)
Software GPS Receivers: Definitions
HistoricalDevelopmentof SoftwareReceivers
SoftwareDefinedRadio(SDR)
6
State of the Art SW GNSS Receiver Example
• NavX-NSR by IfEN & University FAF Munich
• 1st Interactive GPS/Galileo Software Receiver - Triple-Frequency RF Front-End with USB (312.5 Mbps)
- 30% of CPU on 2 Intel Xeon 5140 Processors Tracking 18 Satellites
- 85% Computation Time for Correlation
- GUI for Results and Runtime Control of Channel Configuration,
Signal/Code Structure, Processing Algorithms, & Receiver Parameters
M. Anghileri, T. Pany, D.S. Güixens, J.H. Won, A.S. Ayaz, C. Stöber, I. Krämer, D. Dötterböck, G.W. Hein, and B. Eissfeller,“Performance Evaluation of a Multi-frequency GPS/Galileo/SBAS Software Receiver,” ION-GNSS’07, Ft. Worth, TX, September 2007
7
Search Strategy: - All resources used to acquire and track a satellite - Extract information from the signal to correct large errors of the PC clock - With timing, calculate approximate satellite position from almanac or ephemeris Acquisition: - FFT-implemented correlation - Two levels of acquisition (high-power first) with interference cancellation - Coherent and non-coherent integration - Time and Doppler search space reduced for weak signals and re-acquisition Tracking: - Mixed FLL and PLL for carrier, rate-aided DLL for code - Frequency error discriminator: mixture of 2-quadrant and 4-quadrant atan2’s Optimized reference waveform (S-curve shaping technique): - Weighted combination of several replicas to achieve a pre-specified S-curve Bit synchronization: - Kalman filter tracking of carrier phase, Doppler, and Doppler rate errors - MLE of bit edge positions - Forward error corrections & Viterbi decoder Navigation Solution: - Single-epoch least squares solution - Kalman navigation filter optimized for car navigation - Pseudoranges, carrier phase and Doppler as well as height and clock fixing
M. Anghileri, T. Pany, D.S. Güixens, J.H. Won, A.S. Ayaz, C. Stöber, I. Krämer, D. Dötterböck, G.W. Hein, and B. Eissfeller,“Performance Evaluation of a Multi-frequency GPS/Galileo/SBAS Software Receiver,” ION-GNSS’07, Ft. Worth, TX, September 2007
State of the Art SW GNSS Receiver Example
8
Programming Features: - An object-oriented programming approach with C++ - Classes grouped into modules with well-defined input and output data streams - UML diagram design before implementation - Maximum reuse of source codes - Common algorithms and data structures are implemented as base class (abstract class) - Particular features are then specified in derived classes (inheritance) - Codes optimized with assembler instructions - Multi-threading for better real-time capability Performance: - Code measurement accuracy: better than 30 cm - Carrier phase measurement accuracy: better than 1 mm - In-door positioning capability: FLL operates on signals down to 10 dB-Hz
M. Anghileri, T. Pany, D.S. Güixens, J.H. Won, A.S. Ayaz, C. Stöber, I. Krämer, D. Dötterböck, G.W. Hein, and B. Eissfeller,“Performance Evaluation of a Multi-frequency GPS/Galileo/SBAS Software Receiver,” ION-GNSS’07, Ft. Worth, TX, September 2007
State of the Art SW GNSS Receiver Example
Need a Software Receiver Standard?
9
Outline
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
• Standardization
10
Recent Developments & Trends
• GPS Signal’s Channel Impulse Response vs. Correlation
• Correlation: Vital Role in DS-SS CDMA Receivers - Despread (processing gain) for signal detection
- Identify which satellite the signal originated from
- Provide timing (code/carrier phase) to construct measurements
- Enable data demodulation for navigation message
- Performance-limiting mix-in point for interference, multipath, etc.
- Data compression from MHz to kHz (intensive)
- Its implementation distinguishes HW vs. SW receivers
BPSK
±Tc
Code-dependent Code structure-dependent Affected by effective bandwidth
±Tc
±TsBOC(s,c)
11
AtomicClock
PRN CodeGeneration
CarrierModulation
UploadedNavigationData Bits
PowerAmplification
TransmitAntenna
ReceiveAntenna
ReceiverFront-end
Signal& Data
Processors
SignalDigitalSamples
User
Transmit Shaping Filter ht(t)
Receive Shaping Filter hr(t)
A
B
LocalClock
Recent Developments & Trends• GPS Signal’s Channel Impulse Response
GPS Satellite
Digital Receiver
12
AtomicClock
PRN CodeGeneration
CarrierModulation
UploadedNavigationData Bits
PowerAmplification
TransmitAntenna
Ionosphere
Troposphere
Environment
ReceiveAntenna
ReceiverFront-end
Signal& Data
Processors
SignalDigitalSamples
User
Transmit Shaping Filter ht(t)
Receive Shaping Filter hr(t)
DirectSignal
Multipath Signals{i, i, i = 1, …, M}
PropagationChannelImpulseResponsehp(t)
A
B
LocalClock
Recent Developments & Trends• GPS Signal’s Channel Impulse Response
GPS Satellite
Digital Receiver
Propagation Channel
13
AtomicClock
PRN CodeGeneration
CarrierModulation
UploadedNavigationData Bits
PowerAmplification
TransmitAntenna
Ionosphere
Troposphere
Environment
ReceiveAntenna
ReceiverFront-end
Signal& Data
Processors
SignalDigitalSamples
User
Transmit Shaping Filter ht(t)
Receive Shaping Filter hr(t)
DirectSignal
Multipath Signals{i, i, i = 1, …, M}
PropagationChannelImpulseResponsehp(t)
Satellite Signal Channel Impulse Response h(t) = hr(t)*hp(t)*ht(t)Channel Transfer Function H(f) = F{h(t)} and h(t) = F-1{H(f)}(* Convolution, F Fourier Transform, F-1 Inverse Fourier Transform)
A
B
LocalClock
C. Yang and M. Miller, “Novel GNSS Receiver Design Based On Satellite Signal Channel Transfer Function/Impulse Response,”Proc. of ION-GNSS’05, Long Beach, CA, Sept. 2005
Recent Developments & Trends• GPS Signal’s Channel Impulse Response
GPS Satellite
Digital Receiver
Propagation Channel
14
IdealDirac Delta Function(Flat Infinite Spectrum)
Recent Developments & Trends
• GPS Signal’s Channel Impulse Response
15
ConventionalCorrelationFunction
IdealDirac Delta Function(Flat Infinite Spectrum)
Ideal Correlation with SpectrumLimited to fs/2
Correlation with Spectrum
Limited to feff
±Tc = 1/fc
Recent Developments & Trends
• GPS Signal’s Channel Impulse Response
16
ConventionalCorrelationFunction
ImpulseResponse(GeneralizedCorrelation)
IdealDirac Delta Function(Flat Infinite Spectrum)
Ideal Correlation with SpectrumLimited to fs/2
Normalized Correlationwith Spectrum Limited to fs/2
Normalized Correlationwith Spectrum Limited to feff
Correlation with Spectrum
Limited to feff
±Ts = 1/fs
±Teff = 1/feff
±Tc = 1/fc
Recent Developments & Trends
• GPS Signal’s Channel Impulse Response
17
• What is a GPS signal channel impulse response? - From the output of a signal generator at satellite to the output of ADC at receiver
- Encompass satellite, propagation, receiving environment, and receiver front-end
• What are its benefits vs. conventional correlation? - Better timing accuracy, less sensitive to multipath, same operation for all codes
• How to obtain a channel impulse response? - System identification (parametric, non-parametric, richness of excitation)
- Inverse filter (phase-only and variants)
- Wiener filter
• When to outperform (what are limiting factors)? - Equivalent bandwidth of signal, propagation, transmitter, and receiver
- Sampling rate
- Signal to noise ratio (SNR): at input vs. processing loss
- Computational loading
Recent Developments & Trends
18
Outline
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
• Standardization
19
GPS RFFront-End
ADC
FFT
FFTComplexConjugate
SpectrumShift forDopplerRemoval
CodeReplica
Sequences
IFFT
Delay-Doppler Map
f
Correlation Power
Detection
Forward Transformation - Signal
Forward Transformation - Replica
InverseTransformation
Recent Developments & Trends• Frequency-Domain Baseband Signal Processor
20
GPS RFFront-End
ADCFull/Zoom
FFT
FFTComplexConjugate
GPS SignalParameters
NarrowbandInterferenceSuppression
SpectrumShift forDopplerRemoval
CodeReplica
Sequences
Full orPartial orPruning
IFFT
Delay-Doppler Map
f
Complex Correlation
Detectionms-AlignmentData Bit SyncInterpolation
DFT forResidualDoppler
CarrierDoppler
ParameterExtraction
ExtendedBuffer
Pseudo QuadratureSampling
Forward Transformation - Signal
Forward Transformation - Replica
InverseTransformation
Recent Developments & Trends• Frequency-Domain Baseband Signal Processor
21
GPS RFFront-End
ADCFull/Zoom
FFT
FFTComplexConjugate
GPS SignalParameters
Code Doppler
NarrowbandInterferenceSuppression
SpectrumShift forDopplerRemoval
CodeReplica
Sequences
Full orPartial orPruning
IFFT
Resampling
Delay-Doppler Map
f
Complex Correlation
Detectionms-AlignmentData Bit SyncInterpolation
DFT forResidualDoppler
Code Phases
CarrierDoppler
ParameterExtraction
ExtendedBuffer
Pseudo QuadratureSampling
Forward Transformation - Signal
Forward Transformation - Replica
InverseTransformation
Recent Developments & Trends• Frequency-Domain Baseband Signal Processor
/
22
Recent Developments & Trends• Frequency-Domain Baseband Signal Processor
FFT
CompositeSignal s(t)
SignalSpectrum S(f)
FFT
Replica r(t)
ReplicaSpectrum R(f)
*
CorrelationSpectrum
AutocorrelationSpectrum
MultipathEstimation
IFFT
MultipathMitigated
Correlation
MultipathTransferFunction
SignalSpectrum
CorrelationSpectrum
TransferFunction
MultipathParameters
MultipathMitigation
Non-Parametric
Parametric
23
Incoming SignalSamples Buffer
Code ReplicaSamples Buffer
FourierTransform
FourierTransformConjugate
SpectrumFiltering U
SpectrumFiltering V
SpectrumFiltering W
InverseFourier
Transform
Delay-DopplerMap of
ComplexGeneralizedCorrelations
Peak Detection& Parameters
Extraction
Generalized Frequency-Domain Correlator (GFDC)
s(t) S(f)
r(t) R*(f)
(f)*R
(f)S
C(f)
c(t)
(f)C
Frequency-Domain Baseband Signal Processor
Recent Developments & Trends• Generalized Frequency-Domain Correlator (GFDC)
24
• Spectrum Excision of Narrowband Interference• Spectral Filtering to Reduce Additive Noise • Spectrum Segmentation of Multiple Codes • Spectrum Translation for Residual Doppler
Removal with Feedback • Spectrum Windowing/Filtering
Two Types of Filtering: Applied to Individual Frequency Bins Involving the Entire Spectrum
Examples of Filtering:
Recent Developments & Trends
Conventional CorrelationImpulse ResponsePhase-Only CorrelationSymmetric Phase OnlySquare-Root NormalizedAmplitude-CompensatedMake One of Your Own …
C. Yang, M. Miller, and T. Nguyen, “Symmetric Phase-Only Matched Filter (SPOMF) for Frequency-Domain Software GPS Receivers,” ION Journal: Navigation, Vol. 54, No. 1, Spring 2007
25
4900 4950 5000 5050 5100 5150 5200 5250-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
code lag (samples at 10 MHz)
code
chi
ps
code sequenece vs. normalized phase-only code
original codephase-only
0 10 20 30 40 50 60 70 80 90 1000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
code lag (samples at 10 MHz)
auto
-cor
rela
tion
normalized peak for BPSK code vs. phase-only code
original codephase-only
Adaptive Waveforms:Correlation in AcquisitionPhase-Only in Tracking
C/A-Code to AchievePerformance of P-CodeIn Accuracy and Multipath
Same Operation for BothBPSK- and BOC-Codes
BPSK BOC
0 10 20 30 40 50 60 70 80 90 1000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
code lag (samples at 100 MHz)
auto
-cor
rela
tion
normalized peak for BOC code vs. phase-only code
original codephase-only
8.094 8.096 8.098 8.1 8.102 8.104 8.106 8.108 8.11
x 104
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
code lag (samples at 100 MHz)
code
chi
ps
code sequenece vs. normalized phase-only code
original codephase-only Tc
D
Double Delta, Strobe, Gated, or Pulsed Aperture Correlator
Code
t
Early-LateCorrelator
ReferenceSignals
Tc
D
Double Delta, Strobe, Gated, or Pulsed Aperture Correlator
Code
t
Early-LateCorrelator
ReferenceSignals
C. Yang, M. Miller, and T. Nguyen, “Symmetric Phase-Only Matched Filter (SPOMF) for Frequency-Domain Software GPS Receivers,” ION Journal: Navigation, Vol. 54, No. 1, Spring 2007
Recent Developments & Trends• Phase-Only Correlation
26
9.754 9.7545 9.755 9.7555 9.756 9.7565 9.757 9.7575 9.758
x 104
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
code lag (samples at 50 MHz)
norm
aliz
ed m
agni
tude
generalized frequency-domain correlator (GFDC), C/N0=30dB-Hz
spomf correlationpomf/scir
Symmetric Phase-OnlyMatched Filter (SPOMF)
Conventional Correlation
Impulse Response (SCIR)
0 0.2 0.4 0.6 0.8 1 1.2 1.40
2
4
6
8
10
12
14
16
delay, chip
dela
y es
timat
ion
rms
erro
r, m
monte carlo simulation: =0.2, C/N0=30dB-Hz ,100 runs
s + n + m: correlation, early - late s + n: correlation, early - late s + n + m: impulse response, excision, curve fits + n: impulse response, excision, curve fit s + n + m: symmetric phase only, curve fit s + n: symmetric phase only, curve fit
3 Pairs of Curves: With and Without Multipath
Signal + Noise + MultipathSignal + Noise
Signal + Noise + MultipathSignal + Noise
Signal + Noise + MultipathSignal + Noise
▪ Conventional Correlation
▪ Impulse Response
▪ Symmetric Phase-Only
Infinite Bandwidth
Fixed Relative Strength = 0.2 Same Noise at Each Delay
Recent Developments & Trends• Generalized Frequency-Domain Correlator (GFDC)
27
ComplexDFT/FFT
SpectrumScreeningfor SpikeExcision
SpectrumSegmentation
NarrowbandL1 C/A-Code
NarrowbandL2C (CM & CL)
WidebandP(Y)-Code
Split-bandM-Code
WidebandL5 (I5 & Q5)
L1, L2 or L5
L1, L2
L5
Full Spectrumper Band
SpectrumFiltering
NarrowbandL1C-Code
SpectrumFiltering
Triple-Band Antenna,RF Front-End & ADC
Dual-Band Antenna,RF Front-End & ADC
Single Band Antenna,RF Front-End & ADC
Incoming Signal FFT Only Done OnceBut Used for All Codes for All Satellites! Spectrum Segmentation = Ideal Bandpass Filtering
L1/L2 or L1/L5
L1, L2 and L5
50 Msps 24 MHz
50,000ComplexDFT/FFTper 1 ms
Recent Developments & Trends• Frequency-Domain Baseband Signal Processor
28
Parameter 1
Parameter 2
Parameter N
Parameter 1 Parameter 2 Parameter N
Parameter 1
Parameter n
Parameter n+1
Parameter 2n
Parameter N-n+1
Parameter N
ParallelProcessing
Sequential Processing
SequentialParallel
Processing
Parameter 1
Parameter 2
Parameter N
▪▪▪
▪▪ ▪
▪▪
▪
▪▪ ▪
▪▪ ▪
Block 1 Block 2 Block 3
▪▪
▪▪
▪▪
▪▪ ▪ Block M Block N▪▪ ▪
▪▪ ▪
BlockRepetitiveProcessing
Time
Recent Developments & Trends• Block-Repeated Iterative Processing
• Multipath Mitigation
• Near-Far Interference Cancellation
• Iterative Approximation to Nonlinearity
• Successive Removal of High Dynamics
29
Outline
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
Strong-Weak (Near-Far) Problem
S-Curve-Shaping
• Standardization
30
Recent Developments & Trends
• Strong-Weak Signal (Near-Far) Problem: Cause & Effect - Masking of Weak Signals by Strong Signals
- Non-orthogonality (Cross-Correlation) between Codes
y
s
s
ww
Noise Cloud
None of Strong SignalProjection (w/o
Cross Correlation)Weak SignalOut of Noise
Ideal Case (Orthogonal)
y
s
s
ww
Cross-Correlationof Strong Signal(i.e., Projection)
Weak Signal
Destructive
y
s
s
ww
Cross-Correlationof Strong Signal(i.e., Projection)
Weak Signal
Constructive
NonOrthogonal
s: StrongSignal (s)w: WeakSignal (w)y: ReceivedSignal
31
Recent Developments & Trends• Strong-Weak Signal (Near-Far) Problem: Signal Models
vWαSαy ws TNyyy )()2()1( y
mNm C sssS 21
Tsmsss 21α
kNk C wwwW 21
Twkwww 21α
Tiiii Nsss )()2()1( s
)}2(exp{)()()( 0sisdsisisii kTfjkdkcks
Tjjjj Nwww )()2()1( w
)}2(exp{)()()( 0wjsdwjwjwjj kTfjkdkckw
WeakSignals
StrongSignals
Unit Amplitude MatrixAmplitude Vector
Number of Correlation Samples
32
•Adaptive Orthogonalization with Constraints [Glennon &
Dempster, 2007]
• Signal Subspace Projection [Morton et al., 2007]
• Unnormalized Oblique Projection [Behrens & Scharf, 1994;
Thomas et al., 2004]
Constrained Optimization for Adaptive Replica
Recent Developments & Trends• Strong-Weak Signal (Near-Far) Problem: Removal
svWαvWααSSααSyy wwsss )ˆˆ(ˆˆ
swswswsywsTTT
w mRRRRR ααSwywyw ˆˆˆ
21
• Cancellation:
- Signal Domain [Madhani et al., 2001]
- Correlation Domain [Norman & Cahn, 2004]
Eq
uiv
alen
t
33
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
1(-1, -1) 11(-1)ej(-1)T/2+1
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Strong SignalAcquisition& Tracking
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
_+
2(-2, -2) 22(-2)ej(-2)T/2+2
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^ Weak Signal
Acquisition& Tracking
Step 1: Acquire Strong Signals
Step 2: Reconstruct Strong Signal
Step 3: Remove Strong Signal
Step 4: AcquireWeak Signal
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
1(-1, -1) 11(-1)ej(-1)T/2+11(-1, -1) 11(-1)ej(-1)T/2+1
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Strong SignalAcquisition& Tracking
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
_+
2(-2, -2) 22(-2)ej(-2)T/2+22(-2, -2) 22(-2)ej(-2)T/2+2
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^ Weak Signal
Acquisition& Tracking
Step 1: Acquire Strong Signals
Step 2: Reconstruct Strong Signal
Step 3: Remove Strong Signal
Step 4: AcquireWeak Signal
Recent Developments & Trends• Successive Interference Cancellation (SIC) - Signal Domain Iteration [Madhani et al., 2001]
34
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
1(-1, -1) 11(-1)ej(-1)T/2+1
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Strong SignalAcquisition& Tracking
12(-1, -1) 12(-1)ej(-1)T/2+1^ ^ ^ ^ ^ ^
= 12(-1)ej(-1)T/2+1
+ 22(-2)ej(-2)T/2+2
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
_
+2(-2, -2) 22(-2)e
j(-2)T/2+2
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^ Weak Signal
Acquisition& Tracking
Step 1: Acquire Strong Signals
Step 2: Estimate Cross-Correlation
Step 3: Correlate with WeakSignal Replica
Step 4: RemoveStrong SignalCorrelation
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Incoming Signal:s(t) = c1(t-1)e
j1t+1
+ c2(t-2)ej2t
+ n(t), >>
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
Replica for aWeak Signal:r2(t) = c2(t-)ejt
Vary , During Search
1(-1, -1) 11(-1)ej(-1)T/2+11(-1, -1) 11(-1)ej(-1)T/2+1
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Peak-Picking& Obtain:
, 1, 1, 1^ ^ ^ ^
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Replica for aStrong Signal:r1(t) = c1(t-)ejt
Vary , During Search
Strong SignalAcquisition& Tracking
12(-1, -1) 12(-1)ej(-1)T/2+1^ ^ ^ ^ ^ ^12(-1, -1) 12(-1)ej(-1)T/2+1^ ^ ^ ^ ^ ^
= 12(-1)ej(-1)T/2+1
+ 22(-2)ej(-2)T/2+2
= 12(-1)ej(-1)T/2+1
+ 22(-2)ej(-2)T/2+2
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
ReconstructedStrong Signal:
s1(t) = c1(t-)ejt+1̂^^^^
_
+2(-2, -2) 22(-2)e
j(-2)T/2+22(-2, -2) 22(-2)ej(-2)T/2+2
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^
Peak-Picking& Obtain:
, 2, 2, 2^ ^ ^ ^ Weak Signal
Acquisition& Tracking
Step 1: Acquire Strong Signals
Step 2: Estimate Cross-Correlation
Step 3: Correlate with WeakSignal Replica
Step 4: RemoveStrong SignalCorrelation
Recent Developments & Trends• Successive Interference Cancellation (SIC) - Correlation Domain Iteration [Norman & Cahn, 2004]
35
Recent Developments & Trends• Adaptive Orthogonalization with Constraints [Glennon & Dempster]
C/A-Code: - Max correlation = 1023 - Max cross correlations = -63 and +65, each @ 12.5% (-24 dB) - Typical cross correlation = -1 @ 75% (-60 dB)
Cross-correlation due to imbalance of 64 out of 1023 chips
Idea: rebalance the code via modifying 32 chips
Procedure: - Calculate the total cross correlation (cc) between 2 sequences - Get indices of chips: sign of chip cc = sign of sequence cc - Sign-reverse some selected indices to eliminate cc
Complexity: multiple strong signals, data bit, residual Doppler
36
ySSSSyPy TTS
1)(ˆ vSαvWαSαSSSS ~)()( 1 sws
TT
yPyyyy S ˆ svWα w
)( yPywyw STT
wR )())(( 1 ySSSSwyw TTTT
yPwywyw STTT
wR ywywPI TTS
~])[(
0)()()(~ SSwSPSwSPIwSw TS
TS
TT
NN ST
STT
STT wPwwPwwwwPIwww )(~
Recent Developments & Trends• Signal Subspace Projection [Morton et al.]
- Strong Signal Subspace: <S> = span{s1, s2, …, sM} Projection onto <S>:PS = S(STS)-1ST
wPwPIwPwwS )(~
SSProjection onto Orthogonal SubspaceEquivalent code replica
- Recover Strong Signals via Subspace Projection:
- Remove Strong Signals:
- Detect Weak Signals:
1N mm N1
N N
37
0~ SwT
NT ww~
Recent Developments & Trends• Constrained Optimization for Adaptive Replica
- Constraints for Adaptive Code Replica :
TT N 0Sww ˆ~ TT dDw ~
)(~~~ Svwαyw T
wT
w NR
- Correlation with Synthesized Code:
wRwww
~~minarg~~
* T2}{}))({( v
TT EE IvvSvSvR
dDRDDRw 111* ))((~ T
To Minimize
TT dDw ~Subject to
Similar to Subspace Projectionwith R = diagonal “Optimal” – noise minimized
w~
- Constrained Optimization:
- Solution:
38
wPw
ww~~
)~( 2
Tw
T
SINR
vTT
ssE RSASSαvSαvP }))({(T
ssααA
wPwww
~~minarg~~
* T NT ww~
)(~~~~ s
Tw
Tw
TR SαvwWαwyw )(~~s
Tw
T Sαvwww
Recent Developments & Trends• SINR Maximization for Adaptive Replica
- Correlation with Synthesized Code to Find :w~
CC between weak signals ignored Signal Noise + Interference
Subject to
- Constrained Optimization:
- Solution:
wPw
wPw
1
1*~
T
N
sTs
TTss
NI
αα
SαSα
22
1 1
vsTs
TTss
v N αα
SαSαIP
- Optimality: Signal to Interference plus Noise Ratio
39
Recent Developments & Trends• MSE Minimization for Adaptive Replica [Lacatus et al., 2007]
- Signal already synchronized, to improve its reception quality
nSPby KssS 1 TKbb 1b }{ TE nnW ]}{[ 1 Kppdiag P WSPSyyR TTE }{
- Optimality: Mean square error (MSE) minimization
ppbE
TT
T wRwsw
yw ~~~21})
~{(MSE 2
Subject to
- Constrained Optimization:
MSEminarg~~
*
ww 1~~ wwT
- Solution: sRw 1*~ p
w
www ~
)~(MSE~~ **1
tt )]~(
2~[ * swRw ppt
- Complexity: R, p
40
Recent Developments & Trends• Signal Subspace Projection [Morton et al.]
Suc
cess
Rat
e (%
)
Suc
cess
Rat
e (%
)
Suc
cess
Rat
e (%
)
Without Removal
Without Removal
Achieve 90% Success Rate
41
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
Strong-Weak (Near-Far) Problem
S-Curve-Shaping
• Standardization
Outline
42
Recent Developments & Trends• Multipath Error with “E-L” Code Error Discriminator
P
p-T Tq
S
p
-T Tq
S
In-Phase: Constructive Out-of-Phase: Destructive
Late: Positive Range Error (Longer) Early: Negative Range Error (Shorter)
E L
Ed
Er
Ld
Lr
P
E L
Ed
Ld
Er Lr
E = Early, P = Prompt, L = Late
S = Correlator SpacingT = Chip Duration
p = Multipath Delay wrt Direct Pathq = Bias in Delay Error Discriminator
Ed, Pd, Ld = Direct Signal CorrelationEr, Pr, Lr = Multipath Signal Correlation
43
Recent Developments & Trends• Multipath Mitigation Methods at Correlator
Narrow Correlator
Double Delta Correlator: - Strobe Correlator - Pulse Aperture Correlator - Gated Correlator
Multipath Elimination Technique (Slopes)
E1/E2 Tracking
Multipath Estimating Correlator (Parametric)
High Resolution Vision Correlator
Impulse Response
Number of correlatorsCorrelator spacingCorrelator locationCorrelator weighting
Improved MultipathPerformance at the Cost ofIncreased Thermal Noise
44
Recent Developments & Trends• Synthesize Code Error Discriminator (S-Curve Shaping)
T. Pany, M. Isigler, & B. Eissfeller, “S-Curve Shaping: A New Method for Optimum Discriminator BasedCode Multipath Mitigation,” ION-GNSS’2005, Long Beach, CA
OptimalCode Error
Discriminator
VVL
VL
P
L
VE
E
VVE
CodeGenerator
R(t-d)
d
R(t)
R(t+d)
R(t-3d)
R(t-2d)
R(t-4d)
R(t+2d)
R(t+3d)
R(t+4d)
Incoming Signal
Local Code D(t) = t
L
Lii idtRtD )()(
t
D(t)
S-Curve
Operating Interval(±1 chips)
As wideas possible
in acquisition
As narrowas possiblein tracking
45
Recent Developments & Trends• Synthesize Code Error Discriminator (S-Curve Shaping)
T. Pany, M. Isigler, & B. Eissfeller, “S-Curve Shaping: A New Method for Optimum Discriminator BasedCode Multipath Mitigation,” ION-GNSS’2005, Long Beach, CA
N
Njjdesiredji tDtD
i
2* )]()([minarg
N
Njjdesired
L
Liji tDidtR
i
2)]()([minarg
=
d
tj
-Ld 0 Ld
R
N
-N
=
id
L
Lijij idtRtD )()(
Convolution of i and R(id)
dRRRα TT 1)(
)}({
)}({
j
jdesiredt
idi tRFFT
tDFFTconjIFFT j
Alternative Solution
46
Recent Developments & Trends• Synthesize Code Error Discriminator (S-Curve Shaping)
T. Pany, M. Isigler, & B. Eissfeller, “S-Curve Shaping: A New Method for Optimum Discriminator BasedCode Multipath Mitigation,” ION-GNSS’2005, Long Beach, CA
8 MHz8 MHzInfinite Infinite
Linear Region: 0.05 0.2 0.05 0.2 Fit Range: 1.5 2 1.5 2 Resolution: 0.05 0.2 0.05 0.2Offset: 0 0.02 0.002 0.05
47
Outline
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
• Standardization
48
Core Framework (CF)
Commercial Off-the-Shelf (COTS)
Applications
OperatingEnvironment (OE)
Red Hardware Bus
CFServices &
Applications
CORBA ORB &Services
(Middleware)
Network Stacks & Serial Interface Services
Board Support Package (Bus Layer)
Black Hardware Bus
CFServices &
Applications
CORBA ORB &Services
(Middleware)
Network Stacks & Serial Interface Services
Board Support Package (Bus Layer)
Operating System
Core Framework IDL
Non-CORBAModem
Components
Non-CORBASecurity
Components
Non-CORBA I/O
Components
RF
ModemComponents
Link, NetworkComponents
SecurityComponents
ModemAdapter
SecurityAdapter
SecurityAdapter
I/OAdapter
I/OComponents
MAC API LLC/Network API LLC/Network API
Link, NetworkComponents
Security API
Operating System
Physical API
I/O API
(“Logical Software Bus” via CORBA)
Software Communications Architecture (SCA)
SCA is Standards for Software Defined Radio (SDR) by JTRS - H/W & S/W specifications - Open architecture framework: how elements of hardware and software operate - Structure and operation: load waveforms, run applications, and networking to an integrated system
49
A Software GPS Receiver Standard? Without Software GPS Receiver Standard - Hardware/software not totally compatible - A stand-alone software GPS receiver per manufacturer, proprietary - Result exchanges using common data format e.g. RINEX (a standard?) - A user has to stick with a manufacturer’s or buys from another
With a Software GPS Receiver Standard - Specified to hardware/software functionality components similar to SCA for SDR - we can market a full software receiver, best software components for specific functionalities, common utilities, application specific software components, development tools, … - A user (government buyer) can select and assemble (plug and play) per needs
New Business Models: Innovative Small Developers Can Play - Standard compliant platform vendors - Software development tools vendors - Baseband signal/data processors vendors - Applications-specific software vendors
Industry-Wide Consortium for Standard Maintenance
50
Summary
• Software GPS Receivers: Definitions
• Example of a State of the Art Implementation
• Recent Developments & Trends
- GPS Signal’s Channel Impulse Response
- Frequency-Domain Baseband Processor
- Online Adaptive Code Replica Synthesis
- Semi-Coherent Integration
• Standardization
51
Thank you for your attention.
Questions?
52
Questions – Enough Throughput for SW RX?
• Xeon 5140 Processors - Clock rate of 2.33 GHz and 4 instructions executed per clock tick
- 64-bit bus vs. 4-bit samples: 16 samples per transfer from ADC to CPU • Required Throughputs - Sampling rate = 40.96 MHz, Transfer rate = 40.96 MHz/16 = 2.56 MHz
- Number of satellites = 18, Number of correlators = 4 (P, E-L for I & Q)
- Required data throughput = 18 4 40.96 = 2949.12 MHz
• Performance of NavX Implementation - 8 + 8 correlations per 2.5 to 4 clocks (More efficient with more satellite)
- 6.4 to 4 correlations per clock, 3.2 to 2 correlations per processor per clock
- CPU throughput:
Max: 2 Xeon @ 2.33 GHz 3.2 correlations per clock = 10857.8 MHz
Min: 2 Xeon @ 2.33 GHz 2 correlations per clock = 9320 MHz
- Data throughput / CPU throughput = 2949.12/10088.9 = 29% ~ Claimed 30%
- Cannot do multipath mitigation for L2CL (pre-compute double-delta replica)
53
Questions – Frequency-Domain Tracking?
• Acquisition - Correlation at (code, frequency): N complex multiplications + N-1 complex additions
- Sequential correlations: NcNfN = NfN2 complex multiplications
- FFT-implemented correlations: NfNlog2N
• Tracking - Correlators: 3(N+N)M = 6NM, M = Number of codes
- FFT: Nlog2N + 3NM + 5NM = (log2N + 8)NM ~ (19, 20)NM
• Trade-offs - With a dedicated FFT processor, the computation is about the same
- Except for different code replicas, exactly the same for BPSK & BOC
- Blurred line between search & tracking: acquire, reacquire, coverage
- Narrowband interference suppression
- Signal channel transfer function/impulse response
- Joint error discriminator & joint tracking loop across signals per satellite
- Snapshot of 2 ms of data: delay and Doppler for all codes
N/log2N ~ 186, 341 Times Lessfor N = 2048, 4096
3.5 Times More
54
Search in Time & Frequency: Search point Area of coverageLong Integration Interval: Unknown data bits Changes in frequency
f
½ Tc ½ s
1/2Ti= 500 Hz
Search Point
IF Samples DespreadingIntegration
SearchDirector
Carrier Replica
Code Replica
Post-CorrelationIntegration with
{zn, n = 0, 1, …, N-1}
zn = sn + wn
Correlator
@ 1 kHz
Area covered
Signal movement during integration
Recent Developments & Trends• Semi-Coherent Integration
55
1 - Ideal Coherent: }Re{)( *1
0n
N
nnCI szz
2 - Practical Coherent with FFT: |}}{max{|)(_ zFFTzFFTCI
3 - Non-Coherent: *1
0
)( n
N
nnNCI zzz
4 - Semi-Coherent for First Lag: *1
1
1
)(
n
N
nnSCI zzz
5 - Semi-Coherent up to First N/2 Lags:
2/
1
2
1
*2/_ )(
N
k
N
knknnNSCI zzz
6 - Semi-Coherent for First Lag with FFT: |}})({max{|)( *2:01:1_ NNFFTSCI zzdiagFFTz
z = [z0, z1, …, zN-1]Tnssnnn wTnnTfjAbz ]})(2[exp{ 0
220
Recent Developments & Trends• Semi-Coherent Integration
sn Known Perfectly
Squaring Removes Data Bits & Residual DopplerBut Also Squares Noise & Loses Info bt & f
Data Bits & Changesin Doppler
Between Coherent &Non-coherent
56
Ts
nth Block (over 1 Data Bit), 20 ms
i = 1 2 3 …… 8 9 10 11 …… 20½ ½
1½ 1½
9½ 9½
t
t – /2 t – /2
N = 1000 for Ts = 1 ms
K blocks with M samples(e.g., M = 20, K = 50)
N = KM
Centered Autocorrelation Between Two Samples with Delay
)2
()2
(),( * txtxtz )2(22 0 tfjeA 1,,3,1 M Kt ,,2,1
Data bit sign is squared out
Chirping rate
Bilinear in t and , thus allowing FFT
Center of block Offset from the center
FFT over , peak at f0+2t, linear in t
FFT over t, peak at 2, linear in
C. Yang, M. Miller, T. Nguyen, and E. Blasch, “Wigner-Hough/Radon Transformfor GPS Post-Correlation Integration,” ION-GNSS’07, Ft. Worth, TX, Sept. 2007
Bit SyncNot Bit Sign
Recent Developments & Trends• Semi-Coherent Integration: Intra Block Products
57
1 2 …… M
1 2 …… M
Delay = MTs
yk = [xki, i = 1, 2, …, M]
yk+1 = [x(k+1)i, i = 1, 2, …, M]
yk+2 = [x(k+2)i, i = 1, 2, …, M]
Block k Block k+2
Block k+1
N = KM = 1000 (1 s)
M = 20,
],...,1,[ Mixy kik ],...,1,[ )1(1
Mixy ikk
k = 1, …, K: Block Index
i = 1, …, M: Sample Index
= MTs: Delay between Blocks
Ts = 1 ms, K = 50
Construct (K-1)×M Matrix of Inter-Block Conjugate Products:
]1,...,1,,...,1,[ KkMizZ ki
Obtain Two Blocks of Complex Correlations:
]))1([2(221
*)1(
220 ikMMTfj
kkkiikkiseAbbxxz
Linear in k and i, thus allowing FFT
FFT over k, peak at 2 for each i
FFT of complex peaks over i
1 2 …… M12…
K-1
2×13×2
…
K×K-1
Z
Recent Developments & Trends• Semi-Coherent Integration: Inter Block Products
DifferentialBit Sequence
58
1 2 3 4 …… M
Block 1
M+1
2M
M+2
2M+1
3M3M+1
],...,1,[ 11
1Mixy i
],...,1,[ )1(12
1Mixy i
],...,1,[ )2(13
1Mixy i
],...,1,[ )1(11Mixy bi
b
],...,1,[ )1(11Mixy Mi
M
2
2y 2
3y
2
4y
1
2y
1
4y1
3y
3
2y
by2
3
3y
by3
My2
3
4y
by4
My3
Block 2 Block 3
True BitTransition
TwentySequencesof DelayedBlocks for
Summation
y1
y2
y3
yb
yMAligned DelayedBlocks
Joint Bit Sync, Sign & Estimation: Detection with 3D Search
|)(|maxargˆ1
]1,...,1[lSl b
KKl
b
|)()(|maxarg)(ˆ1
]1,1[lHlSl b
kbk
bk
bk
])(ˆ),([)( 1 llBlB bk
bk
bk
)()(ˆ)()( 1 lHllSlS bk
bk
bk
bk
}{)( kk hlH FTTkK
Tk
Tkk zh ]00[ 11 )2( 0 kj
kk Bez
Peak bin = l ~ (Acceleration)Differential bit sequence
|)ˆ(|maxargˆ1
],...,1[
bbK
MblSb
Bit transition (sync)
Recent Developments & Trends
C. Yang, T. Nguyen, E. Blasch, and M. Miller, “Post-Correlation Semi-Coherent Integration for Weak& High Dynamic GPS Signal Acquisition,” IEEE PLANS/ION-AM’08, Monterey, CA, May 2008
59
-30 -25 -20 -15 -10 -5 0 5 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
single measurement SNR, 10log10
(A2/2), dB
Pd
Pfa
= 0.001, z = 2 = 2, N = 100, runs = 10000
coherentcoherent, fftnon-coherentsemi-coherent, k=1semi-coherent, k->N/2semi-coherent, k=1, fft
Pd vs. SNR for N = 100 ( = 37.45 Hz/s)
C. Yang, M. Miller, T. Nguyen, and E. Blasch, “Comparative Study of Coherent, Non-Coherent, and Semi-Coherent IntegrationSchemes for GNSS Receivers,” Proc. of ION-AM’07, Boston, MA, April 2007.
Recent Developments & Trends
• Semi-Coherent Integration
0 5 10 15 20500
600
700
800
900
1000
1100bit sync with 20 delayed sums
cum
ula
ted
pe
ak
transition location
cumulated peakbit transition
Inter-Block Products
Top Related