ION Southern California Section Meeting

59
1 ION Southern California Section Meeting Software GPS Receivers: Some Recent Developments & Trends June 25, 2008 Chun Yang Sigtem Technology, Inc. San Mateo, CA (650) 312-1132 [email protected]

description

ION Southern California Section Meeting. Software GPS Receivers: Some Recent Developments & Trends. Chun Yang Sigtem Technology, Inc. San Mateo, CA (650) 312-1132 [email protected]. June 25, 2008. Outline. Software GPS Receivers: Definitions - PowerPoint PPT Presentation

Transcript of ION Southern California Section Meeting

Page 1: ION Southern California Section Meeting

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

[email protected]

Page 2: ION Southern California Section Meeting

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

Page 3: ION Southern California Section Meeting

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

Page 4: ION Southern California Section Meeting

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

Page 5: ION Southern California Section Meeting

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)

Page 6: ION Southern California Section Meeting

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

Page 7: ION Southern California Section Meeting

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

Page 8: ION Southern California Section Meeting

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?

Page 9: ION Southern California Section Meeting

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

Page 10: ION Southern California Section Meeting

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)

Page 11: ION Southern California Section Meeting

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

Page 12: ION Southern California Section Meeting

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

Page 13: ION Southern California Section Meeting

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

Page 14: ION Southern California Section Meeting

14

IdealDirac Delta Function(Flat Infinite Spectrum)

Recent Developments & Trends

• GPS Signal’s Channel Impulse Response

Page 15: ION Southern California Section Meeting

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

Page 16: ION Southern California Section Meeting

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

Page 17: ION Southern California Section Meeting

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

Page 18: ION Southern California Section Meeting

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

Page 19: ION Southern California Section Meeting

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

Page 20: ION Southern California Section Meeting

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

Page 21: ION Southern California Section Meeting

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

/

Page 22: ION Southern California Section Meeting

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

Page 23: ION Southern California Section Meeting

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)

Page 24: ION Southern California Section Meeting

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

Page 25: ION Southern California Section Meeting

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

Page 26: ION Southern California Section Meeting

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)

Page 27: ION Southern California Section Meeting

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

Page 28: ION Southern California Section Meeting

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

Page 29: ION Southern California Section Meeting

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

Page 30: ION Southern California Section Meeting

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

Page 31: ION Southern California Section Meeting

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

Page 32: ION Southern California Section Meeting

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

Page 33: ION Southern California Section Meeting

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]

Page 34: ION Southern California Section Meeting

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]

Page 35: ION Southern California Section Meeting

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

Page 36: ION Southern California Section Meeting

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

Page 37: ION Southern California Section Meeting

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:

Page 38: ION Southern California Section Meeting

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

Page 39: ION Southern California Section Meeting

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

Page 40: ION Southern California Section Meeting

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

Page 41: ION Southern California Section Meeting

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

Page 42: ION Southern California Section Meeting

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

Page 43: ION Southern California Section Meeting

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

Page 44: ION Southern California Section Meeting

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

Page 45: ION Southern California Section Meeting

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

Page 46: ION Southern California Section Meeting

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

Page 47: ION Southern California Section Meeting

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

Page 48: ION Southern California Section Meeting

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

Page 49: ION Southern California Section Meeting

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

Page 50: ION Southern California Section Meeting

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

Page 51: ION Southern California Section Meeting

51

Thank you for your attention.

Questions?

Page 52: ION Southern California Section Meeting

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)

Page 53: ION Southern California Section Meeting

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

Page 54: ION Southern California Section Meeting

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

Page 55: ION Southern California Section Meeting

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

Page 56: ION Southern California Section Meeting

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

Page 57: ION Southern California Section Meeting

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

Page 58: ION Southern California Section Meeting

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

Page 59: ION Southern California Section Meeting

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