• No results found

Hårdvarubaserade SOQPSK-algoritmer : En VHDL-implementation av algoritmer för att modulera & demodulera SOQPSK-signaler

N/A
N/A
Protected

Academic year: 2021

Share "Hårdvarubaserade SOQPSK-algoritmer : En VHDL-implementation av algoritmer för att modulera & demodulera SOQPSK-signaler"

Copied!
71
0
0

Loading.... (view fulltext now)

Full text

(1)LiU-ITN-TEK-A--08/075--SE. Hårdvarubaserade SOQPSK-algoritmer Daniel Forsberg Max Wahlgren 2008-06-04. Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden. Institutionen för teknik och naturvetenskap Linköpings Universitet 601 74 Norrköping.

(2) LiU-ITN-TEK-A--08/075--SE. Hårdvarubaserade SOQPSK-algoritmer Examensarbete utfört i elektronikdesign vid Tekniska Högskolan vid Linköpings universitet. Daniel Forsberg Max Wahlgren Handledare Mattias Avesten Examinator Qin-Zhong Ye Norrköping 2008-06-04.

(3) Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/. © Daniel Forsberg, Max Wahlgren.

(4) Hårdvarubaserade SOQPSK-algoritmer En VHDL-implementation av algoritmer för att modulera & demodulera SOQPSK-signaler. Av: Daniel Forsberg. &. Max Wahlgren. Handledare:. Examinator:. Mattias Avesten. Qin-Zhong Ye. Linköpings Universitet, ITN Campus Norrköping 30 mars 2008.

(5) Sammanfattning Beroende på i vilken miljö man har tänkt att använda trådlös kommunikation behöver man hitta en modulationsteknik som passar under rådande förhållanden. I början på 1980-talet utvecklade den Amerikanska militären en modulationsteknik som kallas för Shaped BPSK (SBPSK) avsedd att tillämpas i kommunikationslänkar med satelliter. Vidareutveckling av SBPSK ledde sedan fram till en förbättrad variant kallad Shaped Offset QPSK (SOQPSK). På senare år har denna modulationsteknik börjat användas i civila tillämpningar och vidareutvecklats ytterligare för att ge den än bättre prestanda. År 2004 antogs SOQPSK som en modulationsteknik i den internationella flygplanskommunikationsstandarden, IRIG-106. Versionen av SOQPSK som antogs i IRIG-106 har flera bra egenskaper som t. ex. dess spektraltäthet. Detta gör denna typ av modulationsteknik lämpad för kommunikationslänkar med bl.a. flygplan, satelliter och rymdsonder (‘deep-space’). Målet med examensarbetet har varit att implementera algoritmer för att skicka och ta emot SOQPSK-modulerade signaler. Dessa algoritmer skulle utvecklas i VHDL för att sedan syntetiseras och programmera en FPGA. Uppgiften har givits av Syncore Technologies AB i Linköping. Arbetet har resulterat i fungerande implementationer både i mjukvara och hårdvara. Hårdvarulösningen är verifierad att klara bithastiheter upp till 30 Mbit/s. Teoretisk information om allmän modulering/demodulering och specifikt kring SOQPSK behandlas i rapporten. Uppbyggnaden av en teoretisk sändar- och mottagarmodell utformad för SOQPSK-kommunikation beskrivs också i rapporten för att ge en bättre helhetsbild av implementationen som utförts. Arbetets syfte är att ligga till grund för Syncore AB som utvecklar en kommunikationslänk med SOQPSK-kompatibilitet.. I.

(6) Innehåll Terminologi. VI. 1. Inledning 1.1 Bakgrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Syfte & Mål . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Rapportens upplägg . . . . . . . . . . . . . . . . . . . . . .. 2. Förstudie & Teori 2.1 Digital Modulation . . . . . . . . . . . . . . 2.1.1 Basbandsmodulation . . . . . . . . . 2.1.2 Fasmoduleringstekniker . . . . . . . 2.1.2.1 (B)PSK . . . . . . . . . . . . 2.1.2.2 QPSK . . . . . . . . . . . . . 2.1.2.3 OQPSK . . . . . . . . . . . . 2.2 Intersymbolinterferens . . . . . . . . . . . 2.2.1 “Raised Cosine”-Pulser . . . . . . . . 2.3 SOQPSK . . . . . . . . . . . . . . . . . . . . . 2.3.1 CPM beskrivning . . . . . . . . . . . 2.3.1.1 Förkodare . . . . . . . . . . 2.3.1.2 Bitfelssannolikhet . . . . 2.4 CPM Sändare . . . . . . . . . . . . . . . . . . 2.5 AWGN . . . . . . . . . . . . . . . . . . . . . . 2.6 CPM Mottagare . . . . . . . . . . . . . . . . 2.6.1 Dynamisk signalförstärkare (AGC) 2.6.2 Bärvågsrekonstruktion . . . . . . . 2.6.3 Nerblandning . . . . . . . . . . . . . 2.6.4 Matchade Filter . . . . . . . . . . . 2.6.5 Symbolsynkronisering . . . . . . . . 2.6.6 Viterbi / MLSE . . . . . . . . . . . . 2.6.7 Differentialavkodning . . . . . . . . 2.6.8 Optimal mottagning . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. 3 4 4 5 5 7 9 11 11 13 13 14 16 17 18 19 19 19 20 21 21 22 23 23. Implementation 3.1 Mjukvaruimplementering . . . . . . . 3.1.1 Modulator . . . . . . . . . . . 3.1.2 Demodulator . . . . . . . . . . 3.2 Hårdvaruimplementering . . . . . . . 3.2.1 Hårdvara / Utvecklingskort. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 25 26 26 30 33 33. 3. II. . . . . .. . . . . .. . . . . .. . . . . .. 1 1 1 2.

(7) 3.2.2. 3.2.3. 4. Blockfunktioner för sändaren . . . 3.2.2.1 Lysdioder . . . . . . . . . . 3.2.2.2 Dataströmssynkroniserare 3.2.2.3 Pulsformningsfilter . . . . 3.2.2.4 Ackumulator . . . . . . . . 3.2.2.5 COS/SIN Uppslagstabell . 3.2.2.6 D/A-formaterare . . . . . 3.2.2.7 DFFbuffer (inst. 29) . . . 3.2.2.8 DFFbuffer (inst. 30) . . . 3.2.2.9 Funktionstest . . . . . . . . Blockfunktioner för mottagaren . 3.2.3.1 A/D-initiering . . . . . . . 3.2.3.2 Kanalfördröjning . . . . . 3.2.3.3 MF-bank . . . . . . . . . . . 3.2.3.4 Filternegativ (inst. 4) . . 3.2.3.5 Filternegativ (inst. 5) . . 3.2.3.6 Symbolsynkronisering . . . 3.2.3.7 Datakonvertering (inst. 5) 3.2.3.8 Datakonvertering (inst. 6) 3.2.3.9 MLSE (inst. 7) . . . . . . . 3.2.3.10 MLSE (inst. 6) . . . . . . . 3.2.3.11 Differentialavkodare . . . 3.2.3.12 Dubbelbuffer . . . . . . . . 3.2.3.13 Funktionstest . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. Analys & Diskussion 4.1 Problem . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Transformatorer . . . . . . . . . . . . . 4.1.2 MF-Filter . . . . . . . . . . . . . . . . . . 4.1.3 Utklockning av data . . . . . . . . . . . 4.1.4 A/D-omvandlarna . . . . . . . . . . . . . 4.1.5 Synkroniseringssekvens . . . . . . . . . 4.2 Framtida arbete . . . . . . . . . . . . . . . . . . 4.2.1 Sändaren . . . . . . . . . . . . . . . . . . 4.2.1.1 Optimering . . . . . . . . . . . 4.2.1.2 Klockdriftskompensering för 4.2.1.3 Faltningskodning . . . . . . . . 4.2.1.4 Blockkodning . . . . . . . . . . 4.2.1.5 Turbokodning . . . . . . . . . . 4.2.1.6 Kontrollsumma / Paritet . . 4.2.1.7 Kryptering . . . . . . . . . . . 4.2.2 Mottagaren . . . . . . . . . . . . . . . . 4.2.2.1 Equalizer . . . . . . . . . . . . 4.2.2.2 Symbolsynkronisering . . . . . 4.2.2.3 Större MF-Bank . . . . . . . . 4.2.2.4 Djupare MLSE . . . . . . . . . 4.2.2.5 Soft Quantizer . . . . . . . . . 4.2.3 Summering av framtida arbeten . . . .. III. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. 34 35 35 36 37 37 38 38 39 40 41 42 42 43 44 44 45 46 46 47 47 48 48 49. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sändaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 50 53 53 54 54 54 54 55 55 55 55 55 55 56 56 56 57 57 57 57 57 58 58.

(8) Figurer 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17. Konceptuellt blockschema för trådlös kommunikation. Basbandskodning, NRZ. . . . . . . . . . . . . . . . . . . . . Basbandskodning, RZ. . . . . . . . . . . . . . . . . . . . . . Basbandskodning, Fas. . . . . . . . . . . . . . . . . . . . . Basbandskodning, Binär multinivå. . . . . . . . . . . . . . Konstellationsdiagram för BPSK, φ0 = 0◦ . . . . . . . . . BPSK-modulator. . . . . . . . . . . . . . . . . . . . . . . . Konstellationsdiagram för QPSK, φ0 = 45◦ . . . . . . . . QPSK-modulator. . . . . . . . . . . . . . . . . . . . . . . . QPSK-modulerade signalerna I, Q och v(t). . . . . . . . OQPSK-modulerade signalerna I(t), Q(t) och v(t). . . . RC-pulser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fas- och frekvenspuls. . . . . . . . . . . . . . . . . . . . . Blockschemamodell över en CPM-sändare. . . . . . . . Modell över en AWGN-kanal. . . . . . . . . . . . . . . . Blockschemamodell över en CPM-mottagare. . . . . . Bitfelssannolikhetsjämförelse. . . . . . . . . . . . . . . .. 3 4 4 4 4 5 6 8 8 9 10 12 15 17 18 19 24. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17. Mjukvarumodulator struktur. . . . . . . . . . . . . . Simulerade vågformer för φ(t; αi ), f (t) och αi . . . . . Simulerade vågformer för I(t), Q(t) och v(t). . . . . Simulerad spektraltäthet. . . . . . . . . . . . . . . . . Simulerad ‘Scatter’-plot. . . . . . . . . . . . . . . . . Simulerat Ögondiagram. . . . . . . . . . . . . . . . . . Mjukvarudemodulator struktur. . . . . . . . . . . . . Överlagrade & kategoriserade MF-former. . . . . . Medelvärdesbildade MF-former. . . . . . . . . . . . . Trellisträd. . . . . . . . . . . . . . . . . . . . . . . . . Simulerad bitfelssannolikhet. . . . . . . . . . . . . . Funktionsblockschema för hårdvarumodulatorn. . Ögondiagram för hårdvarumodulatorn. . . . . . . . ‘Scatter’-plot för hårdvarumodulatorn. . . . . . . . Funktionsblockschema för hårdvarudemodulatorn. Ögondiagram för hårdvarudemodulatorn. . . . . . . ‘Scatter’-plot för hårdvarudemodulatorn. . . . . .. 26 27 27 28 29 29 30 31 31 32 32 34 40 40 41 49 49. 4.1 4.2. Simulerade signaler utan transformatorstörningar. . 53 Mottagna signaler med transformatorstörningar. . . 53. IV. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . ..

(9) Tabeller 2.1 2.2 2.3. Sannolikhet för bitfel för olika modulationstekniker. 7 SOQPSK-(A/B/TG) RC-parametrar. . . . . . . . . . . . . 14 ‘Soft-Quantizer’-nivåer. . . . . . . . . . . . . . . . . . . . 23. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23. Hårdvaruspecifikationer för utvecklingskort. . . . Resursutnyttjande för de olika sändarmodellerna. I/O-beskrivning för Lysdioder. . . . . . . . . . . . . . I/O-beskrivning för dataströmssynkroniserare. . . . I/O-beskrivning för pulsformningsfilter. . . . . . . . I/O-beskrivning för φ-ackumulator. . . . . . . . . . . I/O-beskrivning för COS/SIN Uppslagstabell. . . . I/O-beskrivning för D/A-formaterare. . . . . . . . . I/O-beskrivning för DFF-buffer (inst. 29). . . . . . . I/O-beskrivning för DFF-buffer (inst. 30). . . . . . . Resursutnyttjande för mottagaren. . . . . . . . . . I/O-beskrivning för A/D-initieraren. . . . . . . . . . I/O-beskrivning för Kanalfördröjning. . . . . . . . . I/O-beskrivning för MF-Bank. . . . . . . . . . . . . . I/O-beskrivning för Filternegativ (inst. 4). . . . . . I/O-beskrivning för Filternegativ (inst. 5). . . . . . I/O-beskrivning för Symbolsynkronisering. . . . . . I/O-beskrivning för Datakonvertering (inst. 5). . . I/O-beskrivning för Datakonvertering (inst. 6). . . I/O-beskrivning för MLSE (inst. 7). . . . . . . . . . . I/O-beskrivning för MLSE (inst. 6). . . . . . . . . . . I/O-beskrivning för Differentialavkodare. . . . . . I/O-beskrivning för Dubbelbuffer. . . . . . . . . . .. V. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. 33 34 35 35 36 37 37 38 38 39 41 42 42 43 44 44 45 46 46 47 47 48 48.

(10) Terminologi 1REC A/D AGC AM ASK AWGN BER BPSK CMA CPM CSV D/A DBPSK DFF DSOQPSK EQ FIR FPGA FQPSK FSK GMSK GNU I/O IEEE IP IRIG ISI JTAG LO MATLAB MF MLSE NCO NRZ OQPSK PCM PLL. 1 (Tb ) RECtangular (pulse shaping) Analog to Digital Automatic Gain Control Amplitude Modulation Amplitude Shift Keying Additive White Gaussian Noise Bit Error Rate Binary PSK Constant Modulus Algorithm Continuous Phase Modulation Comma Separated Values Digital to Analog Differential BPSK D-Flip-Flop Differential SOQPSK EQualizer Finite Impulse Response Field-Programmable Gate Array Feher QPSK Frequency Shift Keying Gaussian Minimum Shift Keying GNU’s Not Unix Input/Output Institute of Electrical and Electronics Engineers, Inc. Intellectual Property Inter Range Instrumentation Group InterSymbol Interference Joint Test Action Group Local Oscillator MATrix LABoratory Matched Filter Maximum Likelihood Sequence Estimator Numerically Controlled Oscillator Non-RZ Offset QPSK Pulse Code Modulation Phase Locked Loop. VI.

(11) PSD PSK QPSK RC RF RZ SNR SOQPSK VCO VHDL VHSIC XOR. Power Spectral Density Phase Shift Keying Quadrature PSK Raised Cosine Radio Frequency Return to Zero Signal to Noise Ratio Shaped Offset QPSK Voltage Controlled Oscillator VHSIC Hardware Description Language Very High Speed Integrated Circuits eXlusive-OR. VII.

(12) Kapitel 1. Inledning 1.1. Bakgrund. Utvecklingen av snabb, billig och pålitlig kommunikation är en av människans viktigaste uppfinningar. Väldigt mycket i vår vardag beror i någon form av digital kommunikation, som t. ex TV, mobiltelefonnätet och internet. Aldrig tidigare har det varit lättare att ta emot tv-sändingar från rymden, ringa samtal till andra sidan jordklotet eller ta del av nyheter sekunder efter de skrivits, men ändå var det inte tidigare än 1876 då det första telefonsamtalet ringdes. Utveckligen av pålitlig kommunikation har även medfört hårdare krav på kommunikationsutrustningen. Kapacitet, flexibilitet och effektivitet är något som måste tas till hänsyn i alla moderna kommunikationsimplementeringar. Detta har bidragit till enorma landvinningar inom kommunikationsteori som bl.a. nya upptäckter om modulering och felrättning som ämnar att förbättra prestandan i kommunikationslänkar. När man pressar gränserna för vad som går att utföra i en begränsad kommunikationskanal ökar även de negativa effekterna som kan infinnas i länken, som t. ex. dopplerskift och flervägsutbredning. Effekterna måste tas hänsyn till och kompenseras för så de inte försämrar länkens prestanda. Detta innebär att komplexiteten för kommunikationsutrustningen ökar i både sändare och mottagare, vilket gör att det tar längre tid att implementera praktiska tillämpningar p.g.a. omfattande verifieringar, utvärderingar och det faktiskta implementationsarbetet som måste utföras.. 1.2. Syfte & Mål. Syncore Technologies AB är ett tekniskt konsultföretag som fokuserar på avancerade inbyggda system och trådlös teknologi. De har åtagit sig att utveckla en flygplanstelemetrilänk, med kommunikation från flygplan till mark. Telemetrilänken är begränsad av informationen som finns uppsatt av den internationella standarden för flygplanskommunikation, IRIG-1061 . Standarden har nyligen, år 2004, adopterat en ny modulationsteknik; SOQPSK2 . SOQPSK är kategoriserad som en CPM-modulering med bra spektraltäthet och har vunnit popula1 http://www.irig106.org/. 2 Versionen. av SOQPSK IRIG-106 adopterat är specifikt SOQPSK-TG.. 1.

(13) ritet p.g.a. sina egenskaper och att den inte är en patenterad moduleringsteknik. Syncore AB har gett uppgiften att undersöka och implementera SOQPSK modulering/demodulerings-algoritmer i VHDL. Dessa algoritmer ska sedan ligga till grund för att implementera SOQPSK-kompatibilitet i telemetrilänken. Arbetet har utförts hos Syncore AB i Linköping och målen för projektet har utformats till följande: Huvudmål 1 : Första huvudmålet i projektet är att undersöka och implementera en algoritm som ska generera basbandsmodulerade SOQPSK-signaler, kompatibla med IRIG-106-standarden. Implementeringen ska kunna hantera datatakter upp till 30 Mbit/s3 . Huvudmål 2 : Andra huvudmålet innefattar att utveckla, utvärdera och implementera en algoritm för att demodulera basbandsmodulerade SOQPSKsignaler med datatakt upp till 30 Mbit/s. Sekundärmål 1 : Sekundärmålet är att implementera en CMA- och/eller DFMMSE-equalizer i mottagaren för att undertrycka effekten av flervägsutbredning.. 1.3. Rapportens upplägg. Rapportens andra kapitel ger en teoretisk bakgrund om SOQPSK och hur ett komplett sändar- och mottagarsystem kan byggas upp. Kapitlet börjar med att beskriva den enklaste formen av fasmodulation s.k. PSK och bygger sedan successivt vidare till SOQPSK. Läsare som redan är bekanta med grundläggande fasmoduleringsteknik kan direkt hoppa till 2.3 där SOQPSK tas upp. I kapitlets senare delar beskrivs en teoretisk modell över hur ett komplett sändar- och mottagarsystem baserat på SOQPSK kan byggas upp. Vissa delar som beskrivs här ligger utanför projektets omfång men tas ändå kortfattat upp för att ge en bättre förståelse över hur hela systemet fungerar. I tredje kapitlets första del tas de mjukvaruimplementerade modulator- och demodulatoralgoritmerna upp och här presenteras även simulerade resultat för dessa. Den andra delen av kapitlet beskriver de hårdvaruimplementerande delarna av projektet och är till stora delar baserade på utvärderingen av mjukvaruimplementationen. I sista kapitlet analyseras projektets resultat. Här förs även en diskussion över problem som stötts på under projektet och förslag ges på förbättringar som kan utföras i framtida arbete.. 3 IRIG-106. specifierar att SOQPSK ska kunna hantera datatakter mellan 1-20 Mbit/s.. 2.

(14) Kapitel 2. Förstudie & Teori. Figur 2.1: Konceptuellt blockschema för trådlös kommunikation. För att sända information trådlöst behöver man allokera ett frekvensområde i mediumet där man ska sända. Olika frekvenser har olika fysiska egenskaper [2] vilket gör att man försöker allokera frekvensområdena efter applikationen. Till exempel har lägre de frekvenserna bättre penetreringskraft genom t. ex. väggar än de högre frekvenserna, dock har de lägre datatakt. För att dataöverföringen ska hamna rätt frekvensmässigt behöver man modulera dataströmmen på en bärvåg1 . Beroende på vart man skall tillämpa datalänken, använder man olika typer av moduleringar. SOQPSK som står för Shaped Offset Quadrature Phase Shift Keying [4] är en digital modulationsteknik som kategoriseras i PSK-genren [2]. Detta innebär att man låter dataströmmen manipulera fasen i en bärvåg, vilket ger en ‘constant-envelope’-våg men med inbakad information i fasen. ‘Constant-envelope’ innebär att amplituden på den modulerade signalen är konstant. Detta är en positiv egenskap eftersom det minskar linjäritetskraven för sändarens effektförstärkare. Detta har många fördelar och PSK-modulationer är mycket populära att implementera i applikationer, som i till exempel IEEE802.11b.. 1 En. frekvens i ett kommunikationssystem som är modulerad till att bära information.. 3.

(15) 2.1. Digital Modulation. Digital modulation bygger på tre grundläggande tekniker, Amplitude Shift Keying (ASK), Frequency Shift Keying (FSK) och Phase Shift Keying (PSK) [2]. Det förekommer även fler komplicerade modulationstekniker som är kombinationer av ASK, FSK och PSK [16]. Modulationsteknikerna transporterar information genom att ändra någon aspekt på en basbandssignal2 som i sin tur påverkar en bärvågssignal. I ASK varierar amplituden på bärvågen som svarar mot en ändring i basbandssignalen. FSK varierar frekvensen på bärvågssignalen och i PSK varierar fasen för bärvågssignalen.. 2.1.1. Basbandsmodulation. Innan den digitala informationen kan moduleras med någon av ovan nämnda tekniker måste den basbandsmoduleras. Basbandsmodulation, eller s.k. Pulse Code Modulation (PCM), innebär att en kontinuerlig signal utformas med pulser utifrån den binära dataströmmen. De vanligste PCM-typerna är: • Non Return to Zero (NRZ) • Return to Zero (RZ) • Faskodad • Binär multinivå Dessa basbandsmodulationer kan delas upp i fler undergrupper och den intresserade läsaren hänvisas till fortsatt litteratur kring PCM som t. ex. [2]. I figurerna 2.2, 2.3, 2.4 och 2.5 finns exempel på PCM-typer för den binära exempelsekvensen ‘10110001102 ’.. Figur 2.2: Basbandskodning, NRZ.. Figur 2.3: Basbandskodning, RZ.. Figur 2.4: Basbandskodning, Fas.. Figur 2.5: Basbandskodning, Binär multinivå.. 2 De ursprungliga frekvenserna i en signal innan den är modulerad för transmission i en högre frekvens.. 4.

(16) När informationen har basbandsmodulerats frekvenstransponeras3 den till en bärvågsfrekvens genom att den blandas med en bärvågssignal. Matematiskt innebär frekvenstransponeringen att bärvågssignalen multipliceras med basbandssignalen [16].. 2.1.2. Fasmoduleringstekniker. 2.1.2.1. (B)PSK. Det finns två symboler {v0 , v1 } i ett Binärt PSK-system, systemet kallas därför för BPSK eller 2-PSK. De två symbolerna representeras av sinusformade signaler (ekv. 2.1 och ekv. 2.2) där ena symbolen är fasvriden 180◦ relativt den andra. Bärvågorna har en konstant frekvens och amplitud. Symbolernas respektive faslägen kan visas med ett konstellationsdiagram. Fig. 2.6 visar konstellationsdiagrammet för BPSK. BPSK är den enklaste formen av digital fasmodulering och eftersom det endast finns två faslägen är BPSK väldigt robust mot störningar. Några av de mest intressanta egenskaperna BPSK har är [16]: • ‘Constant envelope’ • ‘Full response’ • Ts = Tb (1bit/symbol) • Dålig spektraltäthet p.g.a. snabba och stora fasförändringar, φmax = 180◦ • Bra immunitet mot störningar. Figur 2.6: Konstellationsdiagram för BPSK, φ0 = 0◦ . Bitarna ‘02 ’ och ‘12 ’ uttrycks med respektive symboler, v0 (ekv. 2.1) och v1 (ekv. 2.2) [16] [2]. 3 En. förflyttning av signalen i frekvensplanet.. 5.

(17) r v0 (t) =. 2Eb cos(2πfc t + π + φ0 ) = − Tb. r v1 (t) =. r. 2Eb cos(2πfc t + φ0 ) Tb. 2Eb cos(2πfc t + φ0 ) Tb. Bärvågen beskrivs som ekv. 2.3 [16]. r 2 LO(t) = cos(2πfc t) Tb. (2.1). (2.2). (2.3). Fig. 2.7 visar en BPSK-modulator i sin enklaste form.. Figur 2.7: BPSK-modulator. Sannolikheten för symbolfel eller bitfel4 i en AWGN-kanal [16] ges av ekv. 2.4. Ãr ! 2Eb (2.4) Ps = Pb = Q N0 Q(·) i ekv. 2.4 beskrivs av ekv. 2.5 1 Q(x) = erf c 2. µ. x √ 2. ¶ ,. x≥0. (2.5). I ekv. 2.5 används den s.k. komplementära gaussiska errorfunktionen, erf c(·), och ges av ekv. 2.6 Z ∞ 2 2 erf c(x) = √ e−t dt (2.6) π x I moderna trådlösa kommunikationssystem är det standard att bitfelssannolikheten är högst Pb = 10−5 [16] för att det ska anses vara en stabil kanal. Tab. 2.1 visar en bitfelssannolikhetsjämförelse mellan ASK, FSK och PSK. 4 Symbolfel och bitfel är synonymt i BPSK-sammanhang på grund av att 1T = 1T , en bit s b är en symbol.. 6.

(18) SNR (Eb /N0 ) för Pb Koherent PSK Koherent FSK Koherent ASK Icke-koherent FSK Icke-koherent ASK. = 10−5 9.6 dB 12.6 dB 15.6 dB 13.4 dB 16.4 dB. Tabell 2.1: Sannolikhet för bitfel för olika modulationstekniker. Tab. 2.1 innehåller inget värde för icke-koherent PSK eftersom PSK kräver en koherent mottagare [16]. Med koherent mottagning menas att sändarens lokala RF-signal är synkroniserad i fas och frekvens med mottagarens lokala RF-signal som används för att blanda ner signalen till basbandet. 2.1.2.2. QPSK. Quadrature Phase Shift Keying (QPSK) kan beskrivas som en fyrfaldig PSKmodulation. Det vill säga att det finns fyra möjliga symboler {v0 , v1 , v2 , v3 } att uttrycka data med. Fig. 2.8 visar konstellationsdiagrammet för symbolerna i QPSK. Observera att dessa punkter kan väljas godtyckligt på enhetscirkeln så länge de är åtskillda med 90◦ relativt varandra. Detta gäller även för fallet BPSK men de ska då vara åtskillda med 180◦ i relativt varandra. Med fyra symboler kan två bitar representeras av varje symbol och detta fördubblar i sin tur datatakten jämfört med BPSK samtidigt som bandbredden inte ökar. För att minimera sannolikheten för bitfel är det vanligt att man tillämpar graykodning5 på indatan [16]. Detta för att vid en felaktigt mottagen symbol är det mest sannolikt att den verkliga skickade symbolen är belägen i någon av de två närliggande kvadranterna. Graykodningen kommer då endast ge upphov till ett bitfel eftersom det endast skiljer en bit till de två närliggande symbolerna. QPSK kan även tolkas som två separat modulerade BPSK-signaler med en 90◦ fasvridning i förhållande till varandra. Varannan bit används då för att modulera de två respektive BPSK-signalerna. En vanlig konvention är att döpa signalerna till ‘In-phase component’ och ‘Quadrature-phase component’, även beskrivna som I(t) och Q(t) respektive. De viktigaste egenskaperna för QPSK [16]: • ‘Constant envelope’ • ‘Full response’ • Ts = 2Tb (2bit/symbol) • Dålig spektraltäthet p.g.a. snabba och stora fasförändringar, φmax = 180◦ , dock något bättre än BPSK • Bra immunitet mot störningar De fyra symbolerna [16] för QPSK uttrycks enligt ekv. 2.7. 5 Graykod. är ett binärt nummersystem där två efterföljande värden endast skiljer med en. bit.. 7.

(19) Figur 2.8: Konstellationsdiagram för QPSK, φ0 = 45◦ . r vi (t) =. µ ¶ 2Es π(2i − 1) cos 2πfc t + + φ0 Ts 4. Bärvågorna [16] beskrivs av ekv. 2.8 och ekv. 2.9. r 2 LOI (t) = cos(2πfc t) Ts r 2 LOQ (t) = sin(2πfc t) Ts. i = 1, 2, 3, 4. (2.7). (2.8) (2.9). Figur 2.9: QPSK-modulator. Fig. 2.10 visar signalerna I(t), Q(t) och v(t) som förekommer i fig. 2.9. Observera att när en symbol ändrar mellan ‘002 ’ ¿ ‘112 ’ eller ‘012 ’ ¿ ‘102 ’ blir fasändringen 180◦ , signalen går då genom origo i konstellationsdiagrammet, se fig. 2.8. Denna effekt är inte önskvärd eftersom en ickelinjär effektförstärkare kommer att försämra spektraltäthet och bandbreddeffektivitet [2]. 8.

(20) Figur 2.10: QPSK-modulerade signalerna I, Q och v(t). Sannolikheten för symbolfel [16] i en AWGN-kanal ges av ekv. 2.10. Ãr ! Ãr ! Es Es Ps = 2Q − Q2 (2.10) N0 N0. Om SNR:n är hög kan Ps approximeras som ekv. 2.11 [16]. Ãr ! Es Ps ≈ 2Q N0. (2.11). Om graykodning används fås bitfelssannolikhet enligt ekv. 2.12 [16] i en AWGN-kanal. Ãr ! 1 2Eb Pb = Ps = Q (2.12) 2 N0. Det är alltså möjligt att uppnå dubbla datatakten hos BPSK med QPSK och samtidigt som bandbredden och bitfelssannolikheten är samma [16]. Detta har gjort att QPSK är en mycket populär modulationsteknik. 2.1.2.3. OQPSK. För BPSK är alla fasändringar 180◦ och för QPSK är fasändringarna antingen 90◦ eller 180◦ . En fasändring på 180◦ kan innebära en stor amplitudvariation och denna ändring kan medföra höga frekvenskomponenter som försämrar spektraltätheten och bandbreddsutnyttjandet. I en vanlig sändare lågpassfiltreras oftast den basbandsmodulerade signalen för att dämpa höga frekvenskomponenter som medförts av snabba fasförändringar [16].. 9.

(21) Offset QPSK (OQPSK) är en åtgärd för att förbättra spektraltäthet och bandbreddsutnyttjande när ickelinjära effektförstärkare används. OQPSK fungerar genom att förskjuta I(t) och Q(t) i förhållande till varandra med en halv symboltid, T2s = Tb . Detta innebär att den maximala fasförändringen kommer att halveras (φmax = 90◦ ) samtidigt som fasförändringarna kommer att ske dubbelt så ofta. De viktigaste egenskaperna för OQPSK [16]: • ‘Constant envelope’ • ‘Full response’ • Ts = 2Tb (2bit/symbol) • Bättre spektraltäthet än QPSK p.g.a. φmax = 90◦ • Bra immunitet mot störningar Fig. 2.11 visar signalerna I(t), Q(t) och v(t) som förekommer i fig. 2.9 men med en förskjutning på en halv symboltid på Q(t). Observera att när en symbol ändrar mellan ‘002 ’ ¿ ‘112 ’ eller ‘012 ’ ¿ ‘102 ’ sker fasändringen i två steg på 90◦ vardera, d.v.s. signalen går inte genom origo i konstellationsdiagrammet, se fig. 2.8.. Figur 2.11: OQPSK-modulerade signalerna I(t), Q(t) och v(t).. 10.

(22) 2.2. Intersymbolinterferens. I all digital kommunikation, så väl trådbunden som trådlös, finns en konstant distorsionseffekt kallad intersymbol interference (ISI). ISI betyder att signalen som bär informationen försämras på grund av att de enskilda bitarna eller symbolerna i dataströmmen smetas ut över en längre tid än vad de egentligen ska ta upp i sekvensen, d.v.s. energi från en puls läcker över till efterkommande. Detta medför att två efterföljande symboler kan förstöra varandra och kraftigt försämra SNR:n för signalen vilket i sin tur kan ge felaktig mottagen data. Denna typ av störning kan uppstå på olika sätt, men det är en oundviklig effekt som man måste räkna med i kommunikationsystem. ISI upptäcktes som ett problem tidigt6 och lösningar för att kompensera för ISI har utvecklats under lång tid. Eftersom problemet i huvudsak är att de sända pulserna ligger för tätt har det tidigare varit vanligt att försöka kontrollera ISI genom att sänka datatakten. Detta löser problemet relativt enkelt men är inte en acceptabel lösning i kommunikationssystem eftersom prestandan degraderas kraftigt. Mottagaren i ett kommunikationssystem har som uppgift att ta emot den skickade datan. För att den ska kunna göra det måste den sampla signalen för att sedan konstatera vad den samplade informationen representerar för symbol eller bit. Samplingen i mottagaren sker med periodiskt avstånd, vilket öppnar för möjligheten att designa datapulser med energin koncentrerad i rätt tidpunkter. Fyrkantspulser i detta sammanhang är inte särskilt optimala eftersom energinivån är utbredd över ett större tidsintrevall. Det finns två kriterier [2] för pulsegenskaper som förminskar ISI-påverkan: Kriterie 1 är att pulsformen för datan ska uppvisa en nollgenomgång i alla samplingspunkten utom sin egen. Kriterie 2 säger att pulsen ska avta snabbt i amplitud efter samplingsintervallet. Kriterie 1 uppfylls av fyrkantspulser, men inte kriterie 2. Fyrkantspulsen har även fler problem. En frekvensanalys av fyrkantspulsen visar att den beskrivs av sin(πx) (sinc(x)), som i sin tur har oändlig bandπx bredd [2]. En binär dataström representerade av ett fyrkantspulståg är mycket olämpligt att använda i många kommunikationssystem p.g.a. de egenskaper de medför till systemet. Därför letar man efter alternativa typer av pulser man kan använda för att representera informationen som uppfyller båda kriterierna.. 2.2.1. “Raised Cosine”-Pulser. En typ av puls som tillämpar många av de önskvärda effekterna man letar efter finns hos raised cosine-pulsen (RC-puls), som är en modifiering av sinc-pulsen. RC-pulsen uppvisar både nollgenomgångar och en snabbt avtagande amplitud efter den ideala samplingspunkten, nT . I fig. 2.12 visas efterföljande RC-pulser innan de adderats för att demonstrera nollgenomgångarna mellan pulserna. RC-pulsen är även begränsad på så sätt att bandbredden inte längre sträcker sig till oändligheten i frekvensspektrumet, utan är trunkerad med en fönsterfunktion (se ekv. 2.17) för att fungera bättre som pulsform. 6 Redan. vid telegramkommunikation upplevdes ISI som ett problem.. 11.

(23) Figur 2.12: RC-pulser. Sätter man ihop RC-pulser tätt ser man att alla ställen där pulserna påverkar varandra är så kallade nollgenomgångar, och detta uppfyller kriterie 2 vilket medför att RC-pulser uppfyller båda kraven i den tidigare nämda listan. RC-pulsformning används i många moderna kommunikationssystem. RCpulsen kan specifieras med tre olika parametrar; roll-off -faktor, amplitud och längd. Alla parametrar har betydelse, men den viktigaste parametern är ‘rolloff’-faktorn för RC-pulsen. ‘Roll-off’-parametern bestämmer hur snabbt pulsen klingar av, och på så sätt sätter en prägel på bandbredden, vilket gör den till en viktig inställningsmöjlighet.. 12.

(24) 2.3. SOQPSK. Shaped OQPSK (SOQPSK) är en modulationsteknik med sitt ursprung i den Amerikanska militären (MIL-STD SOQPSK). MIL-STD SOQPSK är en vidareutveckling av Shaped BPSK (SBPSK) [4] [9] [17] [3] som utvecklades i början på 80-talet och blev mycket populär inom satellitkommunikation på grund av bra egenskaper såsom bra spektraltäthet och ‘constant-envelope’. På senare år har ett antal modulationstekniker utvecklats avsedda för marksändningar som överträffar MIL-STD SOQPSK vad gäller spektraltäthet [18] bl.a. Gaussian Minimum Shift Keying (GMSK) som används i GSM-nätet och Feher-patenterad QPSK (FQPSK) som har blivit en populär teknik inom telemetriområdet [10]. Terrance J. Hill på Nova Engineering beskrev i [4] en icke-patenterad modifikation av MIL-STD SOQPSK för att förbättra dess prestanda och göra den likvärdig med GMSK och FQPSK. Denna förbättring är två olika modifikationer, SOQPSK-A och SOQPSK-B, som är grunden för den variant, SOQPSKTG, som denna rapport handlar om. SOQPSK-TG togs även år 2004 med i IRIG-106 som är en internationell standard för telemetrikommunikation [19]. SOQPSK-TG är en s.k. Continous Phase Modulation (CPM) [19] vilket innebär att ett pulsformningsfilter används för att forma fasövergångarna mellan symbolerna. SOQPSK-TG är även ‘Constant Envelope’ och ‘Partial Response’ [10]. Modulationstekniken har mycket bra spektraltäthet tack vare pulsformningen samtidigt som den kan ge hög datatakt.. 2.3.1. CPM beskrivning. För att beskriva signalerna matematiskt används den komplexa CPM-notationen. Denna typ av beskrivning ger överskådliga resultat och är en populär metod för att beskriva CPM-signaler. SOQPSK är definierad som en CPM med modulationsindex h = 21 [9] och representeras med ekv. 2.13 [14]. r 2Eb s(t; αi ) = exp[(jφ(t; αi ) + φ0 )] (2.13) Tb I ekv. 2.13 är Tb bitperioden, Eb energi/bit. φ(t; αi ) är fasen för signalen och beskrivs genom ekv. 2.14 [14]. X φ(t; αi ) = 2πh αi q(t − iTb ) (2.14) i. där αi ∈ {−1, 0, 1} är den informationsbärande symbolen i signalen och q(t) är faspulsen beskriven i ekv. 2.15. Z t q(t) = f (x)dx (2.15) −∞. φ0 är en godtycklig initial fas för signalen, i många tillämpnigar kan φ0 = 0◦ eftersom den endast förskjuter konstellationsdiagrammet med en statisk vinkel. 13.

(25) Dock beskriver [19] att konstellationsdiagrammet för modulationen är förskjutet φ0 = 45◦ . Faspulsen är ofta beskriven som en tid-integral av frekvenspulsen [12] f (t) med arean 21 under längden L × Tb . När L = 1 är signalen av typen ‘fullrespons’ [12]. Detta innebär att frekvenspulserna som skapar faspulsen inte påverkar varandra eller överlappar i tidsplanet. Om L > 1 är signalen av typen ‘partial-response’ [12], vilket betyder att man inför en viss kontrollerad ISI. SOQPSK-TG är uttryckt som en ‘partial-response’ signal med L = 8, medans MIL-STD SOQPSK, som är nära besläktad med SOQPSK-TG, dock är en ‘fullresponse’-signal och med en annorlunda frekvenspuls (1REC7 ). Fas- och frekvenspuls för SOQPSK-TG visas i fig. 2.13. Mer information om MIL-STD SOQPSK finns i [5]. Frekvenspulsen beskriven för SOQPSK-TG är en RC-puls given av ekv. 2.16 [10]. ³ ´ ³ ´ cos πρBt sin πBt 2Tb 2Tb f (t) = n(t) × w(t) = A × w(t) (2.16) ³ ´2 × πBt 2Tb 1 − 4 ρBt 2Tb I ekv. 2.16 är w(t) en begränsande fönsterfunktion beksriven av ekv. 2.17 [10].    1, w(t) =.  . 1 2. +. 1 2. ³ cos. π T2. ³. t 2Tb. 0<| 2Tt b | < T1. ´´ − T1. T1 <| 2Tt b |<T1 + T2 T1 + T2 < | 2Tt b |. ,. 0,. (2.17). Amplitudvariablen, A, i ekv. 2.16 är anpassad för att integralen av pulsen skall bli 21 . T1 , T2 , ρ och B är givna av [19] och beskriver RC-pulsen för SOQPSK-TG. I fig. 2.13 finns en visualisering av ekv. 2.16 och respektive faspuls i ekv. 2.15. Tidigare versioner av SOQPSK (-A/B) är definierade på samma sätt som -TG med den enda skillnaden att parametrarna för frekvenspulsen, f (t), är satta till olika värden. I tab. 2.2 ges variabelvärdena för de olika typerna [10] [4]. Typ -A -B -TG. ρ 1.0 0.5 0.7. T1 1.4 2.8 1.5. T2 0.6 1.2 0.5. B 1.35 1.45 1.25. Tabell 2.2: SOQPSK-(A/B/TG) RC-parametrar.. 2.3.1.1. Förkodare. PSK-modulationer använder signalens fasläge som informationsbärare och detta innebär att mottagaren måste ha en referenssignal att jämföra den mottagna signalen mot. Det är svårt att skapa denna referenssignal praktiskt [19] och därför brukar man använda s.k. differentiell kodning vilket innebär att förändringar 7 En. fyrkatnspuls där L = 1 (1REC). 14.

(26) Figur 2.13: Fas- och frekvenspuls. av fasen är informationsbäraren och inte signalens absoluta fasläge [1]. Differentiell kodning är en form av rekursiv faltningskodning. I specifikationen för SOQPSK-TG [19] ingår vilken typ av kodning informationen ska behandlas med innan den skickas. I den innefattas både en differentiell kodning och en förkodare. Dessa kodare visar på förhållandet mellan den egentliga indatan, an ∈ {0, 1}, och symbolerna som moduleras in i fasen på signalen, αi ∈ {−1, 0, 1}. Först differentialkodas indatan enligt ekv. 2.18 [12]. di = an ⊕ di−2. (2.18). I ekv. 2.18 är ⊕ en XOR-funktion. Sista steget i kodningen är förkodaren, eller alpha-kodaren, som ges av ekv. 2.19 [12]. αi =. 1 (−1)i+1 (ai − 1)d0i−1 d0i−2 2. (2.19). d0i ∈ {−1, 1} är den ‘diametriska motsatsen’8 till di och räknas om genom = 2di − 1. Förkodningen sätter upp tre viktiga begränsningar för hur {. . . , αi−1 , αi , αi+1 , . . .} kan agera. Det finns fler förkodningar som uppfyller samma krav [14], men endast den rekursiva differentiella versionen som beskrivs i [19] tas upp. Begränsingarna är:. d0i. 1. Fast man ser på αi som symboler som hämtas ur ett trefaldigt symbolalfabet, {−1, 0, 1}, är det faktiskt konstruerat av två tvåfaldiga symbolalfabet; {−1, 0} och {0, 1}. 2. När αi = 0 byts det binära symbolalfabetet för nästkommande puls, αi+1 , från det som användes för att koda αi . När αi 6= 0 byts inte det binära alfabetet för αi+1 . 3. När αi = 1 kan inte efterkommande puls vara αi+1 = −1, och vice versa. 8 Omkodad. data så att signalen beskrivs med de diskreta nivåerna {−1, 1} istället för {0, 1}.. 15.

(27) 2.3.1.2. Bitfelssannolikhet. Bitfelssannolikheten för en optimal mottagare utan den differentiella kodningen för SOQPSK-TG ges av ekv 2.20 [13]. Ãr Ãr ! ! 1 Eb 1 Eb Pb ≤ Q 1.60 + Q 2.59 (2.20) 2 N0 2 N0. Bitfelssannolikheten för en optimal mottagare med den differentiella kodningen för SOQPSK-TG ges av ekv 2.21 [15] [13]. Ãr ! Ãr ! Eb Eb Pb ≤ Q 1.60 +Q 2.59 (2.21) N0 N0. 16.

(28) 2.4. CPM Sändare. När CPM-sändaren skapat basbandssignalen, s(t; αi ), återstår frekvenstransponering till bärvågsfrekvensen, se fig. 2.14 för blockschemamodell över en CPMsändare. Detta sker genom att den komplexa signalen s(t; αi ):s I(t)- och Q(t)komponenter blandas med bärvågorna beskrivna i ekv. 2.8 och ekv. 2.9 [1].. Figur 2.14: Blockschemamodell över en CPM-sändare. Den bandpassmodulerade signalen, v(t), ges av ekv. 2.22.. v(t) =. r r p 2 2 Es cos(φ(t; αi )) cos(2πfc t) + Es sin(φ(t; αi )) sin(2πfc t) Ts Ts (2.22). p. Ekv. 2.22 kan förenklas till ekv. 2.23 r 2Eb v(t) = cos(2πfc t − φ(t; αi ) + φ0 ) Tb. (2.23). Observera minustecknet framför φ(t; αi ) i ekv. 2.23, om bärvågorna kastas om blir det ett plustecken framför φ(t; αi ). Detta har dock ingen betydelse för mottagaren p.g.a. differentialkodningen.. 17.

(29) 2.5. AWGN. Ett problem i alla kommunikationslänkar är brus. Brus finns i alla system och kan ställa till med problem, speciellt i trådlös kommunikation. Att sända felfri information från punkt A till punkt B med en trådlös kommunikationskanal avgörs till stor del på vilka egenskaper kanalen har. Distorderas signalen för mycket kommer mottagaren inte att kunna avgöra vilken information som skickats och detta gör kommunikationslänken funktionslös. Brus är ett stående problem i överföring och bidrar med att försämra SNRnivån på signalen. Det finns många olika sorters brus, men det vanligaste bruset är s.k. vitt brus. Vitt brus går att modellera matematiskt och simulationsmässigt med approximationer döpta till additive white gaussian noise (AWGN), se fig. 2.15 för en modell över en AWGN-kanal. Denna typ av brus går inte att filtrera bort från signalen p.g.a. att denna typen av brus har en jämn fördelning över hela frekvensplanet, dock går det att undertrycka till viss del med bandpassfilter, notchfilter eller liknande. Ofta kan man bortse från vitt brus då det sällan har en allt för stor inverkan på signalnivån, men det bör tas med i designprocessen då det lätt förstör SNR:n hos signaler med låg effektnivå.. Figur 2.15: Modell över en AWGN-kanal. Signalen r(t) beskrivs enligt ekv. 2.24 där b(t) är vitt gaussiskt brus. r(t) = v(t) + b(t). 18. (2.24).

(30) 2.6. CPM Mottagare. Fig. 2.16 visar hur en generellt blockkonstruerad mottagare kan se ut. Implementationen av mottagaren är i liknande karakteristik, med undantaget att nerblandningen till I(t) & Q(t) görs separat i en egen del (utanför FPGA:n). Denna del av rapporten behandlar de olika blockfunktioner som är vanliga att stöta på i digitala mottagare och ger en introduktion till hur de fungerar. Nästa kapitel tar upp mer specifik information kring liknande block när de är implementerade.. Figur 2.16: Blockschemamodell över en CPM-mottagare.. 2.6.1. Dynamisk signalförstärkare (AGC). I många mottagare krävs det att insignalen till systemet håller sig på en kostant nivå. En vanlig lösning för detta är att implementera en automatic gain control (AGC) [6]. En AGC implementeras ofta i den analoga delen, innan A/Domvandlare, för att skala insignalen till nivåer som passar A/D-omvandlarens dynamiska område. Om den mottagna signalen är attenuerad för mycket kommer A/D-omvandlaren endast att ändra ett fåtal bitar i signalkonverteringen vilket kan ge för litet resultat när signalen skall behandlas i resterande delar av systemet. Om signalnivån ligger utanför A/D-omvandlarens arbetsområde kommer klippning att uppstå. Symbolbeslut och liknande funktioner i mottagaren som kan bero av statiska tröskelvärden är beroende av att insignalen ligger inom kända intervall. Dessa konsekvenser kan leda till informationsförlust när man skall avkoda insignalen. I äldre modulationstekniker var det vanligt med AGC:er, som i t. ex. AMmottagare där nivåerna kan variera kraftigt. I vissa tillämpningar implementerar man utöver en analog AGC även en digital AGC för mer finskalig modifiering av insignalen. I implementationer där det används en MF-bank för att detektera signalen kan det även vara effektivt att amplitudanpassa insignalens nivåer till filterkoefficienterna. Detta förbättrar beslutberäkningar i mottagaren och kan ge lägre bitfelssannolikhet.. 2.6.2. Bärvågsrekonstruktion. Innan den mottagna signalen kan A/D-omvandlas måste den blandas ner till basbandet. Idealt sker detta med en lokal oscillator som har exakt samma fre19.

(31) kvens och fas som sändarens lokala RF-oscillator. Om de två oscillatorerna inte är perfekt synkroniserade kommer RF-signalen inte blandas ner rätt, utan en liten frekvensavvikelse kommer att introduceras. Denna frekvensavvikelse kommer få symbolernas konstellationspunkter att rotera. För att uppnå synkronisering mellan oscillatorerna i sändaren och mottagaren används oftast en Phase Locked Loop-krets (PLL). Denna del ligger dock utanför rapportens omfång och tas inte upp mer.. 2.6.3. Nerblandning. När mottagarens lokala RF-oscillatorn är synkroniserad med sändarens RFoscillator blandas insignalen, r(t), med RF-signalerna som beskrivs i ekv. 2.25 och ekv. 2.26. r 2 LRFI (t) = cos(2πfc t) (2.25) Ts. r 2 LRFQ (t) = − sin(2πfc t) Ts. (2.26). De resulterande nerblandade I(t) och Q(t)-signalerna ges av ekv. 2.27 och ekv. 2.28. √. √ 2Es 2Es I(t) = cos(4πfc t − φ(t; αi ) + φ0 ) + cos(−φ(t; αi ) + φ0 ) + N0 (2.27) 2Ts 2Ts. √ 2Es 2Es Q(t) = − sin(4πfc t−φ(t; αi )+φ0 )+ sin(−φ(t; αi )+φ0 )+N0 (2.28) 2Ts 2Ts √. I(t) och Q(t) innehåller spegelfrekvenser och måste lågpassfiltereras innan de kan digitaliseras. Spegelfrekvensernas uppkomst kan härledas ur de trigonometriska produktformlerna som beskrivs i ekv. 2.29 och ekv. 2.30. cos(x)cos(y) =. 1 (cos(x + y) + cos(x − y)) 2. (2.29). cos(x)sin(y) =. 1 (sin(x + y) − sin(x − y)) 2. (2.30). 20.

(32) 2.6.4. Matchade Filter. Det första steget i den digitala delen av mottagarmodellen är en bank av matchade korskorreleringsfilter. SOQPSK-TG kan generera 1024 olika vågformer9 under en symboltid, Ts , och en optimal mottagare skulle då behöva 204810 [11] filter av längd Ts . Det är inte praktiskt att implementera en mottagare med så många filter och därför används mottagare med reducerad komplexitet. Flera av de 1024 vågformerna är väldigt lika och antalet kan reduceras med en faktor två, per iteration, genom att ta medelvärdet för de två mest lika vågformerna. Efter korskorreleringsfiltret ska summan av respektive filterkoefficienters kvadrat subtraheras från varje filterresultat i banken [1]. Resultatet av denna subtraktion ger sannolikheten att filtrets motsvarande symbol har mottagits. Ett värde nära noll innebär hög sannolikhet. Korskorreleringsfilterna fungerar även som bandpassfilter och undertrycker därför AWGN-brus. Ekv. 2.31 beskriver filternas funktion. Z ∞ y(t) = x(t) ∗ f (t) = x(t − u)f (u)du (2.31) −∞. 2.6.5. Symbolsynkronisering. Frekvensen på inkommande I(t) och Q(t) är en direkt konsekvens av bithastigheten och förutsätts vara känd av mottagaren. Fasläget på de inkommande signalerna är dock okänt och gör det nödvändigt att utföra en synkroniseringsprocess i mottagaren. Denna process synkroniserar en samplingsklocka med tiden för en symbolperiod. Idealt ska samplingsögonblicket ske precis i övergången mellan två symboler eftersom signalen då har högst SNR och effekten av den tillförda ISI:n från RC-filtreringen kommer att vara minimerad [6]. Denna process kan ske helt i den digitala domänen eller vara en kombination mellan de digitala och analoga delarna. Ett enkelt sätt att utföra denna process digitalt är att hitta maxvärden från ett av de matchade filterna före subtraktionen har utförts och generera en klocka med en period som precis rymms mellan två av dessa maxvärden. Ett maxvärde från det matchade filtret innebär att den inkommande signalen är synkroniserad mot filtrets impulssvar. Detta är dock inte ett optimalt sätt att utföra symbolsynkronisering på eftersom samplingsögonblicket sannolikt aldrig kommer att infalla i det optimala utan med en viss variation runt detta ögonblick. Denna variation uppstår på grund av att mottagarens klocka kommer att driva i förhållande till klockan i sändaren som genererar signalen, och vice versa. Denna klockdrift kommer även att intruducera utdragningar eller ihoptryckningar av den genererade samplingsklockan med jämna mellanrum beroende på vilken av klockorna som går snabbast. Det finns fler mer avancerade metoder som bygger på att interpolera11 värden som matas till de matchade filterna och sedan använda någon av algoritmerna 9 Det stora antalet vågformer beror på den införda ISI-effekt som gör att symbolutseendet är beroende av ett visst antal tidigare pulser. 10 1024 filter för I-kanalen och 1024 filter för Q-kanalen 11 Att uppskatta värden mellan samplade värden.. 21.

(33) ‘Early-late gate’, ‘Mueller and Muller’ eller ‘Gardner’ som beskrivs i [6]. Dessa algoritmer genererar en felsignal som sedan återkopplas till interpolatorn. Samplingsklockan genereras på liknande sätt som i föregående metod men med skillnaden att när samplingsögonblicket inträffar så har interpolatorn utfört en kompensering av fasdriften och samplingen kommer då vara väldigt nära den optimala. Interpolatorn utför alltså en kompensering av klockdriften och är en bättre synkroniseringsmetod än den tidigare nämda, den är dock inte perfekt på grund av de eventuella små fel som kommer att finnas i de interpolerade värdena. Det tredje alternativet är en kombination mellan den digitala och analoga domänen och fungerar genom att någon av de ovanstående algoritmerna används på utdatan från de matchade filterna för att generera en felsignal. Denna felsignal återkopplas till en analog VCO som genererar klockan till mottagarens A/D-omvandlare [21]. Detta innebär att fasen på de inkommande signalerna kommer att vara helt synkroniserade mot de matchade filternas impulssvar. Samplingsklockan genereras i detta fall även på liknande sätt som tidigare med skillnaden att inga utdragningar eller ihoptryckningar kommer att ske tack vare den nästan perfekta synkroniseringen mella mottagarens och sändarens klockor. Sampling av data från de matchade filterna kommer alltid ske så nära det ideala ögonblicket som upplösningen på VCO:n tillåter.. 2.6.6. Viterbi / MLSE. Åren 1967 och 1972 var två viktiga år för informationsteorin. De åren gavs det ut uppsatser av Andrew Viterbi och David Forney som beskrev ett nytt sätt att avkoda faltningskoder och undertrycka ISI:n. Detta var viktigt eftersom kommunikation med hög datatakt innebär att man ökar effekten av ISI markant. I tidigare implementationer använde man mottagare av typen symbol-by-symbol eller integrate-and-dump, men dessa kunde inte minska bitfelssannolikheten och nya modeller för mottagare behövdes. Tidigare implementationer för att undertrycka ISI-effekten infattade linjära equalizer :s (EQ) och beslutsåterkopplade EQ:s, men dessa visade sig inte lämpade för att lösa problemen med ISI. När viterbi-algoritmen lades fram ändrades mycket om hur mottagaren kunde konstrueras och hur ISI kunde hanteras. Viterbi lade fram förslaget att faltningskodad kommunikation kunde ses som en struktur som genererades av en ändlig tillståndsmaskin, och på så sätt kunde avkoda datan genom att sätta upp regler och antaganden kring stukturen och registrera hur signalen fortplantade sig i strukturen. Mellan MF-banken och viterbi-avkodaren finns ofta en Soft Quantizer som kvantiserar värdena från filterna till sannolikheter enligt tab. 2.3. Sannolikhetsbitarna skickas sedan in till viterbi-algoritmen som generellt sett är en nodstruktur. Viterbi-algoritmen börjar med att räkna ut en slags ‘metric’ till nästa lodräta rad av noder genom en fördefinierad ‘metric’-alogritm12 . Efter en godtycklig längd (s.k. djup) av uträkningar spåras datan ut ur vägen som insignalen med största sannolikhet tagit. På detta sätt kan korta störningar och fel som t. ex. ISI undertryckas effektivt av en viterbiavkodare. Problemet med Viterbiavkodare är att mottagarstrukturen kan bli mycket komplex, beroende på vilka egenskaper man implementerar i viterbi-algoritmen, 12 Algoritmen beskriver sannolikheten att signalen propagerat mellan två noder, ofta används ‘Euclidian distance’.. 22.

(34) Kvantiserat värde 000 001 010 011 100 101 110 111. Betydelse Starkast 0:a Relativt stark 0:a Relativt svag 0:a Svagaste 0:a Svagaste 1:a Relativt svag 1:a Relativt stark 1:a Starkast 1:a. Tabell 2.3: ‘Soft-Quantizer’-nivåer. men den är fortfarande mycket populär på grund av sin effektivitet vid lägre djup. Forney utvecklade sedan teorin kring viterbi-algoritmen. Han föreslog att ISI kunde modelleras som en process driven av en ändlig tillståndsmaskin. Denna tekniken blev känd som maximum likelihood sequence estimation (MLSE). Det visade sig att MLSE implementeringen kunde undertrycka alla ISI på vissa enklare kanalmodeller, men inte med samma effektivitet under mer komplexa förhållanden.. 2.6.7. Differentialavkodning. Efter viterbi-algoritmen utrönat vilka noder i trellisträdet13 signalen passerat, ger den vidare informationen till differentialavkodaren. Differentialavkodarens uppgift är att lösa ut den faktiskt skickade datan från sändaren utifrån noderna signalen befunnit sig i. Viterbi-algoritmen beskriver I[n] och Q[n] i konstellationsdiagramet för varje symbol, och avkodaren räknar ut vilken data som skickats utifrån övergångarna mellan de olika konstellationspunkterna. Efter avkodaren mottagit två I[n] och Q[n]-par utröner avkodaren vilka databitar som skickats. På grund av den differentiella kodningen är alla tillstånd som inte ändrar sig från ett I[n] och Q[n]-par till ett annat alltid utdatan ‘02 ’, medans alla par som ändrar sig mellan två efterföljande tillstånd alltid är ‘12 ’.. 2.6.8. Optimal mottagning. När man designar en mottagare brukar man utgå från en modell man kallar optimal mottagare. En optimal mottagare är en ideal modell av hur en mottagare ska se ut under teoretiska förhållanden. Det går inte alltid att implementera en ideal mottagare, dels på grund av komplexiteten och/eller på grund av att den modellerade verkligheten inte agerar på samma sätt som verkligheten gör. Man använder denna modell för att kunna utgå från ett startläge i designprocessen, och att man alltid kan jämföra prestandan med en teoretiskt ideal motsvarighet. T. ex. beskriver Shannon-Hartleys [2] lag om kanalutnyttjande, C = B × S ) den teoretiskt högsta kapaciteten och kan ge ett referensvärde för sin log(1 + N implementation. Det går att uppskatta matematiskt vilken effekt på signalnivån, 13 Nodstrukturen. i viterbi-algoritmen benäms ofta som ett trellisträd eller en trellis.. 23.

(35) Figur 2.17: Bitfelssannolikhetsjämförelse. S, för att kunna utnyttja kommunikationslänken i brus med effekten N med kapaciteten C. En vanlig jämförelse man gör med sin mottagare och den optimala mottagaren är en bitfelssannolikhetsjämförelse. Detta ger en snabb överblick av den viktigaste aspekten av kommunikation, d.v.s. att kunna ta emot felfri information. I fig. 2.17 kan man se en jämförelse mellan några olika modulationsteknikers teoretiskt optimala bitfelssannolikheter. Man kan även se att differentiell kodning (DSOQPSK14 och DBPSK) har en negativ effekt på bitfelsannolikheten. Detta beror på att differentialkodningen är rekursiv, d.v.s. en sänd databit kommer att påverka nästa skickade bit.. 14 Tidigare beskrivna versioner av SOQPSK är även differentiellt kodade. DSOQPSK i sammanghanget är för att kunna skilja på differentiell och icke differentiell kodning.. 24.

(36) Kapitel 3. Implementation I den implementerande delen av projektet gjordes simuleringar av både sändaren och mottagaren i MATLAB och GNU Octave. Det gjordes för att ha en referensdesign och jämföra de hårdvaruimplementerade delarna. Eftersom felsökning är mycket otympligt att utför i hårdvara, och speciellt VHDL, försöktes debuggning av implementeringarna utföras så mycket som möjligt på mjukvarusimuleringarna. Simuleringarna ger även bra referensjämförelser för hur bra mjukvaruidén är implementerad i hårdvaran. Många delar av sändaren och mottagaren är lättare att implementera i mjukvaran på grund av många saker, men först och främst att man kan arbeta med finita sekvenser information och manipulera hela informationsvektorn utan att ta hänsyn till någon tidssekventiell ordning. Detta går inte att göra i hårdvaran då systemet ska arbeta i realtid och modulera/demodulera inkommande signaler tidssekventiellt. Även att man kan arbeta på enstaka inbitar för att se enskilda effekter är det en stor fördel med att simulera delar av designen först. MATLAB1 valdes som simuleringsmiljö på grund av ett mycket utbrett funktionsbibliotek. Detta är en stor fördel då simuleringen ska implementeras. Istället för att skriva alla funktioner från början, finns många redan implementerad. I detta kapitel kommer först en kort beskrivning av den mjukvarubaserade designen. Sedan kommer hårdvarudesignen som implementerades tas upp.. 1 I resterande delar av rapporten kommer endast MATLAB nämnas som simuleringsmiljö men innefattar då även GNU Octave.. 25.

(37) 3.1 3.1.1. Mjukvaruimplementering Modulator. Figur 3.1: Mjukvarumodulator struktur. Modulatorn börjar med att läsa in en förutbestämd sekvens data, an , och skickar den till differentialkodaren som kodar om indatan enligt ekv. 2.18. Samma funktion i simuleringen mappar även om de differentialkodade bitarna med alpha-kodningen beskriven i ekv. 2.19. Sekvensen med data skickas vidare till RC-filtret som ska pulsforma indatan, i enighet med standarden för SOQPSKTG [19]. Både fönsterfunktionen, w(t) beskriven i ekv. 2.17, och RC-pulsen, n(t) från ekv. 2.16, beräknas utan inbyggda funktioner i MATLAB för att kunna skräddarsy inställningarna och resultatet från modulatorn. Funktionen returnerar faspulståget, φ(t; αi ). I(t) och Q(t) räknas ut med [17]: I(t) = cos(φ(t; αi )) Q(t) = sin(φ(t; αi )). (3.1) (3.2). Fig. 3.2 visar simulerade resultat för faspulsen, φ(t; αi ), de överlagrade frekvenspulserna, f (t), och alphapulserna, αi , med indatasekvensen ‘10101011102 ’. Fig. 3.3 visar simulerade vågformer för I(t) och Q(t) som ges av ekv. 3.1 och ekv. 3.2 samt den bandpassmodulerade signalen, v(t), som förekommer i fig. 2.14 och beskrivs av ekv. 2.23 med indatasekvensen ‘10101011102 ’. För att jämföra mjukvarumodulatorn mot känd data och karateristisk från andra källor har utvärderingar av spektraltäthetsdiagram2 , Scatter Plot och ett ögondiagram gjorts. Spektraltätheten visar signalen effektfördelning i frekvensplanet, se fig. 3.4. SOQPSK-TG har en mycket skarp karakteristik jämfört med många andra moduleringar. I Scatterploten visas vart konstellationspunkterna hamnar efter informationen modulerats. Eftersom SOQPSK-TG innefattar en införd ISI kommer punkterna att sprida sig lite kring de ideala konstellationspunkterna. Efter utvärdering av scatterploten i fig. 3.5 som är tagen från mjukvarumodulatorn, kan man se att punkterna hamnar väl inom marginalerna. Även ett ögondiagram visas i fig. 3.6 där man kan se effekten av den tillförda ISI:n, nollgenomgångar och liknande.. 2 Spektraltäthet. kallas ofta för Power Spectral Density (PSD).. 26.

(38) Figur 3.2: Simulerade vågformer för φ(t; αi ), f (t) och αi .. Figur 3.3: Simulerade vågformer för I(t), Q(t) och v(t). 27.

(39) Figur 3.4: Simulerad spektraltäthet.. 28.

(40) Figur 3.5: Simulerad ‘Scatter’-plot.. Figur 3.6: Simulerat Ögondiagram.. 29.

(41) 3.1.2. Demodulator. Mottagaren, eller demodulatoralgoritmen, är även implementerad i MATLAB. Detta ger en möjlighet att utvärdera olika typer av mottagartyper under kontrollerade förhållanden. Modellen som simulerades i MATLAB är en typ av modifierad viterbi-algoritm som utför ‘maximum likelihood’-estimering över 3 symboler. Den modifierades även så att det skulle vara en minimal övergång från MATLAB-implementationen till hårdvara. På grund av att MATLAB-modellen arbetar med ett hög-nivå scriptspråk och på en tämligen kort datasekvens krävdes ändå stora förändringar för att kunna syntetisera liknande mottagare i VHDL.. Figur 3.7: Mjukvarudemodulator struktur. Principen för mottagaren är att den läser in en fil med data representerande filterresultat och arbetar sedan utifrån den. I MF-banken finns fyra3 olika filter som representerar ett medelvärde av de olika symbolerna som kan uppstå i I(t) och Q(t). I 2.6.4 nämns att summan av filterkoefficienternas kvadrat ska subtraheras från respektive filter men detta behövs inte när endast ett medelvärdesfilter ur kategori A t.o.m. D (se fig. 3.8) används vilket är fallet i den implementerade mottagaren. Dock måste summan av filterkoefficienters kvadrat normaliseras så att de är lika för alla filter så att inte sannolikhetsinformationen som skickas vidare till sekvensestimeringen väger olika för olika symboler. I fig. 3.8 visas alla unika vågformer, 256 st symbolformer/filterkategori. I fig. 3.9 visas de medelvärdesbildade filterna som används i MF-banken. När inläsningen är färdig maximerar mottagaren sannolikheten för att signalen tagit en viss väg genom trellisträdet. Fig. 3.10 visar alla möjliga vägar signalen kan gå genom trellisträdet. P.g.a. utformningen av mottagaren kan man sätta upp vissa begränsingar på hur en signal får gå genom trellisträdet. Detta bidrar till att korrigera små fel som kan uppstå av t. ex. snabb fädning eller korta interferensdistorsioner. I fig. 3.10 ser man alla möjliga vägar, med begränsingar, signalen kan gå under 3Ts . Om signalen fick gå utan begränsingar skulle varje slut-nod terminera 64 möjliga vägar genom terllisträdet, men med begränsningarna som sätts upp kan man decimera antalet vägar med en faktor 4. När filterresultaten bearbetats och algoritmen bestämt vilka noder som passerats av signalen, kan demodulatorn beräkna den faktiska skickade informationen utifrån övergångar mellan noderna. I mjukvarumottagaren finns även 3 Totalt är det 8st på grund av att I(t) och Q(t) har en lika uppsättning med filter om 4st/kanal. 30.

(42) Figur 3.8: Överlagrade & kategoriserade MF-former.. Figur 3.9: Medelvärdesbildade MF-former. en bitfelssannolikhetsuträkning implementerad för att kunna estimera effektiviteten på demodulatoralgoritmen. Ett bitfelssannolikhetsdiagram från mjukvarudemodulatorn kan ses i fig. 3.11. I diagramet finns en jämförelse mellan den implementerade demodulatoralgoritmen och en enkel ‘symbol-by-symbol’mottagare4 .. 4 En ‘symbol-by-symbol’-mottagare avkodar utdatan direkt från MF-banken utan att utföra någon sannolikhetsestimering.. 31.

(43) Figur 3.10: Trellisträd.. Figur 3.11: Simulerad bitfelssannolikhet.. 32.

(44) 3.2. Hårdvaruimplementering. Hårdvaruimplementationen i projektet utfördes med två utvecklingskort från Altera. Utvecklingskorten används till sändaren respektive mottagaren. Programvaran för att simulera och syntetisera designen är Alteras Quartus II v7.2. Utvecklingskorten är bestyckade med Cyclone II FPGA:er och två DA/ADomvandlare där ett DA/AD-par används för I(t) och ett par till Q(t). Mellan utvecklingskorten kopplas lågpassfilter av första ordningen med en brytfrekvens på 50 MHz för att filtrera bort kvantiseringsbrus skapat av D/A-omvandlaren. Delar av designen använder Alteras IP-block vilka är färdiga bibliotek med olika funktioner, t. ex. FIR-filter och NCO. För felsökning i hårdvaran används IP-blocket Signal Tap II vilket är en logikanalysator som använder det inbyggda minnet i FPGA-kretsen för att spela in datasekvenser som sedan överförs till Quartus via en JTAG-anslutning.. 3.2.1. Hårdvara / Utvecklingskort Altera Cyclone II DSP Utvecklingskort. FPGA FPGA-modell Logiska element Inbyggda 18x18 multiplikatorer M4K RAM-block (4kbit + 512 paritetsbitar) PLL:er Totalt antal RAM-bitar I/O-pinnar D/A-Omvandlare D/A-modell Omvandlingshastighet Upplösning A/D-Omvandlare A/D-modell Omvandlingshastighet Upplösning. Altera Cyclone II EP2C70F672 68416 st 150 st 250 st 4 st 1152000 st 422 st Texas Instruments DAC904 165 MSampels/s 14 bitar Texas Instruments ADS5500 125 MSampels/s 14 bitar. Tabell 3.1: Hårdvaruspecifikationer för utvecklingskort.. 33.

(45) 3.2.2. Blockfunktioner för sändaren. Implementationen av sändaren gjordes i tre olika versioner anpassade för olika datatakter. Grundidén med de olika versionerna är att systemklockan på 100 MHz som FPGA:n och DA/AD-omvandlarna använder ska vara en jämn multipel av datatakten, 5x ger en datatakt på 20 Mbit/s och 10x ger 10 Mbit/s. Den tredje versionen av sändaren är anpassad för en systemklocka på 120 MHz och en datatakt på 30 Mbit/s vilket ger en multipel på 4x. En systemklocka med godtycklig frekvens genererad av samma enhet som genererar indatan skulle även kunna användas med restriktionerna att denna klocka är en jämn multipel på 4x, 5x eller 10x av datatakten och givetvis att FPGA:n klarar av denna frekvens samt att respektive version av sändaren används. Alla tre versionerna har klarat en frekvens upp till 150 MHz enligt Quartus tidsanalysering. Med tre olika versioner av sändaren kan upplösningen på de genererade I(t) och Q(t)-signalerna ökas vid låga datatakter då pulsformningsfiltret arbetar med fler koefficienter per databit. En annan möjlighet istället för att öka upplösningen är att använda 4x-versionen vid låga datatakter vilket innebär en lägre frekvens på systemklockan och det ger en minskad effektförbrukning. En kompromiss mellan upplösning och energieffektivitet är 5x-versionen som kan användas i intervallet 0-30 Mbit/s. Tab. 3.2 visar hur mycket av FPGA:ns resurser som de olika versionerna använder. Fig. 3.12 visar ett funktionsblockschema över hårdvaruimplementationen av sändarmodellerna.. Modell 4x 5x 10x. Resursutnyttjande Logiska element [st] Minne [bitar] 1,734 212,992 1,951 212,992 2,705 212,992. Tabell 3.2: Resursutnyttjande för de olika sändarmodellerna.. Figur 3.12: Funktionsblockschema för hårdvarumodulatorn. 34.

References

Related documents

[r]

Om vi bortser från förare 8 som slutade köra mitt i ökar snittvärdet på korrelationen, för samtliga förare och för Active Attentions mått AA3, från 0.68 till 0.79 vilket

[r]

I denna uppsats avser jag att undersöka hur genetiska algoritmer fungerar i teorin. Jag avser även att undersöka hur genetiska algoritmer tillämpas mot the

Gå igenom listan, och för varje anställd så adderar man du personens lön till det skrivna talet. När man nått slutet på listan så är det ned skrivna

Däremot hade de inte reflekterat i vidare stor utsträckning kring de begränsningar som dessa kan innebära för deras musikkonsumtion, vilket också besvarar studiens

Etisk forskning rörande algoritmer och faktorer som påverkar deras beslutstagande är ett ämne som är relevant i vårt samtida samhälle eftersom att våra interaktioner blir allt mer

”bakåt” länk newNode:s ”framåt” länk = nodeAfter newNode:s ”bakåt” länk = nodeBefore. nodeBefore:s ”framåt” länk =