HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT...

97
HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS-ONTVANGER MET FLEXIBELE HERCONFIGURATIE OP EEN FPGA Rapport over de masterproef van Ruben SMEETS en Joris VOLDERS kandidaten voor de graad van Academische Master Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 Referentie: MP2012/ELO/05

Transcript of HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT...

Page 1: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS-ONTVANGER MET FLEXIBELE HERCONFIGURATIE OP EEN FPGA Rapport over de masterproef van Ruben SMEETS en Joris VOLDERS kandidaten voor de graad van Academische Master Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 Referentie: MP2012/ELO/05

Page 2: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Woord vooraf

Als laatstejaarsstudenten Industrieel Ingenieur Elektronica aan de Katholieke Hogeschool

Limburg kregen we de mogelijkheid om een masterproef te maken. Onze keuze is daarbij gegaan

naar de opdracht van de Koninklijke Sterrenwacht van België. Ons onderwerp luidde als volgt:

het implementeren van een meerkanaals GNSS-ontvanger met flexibele herconfiguratie op een

FPGA. Dit leek ons een interessante en uitdagende opdracht omdat GNSS-ontvangers niet meer

weg te denken zijn uit de moderne samenleving. Daarbij kregen we met deze thesis de kans om

ons verder te verdiepen in de wereld van telecommunicatie en chipdesign.

Voor het goed verlopen van ons eindwerk zouden we graag aan een aantal mensen een

dankwoord willen uiten. Zonder hun hulp en steun hadden we namelijk nooit dergelijk

eindresultaat kunnen bereiken.

Eerst en vooral willen we onze promotoren, dr.ir. Wim Aerts en dr. ir. Nele Mentens bedanken

voor hun technische ondersteuning en de mogelijkheid die zij ons gaven om deze thesis te

verwezenlijken. Verder willen we ook nog een aantal andere mensen bedanken. Hierbij denken

we aan dr. Jeroen Lievens voor zijn taalkundige hulp en Jo Vliegen voor zijn hulp en begeleiding

bij het programmeren van de Virtex FPGA. Ook willen we vertegenwoordiger Johan Buschgens

van Anritsu bedanken voor zijn uiteenzettingen over de meet- en testapparatuur van Anritsu. Ten

slotte willen we de mensen van de sterrenwacht bedanken voor het ter beschikking stellen van

het nodige materiaal en lokalen en Acro voor het in bruikleen stellen van het ML401 FPGA

ontwikkelbord.

Ruben Smeets en Joris Volders

Juni 2012

Page 3: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Inhoud

Woord vooraf ............................................................................................................................................................ 15

Lijst van tabellen ....................................................................................................................................................... 19

Verklarende woordenlijst ......................................................................................................................................... 22

Abstract ...................................................................................................................................................................... 24

Summary .................................................................................................................................................................... 25

Inleiding ..................................................................................................................................................................... 26

Situering ................................................................................................................................................................. 26

Globale onderzoeksvraag ....................................................................................................................................... 26

Doelstellingen ......................................................................................................................................................... 14

Materiaal en methode ............................................................................................................................................. 15

1 GNSS-systemen................................................................................................................................................. 16

1.1 Geschiedenis .............................................................................................................................................. 16

1.1.1 Decca, LORAN en Omega radio navigatie systemen ........................................................................... 16 1.1.2 Transit ................................................................................................................................................... 17

1.2 Gps............................................................................................................................................................. 17

1.2.1 Inleiding ................................................................................................................................................ 17 1.2.2 Geschiedenis ......................................................................................................................................... 18 1.2.3 Basisconcept van een gps-systeem ........................................................................................................ 18

1.3 Galileo ....................................................................................................................................................... 22

1.3.1 Inleiding ................................................................................................................................................ 22 1.3.2 Geschiedenis ......................................................................................................................................... 22 1.3.2 Basisconcept van een Galileo systeem .................................................................................................. 23

1.4 GLONASS .................................................................................................................................................. 24 1.4.1 Inleiding ................................................................................................................................................ 24 1.4.2 Geschiedenis ......................................................................................................................................... 24

1.4.3 Basisconcept van GLONASS ................................................................................................................ 24

1.5 Beidou en Compass ................................................................................................................................... 25

1.5.1 Inleiding ................................................................................................................................................ 25 1.5.2 Basisconcept van Beidou-1 ................................................................................................................... 25 1.5.3 Basisconcept Beidou-2 of Compass ...................................................................................................... 26

1.6 Korte vergelijking van de systemen ........................................................................................................... 27

2 Datastructuren .................................................................................................................................................. 28

2.1 Gps............................................................................................................................................................. 28 2.1.1 Inleiding ................................................................................................................................................ 28

2.1.2 Signaaleigenschappen ........................................................................................................................... 28 2.1.3 Datastructuur ......................................................................................................................................... 30

2.2 Galileo ....................................................................................................................................................... 31 2.2.1 Inleiding ................................................................................................................................................ 31 2.2.2 Signaaleigenschappen ........................................................................................................................... 32

Page 4: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

2.2.3 Datastructuur ......................................................................................................................................... 32

3 Ontvangen van een gps-signaal ....................................................................................................................... 33

3.1 Inleiding ..................................................................................................................................................... 33

3.2 Analoge gedeelte ....................................................................................................................................... 33 3.2.1 De antenne ............................................................................................................................................. 33 3.2.2 Analoge front-end (MAX2769)............................................................................................................. 34

3.3 Acquisitie ................................................................................................................................................... 35

3.3.1 De zoektijd bepalen van één PRN-code ................................................................................................ 37 3.3.2 Serie-parallel Correlator (SPC) ............................................................................................................. 39

3.4 Tracking ..................................................................................................................................................... 40

3.5 Incoherente en coherente integratie (navigatieboodschap)....................................................................... 43

4 Implementatie originele gps-ontvanger .......................................................................................................... 44

4.1 Algemeen blokschema................................................................................................................................ 44

4.2 Acquisitie hardwarebouwblokken .............................................................................................................. 45 4.2.1 Hybrid correlator ................................................................................................................................... 45

4.2.2 Accumulator (16-bit) ............................................................................................................................. 49

4.2.3 Compare en Store .................................................................................................................................. 56

4.3 Tracking hardware .................................................................................................................................... 59

4.3.1 1-bit correlator en accumulator ............................................................................................................. 59 4.3.2 PLE-shifter ............................................................................................................................................ 62 4.3.3 Regelblok tracking ................................................................................................................................ 66

4.4 Gedeelde hardware ................................................................................................................................... 69 4.4.1 NCO (Numerically controlled oscillator) .............................................................................................. 69

4.4.2 Dopplercounter ...................................................................................................................................... 75

4.4.3 Adresdecoder......................................................................................................................................... 77

4.4.4 ROM-geheugen ..................................................................................................................................... 81

4.5 Meetresultaten gps-kanaal ........................................................................................................................ 83

4.5.1 Simulatie ............................................................................................................................................... 83 4.5.2 Meetresultaten ....................................................................................................................................... 84 4.5.3 Syntheseresultaat ................................................................................................................................... 85

4.6 Uitbreiding naar gps/Galileo ontvangerskanaal ....................................................................................... 86

4.6.1 Inleiding ................................................................................................................................................ 86 4.6.2 Opbouw gps/Galileo-ontvangerskanaal................................................................................................. 86 4.6.3 Acquisitie (FSM concept) ..................................................................................................................... 87 4.6.4 Trackingskanaal gps/Galileo ................................................................................................................. 88 4.6.5 Conclusie gps/galileo-ontvanger ........................................................................................................... 89

5 Implementatie gps-ontvanger met partiële herconfiguratie ......................................................................... 90

5.1 Inleiding ..................................................................................................................................................... 90

5.2 Werkingsprincipe en aanpak ..................................................................................................................... 91

5.3 Dataconverter ............................................................................................................................................ 92

5.4 Software ..................................................................................................................................................... 93

Besluit ......................................................................................................................................................................... 94

Page 5: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Literatuurlijst ............................................................................................................................................................ 95

Inhoud van cd-rom met bijlage ................................................................................................................................ 97

Page 6: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Lijst van tabellen

Tabel 1: Vergelijking van systemen (1) ....................................................................................................... 27

Tabel 2: Galileo Services ............................................................................................................................. 31

Tabel 3: Parameters van een gps-kanaal.................................................................................................... 37

Tabel 4: Device Utilization Summary Hybrid correlator 16-bit .................................................................. 48

Tabel 5: Device Utilization Summary van twee implementaties van de accumulator ............................... 53

Tabel 6: Vergelijking SSC-correlator en Hybrid-correlator ......................................................................... 55

Tabel 7: Device Utilization Summary Compare & Store blok ..................................................................... 58

Tabel 8: Device Utilization Summary 1-bit correlator en accumulator ...................................................... 61

Tabel 9: Device Utilization Summary PLE-shifter ....................................................................................... 65

Tabel 10: Device Utilization Summary regelblok tracking .......................................................................... 68

Tabel 11: Device Utilization Summary NCO ............................................................................................... 74

Tabel 12: Device Utilization Summary Dopplercounter ............................................................................. 76

Tabel 13: Device Utilization Summary adresdecoder ................................................................................ 80

Tabel 14: Device Utilization Summary ROM-geheugen ............................................................................. 82

Tabel 15: Device Utilization Summary van het gps-kanaal ........................................................................ 85

Page 7: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Lijst van figuren

Figuur 1: Decca Navigator Mk 12 (2) ......................................................................................................... 16

Figuur 2: Transit-o satelliet (3) ................................................................................................................... 17

Figuur 3: Positie op aarde (5) ..................................................................................................................... 18

Figuur 4: Positiebepaling met 4 satellieten in een 3D ruimte (5) .............................................................. 19

Figuur 5: The three GPS segments (p44) U-blox (5) ................................................................................... 19

Figuur 6: gps-satellieten in hun 6 baanvlakken rond de aarde - U-blox p.45 (5) ....................................... 20

Figuur 7: Controlesegment positionering (6) ............................................................................................. 21

Figuur 8: Experimental satellites (17) ......................................................................................................... 22

Figuur 9: Dekkingsgebied van het BeiDou-1 systeem (12) ......................................................................... 25

Figuur 10: datastructuur van een gps-signaal - U-blox (5) ......................................................................... 29

Figuur 11: gps-datastructuur - U-blox ........................................................................................................ 30

Figuur 12: Datastructuur Open Service boodschap ................................................................................... 32

Figuur 13: Choke ring antenne (16) ............................................................................................................ 34

Figuur 14: Dipool antenne (16) .................................................................................................................. 34

Figuur 15: Blokdiagram MAX2769 (23) ...................................................................................................... 34

Figuur 16: Inkomende data vergelijken met nagemaakte PRN-codes (14) ................................................ 35

Figuur 17: Tweedimensionaal zoekproces voor één satelliet (11) ............................................................. 36

Figuur 18: Blokschema Serial-Parallel Correlator (Hybridcorrelator) (18) ................................................. 39

Figuur 19: Carrier tracking en Code tracking voor gps (19) ....................................................................... 40

Figuur 20: Genormaliseerde autocorrelatie voor gps L1 A/C code (14) .................................................... 41

Figuur 21: Genormaliseerde autocorrelatie voor Galileo E1 code (14) ..................................................... 41

Figuur 22: Vijf correlators voor tracken Galilieo E1 signalen (14) .............................................................. 42

Figuur 23: Blokschema digitaal gps-kanaal ................................................................................................ 44

Figuur 24: Opbouw hybrid correlator (links) en entity hybrid correlator (rechts) ..................................... 45

Figuur 25: Vergelijken van PRN-register en data_in register ..................................................................... 46

Figuur 26: Testbench Hybrid correlator na één PRN-periode als PRN-codes overeenkomen ................... 47

Figuur 27: Testbench Hybrid correlator na één PRN-periode als PRN-codes niet overeenkomen ............ 47

Figuur 28: Accumulator structuur .............................................................................................................. 49

Figuur 29: Rekenvoorbeeld accumulatorresultaat ..................................................................................... 50

Figuur 30: 4:2-Compressor (20).................................................................................................................. 51

Figuur 31: Boomstructuur 16-accumulator ................................................................................................ 52

Figuur 32: Entiteit van de 16-bit Accumulator ........................................................................................... 53

Figuur 33: Simulatie accumulator .............................................................................................................. 54

Figuur 34: Principeschema en entiteit SSC-correlator Ben Willems, Raf Martino (11) ............................. 54

Figuur 35: Entiteit compare en store ......................................................................................................... 56

Figuur 36: Resultaten na 1 PRN-periode bij overlapping ........................................................................... 57

Figuur 37: Resultaten na 1 PRN-periode bij geen overlapping .................................................................. 57

Figuur 38: Entiteit van de 1-bit correlator en 1-bit accumulator ............................................................... 59

Figuur 39: 1-bit correlator samen met accumulator indien fase en PRN-code gekend zijn ...................... 60

Figuur 40: 1-bit correlator samen met accumulator indien PRN-code gekend is, maar met foute fase ... 60

Figuur 41: entity van de PLE-shifter ........................................................................................................... 62

Figuur 42: Stap 1: Het inlezen van de faseoffset (PLE-shifter) ................................................................... 63

Figuur 43: Stap 2: Het genereren van de Prompt-, late- en early-code (PLE-shifter) ................................ 64

Page 8: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Figuur 44: Testbench PLE-shifter het genereren van Prompt-, Late- en Early-code .................................. 64

Figuur 45: Entity van de tracking regelblok ................................................................................................ 66

Figuur 46: Testbench tracking regelblok voorbeeld 1 ................................................................................ 67

Figuur 47: Testbench tracking regelblok voorbeeld 2 ................................................................................ 67

Figuur 48: Testbench tracking regelblok voorbeeld 3 ................................................................................ 68

Figuur 49: Opbouw NCO ............................................................................................................................. 70

Figuur 50: Simulatie NCO ........................................................................................................................... 72

Figuur 51: NCO meting 4.092 MHz ............................................................................................................. 73

Figuur 52: NCO meting 16.368 MHz ........................................................................................................... 73

Figuur 53: Entiteit Dopplercounter ............................................................................................................ 75

Figuur 54: Frequentiestappen NCO_counter ............................................................................................. 75

Figuur 55: Simulatieresultaten van de Dopplercounter ............................................................................. 76

Figuur 56: De opbouw (links) en entiteit (rechts) van de adresdecoder ................................................... 77

Figuur 57: Het genereren van een adres voor het ROM-geheugen ........................................................... 78

Figuur 58: Testbench adresdecoder tijdens acquisitiefase ........................................................................ 79

Figuur 59: Testbench adresdecoder tijdens trackingfase .......................................................................... 79

Figuur 60: De entity(links) en opbouw(rechts) van het ROM-geheugen ................................................... 81

Figuur 61: Testbench van het ROM-geheugen ........................................................................................... 82

Figuur 62: Testbench volledig gps-kanaal .................................................................................................. 83

Figuur 63: Meetresultaten PRN 2 ............................................................................................................... 84

Figuur 64: een mogelijke opbouw voor een gps/Galileo-ontvangerskanaal (14) ...................................... 86

Figuur 65: De FSM-flowchart voor de acquisitieblok (14) .......................................................................... 87

Figuur 66: Mogelijke opbouw van een trackingskanaal voor gps L1 en Galileo E1 (13) ............................ 88

Figuur 67: Principe partiële herconfiguratie .............................................................................................. 91

Figuur 68: Entiteit dataconverter ............................................................................................................... 92

Figuur 69: Terminal programma ................................................................................................................ 93

Figuur 70: Inhoud van cd-rom met bijlage ................................................................................................. 97

Page 9: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Verklarende woordenlijst

ADC Analog-to-Digital Converter

ADV Advanced

ASIC Application Specific Integrated Circuit

BOC Binary Offset Carrier

BPSK Binary Phase Shift Keying

BRAM Block Random Access Memory

C/A Coarse/Acquisition

CDMA Code Division Multiple Access

CDMF Conventional Digital Matched Filter

CNSS Compass Navigation Satellite System

DCM Digital Clock Manager

DPR Dynamic Partial Reconfiguration

DSP Digital Signal Processing

DSSS Direct Sequence Spread Spectrum

EPL Early Prompt Late

ESA European Space Agency

FCW Frequency Control Word

FDMA Frequency-Division Multiple Access

FFT Fast Fourier Transformation

FIFO First In, First Out

FOC Full Operational Capability

FPGA Field Programmable Gate Array

FSM Finite State Machine

GCC Ground Control Centrum

GCLK Global Clock

GCS Ground Control Segment

Page 10: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

GEO Geostationary Orbit

GLONASS Global Navigation Satellite System

GMS Ground Mission Segment

GNSS Global Navigation Satellite System

GPS Global Positioning System

HF High Frequency

IF Intermediate Frequency

IOB In-Output Buffer

LNA Low Noise Amplifier

LORAN Long Range Navigation

LUT Look Up Table

MCS Master Control Station

MEO Medium Earth Orbit

NAVSAT Navy Navigation Satellite System

NCO Numerically-Controlled Oscillator

PLE Prompt Late Early

PLL Phase-Locked Loop

PR Partial Reconfiguration

PRN Pseudo Random Noise

RAM Random-Access Memory

ROM Read-Only Memory

SLMB Submarine-Launched Ballistic Missiles

SPC Serial Parallel Correlator

SSC Serial Search Correlator

TT & C Télemetrie Tracking and Command

TTF Time To first

VHDL VHSIC Hardware Description Language

Page 11: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Abstract

Het departement “Referentiesystemen en Geodynamica” van de Koninklijke Sterrenwacht van

België houdt exacte referenties bij over de tijd, plaats en zwaartekracht. Om de metingen en

studies hieromtrent te verbeteren, en in de toekomst gebruik te kunnen maken van nieuwe

satellietconstellaties, is onderzoek naar flexibele GNSS-ontvangers van groot belang. Deze

masterproef vormt een belangrijke stap in toekomstig onderzoek en heeft voornamelijk drie

doelen.

Een eerste doel is een gps-ontvanger, die reeds in ontwikkeling was, herwerken. Een tweede doel

is de implementatie van een GNSS-ontvanger d.m.v. partiële herconfiguratie zo flexibel en

efficiënt mogelijk maken, om zodoende in een derde stadium met minimale herconfiguratie te

schakelen tussen bijvoorbeeld gelijkaardige signalen van gps en Galileo.

De ontwikkeling van de benodigde hardwarebouwstenen voor de flexibele GNSS-ontvanger

doen we voor een Xilinx Virtex-4 FPGA. De werking van die blokken verifiëren we met

software om vervolgens met de benodigde simulatieapparatuur en een gps-front-end

verscheidene fysieke proeven uit te voeren. De partiële bitstreams worden met Xilinx PlanAhead

aangemaakt en via een pc ingeladen indien de FPGA over UART een request uitvoert. Door die

flexibilisering heeft de Koninklijke Sterrenwacht een doelmatig testplatform dat een belangrijke

schakel zal zijn in toekomstig onderzoek.

Page 12: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Summary

The department “Reference systems and Geodynamics” of the Royal Observatory of Belgium

keeps exact references of time, place and gravity. To improve measurements and studies for this

issue and to allow testing of new satellite constellations, the research of a flexible GNSS-receiver

is of great importance. This thesis forms an important step for future research and has three main

goals.

The first goal is to redesign a gps-receiver that has been provided by previous master students. A

second goal is to implement a GNSS-receiver by means of partial reconfiguration and make it as

flexible and efficient as possible. The third and final goal is to switch between similar signals of

gps and Galileo with minimal hardware reconfiguration.

The development of the required hardware blocks for the flexible GNSS-receiver is done for a

Virtex-4 FPGA from Xilinx. The functionality of these blocks is verified by software whereafter

several different physical tests are preformed with simulation tools and a gps-front-end. The

partial bit streams are created with the Xilinx PlanAhead tool and are downloaded to the FPGA

on request. The request takes place by means of a serial connection or UART. Because of this

flexibility the Royal Observatory has an effective test platform which will be an important key in

future research.

Page 13: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

Inleiding

Situering

Als laatstejaarsstudenten van de opleiding Industrieel Ingenieur Elektronica aan de Katholieke

Hogeschool Limburg kregen wij de mogelijkheid om een masterproef te verwezenlijken. Onze

keuze ging naar het onderwerp van de Koninklijke Sterrenwacht België, met als opdracht het

implementeren van een flexibele meerkanaals GNSS-ontvanger (Global Navigation Satellite

Systems) op FPGA (Field Progammable Gate Array).

De Koninklijke Sterrenwacht van België, gevestigd in Ukkel is een onderzoeksinstelling die

onderzoek verricht in verschillende thema‟s binnen het vakgebied van de fysica en dynamica.

Het departement waar wij mee samenwerken, met name “Referentiesystemen en Geodynamica”,

heeft de opdracht om exacte referenties bij te houden over de tijd, plaats en zwaartekracht. Die

gegevens worden vervolgens ingepast in internationaal aanvaarde globale referentiesystemen.

Het bijhouden van deze gegevens is zeer belangrijk. De Aarde is namelijk geen vast lichaam en

is samengesteld uit vaste, vloeibare en gasvormige delen. Deze onderdelen worden voortdurend

blootgesteld aan interne en externe krachten zoals de energiedissipatie, vanuit het binnenste van

de Aarde, en de aantrekkingskracht van de Zon en Maan. En juist hierdoor is het nodig om die

gegevens bij te houden, te meten en indien nodig de referentiegegevens aan te passen. Verder

worden de resultaten van de metingen ook gebruikt in studies met betrekking tot het gemiddelde

zeeniveau, aardbevingen, platentektoniek en precieze plaatsbepaling.

Om die metingen correct uit te voeren en naar de toekomst toe te verbeteren is onderzoek naar

flexibele GNSS-ontvangers van groot belang. Het onderzoeksinstituut gebruikt die ontvangers

als testplatform voor het meten van tijd en afstand. Hoe efficiënter de metingen, hoe beter en

doeltreffender de studies. Deze masterproef tracht in eerste instantie een gps-ontvanger, die reeds

in ontwikkeling was, te herwerken. Vervolgens gaan we d.m.v. partiële herconfiguratie de

implementatie van een GNNS-ontvanger zo flexibel en efficiënt mogelijk maken. Hierna willen

we in een derde stadium met minimale herconfiguratie schakelen tussen bijvoorbeeld

gelijkaardige signalen van gps en Galileo. Door die flexibilisering heeft de Koninklijke

Sterrenwacht een doelmatig testplatform dat een belangrijke schakel zal zijn in toekomstig

onderzoek.

Globale onderzoeksvraag

Bij oudere GNSS-ontvangers was men genoodzaakt om het ontwerp in een ASIC (Application-

specific integrated circuit) te implementeren. De reden was dat de dataverwerking en tracking

van een satelliet zeer rekenintensief is en ASIC in grote oplagen goedkoper was. Een FPGA

daarentegen was voor die berekeningen te traag. In de afgelopen jaren is echter hun snelheid

aanzienlijk toegenomen en de prijs afgenomen waardoor de verwerking met een FPGA kan

Page 14: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

14

gebeuren. Vooral voor onderzoeksgericht gebruik, dus in kleine oplagen, is een FPGA hierdoor

veel goedkoper.

De grote flexibiliteit van een FPGA is voor onze masterproef van groot belang. Een eerste reden

hiervoor is het herconfigureren naar een ander satellietsysteem. Hiermee kan de plaatsbepaling

nauwkeuriger gebeuren door het combineren van verschillende satellieten en hun gegevens. Ook

voor verschillende metingen, het verbinden met externe meetapparatuur en het eventueel

uitbreiden van onze proef in de toekomst is deze flexibilisering niet onbelangrijk.

Uiteraard moet worden nagegaan of de flexibilisering van een GNSS-systeem een aanzienlijke

bijdrage kan leveren in onderzoek naar referentiesystemen en geodynamica. Daarom zullen wij

trachten om in deze masterproef dergelijk systeem te ontwikkelen, implementeren en testen.

Doelstellingen

De concrete opdracht van deze masterproef is het ontwerpen van een flexibele GNSS-ontvanger

op FPGA. Hiervoor moeten een aantal bouwblokken worden ontwikkeld en geïmplementeerd in

VHDL. Om een overzicht te geven, gaan we in onderstaande alinea‟s dieper in op de

verschillende doelstellingen.

Een eerste taak is de literatuurstudie. Hier verdiepen we ons in de verschillende technologieën

die worden gebruikt in de GNSS-wereld waardoor we een beter overzicht krijgen van onze

opdracht. Aangezien de ontvanger flexibel moet zijn, wordt het nodige onderzoek gedaan naar de

verschillende satellietsystemen zoals: gps (VS), Galileo (Europa) en Glonass (Rusland).

Vervolgens bestuderen we het ontwerp van de gps-ontvanger die reeds in ontwikkeling was.

Hiermee kan een algemeen hardwareschema en eventueel uitgebreidere planning worden

gemaakt om de gps-ontvanger te herwerken en uiteindelijk een flexibele GNSS-ontvanger te

bekomen.

Met voorgaand algemeen hardwareschema kunnen we de opdracht opsplitsen in afzonderlijke

bouwblokken zoals: carrier NCO, code NCO, PRN-generator, correlator en shifter. Een tweede

taak is die blokken uitwerken waarbij we ze afzonderlijk ontwerpen, implementeren en

simuleren. Na het testen of de onderdelen correct werken, zal een volgend doel het vergrendelen

van een gps-signaal zijn. Indien de GNSS-ontvanger op een juiste manier een gps-signaal kan

vasthouden gaan we over naar flexibilisering.

In die fase is het belangrijk dat onderdelen zoals het ROM-geheugen en de adressdecoder

worden aangepast voor partiëleherconfiguratie. Als die herconfiguratie eenmaal werkt, kunnen

we verder uitbreiden naar een flexibele ontvanger. Uiteindelijk zal de FPGA afhankelijk van het

gekozen GNSS-type een nieuwe configuratie voor de FPGA binnenlezen. Zodoende kan de

FPGA data ontvangen en verwerken van het desbetreffende satellietsysteem.

Als laatste fase zal er een rapport gemaakt worden van de verschillende ontwerpen,

implementaties en simulatieresultaten van deze masterproef.

Page 15: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

15

Materiaal en methode

Voor het ontwikkelen van deze masterproef maken we gebruik van bepaalde software, hardware

en testapparatuur. Afhankelijk van de fase waarin het ontwerp zich bevind t zal de keuze gaan

naar andere materialen en methodes.

Voor de software maken we gebruik van de ISE design suite van Xilinx. Dit is een

ontwikkelprogramma met een aantal tools specifiek voor het implementeren, simuleren en

programmeren van een FPGA. Xilinx is al meer dan 20 jaar een marktleider in de ontwikkeling

van FPGA‟s zoals de Virtex en Spartan reeks. Met behulp van die design suite kunnen we

bepalen hoe groot de benodigde chipoppervlakte is. Zo kunnen we een geschikte FPGA kiezen

met de juiste prijs-kwaliteitverhouding. Voor het opslaan van de verschillende configuraties voor

de FPGA maken we gebruik van een extern flashgeheugen.

Na de simulaties in ISE gaan we over naar een hardware gerichte simulatie. Hier wordt de FPGA

voorzien van een GNSS-signaal. Het zou echter geen slimme zet zijn onmiddellijk te testen met

een live GNSS-signaal. Live satellietsignalen ondergaan namelijk voortdurend

frequentiewijzigingen door de beweging van de satellieten t.o.v. de ontvanger en de atmosfeer.

Daarom gaan we een vector signaalgenerator gebruiken (MG3700A) om zo een gecontroleerd

GNSS-signaal aan te maken. Indien vervolgens uit nodige tests is gebleken dat de ontvanger op

FPGA correct werkt, kan een live signaal worden aangelegd.

Het GNSS-signaal zal niet rechtstreeks met de FPGA worden verbonden. Hiervoor hebben we

nog een front-end en een antenne nodig. Zowel de front-end, antenne als vector signal generator

worden ons ter beschikking gesteld op de Koninklijke Sterrenwacht.

Voor de flexibilisering passen we het acquisitiegedeelte van de ontvanger aan. Dit houdt in dat

er twee ROM-geheugens met elk vier PRN-codes worden opgeslagen op de FPGA. Indien de

acquisitiefase één ROM-blok doorlopen heeft wordt er via RS232 een request naar de pc

gestuurd. De pc zal dan via een herwerkte Visual Basic terminal de ontvangen request

verwerken. Vervolgens stuurt de pc een partiëlebitstream naar de FPGA met daarin de volgende

ROM-blok. Door dusdanig te herconfigureren kan aanzienlijk plaats bespaard worden en

beschikt de FPGA altijd over de benodigde PRN-codes.

Page 16: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

16

1 GNSS-systemen

In de hedendaagse maatschappij zijn satellietnavigatiesystemen ook bekend als GNSS-systemen

(Global Navigation Satellite Sytem) niet meer weg te denken. We gebruiken ze namelijk

dagelijks voor het bepalen van onze positie, tijd en snelheid. In de loop der jaren zijn er

voortdurend veranderingen en nieuwe technieken bedacht om een efficiëntere en nauwkeurigere

plaatsbepaling te bekomen. In dit hoofdstuk zullen we daarom kort de geschiedenis van enkele

voorlopers overlopen en vervolgens de huidige systemen kort bespreken.

1.1 Geschiedenis

1.1.1 Decca, LORAN en Omega radio navigatie systemen

De vroege voorgangers van navigatiesystemen waren de Decca, LORAN en Omega radio

navigatie systemen. Deze gebruikten lange golf radiozenders i.p.v. satellieten. Die systemen

zonden een radiopuls uit van een gekende master locatie, gevolgd door herhalende pulsen van

een aantal slave stations. Door vervolgens de vertraging te meten tussen het ontvangen van de

masterpuls en het zenden van hun eigen slavepuls kon de afstand tot elk slavestation worden

bepaald. Voor een diepgaande uitleg over deze systemen verwijzen we naar bronnen [1] en [2].

Op onderstaande Figuur 1 is een Decca navigator mk12 weergegeven.

Figuur 1: Decca Navigator Mk 12 [2]

Page 17: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

17

1.1.2 Transit

Het eerste satelliet gebaseerde navigatiesysteem was Transit ook wel bekent als NAVSAT (Navy

Navigation Satellite System). Dit systeem werd in de vroege jaren 60‟ ontwikkeld door de

Amerikaans marine en was louter bedoeld voor militaire doeleinden. [3] Het maakte gebruik van

het dopplereffect om de positie te bepalen en had voor een wereldwijde dekking slechts vijf

satellieten nodig die elk een back-up satelliet hadden. Echter een groot nadeel was dat de positie

slechts eens in de paar uur kon worden bepaald. Sinds 1996 is dit systeem offline gehaald omdat

het overbodig was door het Global Positioning System.

Figuur 2: Transit-o satelliet (3)

1.2 Gps

1.2.1 Inleiding

In dit hoofdstuk bespreken we kort de geschiedenis en het basisprincipe van een gps-systeem

met zijn verschillende onderdelen, zowel op aarde als in de ruimte. Een uitgebreide uitleg over

de technische werking kan je terug vinden in hoofdstuk twee.

Het Global Positioning System is een ruimtegebaseerde navigatie- en positioneringsysteem dat in

1973 werd ontwikkeld door het departement van defensie van de Verenigde Staten. Het

voornaamste doel was om de grenzen van voorgaande systemen te verleggen. Dit werd gedaan

door het integreren van concepten uit voorgaande systemen en enkele design studies uit de jaren

60‟. [4]

Page 18: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

18

1.2.2 Geschiedenis

Het design van een gps-systeem is deels gebaseerd op een systeem gelijkaardig aan de reeds kort

besproken Decca en LORAN navigatie systemen. Toen de Sovjet-Unie de eerste satelliet,

Sputnik in 1957 lanceerde, beslisten 2 Amerikaanse fysici, William Guier en George

Weiffenbach, om de radio transmissies van de Sputnik te monitoren. Al snel realiseerden ze dat

ze dankzij het Dopplereffect de exacte positie van de satelliet in zijn baan rond de aarde konden

achterhalen. Een volgende stap was dat principe omgekeerd toepassen zodat men indien de

satelliet positie gekend was, de plaats op aarde kon bepalen. Dat leidde op zijn beurt tot de

ontwikkeling van het reeds besproken Transit systeem.

Gedurende de koude oorlog was er vraag naar een grotere nauwkeurigheid in positiebepaling.

Die nauwkeurigheid was vooral nodig om ervoor te zorgen dat onderzeeërs een precieze

plaatsbepaling konden doen voordat ze hun SLMB‟s (submarine-launched ballistic missile)

konden lanceren. De vraag naar nauwkeurigheid leidde aldus tot de ontwikkeling van het gps-

systeem. [4]

1.2.3 Basisconcept van een gps-systeem

Inleiding

Een gps-ontvanger berekent zijn positie door precieze timing van de signalen verzonden door de

gps-satelieten. De boodschap verzonden door een gps-satelliet bevat de tijd wanneer de

boodschap werd verzonden en de positie van de satelliet op dat moment.

Hiermee kan de ontvanger bepalen hoe lang die boodschap onderweg was en hoe ver de afstand

is tot die satelliet. Die afstanden worden samen met de positie van de satellieten gebruikt om een

positieberekening uit te voeren. Dat is mogelijk door het bepalen van een middelpunt door het

meten van afstanden gebruikmakend van geometrie van cirkels, ook wel gekend als triangulatie.

In driedimensionale geometrie geldt dat indien een punt op vier oppervlakken ligt, zoals

bolschillen, dat de middelpunten van die gebieden samen met de straal voldoende eijn om de

exacte plaats te berekenen van dat punt. In onderstaande figuur is dat concept weergegeven.

Figuur 3: Positie op aarde [5]

Page 19: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

19

In eerste instantie zou je denken dat de aarde als vierde bol kan dienen, zoals in voorgaande

figuur. Wiskundig klopt dit ook maar een struikelblok hierbij is de ontvanger zijn klok. Door de

grote waarde van de snelheid van het licht zal de verwachte afstand van ontvanger tot satelliet

zeer gevoelig zijn voor fouten. Dat probleem wordt verholpen door een vierde satelliet in gebruik

te nemen zoals weergegeven in figuur 4. [4] [5]

Figuur 4: Positiebepaling met 4 satellieten in een 3D ruimte [5]

Het huidige gps-systeem bestaat volgens [5] en [6] uit drie functionele delen. Namelijk het

ruimtesegment, het controlesegment en een gebruikerssegment. Er is een

eenrichtingscommunicatie mogelijk tussen ruimte- en gebruikerssegment zodat gebruikers hun

positie kunnen bepalen. Tussen het ruimte- en controlesegment is er een bi-directionele

communicatie nodig. Op onderstaande figuur 5 zijn deze segmenten ter verduidelijking

weergegeven.

Figuur 5: The three GPS segments (p44) U-blox [5]

Page 20: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

20

ruimtesegment

Het ruimtesegment bestaat uit 32 operationele satellieten die elk in een circulaire baan om de

aarde draaien in één van de zes voorziene baanvlakken. Elk baanvlak snijdt de evenaar om de

60° met een inclinatiehoek van 55° en bevat vier tot vijf satellieten. Die satellieten roteren op een

hoogte van 20 180 km boven de aarde. Iedere satelliet maakt gedurende een siderische dag (23

uren, 56 minuten en 4.09 seconden) twee volledige omwentelingen. Tot slot is de constellatie

(figuur 6) zodanig gekozen dat er overal op de aarde op ieder moment minstens vier satellieten

ontvangen worden.

Figuur 6: gps-satellieten in hun 6 baanvlakken rond de aarde - U-blox p.45 [5]

controlesegment

Het controlesegment bestaat uit een systeem van trackingstations verspreid over de hele wereld.

Deze stations zijn op te delen in een aantal types:

een hoofdcontrolestation of MCS;

een alternatief hoofdcontrolestation;

vier grondantennes;

zes monitorstations.

De hoofdontrolefaciliteit is gelegen op de luchtmachtbasis van Schreiver in Colorado. Hier

worden precieze orbit gegevens en space vehicle (SV) klok correcties berekend voor elke

satelliet. Enkele belangrijke taken van het controlesegment volgens [5] zijn dan:

observeren van de beweging van de satellieten en het verwerken van hun data;

de klok van de satellieten monitoren en hun gedrag voorspellen;

Page 21: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

21

onboard satelliettijd synchroniseren;

heruitzetten van precieze orbitgegevens van de satellieten;

heruitzetten van verdere informatie zoals klokfouten e.d..

In onderstaande figuur 7 is hun ligging weergegeven op kaart.

Figuur 7: Controlesegment positionering [6]

gebruikerssegment

Om gps te gebruiken heeft de gebruiker op aarde een antenne voor rechtsdraaiende circulaire

polarisatie nodig. Meestal gaat het hier om een draadantenne, zoals een helix of een gekruiste

dipool. In de goedkopere consumentenelektronica zien we vaak ook een gewone dipoolantenne.

Dat heeft als gevolg dat slechts de helft van het vermogen, ook effectief wordt opgevangen. In

hoofdstuk 3, Ontvangen van een gps-signaal, gaan we verder in op de manier waarop het

gebruikerssegment werkt. [7]

Page 22: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

22

1.3 Galileo

1.3.1 Inleiding

In dit hoofdstuk zullen we kort het ontstaan, het basisprincipe en welke onderdelen het Galileo-

systeem bevat zowel op aarde als in de ruimte bespreken. Een uitgebreide uitleg over de

technische werking kan je terug vinden in hoofdstuk 4.6.

Galileo is het Europese satellietnavigatiesysteem dat momenteel wordt ontwikkeld door de

Europese Unie en de Europeseruimte-organisatie(ESA). Het systeem biedt een zeer nauwkeurige

en gegarandeerde plaatsbepaling onder publieke controle. Hierdoor staat Galileo onafhankelijk

van GLONASS, gps of Compass. Die systemen kunnen namelijk tijdens een oorlog worden

uitgeschakeld. Galileo is wel compatibel met gps en GLONASS. [8]

1.3.2 Geschiedenis

In 1999 werd door een select team van ingenieurs een reeks concepten (afkomstig van Duitsland,

Frankrijk, Italië en Engeland) voor het Galileo satellietsysteem vergeleken en gereduceerd tot

één systeem. Een officieel akkoord hieromtrent werd gesloten op 26 Mei 2003. [8] Het in

werking stellen van het Galileo navigatiesysteem bestaat uit twee belangrijke fasen.

Een eerste fase is de in-orbit validatie. In die fase werden de eerste twee experimentele

satellieten (figuur 8) genaamd GIOVE-A en GIOVE-B gelanceerd in 2005 en 2008. Hun taak

was het reserveren van de radiofrequenties benodigd voor Galileo en het testen van de

belangrijkste technieken die achter dat navigatie-systeem zouden zitten. Op 21 oktober 2011

volgden de eerste twee van de vier operationele satellieten ontworpen om het Galileo concept te

valideren en dit zowel in de ruimte als op de aarde. In 2012 zullen nog twee satellieten volgen.

Wanneer de in-orbit validatie voltooid is, wordt er overgegaan naar de tweede fase van

inwerkingstelling. In onderstaande figuur is één van de experimentele satellieten weergegeven.

Figuur 8: Experimental satellites (17)

Page 23: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

23

In de tweede fase genaamd FOC (Full Operational Capability) zal het aantal satellieten

stelselmatig worden opgevoerd. Wanneer Galileo volledig operationeel is, zullen er in totaal 30

satellieten zijn waarvan 27 operationeel en drie reserve. Die zullen op hun beurt gepositioneerd

worden op de drie vlakken in Medium Earth Orbit (MEO) op een hoogte van 23 222 km boven

de aarde. De drie vlakken maken onderling een hoek van 56°. [9]

1.3.2 Basisconcept van een Galileo systeem

Elk van de 30 satellieten heeft standaard twee rubidium atoomklokken en twee passieve

waterstof atoomklokken. Die klokken zullen een nauwkeurig timing-signaal voorzien zodat de

ontvanger kan berekenen hoe lang het signaal nodig heeft om de ontvanger te bereiken. Die

informatie wordt dan gebruikt om een positiebepaling uit te voeren. Ook hier wordt net zoals bij

gps gebruik gemaakt van triangulatie.

Het Galileo-systeem wordt gecontroleerd en bijgestuurd door een aantal controlestations op

aarde. Die stations zijn opgedeeld in GCC mode (Grond Controle Centrums).

- Fucino (Italië) GCC host en bediening van de GMS (Ground Mission Segment);

- Oberphaffenhofen (Duitsland) staat in voor het GCS (Ground Control Segment).

Verder bestaat het grondsegment uit een netwerk van sensorstations die een dekking bieden voor

orbitography- en synchronisatiemetingen. Een netwerk van uplink stations zorgt voor de uplink

van de navigatie-gegevens. Tot slot zijn er nog twee TT & C-stations (Télemetrie, Tracking en

Command) die zorgen voor de controle van de constellatie. Dit alles wordt verbonden door een

globaal datanetwerk van gegevens.

Page 24: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

24

1.4 GLONASS

1.4.1 Inleiding

GLONASS of ook wel het Global Navigation Satellite System, is een radiogebaseerd

satellietnavigatiesysteem dat is opgezet door de Russische overheid. Het was een aanvulling op

en zorgde voor een alternatief voor het gps-systeem van de Verenigde Staten.

1.4.2 Geschiedenis

De ontwikkeling van GLONASS begon in de Sovjet-Unie in 1976. De eerste drie testsatellieten

werden gelanceerd van op een basis in Kazachstan op 12 oktober 1982. In de loop der jaren

werden verschillende satellieten toegevoegd tot de constellatie welke in 1995 compleet was.

Echter was door de economische crisis het systeem eind jaren ‟90 in verval geraakt. Dit ging

zelfs zo ver dat in 2002 nog slechts acht satellieten operationeel waren waardoor plaatsbepaling

niet meer mogelijk was.

Na het herstellen van de economie werd in 2005, onder het presidentschap van Vladimir Putin,

de restoratie van het GLONASS systeem een top prioriteit. Tegen 2010 werd dan ook terug een

volledige dekking van Rusland behaald. In Oktober 2011 was de volledige constellatie van 24

satellieten hersteld waardoor er terug een globale dekking was. [10]

1.4.3 Basisconcept van GLONASS

Technisch zijn er enkele gelijkenissen met het gps-systeem. Zo heeft GLONASS 24 satellieten

waarvan er momenteel 21 operationeel zijn en 3 reserve. In tegenstelling tot bij gps zijn er hier

drie banen voorzien waar de satellieten in circuleren. De satellietbanen bevinden zich op een

hoogte van 19 100 km met een inclinatie van 64.8° en hebben een periode van 11uur en 15

minuten.

Page 25: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

25

1.5 Beidou en Compass

1.5.1 Inleiding

Het Beidou-systeem is een Chinees satellietnavigatiesysteem. Voor informatie omtrent de

werking en opbouw van dit systeem hebben we referenties [5], [11] en [12] geraadpleegd.

Het Beidou-project bestond oorspronkelijk uit Beidoe-1 dat enkel voor een dekking van China en

haar aangrenzende regio‟s zorgde. Momenteel wordt er ook gewerkt aan Beidou-2. Dit tweede

systeem, ook wel Compass genoemd, moet zorgen voor een globale dekking. In de volgende

twee punten bespreken we kort beide systemen.

1.5.2 Basisconcept van Beidou-1

Tussen 2000 en 2007 bracht China vier geostationaire satellieten in werking, welke data

voorzien voor het lokaal Beidou-1 systeem.

In tegenstelling tot de circumpolaire satellieten van gps-, GLONASS- en Galileo-sytemen

opteert Beidou voor geostationaire satellieten. Dit heeft als gevolg dat er slechts een beperkte

dekking is die weergegeven is in onderstaande figuur 9.

Figuur 9: Dekkingsgebied van het BeiDou-1 systeem [12]

Als gevolg van deze geostationaire opbouw gebeurt de positiebepaling interactief tussen de

verschillende satellieten en ontvangers. In een eerste stap wordt een signaal verzonden van de

ontvanger naar de vier satellieten. Vervolgens zullen deze satellieten de exacte tijd van ontvangst

verzenden naar een grond station. Dit station zal op zijn beurt de hoogte, lengte- en breedtegraad

van de navigatie-ontvanger bepalen en die data naar de GEO-satellieten sturen. Ten slotte zenden

de satellieten de positie naar de navigatie ontvanger.

Page 26: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

26

1.5.3 Basisconcept Beidou-2 of Compass

In de nabije toekomst wil de Chinese volksrepubliek het Beidou-2 systeem of ook wel Compass,

CNSS (Compass Navigation Satellite System) in werking stellen. Dit systeem bestaat uit vijf

GEO en 30 MEO satellieten. De vijf GEO satellieten dienen om het Beidou-2 systeem

compatibel te houden met Beidou-1. De MEO satellieten worden over zes baanvlakken rondom

de aarde verdeeld om zo voor een globale dekking te zorgen.

Het Beidou-2 systeem dient niet als uitbreiding op Beidou-1 maar als alleenstaand systeem.

Indien het volledig in werking is gesteld, zal het voornamelijk uit twee services bestaan:

1. vrij gebruik: positie bepaling tot 10m nauwkeurig, snelheidsnauwkeurigheid van

0.2m/s en een tijdsnauwkeurigheid van 50ns;

2. geautoriseerd gebruik: vooral betrouwbaarder en nauwkeuriger dan vrij gebruik.

Page 27: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

27

1.6 Korte vergelijking van de systemen

In onderstaande tabel geven we een overzicht van de verschillende systemen en hun voornaamste

eigenschappen.

Tabel 1: Vergelijking van systemen [1]

Systeem gps GLONASS COMPAS Galileo

Origine VS Rusland China Europa

Codering CDMA FDMA/CDMA CDMA CDMA

Baan hoogte 20 180 km 19 130 km 21 150 km 23 220 km

Periode 11.97 uren 11.26 uren 12.63 uren 14.08 uren

Aantal satellieten Min. 24

31, waarvan 24

operationeel

1 in voorbereiding 2

in onderhoud

3 reserve en

1 in testfase

5 geostationare orbit

satellieten (GEO) en

30 medium earth orbit

satellieten (MEO)

2 test

satellieten in

orbit en 22

operationele.

Frequentie

1.57542 GHz (L1 signal)

1.2276 GHz (L2 signal)

1.17642 GHz (L5 signal)

Around 1.602 GHz (SP)

Around 1.246 GHz (SP)

1.561098 GHz (B1) 1.589742 GHz (B1-2)

1.20714 GHz (B2) 1.26852 GHz (B3)

1.164–1.215 GHz

(E5a and E5b) 1.260–

1.300 GHz (E6)

1.559–1.592 GHz

(E2-L1-E11)

Status Operationeel Operationeel, CDMA

in voorbereiding

10 satellieten

operationeel,

25 in planning

In

voorbereiding

PRN-codelengte 1023 chipbits 511 chipbits 4092 chipbits

Symbol rate (sps) 50 250

Page 28: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

28

2 Datastructuren

2.1 Gps

2.1.1 Inleiding

Zoals reeds gezien in hoofdstuk 1 is het doel van gps om de gebruiker te voorzien in positie,

snelheid en tijd. Ook werd reeds aangehaald dat de taak van de ontvanger het meten van afstand,

Dopplerfrequentie en demodulatie van de navigatiedata is. Voor het verder bespreken van de

technische eigenschappen van de gps-signalen en dataformaat maakten we gebruik van bronnen

[11] en [13].

2.1.2 Signaaleigenschappen

De navigatie data is een 50 bit/s datastream gemoduleerd op de gps-draaggolf. Deze bevat de

satellietklok en constellatieparameters die worden gebruikt voor de positiebepaling. Het formaat

van het gps-signaal is gekend als direct sequence spread spectrum (DSSS).

De satellieten zenden signalen uit op twee frequenties L1 en L2, respectievelijk 1575.42 MHz en

1227.60 MHz. Ondanks dat de satellieten dezelfde frequentie gebruiken hebben ze onderling

geen last van interferentie. Dat komt omdat elke satelliet een unieke pseudo-random noise (PRN)

bitsequentie heeft die de draaggolf moduleerd. Die techniek wordt ook wel code division

multiplexing (CDM) genoemd en is in feite een spreadspectrum techniek. De PRN-codes zijn in

de vakliteratuur gekend als C/A-code en P(Y)-code (coarse/aquisition en precisie code). Die

code‟s zijn de zogenoemde “Gold codes” en de kruiscorrelatie ertussen is vast en uniform .

Indien men signalen gaat moduleren met deze codes zal dat voor een spreiding zorgen van de

signalen en wordt de onderlinge kruiscorrelatie van verschillende satellietsignalen

geminimaliseerd.

Spread sprectrum

In een spreadspectrum systeem worden de data zo gemoduleerd op een carrier dat het verzonden

signaal een grotere bandbreedte heeft dan nodig voor het informatiegehalte van de data.

Daarvoor wordt een door de ontvanger op voorhand gekend deterministisch signaal gebruikt.

Vervolgens gaat de ontvanger, tijdens de demodulatie van de data, een kruiscorrelatie uitvoeren

op het ontvangen signaal met een kopie van het deterministisch signaal. Op die manier kunnen

de verzonden data terug worden achterhaald.

Page 29: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

29

gps maakt gebruik van binary phase shift keying direct sequence spread spectrum (BPSK

DSSS). In direct sequence spreadspectrum wordt het spreiden gedaan door het informatie

dragend signaal te vermenigvuldigen met een spreidingscode. Die code bestaat uit verschillende

symbolen per informatie symbooltijd en gaat onder de naam “chips”. Het aantal chips per

informatiedragend symbool noemt men spreidingsfactor (SF) en is gewoonlijk hetzelfde als de

spreidingscode lengte. BPSK is de eenvoudigste vorm van fase modulatie waar de carrier

onmiddellijk 180° in fase wordt verschoven op het moment van een bitverandering. Aangezien

de data en spreidingscode op een carrier werden gemoduleerd, moet het ontvangen signaal ook

terug worden omgezet d.m.v. mixen en filteren. Dat proces zorgt ervoor dat de binaire data intact

blijven en dusdanig BPSK-demodulatie technieken bruikbaar zijn.

In het algemeen is het terug omzetten van de code alleen mogelijk als de ontvanger een kopie

van de spreidingscode genereert die gesynchroniseerd is met de spreidingscode van het

ontvangen signaal. In onderstaande figuur is een voorbeeld gegeven van de datastructuur van een

gps-signaal.

Figuur 10: datastructuur van een gps-signaal - U-blox [5]

Page 30: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

30

2.1.3 Datastructuur

Het gps-dataformaat bestaat uit time-tagged data bits. Dat betekend dat ieder subframe is

gelabeld met de transmissietijd van wanneer ze verzonden werden door de satelliet.

Eén databitframe bestaat uit 1500 bits opgedeeld in vijf subframes met elk 300 bits. Ieder

dataframe wordt elke 30 seconden verzonden. Drie subframes van elk zes seconden bevatten de

constellatie en klokdata. De klokcorrecties van de satelliet worden in subframe één verzonden

en precieze datasets van satellietbanen voor de zendende satelliet volgen in subframes twee en

drie. Subframes vier en vijf worden gebruikt om verschillende pagina‟s systeemdata

(ionosferisch model) te verzenden. Een complete navigatieboodschap bestaat uit een set van 25

frames (125 subframes) en wordt verzonden over 12,5 minuten. Op onderstaande figuur is een

overzicht gegeven van de verschillende frames.

Figuur 11: gps-datastructuur - U-blox

Page 31: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

31

2.2 Galileo

2.2.1 Inleiding

Wanneer Galileo volledig operationeel is, zullen er vijf hoofdservices worden aangeboden. In

onderstaande tabel geven we een kort overzicht van die services. Ook wordt een korte

omschrijving en hun bijhorende frequentie gegeven. In deze thesis zullen we gebruik maken van

de Galileo Open Service signalen in de E1 band. Die signalen hebben namelijk dezelfde carrier

frequentie als de L1 gps-signalen. De lengte van de PRN-codes van Galileo E1 en gps L1

verschillen maar de chiprates zijn hetzelfde (1.023 Mcps).

Voor het opstellen van een overzicht van de Galileo datastructuur en services werd gebruik

gemaakt van bronnen [8], [14] en [15].

Tabel 2: Galileo Services

Services Frequenties Omschrijving Opmerkingen

Open service E5A, E5B,

E1B/E1C

Voorziet in positionering,

versnelling en

tijdsinformatie (vrije

toegang)

Tot 1 meter nauwkeurig

en gratis beschikbaar.

Safety of life E5B, E1B/E1C

Bedoeld voor

veiligheidskritische

gebruikers ongecodeerd en

heeft een authenticatie

methode om de zender te

verifiëren.

Gegarandeerde precisie.

Commerciële service E6, E5A, E5B,

E6

Professionele toepassingen

met betere gegevens, kan

worden gebruikt ter

ondersteuning van hogere

nauwkeurigheid.

Tot 1 centimeter

nauwkeurig.

Gegarandeerde werking

aangezien deze service

niet kosteloos zal zijn.

Publiek geregelde service E6,E1A Alleen voor overheid

erkende gebruikers.

Continu beschikbaar zelfs

als andere services weg

zouden vallen.

Search and rescue N/A

Kan noodsignalen

opvangen en feedback

geven, zodoende kan bv.

een bevestiging “hulp is

onderweg” worden

gegeven.

N/A

Page 32: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

32

2.2.2 Signaaleigenschappen

In gps werd BPSK DSSS modulatie gebruikt. Bij Galileo E1 OS signalen wordt een andere

modulatie techniek, genaamd Binary Offset Carrier (BOC), samen met DSSS gebruikt. De vorm

van de BOC modulatie in E1 is sinBOC(1,1). Bij die vorm wordt iedere bit geïnverteerd in het

midden van diens periode. Dit vormt bv. een lage bit om naar een lage en een hoge bit. De

codesignalen gemoduleerd met BOC en vervolgens gebruikt om de draaggolf te moduleren,

worden gevormd met behulp van Galileo PRN-codes en navigatiegegevens.

2.2.3 Datastructuur

De navigatiedata bevat al de parameters die het mogelijk maken voor de gebruiker om een

positiebepaling uit te voeren. Ze worden op iedere satelliet opgeslagen met een geldigheidsduur

en worden wereldwijd uitgezonden door alle Galileo satellieten.

De complete navigatieboodschappen worden verzonden als een sequentie van frames. Een frame

wordt net zoals bij gps opgebouwd uit verschillende subframes. Een subframe bestaat op zijn

beurt dan weer uit verschillende pagina‟s. Dergelijke pagina is de basiscomponent voor het

opbouwen van een navigatieboodschap. Door de navigatieboodschap op die manier op te

bouwen is het mogelijk om drie verschillende hoofdcategorieën van data te versturen, welke

worden herhaald aan een snel (voor dringende data, zoals integrity), medium (zoals data nodig

voor “warm start TTF”) en langzame “rates”(zoals data nodig voor “cold start” TTF). In

onderstaande figuur is de opbouw van dergelijke boodschap weergegeven. Voor een uitgebreid

overzicht over de frames, sub-frames en pagina‟s verwijzen we naar het officiële Signal In Space

Interface Control Document van ESA [15].

Figuur 12: Datastructuur Open Service boodschap

Page 33: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

33

3 Ontvangen van een gps-signaal

3.1 Inleiding

Het ontvangen van satellietsignalen van de verschillende satellietsystemen is een zeer uitgebreid

proces. Het is dan ook nodig dat proces op te splitsen in een aantal stappen. Een eerste stap is de

ADC-conversie van het binnenkomende signaal. Hierbij hebben we gekozen om verder te

werken met de analoge front-end van de vorige masterstudenten. Namelijk een evaluatiekit van

Maxim opgebouwd rond de MAX2769. Die kit zorgt ervoor dat het HF (1579,512 – 1575,42

MHz) ingangssignaal omgezet wordt naar een bruikbaar digitaal IF (4,092 MHz) signaal.

De tweede stap is de acquisitie van het digitale signaal. In die stap zal de ontvanger zoeken naar

een “zichtbare” satelliet. Het zoeken is een driedimensionaal proces in tijd, frequentie en PRN-

code. Als er een satelliet is gevonden gaan we over naar de volgende stap, tracking.

Tracking van een satelliet is nodig om de connectie tussen de ontvanger en de satelliet te

behouden. We doen dat met behulp van een regelproces genaamd Delay-Locked Loop. De vierde

en laatste stap is de “boodschap” uit het satellietsignaal halen m.b.v. het synchronisatiewoord.

In dit hoofdstuk gaan we dieper in op de werking van de acquisitie en tracking van een digitaal

gps-kanaal. Voor het verder bespreken van de technische eigenschappen en opbouw van een

satellietsignaal maakten we gebruik van bronnen [5] en [7].

3.2 Analoge gedeelte

Het analoge gedeelte bestaat uit de antenne en de MAX2769 analoge front-end. Zoals reeds

vermeld zullen deze twee bouwblokken verantwoordelijk zijn voor het ontvangen en

digitaliseren van de satellietsignalen. We gaan die blokken slechts kort aanhalen aangezien dit

een thesis op zich vormt.

3.2.1 De antenne

De linker figuur op volgende pagina stelt de GNSS-antenne voor. Het is belangrijk om een goede

antenne te hebben om het satellietsignaal te ontvangen, hier berust namelijk heel het

ontvangstgedeelte op. Daarom opteert men best voor een antenne met een rechtsdraaiende

circulaire polarisatie. Dat soort antennes kan men terugvinden onder de vorm van draadantennes,

helix-antennes, gekruiste dipoolantennes (figuur 14), enz.

Er bestaat ook een onderscheid tussen goedkopere ontvangers, bedoeld voor consumenten

elektronica, en de duurdere modellen. De duurdere ontvangers maken gebruik van een “choke-

Page 34: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

34

ring” (zie onderstaande figuur 13). Die antennes kunnen meerdere frequenties ontvangen en

hebben als eigenschap een goede weerstand tegen multipath ontvangst.

Daarnaast is er ook nog een verschil tussen actieve en passieve antennes. Een actieve antenne

heeft een LNA (Low Noise Amplifier) aan boord, welke het signaal direct versterkt. De passieve

heeft dit niet. [16]

3.2.2 Analoge front-end (MAX2769)

Achter de antenne komt de evaluatiekit van Maxim. De MAX2769 chip is speciaal ontworpen

om te gebruiken in satellietnavigatiesystemen zoals gps, Galileo en GLONASS. Alle belangrijke

onderdelen, zoals de ADC en de oscillator, zijn hier in ondergebracht. Het blokdiagram in

onderstaande figuur geeft meer duidelijkheid over de samenhang van die verschillende

onderdelen. Voor meer uitleg hierover verwijzen we naar de datasheet van Maxim.

Figuur 13: Choke ring antenne [16] Figuur 14: Dipool antenne [16]

Figuur 15: Blokdiagram MAX2769 [23]

Page 35: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

35

3.3 Acquisitie

Een tweede stap is de acquisitie van een satellietsignaal welke nodig is om een zichtbaar

satellietsignaal op te sporen. In feite is dat mechanisme niet meer dan een zoekproces dat op

zoek gaat naar de drie componenten die het binnenkomende GNSS-signaal bevat, namelijk de

GNSS-boodschap, de frequentie van de draaggolf (die het Dopplereffect ondergaat) en de PRN-

code (of m.a.w. de satelliet waarvan het signaal afkomstig is).

Bij gps en GALILEO gebruikt elke satelliet dezelfde frequentieband met een identieke

draaggolffrequentie om een signaal uit te zenden. Een manier om de verschillende signalen van

elkaar te onderscheiden is gebruikmaken van het codedomein. Dat is mogelijk omdat elk signaal

gemoduleerd is met een unieke PRN-code (C/A-code bij gps). Het doel van de ontvanger is die

PRN-code na te maken en te correleren met het binnenkomend signaal. De kruiscorrelatie van de

verschillende PRN-codes geeft een waarde die dicht bij nul ligt. De autocorrelatie daarentegen

geeft een hoge waarde.

In het correlatieproces wordt elke samplebit van de nagemaakte PRN-code vergeleken met de

binnenkomende samplebit van het signaal. Hoe meer van de samples overeenkomen, hoe hoger

het resultaat, dus een betere correlatie. Als de meeste samples overeenkomen, heeft de ontvanger

de satelliet gevonden. Het aantal samples dat overeen moet komen voordat er een match

gevonden is, wordt bepaald door een algoritme. In figuur 16 is te zien hoe een binnenkomend

signaal overeenkomt met een nagemaakte PRN-code. Het zoeken achter een satellietsignaal kan

één of meerdere PRN-codeperiodes in beslag nemen. Dat is afhankelijk van de signaalsterkte en

dus ook van de aanwezige ruis. Voor zwakkere signalen worden dan ook langere integratietijden

bekomen.

Figuur 16: Inkomende data vergelijken met nagemaakte PRN-codes [14]

In het algemeen is de fase van de binnenkomende PRN-code onbekend voor de ontvanger. Dat

wil zeggen dat alle mogelijke fasen van de code doorlopen moeten worden om zo te achterhalen

welke de juiste is. Daarnaast is er ook een bepaalde nauwkeurigheid vereist bij het correleren van

de verschillende chipbits1. Die nauwkeurigheid kan men verkrijgen m.b.v. oversampling. Verder

1 Chipbits is een andere benaming voor de PRN-bits. Bij GPS bestaat elke PRN-code uit 1023 chipbits, wat één

PRN-periode voorstelt.

Page 36: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

36

zijn er nog een aantal aspecten waar de ontvanger rekening mee moet houden. Een eerste is de

beginfase van de draaggolffrequentie. Omdat de oscillator in de ontvanger niet gelijkloopt met

de oscillator in de zender komen de fasen niet overeen. Een oplossing hiervoor is eerst het apart

correleren van de I- en Q-signalen en vervolgens het resultaat vormen uit die twee.

Een tweede aspect is de draaggolffrequentie. Hoewel die frequenties goed gekend zijn, is het niet

zeker dat de ontvangen frequentie overeen komt met de verzonden. Dat heeft te maken met het

Dopplereffect. Aangezien de satellieten bewegen t.o.v. de aarde en de ontvanger in veel gevallen

ook beweegt, kan de draaggolffrequentie met 10 kHz boven of onder de gekende frequentie

liggen. Voor een niet bewegende ontvanger is dat 5 kHz. Indien de Dopplerafwijking niet

berekend kan worden uit de ontvangerspositie, snelheid en satellietbaandata, moet de ontvanger

alle mogelijke Dopplerfrequenties doorlopen binnen het gekozen bereik. Het doorlopen van de

verschillende frequenties gebeurt m.b.v. “bin spacing”. Elke Dopplerbin moet ongeveer gelijk

zijn aan

, met T gelijk aan signaalintegratietijd.

Een laatste aspect is het zoeken naar de juiste PRN-code. De satellietconstellatie is zo

opgebouwd dat op elk moment minstens vier satellieten zichtbaar zijn overal op aarde. Omdat

elke satelliet een unieke PRN-code bezit, bestaat de mogelijkheid dat de ontvanger verschillende

PRN‟s moet doorlopen alvorens de juiste gevonden is. [14]

Onderstaande opsomming en afbeelding geven nog eens duidelijk alle belangrijke parameters

binnen het zoekproces naar één satelliet:

1. de verschillende fasen van de PRN-code;

2. de oversamplefactor van de chipbits;

3. de beginfase van de draaggolffrequentie;

4. de afwijking van de draaggolffrequentie door het Dopplereffect.

Figuur 17: Tweedimensionaal zoekproces voor één satelliet [11]

Page 37: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

37

De signaalacquisitie kunnen we op veel manieren aanpakken. Hiervoor zijn er verschillende

technieken beschikbaar, elk met hun voor- en nadelen. Een aantal van die technieken zijn serial

search acquisition, parallel frequency space search acquisition en parallel code phase search

acquisition. De eerste van de drie methodes is de meest eenvoudige en werd gebruikt door de

voorgaande masterstudenten. De laatste twee maken gebruik van FFT (Fast Fourier

Transformatie) en zijn een stuk complexer.

Omdat de serial search acquisition methode zeer tijdsintensief is, hebben we besloten om

gebruik te maken van een andere techniek. Namelijk een afgeleide vorm van de Conventional

Digital Matched Filter (CDMF) methode, de Serial-Parallel correlator. We gaan daarom ook

enkel die methode hier bespreken. Voor meer uitleg over de verschillende acquisitietechnieken

verwijzen we naar de paper “A Processing Engine for GPS Correlation”. [17]

3.3.1 De zoektijd bepalen van één PRN-code

Om een beeld te geven over de benodigde tijd om één satelliet te zoeken bij gps (C/A-code),

geven we hier een klein wiskundig voorbeeld. Hierin wordt er gebruik gemaakt van een serie-

parallelcorrelator met een register grootte van 16 bits. Een overzicht van de parameters is

weergeven in onderstaande tabel:

Tabel 3: Parameters van een gps-kanaal

Parameters Waarde

Oversampling factor 4

Gps C/A-code

PRN-codelengte (gps) 1023 chipbits

Chiprate 1,023 Mhz

PRN-periode 1 ms

Register grootte (correlator) 16 bit

Dopplereffect

Doppler shift 10 kHz

Doppler bin 500 Hz

1. Er zijn 1023 chipbits met een oversampling factor van 4:

2. De PRN-periode is gelijk aan 1 ms:

Page 38: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

38

3. De Serial-Parallel correlator heeft een register grootte van 16 bit, dit wil zeggen dat er 16

fasen van de PRN-code tegelijkertijd gecorreleerd worden (meer uitleg in volgende

paragraaf).

In het slechtste geval moet de correlator alle fasen afgaan:

4. Per fase moet de PRN-code volledig doorlopen worden:

5. Het signaal kan een Dopplershift ondergaan van 10 kHz, die kan zowel boven de IF als er

onder liggen. Concreet zal de draaggolffrequentie in een bandbreedte van 20 kHz rond de

IF liggen. We hebben gekozen om met stappen van 500 Hz de carrierfrequentie te

veranderen:

6. Per frequentiestap moeten alle fasen doorlopen worden:

We kunnen dus besluiten dat er 10,5 seconden nodig zijn om één satelliet te zoeken. Merk op dat

dit enkel geldig is in het slechtste geval. In realiteit kan het zoeken minder lang duren. Als we

dezelfde berekening zouden maken voor serial search acquisition bekomen we een resultaat dat

16 keer hoger ligt.

Page 39: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

39

3.3.2 Serie-parallel Correlator (SPC)

Seriële acquisitie is traag maar neemt weinig chipoppervlakte in beslag. Parallelle acquisitie

daarentegen is zeer snel maar neemt in verhouding veel meer oppervlakte in beslag. Een

afweging tussen de twee geeft de seriële-parallelle acquisitie. Het doel van die methode is een

redelijke snelheid en tegelijkertijd minder plaats innemen t.o.v. de parallelle methode. Een

bijkomend voordeel is het feit dat het toepasselijk is voor zowel gps als Galileo signalen. Stel dat

men parallelle acquisitie zou gebruiken voor verschillende lengtes van PRN-codes. Dan moet het

register even groot zijn als de langste PRN-code. Dit zou verspilling zijn van de oppervlakte

indien we gebruik maken van korte PRN-codes zoals bij gps. Bij seriële-parallelle acquisitie is

dit niet het geval omdat we maar een stuk van PRN-code gaan correleren en niet de hele PRN-

code.

Het idee is hetzelfde als bij parallelle acquisitie maar dan voor kleinere stukken van de PRN-

code. Maar om seriële-parallelle acquisitie mogelijk te maken is het nodig om de lengte X van

het schuifregister zo te kiezen dat het deelbaar is door alle PRN-codelengtes. Het onderstaande

blokschema laat een mogelijke opbouw zien voor een seriële-parrallelle correlator:

Figuur 18: Blokschema Serial-Parallel Correlator (Hybridcorrelator) [18]

Een uitgebreide uitleg over de werking met bijhorende simulatie en meetresultaten vindt u in

hoofdstuk 4.2.

X X X X X X X X...

/

X

Data in 1 2 3 4 5 6 7 ... X

1 2 3 4 5 6 7 ... X

X-bit schuifregister

Stukje PRN-code van X-bits afkomstig van ROM geheugen

Accumulator

X-tap delay line

result

Page 40: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

40

3.4 Tracking

Eens een satellietsignaal is gevonden, is het belangrijk om het niet te verliezen. Dat is echter niet

zo evident want de frequentie van het signaal zal wijzigen in de tijd en het is ook mogelijk dat

het signaal geblokkeerd wordt voor een bepaalde periode. Tracking zal daarom trachten het

signaal te volgen eens de acquisitie is afgelopen. Dit gebeurt door het “locken” op de

draaggolffrequentie en fase. Hierbij zal de tracking de correlatie van de inkomende PRN-code en

de nagebootste PRN-code zo hoog mogelijk proberen te houden. Met tracking is het ook

mogelijk om de navigatiedata uit het signaal te halen. In onderstaande afbeelding is een

mogelijke opbouw weergegeven voor het tracking gedeelte bij gps:

Figuur 19: Carrier tracking en Code tracking voor gps [19]

Om het inkomende signaal te tracken moet het kanaal een zo goed mogelijke kopie maken van

dat signaal. Dat wil zeggen dat eerst de draaggolffrequentie uit het inkomende signaal verwijderd

moet worden en daarna wordt vergeleken met de lokale PRN-code. Voor gps L1 PRN-codes is

dit voldoende. Als we Galileo E1 PRN-codes willen volgen is het nodig om het inkomende

signaal extra te moduleren met een sinBOC(1,1) functie. De sinBOC(1,1) functie is een

subcarrier die gemoduleerd wordt op het signaal bij Galileo.

Page 41: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

41

De PRN-codes van gps L1 zijn ontworpen om een maximale correlatie te geven als de fasen

volledig overlappen. Als de fasen niet overlappen dan is de correlatie ongeveer gelijk aan „0‟. Bij

gps L1 signalen veranderen de correlatiewaarden lineair indien er een foutieve uitlijning van één

of meerde chipbits is. Dit is weergegeven in figuur 20. Galileo daarentegen heeft geen lineaire

correlatiewaarden. Door de sinBOC(1,1) functie kan het zijn dat de waarden voor maximale

correlatie en foutief uitgelijnde correlatie overeenkomen. We krijgen namelijk twee zijpieken

zoals zichtbaar in figuur 21. Opm.: een maximale correlatie wordt weergegeven door de pieken

van de driehoeken. [14]

Figuur 20: Genormaliseerde autocorrelatie voor gps L1 A/C code [14]

Figuur 21: Genormaliseerde autocorrelatie voor Galileo E1 code [14]

Page 42: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

42

Eén van de technieken die wordt gebruikt bij het tracken van GNSS signalen is de early-prompt-

late-techniek. In feite wordt bij die techniek de binnenkomende PRN-code drie keer nagebootst,

waarbij elk van die drie replicacodes onderling één sample in fase verschoven zijn. Elke

verschuiving heeft een naam zijnde: prompt-, late- en early-code. Met behulp van die

replicacodes is het mogelijk om de ontvanger de binnenkomende PRN-code te laten tracken.

Voor meer uitleg over de werking van PLE-tracking verwijzen we naar de thesis van Ben

Willems en Raf Martino. [11]

Bij PLE-tracking wordt getracht de piek van de driehoek te volgen. Voor gps L1 is dit mogelijk

met slechts drie correlators, maar voor Galileo hebben we er minstens vijf nodig (figuur 22).

Figuur 22: Vijf correlators voor tracken Galilieo E1 signalen [14]

Informatie over de draaggolf-fase en -frequentie wordt verkregen door het bekijken van de

correlatie resultaten van de I en Q kanalen. Het doel is om de frequentie en fase van de draaggolf

zo te wijzigen dat er een maximale correlatie is in één kanaal (bv. I) en minimale in het andere

kanaal. [14]

Page 43: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

43

3.5 Incoherente en coherente integratie (navigatieboodschap)

De PRN-codes worden gemoduleerd met een navigatieboodschap. Die boodschap heeft een

inverterend effect op de PRN-code als een bit veranderd. Hierdoor zijn er soms langere

acquisitietijden nodig om één PRN-code te zoeken. Als de PRN-code wordt geïntegreerd over

een bepaalde tijd, waarin een bitverandering optreed, is het mogelijk dat de correlatie tot dat punt

volledig wordt opgeheven door de correlatie na de bitverandering. Zelfs als de fase en de

frequentie van de draaggolf volledig juist waren geeft het resultaat weer dat er geen correlatie is.

Bij gps L1 is de datarate van de navigatieboodschap 50 Hz, daaruit volgt meteen dat er twintig

PRN-periodes van gps in één navigatiebit zitten. Want we weten dat één PRN-periode gelijk is

aan 1 ms. Het is ook voor de handliggend dat hoe korter de integratietijd, hoe minder kans op

een bitverandering tijdens de correlatie. Bij Galileo E1B signalen ligt de datarate vijf keer hoger.

Dat heeft als gevolg dat de navigatiedata kan veranderen om de 4 ms.

Bij coherente integratie gaan we ervan uit dat het teken van de correlatiewaarde omkeert bij een

bitverandering. Dat zorgt ervoor dat we meteen weten wat de limiet is van de langst nuttige

integratietijd voor de lengte van één bitverandering. Als we gebruik maken van coherente

integratie zal het ruisgemiddelde dicht bij nul liggen en de acquisitiepiek stijgen naargelang er

meer chipbits geïntegreerd worden. Als er dan een bitverandering optreed kan het resultaat

nutteloos zijn.

Incoherente integratie is een methode die het effect van een bitverandering probeert tegen te

gaan doormiddel van het combineren van volledige correlatieresultaten van kleinere stukken van

de PRN-code. Die stukken worden apart gecorreleerd volgens de coherente methode en bij

elkaar opgeteld om het totale resultaat te bekomen. Het optellen gebeurt met de absolute waarden

van de correlatieresultaten. Door gebruik te maken van die methode zal een bitverandering enkel

het resultaat van de correlatie waarin de verandering is opgetreden onbruikbaar maken. Hierdoor

zal het totale resultaat, voor lange integratietijden, het meeste bestaan uit goede samples en

enkele onbruikbare samples. Een nadeel van incoherente integratie is de stijging van de

ruisinvloed op het resultaat door het optellen van de deelresultaten. Dit heeft als gevolg dat we

speciale technieken moeten toepassen om de ruisinvloed tijdens acquisitie te verminderen. [14]

Page 44: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

44

4 Implementatie originele gps-ontvanger

4.1 Algemeen blokschema

In dit hoofdstuk gaan we dieper in op het ontwerp en de implementatie van de hardware die we

ontwikkeld hebben voor het opbouwen van het gps-ontvangstkanaal. Daarnaast bespreken we

ook de belangrijkste hardware bouwblokken en de verschillende keuzes die we gemaakt hebben

tijdens die ontwikkeling. De belangrijkste hardwarebouwblokken zijn:

de Numerically-Controlled Oscillator (NCO),

de Hybrid correlator,

de 16-bit Accumulator,

de adresdecoder,

het ROM-geheugen,

het EPL-schuifregister,

het regelblok voor acquisitie,

het regelblok voor tracking.

Het ontwerp van alle bouwblokken is terug te vinden op de cd-rom met bijlagen. Met behulp van

ISE Design Suite van Xilinx is het tevens mogelijk om de projectmap te openen, de

syntheseresultaten op te vragen en de testbenches uit te voeren.

Figuur 23: Blokschema digitaal gps-kanaal

Bovenstaand blokschema geeft weer uit welke hardwarebouwblokken één digitaal kanaal van

een gps-ontvanger bestaat. Met behulp van dergelijk kanaal is het mogelijk om één

satellietsignaal te ontvangen. Indien men meerdere satellieten wil ontvangen is het nodig om

meerdere van deze kanalen te gebruiken.

Hybrid

correlator IAccumulator

1-bit

correlator

late

1-bit

accumulator

1-bit

correlator

prompt

1-bit

accumulator

1-bit

correlator

late

1-bit

accumulator

Shifter

ROMAdres-

decoder

Hybridcorrelator I

ROM

Carrier NCO

90°

I

Q

...

MAX2769

GNSS-front-

end

Code NCO

Hybridcorrelator Q

Re

ge

lblo

k

Acq

uis

itie

en

Tra

ckin

g

Hardwareblokken

gebruikt bij Acquisitie

Hardwareblokken

gebruikt bij Tracking

Gezamelijke

hardwareblokken

Carrier

NCO

Regelblok

Antenne

FPGAAnaloog

gedeelte

Page 45: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

45

4.2 Acquisitie hardwarebouwblokken

Om een goed overzicht te behouden hebben we besloten om de samenhangende

hardwarebouwblokken te groeperen. We beginnen met het bespreken van de Hybrid correlator.

Daarna overlopen we de 16-bit Accumulator en ten slotte het regelblok voor acquisitie.

4.2.1 Hybrid correlator

Zoals we reeds besproken hebben in paragraaf 3.3 is er per ontvangstkanaal een correlator nodig.

Het is immers de correlator die de binnenkomende PRN-code vergelijkt met de PRN-code die

wordt nagebootst door de ontvanger, en zorgt voor signaalacquisitie en satellietidentificatie. In

de literatuur zijn heel wat verschillende implementatievormen en principes voor correlatoren

terug te vinden. Voor ons ontwerp beschouwen we enkel de variant van een conventional digital

matched filter (CDMF), de zogenaamde hybrid correlator. We hebben onze implementatie

vergeleken met dat van de voorgaande masterstudenten. Hieronder volgt de bespreking.

Hardware-architectuur

De hybrid correlator is in feite een combinatie van de parallelle en seriële SSC-correlator. Dat

geeft een iets complexer ontwerp dan de SSC-correlator die enkel een vermenigvuldiging moet

uitvoeren. Bovendien maken we gebruik van een ROM-geheugen die alle PRN-codes bevat in

plaats van een PRN-generator. In figuur 24 is de opbouw van onze hybrid correlator

weergegeven samen met de entiteit.

Figuur 24: Opbouw hybrid correlator (links) en entity hybrid correlator (rechts)

De hybrid correlator is voorzien van één schuifregister voor de inkomende satellietdata en één

register voor een stukje van de PRN-code. Beide registers hebben plaats voor 16 bits. We hebben

gekozen om gebruik te maken van 16-bit, omdat dit een goede trade-off is tussen

X X X X X X X X...

/

X

Data in

1 2 3 4 5 6 7 ... X

1 2 3 4 5 6 7 ... X

X-bit schuifregister

Stukje PRN-code van X-bits afkomstig van ROM geheugen

Accumulator

X-tap delay line

Reset

Clk

Enable

Clk_flank_4092

Data_in

PRN_in (15:0)

Hybrid_result(15:0)

Page 46: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

46

implementatieruimte en acquisitiesnelheid. Bovendien moet de PRN-codelengte geheel deelbaar

zijn door de registergrootte, wat ook het geval is. Daarnaast zijn er nog een aantal

vermenigvuldigers die de inkomende PRN-code vergelijken met de PRN-code uit het ROM-

geheugen.

Het schuifregister klokt de satellietdata van links naar rechts binnen op het ritme van de 4,092

MHz klok. Om alles synchroon te houden met de systeemklok gebruiken we de 4,092 MHz,

afkomstig van de Code-NCO, als klok enable.

Het zoeken naar een bepaalde satelliet werkt als volgt: Als we beginnen met zoeken is de

faseverschuiving en de PRN-code van de inkomende data nog niet gekend. Het PRN-register

wordt daarom standaard gevuld met de eerste 16 chipbits van de PRN-code. Iedere klokflank van

de 4,092 MHz klok zal de satellietdata worden opgeschoven. Dit schuiven zorgt ervoor dat er

elke klokflank een andere fase wordt vergeleken met het PRN-register. Zie onderstaande figuur

voor meer duidelijkheid:

Figuur 25: Vergelijken van PRN-register en data_in register

Omdat we gekozen hebben om het register 16 bits breed te maken, zullen er 16 fasen tegelijk

gecorreleerd worden gedurende één PRN-periode. Indien het resultaat van de integratie

(accumulator) niet hoog genoeg is voor elke fase, starten we volgende PRN-periode met de

volgende 16 bits uit het ROM-geheugen (dus de volgende 16 fasen). Dit blijven we herhalen tot

alle mogelijke fasen zijn doorlopen of het resultaat van de integratie voldoende hoog is. Het

integreren van de correlatieresultaten wordt uitgevoerd door de 16-bit accumulator. Meer uitleg

hierover in het volgende onderdeel accumulator.

1 PRN-periode

BeginEind

Beginsituatie

data_in

Satellietdata (data_in)

Beginsituatie

PRN-register

Data PRN-register

0123456789101112131415

...

Eerste Databit

(satellietdata)

Databit PRN-

register

1ste klokflank

2de klokflank

3de klokflank

4de klokflank

Page 47: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

47

Simulatie en meetresultaten

Na de implementatie hebben we het ontwerp getest m.b.v. een testbench in VHDL. In deze

testbench gebruiken we een PRN-codegenerator voor het simuleren van de binnenkomende code.

Vermits de codegenerator alle 37 C/A PRN-codes kan genereren, hebben we een aantal

verschillende combinaties van PRN-codes aangelegd aan de ingang van de Hybrid correlator.

Een eerste combinatie die we getest hebben is het ideale geval. Namelijk als beide PRN-codes

overeen komen zonder ruis aan de ingang. Aangezien het ROM-geheugen begint op PRN 1

hebben we de codegenerator ook laten starten op PRN 1. Hieruit volgt natuurlijk een maximale

correlatiewaarde bij een bepaalde fase. Het verloop van de testbench is afgebeeld in figuur 26.

Een tweede combinatie benaderd een meer voorkomend geval, namelijk als de twee PRN-codes

niet overeenkomen. De correlatiewaarde die hieruit volgt is zeer laag. Die combinatie is te zien

in figuur 27. Opm.: Aangezien de Hybrid correlator enkel de vergelijking uitvoert tussen de twee

PRN-codes, hebben we ook de 16-bit accumulator, die in volgend punt wordt besproken, reeds

aangesloten om de correlatiewaarden te berekenen.

Figuur 26: Testbench Hybrid correlator na één PRN-periode als PRN-codes overeenkomen

De groen gemarkeerde waardes komen overeen met de correlatieresultaten van 16 fasen na één

PRN-periode. Omdat de PRN-code van de ingang overeenkomt met de nagebootste PRN-code

krijgen we een zeer hoog correlatieresultaat. Elke waarde stelt een andere fase voor. Hieruit

kunnen we besluiten dat er bij een bepaalde fase een correlatiepiek optreedt van 4084 (max.

4092). Ook op onderstaande figuur geven de groen gemarkeerde waardes de correlatieresultaten.

We zien dat het resultaat zeer laag blijft, er is dus geen correlatiepiek.

Figuur 27: Testbench Hybrid correlator na één PRN-periode als PRN-codes niet overeenkomen

Page 48: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

48

Keuzes en vergelijking

Om de acquisitietijd in te korten en toch een voldoende kleine implementatiegrootte te bekomen,

hebben we gekozen om gebruik te maken van een 16-bit hybridecorrelator. Hierdoor zal de

acquistietijd 16 keer sneller verlopen dan bij de SSC-correlator. Het toepassen van de 16-bit

hybridecorrelator heeft naast de snelle acquistietijd ook een aantal nadelen. We krijgen namelijk

een veel complexer ontwerp wat tevens zorgt voor meer chipoppervlak. Voor de

hybridecorrelator komt dit neer op ongeveer een factor 16 groter dan de SSC-correlator. De

implementatiegrootte is weergegeven in onderstaande tabel.

Tabel 4: Device Utilization Summary Hybrid correlator 16-bit

Device Utilization Summary

Logic Utilization Gebruikt 16-bit

correlator

Beschikbaar Utilization 16-bit

correlator

Number of Slice Flip Flops 16 21,504 1%

Number of 4 input LUTs 16 21,504 1%

Number of occupied Slices 6 10,752 1%

Number of bonded IOBs 36 448 8%

Average Fanout of Non-Clock Nets 2.11

Page 49: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

49

4.2.2 Accumulator (16-bit)

Om de resultaten van de hybridecorrelator te verwerken, gaan we een accumulatorblok

uitwerken. Die staat in voor het berekenen van het aantal hoge en het aantal lage bits. Het

bepalen welke bits hoog of laag zijn kan worden ontworpen volgens twee strategieën. Enerzijds

met een “eenvoudige” for-lus in VHDL-code en anderzijds met een hardware ontwerp van

bouwblokken in VHDL (Wallace-Tree). In dit hoofdstuk zullen we beide aanhalen en bepalen

welke manier van implementeren het efficiëntst is. Zo kunnen we een optimaal ontwerp

bekomen, voor zowel werking als oppervlakte inname. In onderstaande figuur is ter

verduidelijking een blokschema van de 16-bit accumulator weergegeven.

Tree

+

...

X 2 +

-16

Input

Output

13

16

Figuur 28: Accumulator structuur

Aangezien de boomstructuur enkel een resultaat uitgeeft met hoeveel van de ingangsbits hoog

zijn, moeten we dit resultaat omvormen. Er moet immers -1 worden gedaan voor een ingang die

laag is. Een kort rekenvoorbeeld volgt op volgende pagina.

Iedere fase heeft zijn eigen plaats in het register en voor iedere 16 bits die opnieuw worden

vergeleken, worden de resultaten van elke fase bij de overeenstemmende fase opgeteld. Zo

kunnen we twee uiterste resultaten krijgen van - en + 4092. Om die reden gaan we als uitgang

een 13-bit woord uitsturen waarvan één bit een tekenbit is.

Page 50: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

50

Rekenvoorbeeld

Inputbits van de accumulator: 0000 1111 0001 1111

De boomstructuur geeft dan: a = 001001

Als input = 1 +1

Als input = 0 -1

Dit doen we door:

2a bekomen door a één bit op te schuiven naar links en een nul erbij te zetten: 0010010

-16 bekomen we door het two‟s compliment te nemen van 16.

Op die manier kunnen we -16 optellen bij 2a om zo het eindresultaat te bekomen. Dat gebeurt in

hardware zoals weergegeven in onderstaande figuur:

1 1 0 0 0 0+

6 5 4 3 2 1 0

HA

1

Carry Som+ 1

AND 1

+

4 XNOR 5

NOT 4

Tekenbits

Figuur 29: Rekenvoorbeeld accumulatorresultaat

Op die manier bekomen we voor ons voorbeeld een eindresultaat van twee.

Page 51: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

51

Accumulator met For loop

Hier wordt een eenvoudige for lus gebruikt om, over het bereik van de inputdata, het aantal

inputpins die hoog zijn te tellen.

count := (others => '0'); for i in data_in'RANGE loop count := count + data_in(i); end loop;

Accumulator met 4:2-compressor

Voor de accumulator met een boomstructuur zijn er 4:2-compressoren nodig. Deze vormen als

het ware vier ingangen om naar drie uitgangen namelijk een carry, som en carry-out. De interne

structuur van dergelijke compressor (Figuur 30) bestaat uit zes multiplexoren die samen voor

drie poortvertragingen zorgen.

Figuur 30: 4:2-Compressor (20)

Vervolgens wordt een Wallace-tree opgebouwd met zeven compressors. Op de eerste boom

worden de 16 databits aangelegd en als carrier-in wordt telkens een „0‟ voorzien. Hierna kan de

totale accumulator worden opgesteld met vijf bomen. In een Wallace-Tree rimpelt de Carry out

door naar de volgende boom. In de figuur op volgende pagina is de totale boomstructuur

weergegeven van de accumulator.

Page 52: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

52

Figuur 31: Boomstructuur 16-accumulator

C SC S

C S

C0 S0

C S

C SC SC S

C S

C SC S

C1 S1

C S

C S

C S

C SC SC S

C2 S2

C S

C S

C SC SC SC SC SC SC SC S

C S C S C S C S

C3 S3C4 S4

DATA

0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0

0 00 0

„0‟

„0‟

„0‟

„0‟ S4 S3 S2 S1 S0

C4 C3 C2 C1 C0 '0'+

“OPEN”

“OPEN”

“OPEN”

Co CiCo Ci

Co Ci

Co Ci

Co Ci

Co CiCo CiCo Ci

Co Ci

Co Ci

Co Ci

Co CiCo CiCo CiCo Ci

Co Ci

Co CiCo CiCo Ci

Co Ci

Co Ci

Co Ci Co Ci Co Ci Co Ci Co Ci Co Ci Co Ci Co Ci

Co CiCo Ci

Co Ci

Co CiCo Ci

Co Ci

Page 53: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

53

Keuze en vergelijking lus- en boomstructuur

In onderstaande figuur en tabel is een overzicht gegeven van de entiteit en de implementatiegrote

van beide ontwerpen gedurende de fysieke testen. Uit de tabel is af te leiden dat de

boomstructuur met 4:2-compressors minder chipoppervlak in beslag neemt. Daarom is de keuze

van ons ontwerp gegaan naar de boomstructuur.

16-bit accumulator

reset

rst_intern

clk

data_ready

data_in (15:0)

data_out (12:0)

Figuur 32: Entiteit van de 16-bit Accumulator

Tabel 5: Device Utilization Summary van twee implementaties van de accumulator

Device Utilization Summary

Logic Utilization Gebruik (For)

Gebruikt (Boom)

Beschikbaar

Number of Slice Flip Flops 54 54 21,504

Number of 4 input LUTs 88 82 21,504

Number of occupied Slices 55 52 10,752

Number of Slices containing only related logic 55 52

Number of Slices containing unrelated logic 0 0

Total Number of 4 input LUTs 88 82 21,504

Number used as logic 75 69

Number used as Shift registers 13 13

Number of bonded IOBs 34 34 448

Average Fanout of Non-Clock Nets 2.68 2.59

Page 54: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

54

Simulatie

In onderstaande figuur zijn de simulatieresultaten weergegeven uit de acquisitiefase op het einde

van een PRN-periode. In de afbeelding is de input data_n te zien die op zijn beurt door de

boomstructuur wordt omgevormd naar accu_count_out. Het deelresultaat ook wel subtract_out

wordt opgeteld met de input_data. Vervolgens zijn na een data_ready puls geldige data

beschikbaar op de data_out. De geldige data zijn tevens in het groen aangeduid.

Figuur 33: Simulatie accumulator

Vergelijking voorgaand en nieuw ontwerp

In voorgaand ontwerp van Ben Willems en Raf Martino [11] werd gebruik gemaakt van een

eenvoudige en kleine correlator. Deze vermenigvuldigt simpelweg het binnenkomende signaal

met de PRN-code die intern werd gegenereerd. Vervolgens werd het resultaat geïntegreerd over

één periode van de C/A-code. Hierbij werden als hardware componenten een vermenigvuldiger,

een opteller en een accumulatorregister gebruikt. In volgende figuur ziet u hun principeschema

en de entiteit van de SSC-correlator.

Figuur 34: Principeschema en entiteit SSC-correlator Ben Willems, Raf Martino [11]

Page 55: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

55

In onderstaande tabel maken we een vergelijking van de SSC-correlator met de vernieuwde

Hybrid-correlator. Hier valt meteen op te merken dat het vernieuwd ontwerp 16 bits tegelijk

afhandelt t.o.v. de bit per bit methode van het voorgaand ontwerp. Dit zorgt ervoor dat ons

ontwerp 16 keer sneller is maar hun ontwerp aanzienlijk kleiner is.

Tabel 6: Vergelijking SSC-correlator en Hybrid-correlator

Device Utilization Summary

Logic Utilization Voorgaand ontwerp

(2010-2011)

Vernieuwd ontwerp

(2011-2012)

Beschikbaar Verhouding snelheid tussen

beide (1:16)

Number of Slice Flip Flops 14 69 21,504

Number of 4 input LUTs 16 114 21,504

Number of occupied Slices 10 75 10,752

Total Number of 4 input LUTs 16 114 21,504

Number used as logic - 101

Number used as Shift registers - 13

Number of bonded IOBs 19 35 448

Average Fanout of Non-Clock Nets 2.96 2.82

Page 56: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

56

4.2.3 Compare en Store

Om alle resultaten van de acquisitiefase bij te houden maken we gebruik van een compare en

store hardwareblok. Die staat in voor het bijhouden van de tellerwaardes van de PRN-, adres-,

fase- en Dopplercounter voor het hoogst bekomen accumulatorresultaat. Indien het aangelegde

accumulatorresultaat hoger is dan het opgeslagen resultaat zal die worden overschreven en wordt

het interne load signaal hoog gemaakt. Vervolgens kunnen de tellerwaardes met een vertraging

van vier klokpulsen worden binnengelezen. Die vertraging is nodig omdat de correcte

tellerwaardes die bij het huidige accumulatorresultaat horen niet eerder beschikbaar zijn.

Indien de read_enable input hoog is en de accumulator_data boven een treshold van 70% van

4092 komt, wordt het intern signaal acquisitie_ready_intern hoog gemaakt. Vervolgens zal dat

resultaat op de uitgangspen acquisitie_ready worden gezet zodat het kanaal over kan gaan naar

tracking.

Figuur 35: Entiteit compare en store

Clk

reset_acq

rst

read_enable

clk_flank_

4092_ready

PRN_offset(5:0)

adres_offset(7:0)

fase_offset(3:0)

accumulator_data(12:0)

Doppler_in(6:0)

Acquisitie_ready

highest_

PRN_offset(5:0)

highest_

adres_offset(7:0)

highest_

fase_offset(3:0)

highest_

doppler(6:0)

highest_

accumulator_

data(12:0)

ent_CompareAndStore

Page 57: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

57

Simulatie

In onderstaande figuren zijn de simulatieresultaten van de compare en store blok weergegeven.

In een eerste figuur ziet u de resultaten na één PRN-periode van een overlapping op de juiste

fase. In de tweede figuur ziet u de resultaten indien de twee PRN-codes niet overlappen. Er is

duidelijk te zien dat bij een goede overlapping een hoog resultaat wordt opgeslagen. Ook valt

meteen op dat er een vertraging is tussen het tijdstip van vergelijking en het veranderen van de

stored_accumulator_data.

Figuur 36: Resultaten na 1 PRN-periode bij overlapping

Figuur 37: Resultaten na 1 PRN-periode bij geen overlapping

Page 58: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

58

In onderstaande tabel zijn de syntheseresultaten van de compare en store blok weergegeven.

Tabel 7: Device Utilization Summary Compare & Store blok

Device Utilization Summary

Logic Utilization Gebruikt Beschikbaar

Number of Slice Flip Flops 45 21,504

Number of 4 input LUTs 101 21,504

Number of occupied Slices 69 10,752

Number of Slices containing only related logic 69

Number of Slices containing unrelated logic 0

Total Number of 4 input LUTs 102 21,504

Number used as logic 101

Number used as a route-thru 1

Number of bonded IOBs 69 448

Average Fanout of Non-Clock Nets 2.94

Page 59: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

59

4.3 Tracking hardware

De hardwarebouwblokken die we gebruiken bij tracking hebben we ook gegroepeerd. Hier

beginnen we met het overlopen van de 1-bit correlator samen met de 1-bit accumulator

(integrator). Daarna bespreken we de PLE-shifter en ten slotte de tracking regelblok.

4.3.1 1-bit correlator en accumulator

Tijdens de trackingfase is het de bedoeling om de correlatiepiek te blijven volgen. Dat wordt

gedaan door drie 1-bit correlators samen met de 1-bit accumulators elke ½ chipbit onderling te

verschuiven. Ze berekenen om de PRN-periode een nieuwe correlatiewaarde en aan de hand van

die waarde wordt er bijgestuurd indien nodig. [11]

Werking

De 1-bit correlator en accumulator zijn in feite hetzelfde als de SSC-correlator. Het verschil zit

echter in de toepassing van de twee. De SSC-correlator wordt gebruikt in de acquisitie om te

zoeken welke PRN-code bij welke fase de hoogste correlatiepiek geeft. De 1-bit correlator en

accumulator worden gebruikt om de correlatiepiek te volgen eens die gevonden is in acquisitie.

In onderstaande figuren is de entiteit hiervan weergegeven:

Figuur 38: Entiteit van de 1-bit correlator en 1-bit accumulator

De correlator zal de inkomende PRN-code bit per bit vergelijken met de nagebootste PRN-code

afkomstig van de PLE-shifter. Als de twee bits overeenkomen dan zal het resultaat “1” zijn

anders “0”. Vervolgens zal de accumulator het resultaat van de correlator bekijken en het aantal

“1-en” en “0-en” tellen gedurende één PRN-periode. Na afloop van de periode wordt intern het

Data_sample_in

PRN_sample_in

result

1-bit correlator

1-bit accumulator

Corr_result

Clk

reset

reset_intern

reset_accumulator

Clk_flank_4092

Acc_result(12:0)

Page 60: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

60

verschil berekend tussen de twee sommen en dit is dan het correlatieresultaat. Het is mogelijk dat

het berekend resultaat maximaal positief of maximaal negatief wordt. In beide gevallen spreken

we van een correlatiepiek.

De tracking regelblok zal de resultaten van de verschillende accumulators voor het I- en Q-

kanaal binnenlezen en vergelijken. Na de vergelijking zal er indien nodig bijgeregeld worden.

Meer uitleg hierover in het stukje over de tracking regelblok.

Simulatie en meetresultaten

Om het geheel te testen hebben we een testbench geschreven in VHDL. De testbench maakt

gebruik van een PRN-codegenerator die het inkomende signaal zal simuleren en het ROM-

geheugen met bijhorend aanstuurlogica. We geven ook hier weer twee voorkomende gevallen.

Een eerste is als de fase en de PRN-code gekend zijn (als we aan tracking doen) en een tweede

geval is als we niet meer op de juiste fase zitten maar de PRN-code is nog juist. Beide gevallen

maken gebruik van een ruisvrij signaal dat in de realiteit niet voorkomt. Hierdoor zal het

correlatieresultaat een zeer hoge waarde hebben.

Figuur 39: 1-bit correlator samen met accumulator indien fase en PRN-code gekend zijn

Bovenstaande figuur laat het correlatieresultaat zien na één PRN-periode. Hieruit is af te leiden

dat de early-code het hoogste resultaat heeft en nog net boven de grens van 70% PRN-lengte

(2865) zit. Het is nu aan de hoofd FSM om een enhance te geven zodat de prompt-code de fase

van de early-code overneemt.

Figuur 40: 1-bit correlator samen met accumulator indien PRN-code gekend is, maar met foute fase

Page 61: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

61

In een tweede geval, geïllustreerd in voorgaande afbeelding is het correlatieresultaat van de

early-code ook het hoogste, maar helaas is het resultaat niet hoger dan 70% van PRN-lengte.

Hierdoor zal de hoofd FSM terug overschakelen naar acquisitie en proberen te zoeken naar een

nieuwe correlatiepiek.

Keuzes en vergelijking

We hebben gekozen om gebruik te maken van de SSC-correlator principe voor het tracking

gedeelte. Het is immers de meest gebruikte manier van tracken bij gps-ontvangers. Hiermee

wijken we dus niet af van de keuzes gemaakt door de voorgaande masterstudenten.

Door het zorgvuldig analyseren van de VHDL-code van de vorige masterproef, was het mogelijk

om verbeteringen aan te brengen in het ontwerp. We hebben dan ook een aantal dingen anders

aangepakt en herschreven voor de SSC-correlator. Het resultaat op het gebied van

implementatiegrootte is weergegeven in onderstaande tabel.

Tabel 8: Device Utilization Summary 1-bit correlator en accumulator

Device Utilization Summary

Logic Utilization Gebruikt (Nieuwe ontwerp)

Gebruikt (Voorgaande

masterstudenten)

Beschikbaar Utilization (Nieuwe ontwerp)

Number of Slice Flip Flops 13 14 21,504 1%

Number of 4 input LUTs 15 16 21,504 1%

Number of occupied Slices 8 10 10,752 1%

Number of bonded IOBs 20 19 448 4%

Average Fanout of Non-Clock Nets 2.62 2.68

Page 62: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

62

4.3.2 PLE-shifter

De PLE-shifter of Prompt, Late, Early-shifter is verantwoordelijk voor het genereren van de drie

replica PRN-codes die onderling ½ chipbit zijn verschoven. De drie PRN-codes zijn

noodzakelijk voor de trackingfase. Het zijn immers de correlatieresultaten van die codes die het

mogelijk maken om een inkomende PRN-code te volgen.

Werking

De prompt-code wordt gerbuikt als referentie voor het tracken en demoduleren. De early- en

late-code lopen respectievelijk voor en na op deze prompt-code. De entiteit van het PLE-

schuifregister is weergeven in onderstaande figuur. Hieruit is af te leiden dat het niet meer gaat

over een simpel schuifregister. Dat komt omdat we 16-bit van de PRN-code binnenkrijgen

afkomstig van het ROM-geheugen i.p.v. 1-bit.

Figuur 41: entity van de PLE-shifter

clk

reset

clk_flank_4092

enable_acq_track

prn_in(15:0)

fase_offset(3:0)

read_offset

PRN_cycle_complete

delay_prn

enhance_prn

prn_early

prn_prompt

prn_late

read_early

read_late

ent_PLE_shifter

Page 63: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

63

Bij overschakeling van acquisitie naar tracking zal de PLE-shifter in werking te treden. Dat

gebeurt in een aantal stappen. Een eerste stap is het instellen van de juiste fase samen met het

bijhorende stukje PRN-code (16-bit van het ROM-geheugen). Dit is weergegeven in

onderstaande figuur.

Figuur 42: Stap 1: Het inlezen van de faseoffset (PLE-shifter)

Een tweede stap is het genereren van de prompt-, late- en early-code. Elke klokflank van de

4,092 MHz zal de interne faseoffset verminderd worden met één en dus ook een nieuwe bit

genereren voor prompt, late en early. Als de interne faseoffset bijna gelijk is aan „0‟ dan wordt

het volgend stukje PRN-code aangevraagd en de interne faseoffset weer veranderd. Dat blijven

we herhalen tot de volledige PRN-code is doorlopen. Zie figuur 42 op volgende pagina voor

meer duidelijkheid. Een laatste stap is het reageren op mogelijke wijzigingen van de hoofd FSM.

Die zal namelijk bijsturen als de PLE-tracking niet meer juist zit. Hiervoor worden de delay_prn

en enhance_prn ingangen voor gebruikt.

Stap 1:Fase_offset = 7

Fase_offset > 8?

idle

If read_offset = „1‟ and enable_acq_track = „0‟

Read_early

Read_prn

Verander

fase_offset_intern

Nee

0151631

0151631

Read_late

Read_prn

Verander

fase_offset_intern

Ja

De volgende 16-bit na

1 klok pulsDe eerste 16-bit

Fase_offset_intern = fase_offset + 16

De eerste 16-bit

Fase_offset_intern = fase_offsetDe vorige 16-bit na

1 klok puls

Page 64: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

64

Figuur 43: Stap 2: Het genereren van de Prompt-, late- en early-code (PLE-shifter)

Simulatie en meetresultaten

Om het geheel te testen hebben we een testbench geschreven in VHDL. De testbench maakt

gebruik van een PRN-codegenerator die het inkomende signaal zal simuleren en het ROM-

geheugen met bijhorend aanstuurlogica. Een belangrijk aspect van de PLE-shifter is de timing

voor het inlezen van de PRN-code van het ROM-geheugen en het aanpassen van de interne

faseoffset. Bij de kleinste afwijking zal het correlatieresultaat niet meer voldoende hoog zijn en

zal de tracking mislukken. In onderstaande afbeelding is te zien wanneer de interne faseoffset

wordt gewijzigd en het nieuwe stukje PRN-code wordt binnengelezen of m.a.w. stap 2 van

bovenstaande figuur.

Figuur 44: Testbench PLE-shifter het genereren van Prompt-, Late- en Early-code

Stap 2:

Fase_offset

_intern > 2?

Fase_offset

_intern -1

Read_early

Read_prn

Verander

fase_offset_intern

Nee 0151631

De volgende 16-bit na

1 klok puls

Fase_offset_intern + 16

If read_offset = „0‟ and enable_acq_track = „0‟

Ja

-> Fase_offset_intern = 18

18

PRN_reg(31:15) <= PRN_reg(15:0)

-> Prompt-code

-> early-code

-> late-code

Page 65: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

65

Bij het naderen van het uiteinde van prn_reg(31:0), door de prn_reg_fase_offset, wordt het

volgende stukje van de PRN-code aangevraagd met het signaal read_early_prn. Dat aanvragen

gebeurt wanneer de fase_offset gelijk is aan drie of twee. De volgende klokflank van de

hoofdklok zal de adresdecoder op de aanvraag reageren en een volgend stukje PRN-code ter

beschikking stellen. Op diezelfde klokflank heeft de PLE-shifter zijn intern prn_reg herschikt en

de faseoffset aangepast (zie rode markering). Als het nieuwe stukje PRN-code klaarstaat zal het

binnengeklokt worden in de voorziene ruimte in het prn_reg.

De prn_reg_fase_offset duidt de prompt-code aan in het prn_reg. Voor de early- en late-code

wordt repectievelijk “fase_offset – 1” en “fase_offset + 1” genomen. Iedere klokflank van de

4,092 MHz klok zal de PLE-shifter de fase_offset verminderen met één.

Keuzes en vergelijking

Zoals we reeds vermeld hebben, werken we met een ROM-geheugen waarin alle PRN-codes zijn

opgeslagen. Hierdoor krijgen we een veel complexer ontwerp voor de PLE-shifter wat een

nadeel is voor de implementatieruimte. Bij de voorgaande masterstudenten was dat niet het geval

omdat ze gebruik maakten van een PRN-generator om de PRN-codes te genereren. Als we beide

implementatie gaan vergelijken, in onderstaande tabel, zien we onmiddellijk dat onze PLE-

shifter meer ruimte in beslag neemt.

Tabel 9: Device Utilization Summary PLE-shifter

Device Utilization Summary

Logic Utilization Gebruikt (Nieuwe ontwerp)

Gebruikt (Voorgaande

masterstudenten)

Beschikbaar Utilization (Nieuwe ontwerp)

Number of Slice Flip Flops 48 4 21,504 1%

Number of 4 input LUTs 185 5 21,504 1%

Number of occupied Slices 99 4 10,752 1%

Number of bonded IOBs 33 9 448 7%

Average Fanout of Non-Clock Nets 3.60 1.95

Page 66: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

66

4.3.3 Regelblok tracking

Het regelblok voor tracking of m.a.w. de trackingcomparator heeft als doel de

correlatieresultaten van de prompt-, late- en early-code onderling te vergelijken en een signaal te

genereren dat aangeeft welke de hoogste is. Daarnaast zal de comparator controleren of één van

de correlatieresultaten boven de opgelegde treshold ligt (70% van PRN-lengte).

Werking

De vergelijking tussen de verschillende codes gebeurt op het einde van een PRN-periode op het

signaal corr_ready. Na het vergelijken laat de trackingregelblok weten aan de hoofd FSM welke

de hoogste was. Dat gebeurt met het signaal hoogste_corr. We onderscheiden hierbij vier

mogelijkheden, namelijk:

1. corr_early is het hoogste hoogste_corr = “01”,

2. corr_prompt is het hoogste hoogste_corr = “00”,

3. corr_late is het hoogste hoogste_corr = “10”,

4. geen vergelijking hoogste_corr = “11”.

Zoals hierboven vermeld werd, zal de trackingregelblok ook controleren of de

correlatieresultaten voldoende hoog zijn. Indien dat niet het geval is krijgt de hoofd FSM een

tracking_lost signaal gelijk aan één. De entiteit van de trackingregelblok is weergegeven in

onderstaande figuur.

Figuur 45: Entity van de tracking regelblok

reset

Clk

reset_intern

corr_ready

corr_early(12:0)

corr_prompt(12:0)

corr_late(12:0)

hoogste_corr(1:0)

lost_tracking

Tracking regelblok

Page 67: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

67

Simulatie en meetresultaten

Om de trackingregelblok te testen hebben we ook hier een testbench geschreven in VHDL. De

testbench maakt gebruik van alle hardwareblokken in het gps-kanaal. Om de werking te

verduidelijken geven we hier drie voorbeelden. Een eerste voorbeeld laat de resultaten zien van

wanneer de late-code het hoogste is en boven de treshold ligt. Het tweede van wanneer de

prompt-code het hoogste is en boven de treshold ligt. Een laatste voorbeeld geeft wat er gebeurt

indien het resultaat niet meer voldoende hoog is, dus niet meer boven de treshold ligt.

Figuur 46: Testbench tracking regelblok voorbeeld 1

We zien dat op het corr_ready signaal wordt vergeleken. De twee onderste signalen zijn de

uitgangen van ons tracking regelblokje en laten zien dat één van de correlatieresultaten hoog

genoeg is. Dat wordt gedaan door lost_tracking laag te houden. Het andere signaal,

hoogste_corr_track, genereert de klokflank erna de code “10” wat overeenkomt met de late-code

die het hoogste was. We blijven dus in tracking.

Figuur 47: Testbench tracking regelblok voorbeeld 2

In bovenstaande figuur ziet u het voorbeeld waarbij de prompt-code het hoogste is. Het

hoogste_corr_track signaal geeft de code “00” uit aan de hoofd FSM en het lost_tracking signaal

blijft laag. We blijven ook hier in tracking.

Page 68: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

68

Figuur 48: Testbench tracking regelblok voorbeeld 3

Ten slotte is er voorbeeld drie waar het correlatieresultaat van de early-code het hoogste is maar

niet voldoende hoog is om de tracking te onderhouden. Het lost_tracking signaal wordt hoog

gemaakt en de hoofd FSM begint terug met acquisitie.

Keuzes en vergelijking

We hebben gekozen om de tracking regelblok in hardware te implementeren i.p.v. software. Dat

heeft als voordeel dat we niet gebonden zijn aan een FPGA met een interne processor of

Microblaze welke veel chipoppervlakte inneemt. Ook hier hebben we de syntheseresultaten in

een tabel gezet om weer te geven hoeveel ruimte er nodig is in onze FPGA.

Tabel 10: Device Utilization Summary regelblok tracking

Device Utilization Summary

Logic Utilization Gebruikt (Nieuwe ontwerp)

Beschikbaar Utilization (Nieuwe ontwerp)

Number of Slice Flip Flops 53 21,504 1%

Number of 4 input LUTs 30 21,504 1%

Number of occupied Slices 30 10,752 1%

Number of bonded IOBs 46 448 10%

Average Fanout of Non-Clock Nets 1.91

Page 69: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

69

4.4 Gedeelde hardware

De gedeelde hardware bestaat uit een aantal hardware blokken die zowel bij acquisitie als bij

tracking van toepassing zijn. Het is mogelijk dat ze een andere werking hebben gedurende beide

fasen van het gps-kanaal. Een aantal van die blokken zijn:

de code-NCO en carrier-NCO,

de Dopplercounter,

de adresdecoder,

het ROM-geheugen.

4.4.1 NCO (Numerically controlled oscillator)

Inleiding

Op het FPGA-evalueerbord van Xilinx (ML401) is een klokfrequentie voorzien van 100 MHz.

Die wordt met een prescaler gehalveerd tot 50 MHz. Echter gebruiken de ontvangstkanalen een

frequentie van 4.092 MHz. Om de kanalen van die frequentie te voorzien maken we gebruikt van

een numerisch gecontrolleerde oscillator. Het gebruik van een frequentie van 4.092 MHz heeft

twee redenen.

Een eerste reden is omdat de front-end de binnenkomende draaggolf van ca. 1,5GHz omlaag

brengt naar een intermediatefrequentie van 4,092MHz. Dit is nodig omdat de frequentie van die

draaggolf veel te hoog is voor een rechtstreekse verwerking. Door de verlaging zal de ontvanger

niet rond de draaggolffrequentie maar rond de intermediatefrequentie op zoek moeten gaan naar

de Dopplerverschuiving. Het spectrum van 20kHz waarin de ontvanger moet zoeken loopt nu

dus van 4,092 MHz – 10 kHz = 4,082 MHz tot 4,092 MHz + 10 kHz = 4,102 MHz.

Een tweede reden is dat we de chips afkomstig van de PRN-code elk een aantal keer willen

samplen. De chiprate van de gebruikte C/A-code bedraagt 1,023 MHz. Indien we 4 keer zouden

samplen komen we aan een frequentie van 4,092MHz daarom de keuze van 4 keer. Door elke

chip vier keer te samplen is er slechts één frequentieomvormer per kanaal nodig (Willems en

Martino, 2011) [11].

Page 70: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

70

De werking

De door ons gebruikte NCO maakt gebruik van een faseaccumulator. Die accumulator bestaat uit

een n-bit grote adder en een register opgesteld zoals in onderstaande afbeelding.

Z-1

Clock

Controle woordFase-Accumulator

N N M

Figuur 49: Opbouw NCO

Iedere klokcyclus zorgt voor een nieuwe N-bit waarde op de uitgang die bestaat uit de vorige

waarde opgeteld met het controle woord. Dit controle woord is constant en bepaalt welke

frequentie we verkrijgen. De optelling zal voor een overflow zorgen wanneer de berekende

waarde groter is dan de grootte van het register. De uitgangsfrequentie kan berekend worden

met volgende formule:

Hierin is FCW het frequentiecontrolewoord en N de breedte van het accumulatorregister

waarmee geteld wordt. Fin en Fout zijn respectievelijk input- en outputfrequentie. Door die

formule om te vormen kunnen we het controlewoord als volgt berekenen:

Door de grootte van het register te vergroten (N) kunnen we een hogere resolutie verkrijgen.

Hierdoor bekom je een nauwkeuriger resultaat.

Page 71: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

71

Berekening

Ons Xilinx ontwikkelbordje werkt met een klokfrequentie van 50 MHz. Daarom moet de 4,092

MHz klokfrequentie worden afgeleid van 50 MHz. Om een voldoende hoge nauwkeurigheid te

bekomen, kiezen we voor N = 32. Dat zorgt voor een frequentiestap van:

Voorgaande thesis gebruikte echter:

Vervolgens kan met de gekozen registerbreedte (N = 32) het FCW berekend worden.

Door de afronding zal de werkelijke outputfrequentie als volgt zijn:

Dat is enkel de IF, maar de ontvanger moet in een range van 10kHz boven en onder de

intermediatefrequentie op zoek gaan naar de Dopplerverschuiving die aanwezig is op het

binnenkomend signaal. Dat moet, zoals reeds eerder besproken, gebeuren in stappen van 500 Hz,

waardoor er dus 41 frequentiestappen nodig zijn om heel de range te doorlopen.

Onze voorgangers (Willems en Martino, 2011) toonden aan dat een aansturing via een FSM met

LUT nauwkeuriger was dan een FSM met een teller (met een telregister van 23 bits breed).

Echter bleek ook dat met een LUT de benodigde chipoppervlak aanzienlijk groter werd.

Daarom gebruiken wij een register met een breedte van 32bit. Op die manier verhogen we de

nauwkeurigheid en bekomen we, zoals verder aangetoond, een aanzienlijk kleiner chipoppervlak

dan met een look up table. Zodanig bekomen we een goede verhouding tussen chipoppervlakte

en nauwkeurigheid. Hiervoor gebruiken we een aansturing via een FSM met een teller. Zoals in

vorig punt berekend werd, is de stapgrootte van een register met breedte 32 bit = 0,0116 Hz.

Page 72: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

72

Indien we op zoek gaan naar de Dopplerverschuiving moet er in stappen van 500 Hz gezocht

worden. Om dat te doen berekenen we het juiste FCW dat we bij het accumulatorregister moeten

op- of aftellen om die stapgrootte te bekomen.

Door de reeds berekende constante stap bij de initiële FCW op- of af te tellen kunnen we de

overige 40 FCW‟s bekomen.

De maximale theoretische frequentieafwijking bedraagt dan 0.0819 Hz. Opm.: De berekening

van de max. frequentieafwijking vindt u terug in bijgevoegde Excel worksheet van Raf Martino

en Ben Willems.

Meetresultaten

In onderstaande figuur ziet u een afbeelding uit de simulatie van de NCO. Hier is duidelijk te

zien dat het m16_368 signaal varieert. Dat komt omdat de gemiddelde frequentie voldoet aan de

NCO berekening. Ook wordt het somregister, terugkoppeling en aangelegd controlewoord

weergegeven.

Figuur 50: Simulatie NCO

Op de volgende pagina zijn twee afbeeldingen weergegeven van de hardwaremetingen die

werden uitgevoerd met een Anritsu spectrum analyzer. Hier is telkens duidelijk een piek te zien

op de gewenste frequentie.

Page 73: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

73

Figuur 51: NCO meting 4.092 MHz

Figuur 52: NCO meting 16.368 MHz

Page 74: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

74

In onderstaande tabel worden de syntheseresultaten van de NCO weergegeven. We hebben eerst

de 32-bit ontwerpen van voorgaande masterstudenten vergeleken met het vernieuwd ontwerp.

Hieruit merken we op dat het nieuwe ontwerp met teller structuur voor de aangeduide (rood)

punten kleiner is dan zowel voorgaand teller als LUT structuur. Verder hebben we ons

uiteindelijk 32-bit ontwerp vergeleken met hun uiteindelijk gebruikte 23-bit LUT. Hier bleek ook

dat de vernieuwde implementatie kleiner is.

Tabel 11: Device Utilization Summary NCO

Device Utilization Summary

Logic Utilization Gebruikt in nieuw ontwerp met Teller (32-bit) (2011-2012)

Voorgaand ontwerp met Teller (32-bit) (2010-2011)

Beschikbaar

rood = kleinste

Number of Slice Flip Flops 35 35 21,504

Number of 4 input LUTs 24 76 21,504

Number of occupied Slices 18 38 10,752

Total Number of 4 input LUTs 36 76 21,504

Number of bonded IOBs 8 34 448

Average Fanout of Non-Clock Nets 1.94 3.60

Device Utilization Summary

Logic Utilization Gebruikt in nieuw ontwerp met Teller (32-bit) (2011-2012)

Voorgaand ontwerp met LUT

(32-bit) (2010-2011)

Gebruikt in voorgaand ontwerp LUT (23-bit) (2010-

2011)

Number of Slice Flip Flops 35 7 7

Number of 4 input LUTs 24 147 85

Number of occupied Slices 18 76 43

Total Number of 4 input LUTs 36 147 85

Number of bonded IOBs 8 34 25

Average Fanout of Non-Clock Nets 1.94 4.37 4.44

Page 75: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

75

4.4.2 Dopplercounter

Inleiding

Zoals reeds besproken in het hoofdstuk acquisitie moet de ontvanger alle mogelijke

Dopplerfrequenties doorlopen binnen het gekozen bereik. Hiervoor zal de NCO-counter van

groot belang zijn. Die teller zal namelijk de verschillende frequentiestappen genereren die

overeenkomen met de Dopplershift. Als alle stappen zijn doorlopen dan wordt het PRN_Count

signaal hoog gemaakt en wordt er over gegaan naar de volgende PRN.

Figuur 53: Entiteit Dopplercounter

Werking

De dopplercounter zal indien de ontvanger in acquisitiemode zit en het count_enable signaal

hoog is op iedere klokflank tellen. Voor het tellen gebruiken we een integer i die een bereik heeft

van 0 tot 20. Door vervolgens iedere klokflank te wisselen tussen dopp_counter + i en

dopp_counter – i doorlopen we de alle 41 frequentiestappen. Dat zorgt voor een bijkomend

voordeel dat het zoeken van dicht bij de intermediatefrequentie tot de verst verwijderde gaat. Ter

verduidelijking is in onderstaande figuur het doorlopen van de stappen weergegeven.

i=0 1 2 ...12...

Toggle (+ / -) i

2020

41 Stappen

Figuur 54: Frequentiestappen NCO_counter

Clk

rst

count_enable

enable_track_acq

dopp_in(6:0)

PRN_count

ent_Doppler_counter

dopp_out(6:0)

freqOutCos

freqOutSin

Page 76: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

76

Vervolgens zal het FCW worden berekend en intern een carrier_NCO een nieuwe sin_4_092 en

cos_4_092 genereren. Indien de ontvanger in acquisitie is zal de berekening worden gedaan met

de dopp_counter teller en indien deze in tracking is zal dopp_in hiervoor worden gebruikt. Zodat

de NCO_counter vanaf een bepaalde Dopplershift kan starten in tracking.

Simulatie en synthese

In onderstaande afbeelding zijn de simulatieresultaten weergegeven van de Dopplercounter. Hier

is duidelijk te zien dat voor iedere Dopplershift een ander FCW wordt berekend (fControl). Ook

ziet u dat de sin en cos 90° verschoven worden uitgestuurd.

Figuur 55: Simulatieresultaten van de Dopplercounter

Tot slot vind u in tabel 12 de synthese resultaten van de Dopplercounter.

Tabel 12: Device Utilization Summary Dopplercounter

Device Utilization Summary

Logic Utilization Gebruikt Beschikbaar

Number of Slice Flip Flops 48 21,504

Number of 4 input LUTs 63 21,504

Number of occupied Slices 36 10,752

Total Number of 4 input LUTs 66 21,504

Number used as logic 63

Number used as route-thru 3

Number of bonded IOBs 21 448

Average Fanout of Non-Clock Nets 2.03

Page 77: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

77

4.4.3 Adresdecoder

We werken met een ROM-geheugen waarin alle PRN-codes zijn opgeslagen. Daarom is het

nodig dat we de juiste aanstuurlogica voorzien. De adresdecoder speelt een belangrijke rol in de

aanstuurlogica en is verantwoordelijk voor het genereren van het juiste adres op het juiste tijdstip

tijdens acquisitie en tracking. Dat adres duidt op een 16-bit stukje PRN-code in het ROM-

geheugen.

Werking

De adresdecoder bestaat uit twee delen: enerzijds de PRN-decoder, anderzijds de adrescounter.

De PRN-decoder vormt de gewenste PRN-code om naar een geldige beginoffset binnen het

ROM-geheugen. De adrescounter genereert de adrespointer die elk stukje van 16-bit binnen één

PRN-code aanduidt. De entiteit samen met een blokschema is geïllustreerd in onderstaande

afbeelding.

Figuur 56: De opbouw (links) en entiteit (rechts) van de adresdecoder

reset

Clk

clk_flank_4092

counter_select

counter_reset

read_early

read_late

prn_code(5:0)

adres_offset(7:0)

Adres(13:0)

Adresdecoder

PRN-decoder

Adrescounter

+Adres(13:0)

prn_code(5:0)

Counter_select

Counter_reset

Read_early

Re

ad

_la

te

Clk

Clk

_fla

nk_

40

92

Adres_offset(7:0)

Page 78: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

78

De PRN-decoder kan men vergelijken met een LUT waarvan de ingang overeenstemt met een

bepaald beginadres binnen het ROM-geheugen. Zo zal bv. PRN1 op beginadres “0” zitten en

PRN4 op beginadres “768”. Zie onderstaande figuur voor meer duidelijkheid:

Figuur 57: Het genereren van een adres voor het ROM-geheugen

De adrescounter werkt op twee verschillende manieren. Bij acquisitie zal de adrescounter een

adresoffset aanmaken om de 16 klokflanken van de 4,092 MHz klok. Daarbij begint hij op

adresoffset “0” en eindigt hij op “255”:

De laatste vier bits van het laatste adres in het ROM-geheugen zijn niet van belang en worden

ook weggelaten of gevuld met nullen. Zo bekomen we toch de 4092 bits van één PRN-periode

met een oversampling van vier bij gps L1.

Als het systeem overschakelt naar tracking dan werkt de adrescounter op een ander principe. Die

zal namelijk reageren op de aanvraag van de PLE-shifter die op bepaalde tijdstippen een nieuw

stukje PRN-code nodig heeft. Dat aanvragen gebeurt m.b.v. de ingangen read_early en read_late.

Het uiteindelijke adres wordt samengesteld uit een adresoffset, PRN-beginoffset en de waarde

van de adrescounter.

...

0

9472

ROM-geheugen

768

PRN4 768

Adrescounter 128

Adresoffset 0

Adres 896

896

160

16-bit PRN-stukje

PRN1

PRN2

Page 79: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

79

Simulatie en meetresultaten

Om de adresdecoder te testen hebben we een testbench geschreven in VHDL. Hierbij hebben we

de twee verschillende werkmodussen getest m.b.v. het volledige gps-kanaal. De testbench in

figuur 58 omschrijft de werking tijdens de acquisitiefase en figuur 59 tijdens de trackingfase.

Beide afbeeldingen zijn genomen bij een faseoffset gelijk aan nul en bij PRN1.

Figuur 58: Testbench adresdecoder tijdens acquisitiefase

Tijdens de acquisitiefase zal de adrescounter elke 16 klokflanken van het clk_flank_4092_intern

signaal de interne ROM-pointer verhogen met één. Het uiteindelijke adres is gelijk aan de som

van de adresoffset = “0”, de ROM-beginoffset = “0” (PRN1) en de interne ROM-pointer.

Figuur 59: Testbench adresdecoder tijdens trackingfase

Tijdens de trackingfase zal de adrescounter tellen op het ritme van de read_early en read_late

ingangen. Het bekomen adres is ook hier gelijk aan de som van de adresoffset, ROM-beginoffset

en de interne ROM-pointer.

Page 80: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

80

Keuzes en vergelijking

De keuze om gebruik te maken van een adresdecoder voor het aansturen van het ROM-geheugen

was voor de handliggend. Zo is het immers mogelijk om het genereren van het adres samen te

houden voor zowel acquisitie als tracking. Bovendien kunnen we makkelijk fouten met het adres

opsporen en verbeteren.

Daarnaast hebben we twee verschillende implementaties bekeken voor de PRN-decoder. De

eerste werkt met een look-up tabel waar alle 37 PRN-codes overeenkomen met een bepaald

beginadres. De tweede implementatie is m.b.v. een wiskundige formule die het adres berekent

aan de hand van de input. Het is vanzelfsprekend dat de wiskunde aanpak een positievere

invloed zal hebben op de implementatieruimte. Aangezien de look-up table 37 adressen moet

bijhouden in zijn geheugen. De vereiste implementatieruimte van beide adresdecoders is

weergegeven in onderstaande tabel.

Tabel 13: Device Utilization Summary adresdecoder

Device Utilization Summary

Logic Utilization Gebruikt (Nieuwe ontwerp)

Gebruikt (Wiskundige

formule)

Beschikbaar Utilization (Nieuwe ontwerp)

Number of Slice Flip Flops 22 21 21,504 1%

Number of 4 input LUTs 113 99 21,504 1%

Number of occupied Slices 66 55 10,752 1%

Number of bonded IOBs 35 35 448 7%

Average Fanout of Non-Clock Nets 3.15 2.87

Page 81: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

81

4.4.4 ROM-geheugen

Het ROM-geheugen bevat alle 37 PRN-codes van het gps-satellietsysteem. Elke PRN-code is

uniek en stelt een satelliet voor zoals reeds eerder besproken. Het doel van het ROM-geheugen is

het gps-kanaal voorzien van het juiste stukje PRN-code op het gewenste tijdstip. Dat zowel

tijdens acquistie als tracking.

Werking

Uit de bespreking van de hybridecorrelator is gebleken dat een 16-bit correlatie de beste trade-

off is tussen implementatieruimte en acquistiesnelheid. Ook werd reeds in de adresdecoder

aangehaald dat we gebruik maken van een ROM-geheugen met een breedte van 16-bit. Verder

weten we dat elke PRN-code 4092 bits (1023 bits * 4 oversampling) lang is. Daardoor krijgen

we een diepte van 9472 plaatsen van elk 16-bit breed. In onderstaande figuur is de entiteit samen

met de opbouw van het ROM-geheugen weergegeven.

Figuur 60: De entity(links) en opbouw(rechts) van het ROM-geheugen

Het adres bestaat uit 14-bit waarvan de 10 LSB dienen voor de adressering binnen de RAM-

blokken en de 4 MSB kiezen tussen de gewenste output. Elke RAM-blok heeft plaats voor vier

volledige PRN-codes. Aangezien we 37 PRN-codes hebben komen we uit op 10 RAM-blokken.

Address(13:0)

Clk

Data(15:0)

ROM_module

RAM_16RAM_16

RAM_16RAM_16

RAM_1616

Clk

Adres(13:0) Adres(9:0)

Adres(13:10)

Data(15:0)

Page 82: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

82

Simulatie en meetresultaten

Ook het ROM-geheugen hebben we onderworpen aan een testbench in VHDL. Hierbij

controleren we of de juiste data aanwezig zijn aan de output bij een bepaald adres. In figuur 61

hebben we daarom een adres aangelegd en gekeken naar het resultaat.

Figuur 61: Testbench van het ROM-geheugen

In de simulatie is duidelijk te zien dat bij het aanleggen van een bepaald adres, de data na één

klokflank aanwezig zijn.

Keuzes en vergelijking

We hebben gekozen om met een ROM-geheugen te werken dat alle PRN-codes bevat van gps L1

i.p.v. een generator. Hiermee willen we meer toekomstgericht werken omdat GALILEO E1 alle

PRN-codes in ROM-geheugen heeft zitten. Het is dus mogelijk om een uniform

ontvangerskanaal te maken voor gps en GALILEO waarbij alle PRN-codes zijn opgeslagen in

ROM-geheugen. Daarnaast is het ook mogelijk om met “dual ported ROM” te werken. Hiermee

kan één ROM-geheugen gebruikt worden door twee kanalen.

Om een beeld te geven over de benodigde chipoppervlakte hebben we het syntheseresultaat

weergeven in tabel 14.

Tabel 14: Device Utilization Summary ROM-geheugen

Device Utilization Summary

Logic Utilization Gebruikt Beschikbaar Utilization

Number of Slice Flip Flops 0 21,504 0%

Number of 4 input LUTs 128 21,504 1%

Number of occupied Slices 64 10,752 1%

Number of bonded IOBs 31 448 6%

Number of FIFO16/RAMB16s 16 72 22%

Average Fanout of Non-Clock Nets 2.00

Page 83: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

83

Opm.: Het genereren van de PRN-codes is gebeurd met de PRN-generator. Daarna hebben we

m.b.v. de testbench alle PRN-codes opgeslagen in tekstbestanden en omgevormd met Excel om

het juiste BRAM formaat te bekomen.

4.5 Meetresultaten gps-kanaal

Als we alle bouwblokken samennemen, bekomen we één gps-kanaal. Dit kanaal is in staat om

baseband gps-signaal te zoeken en te volgen. Het gps-kanaal heeft twee werkingsprincipes zijnde

acquistie en tracking. Om te beslissen wanneer er moet geschakeld worden tussen beide hebben

we een FSM toegevoegd. Die zal aan de hand van een aantal ingangen het kanaal regelen. Zo

bekomen we een volledig onafhankelijk gps-kanaal dat in staat is om één gps-satelliet te volgen.

4.5.1 Simulatie

Ook hier hebben we een testbench geschreven in VHDL om het geheel te testen. Die is

weergegeven in onderstaande afbeelding.

Figuur 62: Testbench volledig gps-kanaal

Page 84: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

84

De testbench laat duidelijk de overschakeling tussen acquisitie en tracking zien. Als we kijken

naar de eerste vijf signalen zien we dat rond tijdstip 2, 0005 ms een correlatiepiek optreed. Dat

wordt weergegeven door het signaal “highest_accumulator_data”. We krijgen een piek van 4072

(er komen 4072 chips overeen van de 4092) bij een faseoffset van vijf, een Dopplershift van nul

en een adresoffset van nul. Indien de correlatiepiek groter is dan de ingestelde grens wordt het

“acquisitie_ready” signaal hoog gemaakt. Vervolgens wacht het kanaal tot de volledige PRN-

periode is afgelopen om over te schakelen naar tracking.

Het overschakelen naar tracken brengt een aantal instellingen met zich mee. Een eerste is het

klaar zetten van de adressen en PRN-codes. Zo kan de tracking starten vanaf het juiste stukje

PRN-code. Vervolgens wordt de registerpointer van PLE-shifter ingesteld en de bijhorende

registers gevuld. Dat gebeurt met de faseoffset uit de acquisitiefase die meteen ook de prompt-

code aanwijst in het register. Tenslotte moeten de 1-bit correlators nog leeggemaakt worden,

zodat we van nul kunnen starten.

Het is van uiterst belang dat het overschakelen van acquisitie naar tracking gebeurt voor de

eerstvolgende chipbit passeert. Indien dat niet het geval zou zijn, zitten we onmiddellijk mis met

de tracking. Dat zal resulteren in een lage correlatiewaarde en een einde van de trackingfase.

4.5.2 Meetresultaten

Om de implementatie te testen en controleren op een juiste werking hebben we een Visual Basic

terminal programma herschreven dat ons hierbij helpt. Met het programma is het mogelijk om

een momentopname te nemen van de correlatieresultaten van de prompt, late en early

accumulators. Daarnaast kunnen we de beste acquisitieresultaten opvragen. De opbouw van het

Visual Basic programma samen met een aantal meetresultaten is geïllustreerd in onderstaande

afbeelding.

Figuur 63: Meetresultaten PRN 2

Page 85: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

85

4.5.3 Syntheseresultaat

In tabel 15 is de implementatiegrootte van één gps-kanaal te zien. Het kanaal maakt enkel

gebruik van de I-component. Indien de Q-component meegerekend wordt, zal de ingenomen

ruimte nog toenemen.

We kunnen dus afleiden dat één kanaal ongeveer 40% van heel de FPGA inneemt. Om

positiebepaling mogelijk te maken, zijn er minstens vier kanalen nodig. We gaan dus moeten

overschakelen naar een grotere FPGA voor verdere uitbreidingen.

Tabel 15: Device Utilization Summary van het gps-kanaal

Device Utilization Summary

Logic Utilization Gebruikt Beschikbaar Utilization

Number of Slice Flip Flops 820 21,504 3%

Number of 4 input LUTs 7668 21,504 35%

Number of occupied Slices 3990 10,752 37%

Number of bonded IOBs 10 448 2%

Number of FIFO16/RAMB16s 16 72 22%

Number of GCLKs 5 32 15%

Number of DCM_ADVs 1 8 12%

Number of DSP48s 1 48 2%

Page 86: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

86

4.6 Uitbreiding naar gps/Galileo ontvangerskanaal

Het uiteindelijk doel van onze thesis was het flexibel overschakelen tussen satellietsystemen

zoals gps en Galileo. Echter zijn we door tijdsgebrek niet meer aan dit onderdeel beland. Daarom

gaan we in deze paragraaf één van de mogelijke concepten bespreken om dergelijke ontvanger

op te bouwen.

4.6.1 Inleiding

Het opbouwen van een ontvanger die kan schakelen tussen gps L1 en Galileo E1 gebeurt in een

aantal fasen. Een eerste fase is het analyseren van de gps-ontvanger en Galileo-ontvanger. Zo is

het mogelijk om de gelijkenissen en verschillen op te merken. Een tweede fase is het kiezen van

de geschikte acquisitiemethode. Aangezien wij opteren voor de kleinste implementatiegrootte

zullen er een aantal methodes in aanmerking komen en andere niet. Een derde fase is het

opbouwen van de trackingskanalen voor zowel gps als Galileo. Hier kunnen we namelijk een

aantal dingen combineren zoals verder zal blijken. Tenslotte is er nog het implementeren van de

architectuur in VHDL. Dit laatste komt niet meer aan bod in onze thesis.

4.6.2 Opbouw gps/Galileo-ontvangerskanaal

Door het bestuderen van de mogelijke architecturen zijn we tot de conclusie gekomen dat de

opbouw geïllustreerd in figuur 64 een goede aanpak is voor een gps/Galileo-ontvangerskanaal.

Hierbij zijn we vertrokken van een thesis over gecombineerde gps- en Galileo-ontangers. Een

groot verschil met de acquisitie bij gps is het feit dat we hier vertrekken van een standalone

acquisitieblok en identieke trackingskanalen. De acquisitieblok zal na het vinden van een

satelliet één van de trackingskanalen aanduiden om de satelliet te volgen.

Figuur 64: een mogelijke opbouw voor een gps/Galileo-ontvangerskanaal [14]

FSM Acquistie

Tracking kanaal gps/Galileo

Tracking kanaal gps/Galileo

Tracking kanaal gps/Galileo

Tracking kanaal gps/Galileo

FPGA

Baseband

signaal

Page 87: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

87

4.6.3 Acquisitie (FSM concept)

Acquisitie wordt ook hier uitgevoerd met een seriële-parallelle aanpak. Het doel is een optimale

combinatie tussen snelheid en implementatieruimte bekomen en zoals we al hadden aangetoond

is dat mogelijk met serial-parallel correlator.

De afzonderlijke acquisitieblok is in staat om één satelliet tegelijkertijd te zoeken. Het komt er

dan op neer dat hij een voldoende acquisitiesnelheid moet hebben om zodanig de zoektijden te

beperken. Daarnaast moet er rekening gehouden worden met de verschillende PRN-codelengtes

van zowel gps L1 als Galileo E1-B. Die zijn namelijk voor gps korter dan voor Galileo zoals

vermeld in hoofdstuk 2. Als we willen voldoen aan beide eisen is een seriële-parallelle correlator

die 1023 fasen tegelijk correleert de beste keuze.

Omdat de acquisitiefase uit verschillende stappen bestaat is het aangeraden hier een FSM te

gebruiken. De FSM kan gestructureerd alle stappen coördineren voor een vlot verloop. Figuur 65

laat zien hoe de FSM tewerk gaat in de vorm van een flowchart. [14]

Figuur 65: De FSM-flowchart voor de acquisitieblok [14]

Reset_state Idle_state

Read input

data (1023

bits)

Move data in

correlation

reg. I and Q

Correlate

registers with

PRN-code

PRN not found

Match the code

generator phase

to detected

phase

Change

Dopplershift

Change PRN-

codePRN found

1*

2*

3* 4*

5* 6*

7* 8*9*

{

1* start = ‘1’

2* read_complete = ‘1'

3* data moved

4* correlation value < threshold

And more input data needed

5* correlation value < threshold

And all input data has been correlated

6* correlation value > threshold

7* Not all Dopplershifts correlated

8* All Dopplershifts correlated

9* Phases matched

Page 88: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

88

4.6.4 Trackingskanaal gps/Galileo

Een trackingskanaal dat zowel gps L1 als Galileo E1 moet ontvangen kan gebruik maken van de

very-early en very-late trackingtechniek (zie paragraaf 3.4). Het voordeel van die techniek is dat

het kanaal zowel signalen van gps als Galileo kan volgen. Hierdoor is het dus mogelijk om

identieke trackingskanalen te maken voor beide. De onderstaande afbeelding geeft een mogelijke

opbouw weer van zo een kanaal.

Figuur 66: Mogelijke opbouw van een trackingskanaal voor gps L1 en Galileo E1 [13]

De verschillen met het trackingskanaal voor gps zijn de sinBOC(1,1) code generator en de extra

very-early en very-late correlators. De extra correlators staan in voor het volgen van de side

peaks in de correlatiefunctie van Galileo. Indien de prompt-correlator de juiste correlatiepiek aan

het volgen is, dan zal de waarde hiervan groter zijn dan de waardes van de very-early en very-

late correlators. De sinBOC(1,1) code generator zal in ons ontwerp vervangen worden door een

ROM-geheugen met alle PRN-codes. [13]

Page 89: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

89

4.6.5 Conclusie gps/galileo-ontvanger

Indien we gebruik maken van een aparte acquisitieblok en identieke trackingskanalen is het

mogelijk om een veel kleiner ontwerp te bekomen. Aangezien er geen hardware voor acquisitie

moet voorzien worden in elk kanaal. Bij de trackingskanalen is het interessant om de ROM-

geheugens dual-ported te maken. Zo kunnen twee kanalen gebruik maken van hetzelfde

geheugen.

Page 90: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

90

5 Implementatie gps-ontvanger met partiële herconfiguratie

5.1 Inleiding

Met partiële herconfiguratie (PR) is het mogelijk om een op voorhand afgebakend gedeelte

(partiële zone) van de FPGA te herconfigureren. Zo kan bv. een bouwblok dat een bepaalde

functie uitvoert worden vervangen door een ander blok m.b.v. een partiële bitstream.

Dat herconfigureren heeft tal van voordelen:

1. Herconfigureren is veel sneller aangezien niet de hele FPGA opnieuw moet worden

geprogrammeerd maar slechts een bepaalde zone;

2. Plaatsbesparing aangezien de partiële blokken een bepaalde zone delen op de FPGA;

3. Mogelijkheid tot nieuwe technieken in design beveiliging;

4. Verbeteren van FPGA-fouttolerantie.

In PR kan men onderscheid maken tussen twee groepen, namelijk dynamische partiële

herconfiguratie (DPR) en statische partiële herconfiguratie. DPR, ook wel gekend als actieve

partiële herconfiguratie, laat toe om een gedeelde van de FPGA aan te passen terwijl de rest van

de logica in werking blijft. In statische PR is de FPGA niet actief gedurende het

herconfiguratieprocess. Met andere woorden, zolang de partiële data in de FPGA worden

gestuurd, wordt de rest van de FPGA gestopt en terug gestart zodra de configuratie compleet is.

Voor onze thesis maken we gebruik van dynamische partiële herconfiguratie. Dat laat toe om

tijdens acquisitie of tracking bepaalde blokken van het kanaal te herconfigureren. Als proof of

concept hebben we ervoor gekozen om ons ROM-geheugen op te splitsen in twee PR-blokken.

Wat dit precies inhoudt en de werking ervan leggen we in volgend punt uit. Voor het bespreken

van de partiële herconfiguratie maakten we gebruik van bronnen [20] en [21].

Page 91: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

91

5.2 Werkingsprincipe en aanpak

Zoals reeds aangehaald hebben we als proof of concept ervoor gekozen om ons ROM-geheugen

op te splitsen in twee PR-blokken. Dat doen we omdat we tijdens acquisitie het kanaal bv. eerst

ROM-blok één laten gebruiken en vervolgens ROM-blok twee. Op die manier kan tijdens het

gebruik van het eerste blok het tweede worden geherconfigureerd. Zodoende zal het kanaal

tijdens acquisitie altijd de nodige PRN-codes ter beschikking hebben. Voor de implementatie

hiervan zijn er een aantal belangrijke stappen die we moeten doorlopen.

Een eerste stap is de twee PR-blokken als black box modules instantiëren. Dat wordt gedaan

door de component te instantiëren zonder dat er een benodigde VHDL-file aan wordt verbonden.

Hierdoor kan in een tweede stap de ontwikkeltool PlanAhead de lege modules zien en is het

mogelijk om een bepaalde component, in ons geval ROM-blok, toe te wijzen aan een gekozen

black box. Op die manier kan dan een partiële bitstream worden gegenereerd die enkel de black

boxes zal herschrijven. Voor onze implementatie zal er per partiële bitstream slechts één black

box per keer worden herschreven.

Een derde stap is ervoor zorgen dat de FPGA een request uitgeeft met welke ROM-blok hij

nodig zal hebben. Dat wordt mogelijk gemaakt door de adresdecoder, dataconverter, UART en

een PC. Hoe deze derde stap precies in zijn werk gaat zullen we in volgend punt bespreken. In

onderstaande figuur geven we een overzicht van de besproken manier van werken.

FPGA

Statische regio

Herconfigureerbare blokken

Blackbox modules

config1

config2

config3

config1

config2

config3

Partiële bitstream

Standaard bitstream

Dataconverter UART

Request bitstream & dataout

Figuur 67: Principe partiële herconfiguratie

Page 92: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

92

5.3 Dataconverter

De dataconverter staat in voor het omzetten van kanaalinformatie naar een bistream. Die

bitstream wordt vervolgens over UART verstuurd naar een PC. De dataconverter kan drie

soorten streams aanmaken.

1. informatie over de acquisitiefase;

2. informatie over de trackingfase;

3. een requeststream met ROM-info.

Door de informatie uit te sturen over UART is het mogelijk om metingen op een correcte en

tevens gemakkelijke manier uit te voeren. Ook kan op die manier de werking van het kanaal

worden gemonitord. De requeststream bevat de namen van de ROM-geheugens die momenteel

in de FPGA zitten en de naam van het ROM-geheugen dat moet worden geprogrammeerd. In

onderstaande afbeelding is de entiteit van de dataconverter weergegeven.

dataconverter

rst

clk

highest_PRN_offset(5:0)

highest_ADRESS_offset(7:0)

highest_FASE_offset(3:0)

highest_accumulator_data_out(12:0)

lost_tracking_i

accu_early_I(12:0)

accu_prompt_I(12:0)

accu_late_I(12:0)

highest_dopp_out(6:0)

uart_rx_req

uart_rx_data(7:0)

uart_tx_req

uart_tx_data(7:0)

req_next_rom

reset_acq

next_rom(3:0)

rom_slot_1(3:0)

rom_slot_2(3:0)

Figuur 68: Entiteit dataconverter

Page 93: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

93

5.4 Software

Voor de software hebben we gebruik gemaakt van een bestaand Visual Basic

terminalprogramma [22]. Vervolgens hebben we de terminal herschreven zodat die voldeed aan

onze eisen om informatie correct weer te geven. Zodoende was het mogelijk om de resultaten

van zowel acquisitie- als trackingfase uit te lezen. In onderstaande figuur is een screenshot van

het huidige terminalprogramma weergegeven.

In dit ontwerp zijn twee send-knoppen voorzien. Eén om acquisitie- en één om

trackinginformatie aan te vragen. Ook is er een knop voorzien om de FPGA te resetten. Indien

op die knop geklikt wordt, zal met een Shell script impact worden opgeroepen en wordt de

standaard bitstream in de FPGA geladen. Het laden van de partiële bitstreams gebeurt

automatisch en ook door impact op te roepen.

Figuur 69: Terminal programma

Page 94: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

94

Besluit

Een eerste fase in het maken van deze masterproef was een gps-ontvanger, die reeds in

ontwikkeling was, herwerken. Aangezien onze kennis omtrent GNSS-systemen beperkt was,

maakten we een uitgebreide literatuurstudie waardoor we een beter overzicht kregen van de

opdracht.

Na die studie kozen we voor een seriële-parallelle acquisitie met een hybride-correlator.

Hierdoor was het mogelijk om de acquisitietijd in te korten en toch een acceptabele

implementatiegrootte te bekomen. Voor het genereren van de PRN- replicacodes opteerden we

voor een ROM-geheugen i.p.v. een generator. Hierdoor zijn we voorbereid op verdere

uitbreiding naar Galileo E1 waarbij alle PRN-codes in geheugen zitten. Bovendien is het dan

mogelijk om het geheugen te delen met meerdere kanalen en zodanig plaats te besparen.

Vervolgens moest de tracking van het kanaal volledig herwerkt worden door de gekozen seriële-

parallelle structuur. Verder werd het gps-kanaal volledig in hardware gemaakt, zo zijn we niet

afhankelijk van een externe of interne processor om alles te sturen. Voor de fysieke testen van

het kanaal deden we beroep op een baseband gps-signaal.

Een tweede fase was de implementatie van een GNSS-ontvanger d.m.v. partiële herconfiguratie

zo flexibel en efficiënt mogelijk maken. Hiervoor maakten we gebruik van een RS232

communicatie tussen FPGA en PC. Zo kon tijdens acquisitie de FPGA een request doen naar een

bepaalde bistream. De kritische delen van de implementatie hebben we opgelost m.b.v.

simulaties in ISim van Xilinx.

Een derde en tevens laatste fase was om met minimale herconfiguratie te schakelen tussen

bijvoorbeeld gelijkaardige signalen van gps en Galileo. Echter konden we door tijdsgebrek de

Galileo-ontvanger niet meer implementeren in hardware. Daarom hebben we een mogelijk

concept voor dergelijke module besproken, welke kan dienen als een goede startpositie voor een

toekomstig project.

Het afleggen van deze masterproef heeft ons meer inzicht gegeven in het ontwerpen en

implementeren van VHDL-structuren. Hierbij denken we aan het probleemoplossend denken

tijdens het maken van een bepaalde bouwblok en het hoe en waarom achter elke beslissing. Ook

was plaatsefficiënt ontwerpen een belangrijke factor in de ontwikkeling van onze opdracht.

Samenvattend kunnen we zeggen dat we met tevredenheid terugblikken op dit leerrijk en

interessant onderzoek.

Page 95: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

95

Literatuurlijst

[1] (2012, Oct.) http://en.wikipedia.org/wiki/Satellite_navigation.

[2] (2011, Sep.) http://en.wikipedia.org/wiki/Decca_Navigator_System.

[3] (2012, Apr.) http://en.wikipedia.org/wiki/Transit_(satellite).

[4] (2011, Sep.) http://en.wikipedia.org/wiki/Global_Positioning_System.

[5] U-blox. U-blox. [Online]. http://www.u-

blox.com/images/stories/Resources/gps_compendiumgps-x-

[6] (2012, Mar.) http://www.colorado.edu/geography/gcraft/notes/gps/gps_f.html.

[7] dr. ir. W. Aerts, Telecommunicatie 1.

[8] (2012, Feb.) http://en.wikipedia.org/wiki/Galileo_(satellite_navigation).

[9] (2012, May) http://www.esa.int/esaNA/galileo.html.

[10] (2012, Mar.) http://en.wikipedia.org/wiki/GLONASS.

[11] Raf Martino en Ben Willems, Implementatie van hardwarebouwblokken voor een

meerkanaals GPS-ontvanger met positiebepaling op FPGA. Katholieke hogeschool

Limburg, 2010-2011.

[12] (2011, Sep.) http://en.wikipedia.org/wiki/Beidou_navigation_system.

[13] Simo Lehto, Architecture Exploration for Enhanced GPS and GALILEO Tracking. Finland:

Tampere university of technology, 2005.

[14] LASSI NIEMINEN, Implementation of GNSS baseband hardware. TAMPERE

UNIVERSITY OF TECHNOLOGY, 2007.

[15] ESA, "Signal In Space Interface Control Document," 2010.

[16] Kjell Moreels, Eindwerk., 2011.

[17] Tughrul Arslan, Ahmed T. Erdogan Ahmed O. El-Rayis, A Processing Engine for GPS

Correlation. The University of Edinburgh, School of Engineering, Edinburgh EH9 3JL, UK.

[18] Sascha M Spangenberg and Gordon J R Povey, "Code acquisition for LEO satellite mobile

communication using a serial-parallel correlator with FFT for Doppler estimation".

Page 96: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

96

[19] Bao-Yen, James Tsui, Fundamentals of Global Positioning System Receivers, A Software

Approach 2nd edition. Wiley-Interscience, 2005.

[20] Wu Feng-yan Wang Lie, Dynamic partial reconfiguration in FPGAs. Guangxi University

Nanning, China: Dept. of Computer Science & Electronic Information, 2009.

[21] "Partial Reconfiguration User Guide UG702," 2010.

[22] Graham Mitchell. http://digital-diy.com/forum/viewtopic.php?p=1415.

[23] Maxim, Datasheet: MAX2769., 2011.

[24] European Space Agency, "Galileo IOV factsheet," 20.03.2012.

[25] European Space Agency, "Galileo FOC factsheet," 21.03.2012.

[26] (2011, Nov.) http://en.wikipedia.org/wiki/Numerically_controlled_oscillator.

Page 97: HET IMPLEMENTEREN VAN EEN MEERKANAALS GNSS … · Industriële Wetenschappen, Elektronica-ICT Promotoren: dr. ir. W. Aerts dr. ir. N. Mentens Academiejaar 2011 - 2012 ... De FSM-flowchart

KHLim Departement IWT ‟11 – „12

97

Inhoud van cd-rom met bijlage

Op onderstaande figuur is de mappenstructuur van de cd-rom met bijlagen weergegeven.

Figuur 70: Inhoud van cd-rom met bijlage