Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ......

55
Department of Science and Technology Institutionen för teknik och naturvetenskap Linköping University Linköpings Universitet SE-601 74 Norrköping, Sweden 601 74 Norrköping LiU-ITN-TEK-A--09/026--SE Binär FSK-modulation Oscar Eriksson 2009-05-11

Transcript of Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ......

Page 1: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Department of Science and Technology Institutionen för teknik och naturvetenskap Linköping University Linköpings Universitet SE-601 74 Norrköping, Sweden 601 74 Norrköping

LiU-ITN-TEK-A--09/026--SE

Binär FSK-modulationOscar Eriksson

2009-05-11

Page 2: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

LiU-ITN-TEK-A--09/026--SE

Binär FSK-modulationExamensarbete utfört i elektronikdesign

vid Tekniska Högskolan vidLinköpings universitet

Oscar Eriksson

Handledare Jonas PerssonExaminator Ole Pedersen

Norrköping 2009-05-11

Page 3: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

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 extra-ordinä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örickekommersiell forskning och för undervisning. Överföring av upphovsrättenvid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning avdokumentet kräver upphovsmannens medgivande. För att garantera äktheten,säkerheten och tillgängligheten finns det lösningar av teknisk och administrativart.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman iden omfattning som god sed kräver vid användning av dokumentet på ovanbeskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådanform eller i sådant sammanhang som är kränkande för upphovsmannens litteräraeller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press seförlagets hemsida http://www.ep.liu.se/

Copyright

The publishers will keep this document online on the Internet - or its possiblereplacement - for a considerable time from the date of publication barringexceptional circumstances.

The online availability of the document implies a permanent permission foranyone to read, to download, to print out single copies for your own use and touse it unchanged for any non-commercial research and educational purpose.Subsequent transfers of copyright cannot revoke this permission. All other usesof the document are conditional on the consent of the copyright owner. Thepublisher has taken technical and administrative measures to assure authenticity,security and accessibility.

According to intellectual property law the author has the right to bementioned when his/her work is accessed as described above and to be protectedagainst infringement.

For additional information about the Linköping University Electronic Pressand its procedures for publication and for assurance of document integrity,please refer to its WWW home page: http://www.ep.liu.se/

© Oscar Eriksson

Page 4: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Abstract

This report is written to a masters thesis project at Linköping University. Theproject has been executed at a small company in Norrköping, Field Embedded Com-munications AB.

The report covers the development of a software repository for MSK modulation.The code is developed in a modular fashion in order to increase flexibility thusmaking the code adaptible for different hardware platforms.

The report contains information about:

• Modulation design

• Software simulations

• Hardware tests

No code is included for competitional reasons.

Sammanfattning

Denna rapport är skriven till ett examensarbete på 30hp utfört vid Linköpings Uni-versitet. Arbetet har utförts på ett litet företag i Norrköping, Field Embedded Com-munications AB.

Rapporten behandlar utvecklingen av ett mjukvarubibliotek för modulation av typenMSK. Koden är modulärt uppbyggd för maximal flexibilitet då den enkelt ska kunnaanpassas för olika hårdvaruplattformar.

De delar som presenteras är:

•••• Design av modulationsalgoritmer

• Simulationer av algoritmerna

• Test i hårdvara

Av konkurrensskäl är ingen programmeringskod bifogad.

i

Page 5: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 6: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Innehåll

1 Inledning 1

1.1 Bakgrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Syfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Designdirektiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Avgränsningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Teori 3

2.1 Signaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 Brus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.2 Spektraltäthet . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.3 Ortogonalitet av signaler . . . . . . . . . . . . . . . . . . . . 4

2.1.4 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.5 CODEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Datakommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 Kommunikationssystem . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.3 Mjukvaruradio . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.4 Bitar och symboler . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.5 Basband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Digital modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

iii

Page 7: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

iv Innehåll

2.3.1 FSK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.2 MSK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Superheterodyn arkitektur . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Design 13

3.1 Hårdvara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Mjukvara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Sändare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5 Mottagare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.5.1 Synkronisering . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.5.2 Avkodning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Simulering 19

4.1 Bruskänslighet av demodulering . . . . . . . . . . . . . . . . . . . . . 19

4.1.1 Beskrivning av simulation . . . . . . . . . . . . . . . . . . . . 20

4.1.2 Simulationsresultat . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2 Bruskänslighet av synkronisering . . . . . . . . . . . . . . . . . . . . 21

4.2.1 Beskrivning av simulationen . . . . . . . . . . . . . . . . . . . 21

4.2.2 Simulationsresultat . . . . . . . . . . . . . . . . . . . . . . . . 22

4.2.3 Beskrivning av simulation med lågpassfilter . . . . . . . . . . 23

4.2.4 Simulationsresultat med lågpassfilter . . . . . . . . . . . . . . 24

4.3 Drivning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.3.1 Beskrivning av simulationen . . . . . . . . . . . . . . . . . . . 25

4.3.2 Simulationsresultat . . . . . . . . . . . . . . . . . . . . . . . . 25

5 Implementation 29

5.1 Laboreringsplattform . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.1.1 Tait-radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.1.2 ARM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Page 8: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

5.2 Test mellan två datorer . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.2.1 Sändare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.2.2 Mottagare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2.3 Resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.3 Test mellan dator och mikrokontroller . . . . . . . . . . . . . . . . . 33

5.3.1 Anpassning av mjukvara . . . . . . . . . . . . . . . . . . . . . 33

5.3.2 Processoranvändning . . . . . . . . . . . . . . . . . . . . . . . 33

5.3.3 Resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 Rekommendationer för fortsatt arbete 37

7 Slutsatser 39

Nomenklatur 41

Förteckningar 43

Litteraturförteckning 45

Page 9: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 10: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 1

Inledning

Denna rapport är skriven till ett examensarbete på 30hp utfört vid LinköpingsUniversitet. Arbetet har utförts på ett litet företag i Norrköping, Field EmbeddedCommunications AB. Företaget grundades 2007 i Norrköping av Henrik Bergströmoch Jonas Persson. Fields huvudsakliga verksamhetsområde är elektronik- och system-konstruktion inom inbyggda system, telemetri och radioteknik.

1.1 Bakgrund

Genom att utveckla ett mjukvarubibliotek för modulering kan en generell processormed några få kringkomponenter ersätta relativt dyra kretsar för modulation. Dettareducerar komponentkostnader samt sparar utrymme på mönsterkort. Att utföramodulation i mjukvara medför även ökad flexibilitet då färdigtillverkade kretsarvanligen är låsta till exempelvis en viss typ av modulation.

1.2 Syfte

Rapporten behandlar arbetet att ta fram ett generellt mjukvarubibliotek för attmodulera och demodulera data med FSK modulation. Koden ska vara modulärtuppbyggt för att enkelt kunna användas av olika hårdvaruplattformar. Den mod-ulerade signalen ska sändas via radio av superheterodyn arkitektur, således kommermodulationen genomföras på basbandssignalen.

1

Page 11: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

2 Inledning

1.3 Metod

Arbetet att ta fram mjukvarubiblioteket har delats in i tre delar:

• Design och programmering

• Simulation

• Tester i hårdvara

Vid det första steget valdes parametrar rörande modulation och arkitektur av program-varan. Denna simulerades sedan för att säkerställa funktionalitet. Till sist utfördespraktiska test i hårdvara för att kontrollera funktion i praktiken.

Under arbetets gång utfördes dessa delar iterativt då fel och buggar upptäcktes isenare steg.

1.4 Designdirektiv

• Programmeringskoden ska vara modulärt uppbyggd då det underlättar förvidare utveckling

• Programbiblioteket ska med smärre modifikationer kunna exekveras på olikahårdvaruplattformar

• Vid utveckling ska open source programvara användas

1.5 Avgränsningar

• Endast binär signalering ska nyttjas

• Enbart skriva mjukvara för fysiska lagret enligt OSI modellen, vilket innebär:

– Ingen kollisionshantering

– Ingen adressering

– Ingen vidarelänkning

– Ingen återsändning

• Datatransmissionen är okrypterad

• Ingen felkorrigeringsalgoritm används

Page 12: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 2

Teori

I detta kapitel kommer bakgrundsteori att behandlas, mest för att underlätta förläsaren. De begrepp som kommer diskuteras, kommer diskuteras i korthet, vilketinnebär att de är långt ifrån fullständiga. Om mer information önskas, hänvisasläsaren till att på egen hand studera respektive källa.

2.1 Signaler

2.1.1 Brus

En av de största orsakerna till databortfall i trådlösa överföringar är brus. Brus ären slumpartad process som kan bero på flera källor, tex: termiskt brus genereratav RF-komponenter och brus från atmosfärisk strålning. Signalen kommer såledespåverkas av brus både i luften och i hårdvaran [6]. Omvandlingen från analog tilldigital signal kommer även den att introducera brus i form av samplingsbrus [8], merom det i 2.1.4.

Bruset kommer uppträda som en slumpartad spänning eller ström, vilket leder till attdet inte går att förutsäga dess värde. Av den anledningen måste brus ses med statis-tiska mått. Vanligt är att brus anges i effektivvärde för ett specifikt frekvensintervall.Generellt kan brus iakttagas som en statistisk fördelning över frekvensinnehållet ibrussignalen, detta kallas för brusets spektraltäthet och anges i datablad ofta somEN√B

där EN är brusets medelvärde och B är brusbandbredden. Detta får då följak-

tligen enhetenV√Hz

.

Då brusets amplitud varierar slumpartat och är normalfördelat brukar det kallas förvitt brus. Anledningen till att det kallas för just vitt brus är att spektraltätheten är

3

Page 13: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

4 Teori

likformigt fördelad i frekvensplanet, på samma sätt som vitt ljus innehåller samtligafärger. Andra namn på vitt brus är termiskt brus och Johnson-brus. Det vita brusetuppkommer på grund av elektriska laddningars värmerörelser i ledarmaterialet, dåatomer och elektroner slumpvis byter position på grund av materialets temperatur.

Ett vanligt och användbart sätt att presentera brus är förhållandet mellan signal-styrka och brusstyrka, detta kallas för signalbrusförhållande eller på engelska Signal

to Noice Ratio, SNR. Detta definieras som kvoten mellan signal och brus och angesvanligen i decibel. [4]

SNR =PsignalPbrus

=U2

signal

U2

brus

(2.1a)

SNRdB = 10 · logPsignalPbrus

= 20 · logUsignalUbrus

(2.1b)

2.1.2 Spektraltäthet

En signals energi- eller effektdistribution i frekvensdomänen kallas för spektraltäthet.Detta koncept är användbart då signaler filtreras. [9]

2.1.3 Ortogonalitet av signaler

En mängd signaler {ψj(t)} som uppfyller kravet,

T∫

0

ψj(t)ψk(t)dt = Kjδjk , där δjk =

{

1 då j = k

0 annars(2.2)

sägs vara ortogonala. När funktionerna {ψj(t)} är normaliserade så att Kj = 1, sägssignalerna vara ortonormala.

En anledning att fokusera på ortogonala signaler är att dessa, likt enhetsvektorer,kan användas som basvektorer för att spänna upp ett signalrum. Alla signaler kan påså vis uttryckas som en linjärkombination utav basvektorer, vilket nyttjas i signal-mottagararkitekturer för att detektera olika signaler. Rent teoretiskt behöver baravektorerna ligga i olika plan för att åstadkomma detta, men då de är ortogonalakommer det euklidiska avståndet mellan dessa att vara maximalt. Det leder till attde inkommande signalerna med större säkerhet kan bestämmas, då det euklidiskaavståndet mellan basvektorerna (referensfrekvenserna) är så stort som möjligt. [9]

Page 14: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

2.1 Signaler 5

2.1.4 Sampling

Då många signaler är analoga, krävs att dessa omvandlas till digitala då de skabehandlas i en processor. Processen att omvandla en kontinuerlig-tidssignal till endiskret-tidssignal kallas för sampling. Det innebär att en analog signal avläses up-prepade gånger med ett känt tidsintervall.

För att kunna lagra och behandla dessa mätvärden, eller sampels, krävs att de kvan-tiseras till kända nivåer. Antalet nivåer som används brukar kallas för ordlängd ellerupplösning. Eftersom att den riktiga signalen kommer avrundas till närmaste kändanivå, innebär det att den samplade signalen kommer vara felaktig. Detta fel kan sessom en typ av brus som brukar kallas för kvantiseringsbrus. Om upplösningen ökarkommer således kvantiseringsbruset att minska.

Samplingsintervallet, eller samplingstakten, bestäms utav frekvensinnehållet i sig-nalen som samplas. Enligt Shannons samplingsteorem krävs en samplingstakt påminst dubbla frekvensen av högsta frekvensbidraget i signalen, fM , för att kunnarepresentera signalen korrekt. [8]

fs ≥ 2fM (2.3)

Enligt [9] och många andra källor kallas detta teorem för Nyquist kriteriet.

Om Shannonkriteriet i ekvationen 2.3 inte uppfylls, kommer en effekt kallad vikn-

ingseffekten att introduceras. Kort innebär det att frekvenser högre än halva sam-plingstakten kommer ge upphov till felaktiga frekvenskomponenter i signalen. Ob-servera att Shannonkriteriet bara ger minsta möjliga samplingsfrekvens, i verk-ligheten är oftast en högre samplingstakt önskvärd.

Den parameter som oftast bestämmer samplingstakt och upplösning är beräkning-shastigheten i hårdvara. Om upplösningen ökar, medför det ökade beräkningstiderdå talen blir större. Om istället samplingstakten ökar kommer behandlingstiden avvarje sampel minska, vilket ställer krav på snabbare beräkningar. [8]

2.1.5 CODEC

CODEC står för CODer - DECoder, vilket betyder kodning och avkodning. Denfungerar som ett gränssnitt mellan analoga- och digitala signaler och är primärtutvecklad för telekommunikation. En CODEC är i stort sett uppdelad i två kanaler,en för att omvandla analog till digital, ADC, och en för att omvandla digital tillanalog, DAC. Ett blockschema för att tydliggöra en CODEC visas i figur 2.1.

För att förhindra vikningsdistortion är ett lågpassfilter monterat innan ADC:n ochett rekonstruktionsfilter är monterat efter DAC:en. Rekonstruktionsfiltret är ett låg-passfilter som har till uppgift att jämna till utsignalen och förhindra uppkomsten avfelaktiga frekvensbidrag. Idealt har bägge filter linjär fasgång, platt frekvensgång i

Page 15: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

6 Teori

passbandet samt en brant övergång till spärrbandet vid halva samplingshastigheten.[8]

Figur 2.1. Blockschema över en generell CODEC

2.2 Datakommunikation

2.2.1 Kommunikationssystem

Blockdiagrammet i figur 2.2 visar de olika delarna som finns vid ett generellt datakom-munikationssystem.

Datat formateras först för att sändas, detta kan även innebära att data för felde-tektering och korrigering läggs på den ursprungliga datat. Efter det går det digitaladatat till modulatorn som gör om det digitala datat till vågformer som sedan kansändas genom än sändare. Efter det att vågformerna färdats genom en kanal tasde emot av en mottagare för att sedan omvandlas till digitalt data i demodulatorn.Till sist omvandlas det formaterade datat tillbaka till dess ursprungliga form. Omfeldetektering och felkorrigering är pålagt i första steget, kan man här upptäcka ochi viss mån korrigera felaktigt data.

Synkronisering är till för att signalinformationen i alla block ska vara densamma,detta för att kunna särskilja olika delar i signalen och se till att delarna behandlas irätt ordning. I blockschemat är synkroniseringsblocket ritat utan några förbindelsertill andra block, det är för att synkroniseringen inverkar på de övriga blocken.

Det som skiljer kommunikation över radio från andra system, är att kanalen bestårav luft. Sändaren och mottagaren kommer i det fallet att bestå av radiohårdvara,ofta av superheterodyn arkitektur (beskrivet i 2.4). [9]

Page 16: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

2.2 Datakommunikation 7

Figur 2.2. Blockschema av kommunikationssystem

2.2.2 Modem

Modulation och demodulationsblocken i figur 2.2 brukar tillsammans kallas för mo-dem. Detta är en sammansättning av orden MODulering och DEModualering. Iblandkan även de andra blocken i systemet ingå i det som kallas modem; när detta är falletkan modem tänkas på som den intelligenta delen av systemet, medan sändaren ochmottagaren kan tänkas på som musklerna i systemet. [9]

Anledningen till att datat moduleras är för att kunna kontrollera signalens frekvensspek-trum, vilket innebär att det är möjligt att nyttja bandbredden på ett effektivare sätt.[6] Mer om modulation i sektion 2.3.

2.2.3 Mjukvaruradio

Enligt [7] defineras mjukvaruradio som “a radio that is substantially defined in soft-ware and whose physical layer behavior can be significantly altered through changesto its software”. Det betyder att en radio som delvis är uppbyggt i mjukvara samtatt mjukvaran kan styra hårdvaran kan kallas för en mjukvaruradio. Normalt brukartermen mjukvaruradio syfta till en radio som har en statisk hårdvara men får sinflexibilitet genom mjukvara. En helt konfigurerbar hårdvara som kan programmerasvia mjukvara kallas för mjuk-radio.

Den största fördelen med mjukvaruradio är dess flexibilitet. Till exempel kan sam-ma radio användas till olika applikationer då hårdvaran kan omkonfigureras för attpassa olika system. Nya möjligheter att använda samma radio för applikationer somverkar globalt, då radion i mjukvara kan konfigureras efter regionens radiospecifika-tioner. Med konventionella radios skulle dessa funktioner behöva realiseras i olikahårdvara, vilket skulle leda till ett större och där med dyrare kretskort. I och medatt ändringar kan utföras i mjukvara, minskas även utvecklingstiden för systemet då

Page 17: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

8 Teori

man slipper göra olika revisioner av kretskort samt att uppgraderingsmöjligheternaför radiosystemet ökar. [7]

2.2.4 Bitar och symboler

En bit är en digital signal som endast kan ha två värden, vanligen ett och noll. Datasom skickas är således en ström av bitar som modulerats. Hastigheten på data iströmmen brukar vanligtvis mätas i enheten bitar per sekund, bps.

Om det istället ses till den modulerade signalen, brukar denna delas in i symboler.Varje symbol kan koda n bitar, vilket innebär att det krävs 2n olika symboler för attkunna koda datat. Symbolhastigheten (engelskans baud rate) kan beräknas utifråndatatakten och antalet bitar per symbol enligt ekvationen 2.4. [3]

baud rate =1n· bps (2.4)

2.2.5 Basband

Termen basband syftar till en signal vars spektrum sträcker sig från likström (ellernära likström) till ett ändligt värde, ofta lägre än några megaherz.

I kommunikationssystem behövs det digitala datat omvandlas till analoga vågformersom är kompatibla med kanalen. Dessa analoga vågformer kallas då för basband. Närbasbandssignalen når mottagaren omvandlas den tillbaka till sin digitala motsvarighet.Data som kommer ut från en modulator kallas således för basbandssignal. [9]

2.3 Digital modulation

Målet med digitala kommunikationssystem är att överföra digitala signaler från enplats till en annan. Detta görs vanligtvis genom att modulera en sinusformad bärvågav karaktären,

sc(t) = A · cos(ωt+ φ). (2.5)

Bärvågen har tre frihetsgrader: amplitud (A), frekvens (ω) samt fas (φ). Dessa kananvändas var för sig eller tillsammans för att representera digitala data.

Digitala modulationstekniker har många fördelar gentemot analoga modulation-stekniker inom moderna trådlösa system. Inte nog med att det är enklare att im-plementera krypterings- och felkorrigeringsalgoritmer, digital modulation har ävenfördelar som att signalen är mindre beroende av dämpning och brus. [6]

Page 18: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

2.3 Digital modulation 9

2.3.1 FSK

FSK står för frequency shift keying och betyder frekvensskiftssignalering. Denna sig-nalering innebär att datasignaler representeras av två sinusformade signaler medolika frekvens [6]. Det råder ingen bestämmelse över vilka frekvenser som används,eller hur många signaler som används. Om fler än två signaler används brukar signa-leringen kallas för M -FSK, där M står för antalet nivåer (frekvenser). Matematiskdefinition av normaliserad FSK följer i ekvation 2.6 och ett grafiskt exempel i figur2.3. [9]

sfsk(t) = cos(ωit+ φ)0 ≤ t ≤ Ti = 1, ...,M

(2.6)

0 1 2 3 4

Data

0 1 2 3 4

FSK

0 1 2 3 4Symboler

MSK

Figur 2.3. Jämförelse mellan FSK och MSK

2.3.2 MSK

MSK (minimum shift keying) tillhör modulationskategorin CPM, continuous phase

modulation. Denna typ av modulering innebär att signalen har kontinuerlig fas.MSK skulle då kunna ses som ett specialfall utav FSK, CPFSK, som innebär attfrekvensskiftssignaleringen har kontinuerlig fas. Skillnad mellan FSK och MSK åskådlig-görs i figur 2.3. En positiv följd av kontinuerlig fas är att signalens spektrum kommerbli smalare än vid icke-kontinuerlig fas.

Page 19: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

10 Teori

Ordet minimum i MSK kommer av att de två signalernas frekvenser skall vara or-togonala och skillnaden mellan frekvenserna minimal. Detta markeras i ekvation 2.7av produkten

(

f0 + dk4T

)

där f0 är frekvensen på bärvågen och dk = ±1 för datat.Varje symbol indexeras av bokstaven k.

smsk(t) = cos

[

2π(

f0 +dk4T

)

t+ xk

]

kT < t < (k + 1)T (2.7)

Under varje symboltid, T är xk konstant och kan ha något av värdena, 0 eller π. Dettaär en konstruktion för att se till att smsk(t) får kontinuerlig fas i symbolövergångarnat = kT . En ekvation för att beräkna xk rekursivt presenteras i ekvation 2.8. [9]

xk =[

xk−1 +πk

2(dk−1 − dk)

]

modulo 2π (2.8)

2.4 Superheterodyn arkitektur

Den isärklass vanligaste typen av mottagare idag är superheterodynmottaren somvisas i figur 2.4. Denna mottagararkitektur är resultatet av över 50 års motta-garutveckling och används i majoriteten av datakommunikationssystem, mobiltele-foni, TV, radio samt radarsystem.

När RF-signalen först tas emot av antennen är den mycket svag, således måste denförstärkas för att kunna användas. Efter det blandas signalens frekvens ned genommultiplikation med en given frekvens, denna genereras från lokaloscillatorn, LO. LOvarieras för att kunna selektera vilken bärfrekvens som ska avlyssnas. För att plockabort oönskade frekvensbidrag, bandpassfiltreras den nedblandade signalen. Där eftermatas signalen in i nästkommande block enligt figuren 2.2.

För att ytterligare förbättra selekteringen av bärfrekvensen, är det vanligt att ettbandpassfilter monteras mellan antenn och RF-förstärkare. Detta filter brukar kallasför förvals-bandpassfilter. För att undvika en effekt kallad spegling, brukar även ettbandpassfilter moteras innan blandaren. Hur spegling uppkommer visas i räkneex-empel 2.1.

Vid högre frekvenser används ofta dubbla blandarsteg för att minska fel på grund avostabilitet av lokaloscillatorn. Mottagaren kallas då för dual-conversion superhetero-

dyn mottagare. [6]

Att multiplicera en basbandssignal med en högre frekvens kan kallas för att hetero-dyna1. En heterodyn sändare innebär således att basbandssignalen heterodynas meden bärvågsfrekvens för att sedan förstärkas och matas till en antenn. För att ploc-ka bort oönskade frekvensbidrag från heterodyningen kan signalen bandpassfiltrerasmellan mixern och effektförstärkaren. [9]

1Författarens översättning av det engelska verbet, heterodyne

Page 20: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

2.4 Superheterodyn arkitektur 11

Figur 2.4. Blockschema av superheterodyn-arkitektur

Exempel 2.1

Detta exempel illustrerar hur en signal påverkas av att sändas och sedan mottagasav superheterodyn arkitektur med bärvågen fc. Signalen som skickas är en sinusvåg,m(t) = cos 2πfmt. För att ytterligare förenkla beräkningarna antas förstärkningen ialla steg vara normaliserad.

Steg 1, uppblandning:

s(t) = m(t) · cos 2πfct = / cosα · cosβ = 1

2· cos(α+ β) + 1

2· cos(α− β)/ =

= 1

2· cos 2πt(fc + fm) + 1

2· cos 2πt(fc − fm)

Här noteras att heterodyningen kommer generera två stycken frekvensbidrag centr-erat kring bärvågsfrekvensen. Dessa är varandras spegelbilder, därav spegeleffekten.Om ett det finns ett bandpassfilter för att filtrera bort den ena spegelbilden kom-mer denna frekvenskomponent försvinna, kvar finns då bara frekvenskomponentenfc + fm (eller fc − fm).

Steg 3, nedblandning:

s(t)|BPF ⇒ s′(t) = cos 2πt(fc + fm)

sif (t) = s′(t) · cos 2πfct = cos 2πt(fc + fm) · cos 2πfct =

= 1

2· cos 2πt(2fc + fm) + 1

2· cos 2πt(fm)

sut(t) = sif |BPF ⇒ sut(t) = cos 2πfmt = m(t)

Page 21: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 22: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 3

Design

I detta kapitel kommer främst utformningen av mjukvara diskuteras. Fokus på mjuk-varan har legat vid att få en bra kompromiss mellan processorbelastning och robus-thet. Även valda parametrar kring modulationen kommer diskuteras.

3.1 Hårdvara

Den del som exjobbet omfattar är modulering av basbandssignaler som sedan skakopplas in till befintlig radiodel. Denna radiodel är av superheterodyn arkitekturvilket diskuterats tidigare. Det innebär att signalen in i radiodelen måste vara enanalog spänning. Den processor som ska sköta signalbehandlingen måste därför kop-plas ihop med ett analogt gränssnitt, detta sker via en ljudcodec. Figur 3.1 visarblockdiagram över hårdvaran.

Figur 3.1. Blockschema över systemets hårdvara

Under arbetets gång har processor och codec varit okänd, vilket lett till att kodenär så generellt utformad som möjlig. Den är uppdelad i block för att på ett smidigtsätt kunna anpassas efter godtycklig hårdvaruplattform. För att enkelt kunna testaoch utvärdera koden har en vanlig PC med Linux som operativsystem använts somtestplattform.

13

Page 23: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

14 Design

3.2 Mjukvara

Det primära programspråket som används är C. Detta valdes då det är ett allmäntvedertaget programmeringsspråk där det finns gott om kompilatorer till olika plat-tformar. Kompilatorn som använts tillhör GCC, då denna är lätt tillgänglig till linux.Alla algoritmer och databehandling är skriven i C kod, vilket medförde att tester avdessa även de skrevs i C kod.

För att presentera data har python och pythonbilbioteket numpy använts. Valet avdetta föll på att det är gratis, enkelt att använda samt att resultatet blir bra.

All kod är skriven i mindre moduler, detta för att på ett flexibelt sätt kunna anpassaefter olika plattformar. Till exempel räcker det att ändra i ljud-modulen om codecbytes. Modulstrukturen innebär även att det är enkelt att i efterhand kunna läggatill nya funktioner samt återvinna funktioner i andra sammanhang.

3.3 Modulation

Den modulationstyp som valts är MSK. Exjobbets ursprungliga tanke var att nyt-tja två nivåers frekvensskift, men då specialfallet av FSK, MSK, har något smalarebandbredd har denna valts. Demodulatorarkitekturen, som diskuteras senare i kapit-let, fungerar för både FSK och MSK. Då frekvensskift av radiovågen sker genom attmodulera bärvågen med en sinusformad basbandssignal, genereras två sinusvågormed olika frekvens för att markera ettor och nollor. På så vis går det att tala omfrekvenser även på basbandssidan.

Då MSK innebär att frekvenserna på basbandet är ortogonala, har mark-frekvensen

valts till halva datatakten och space-frekvensen till samma frekvens som datatakten.Ser man istället på vågformer, kommer mark-signalen vara en halv period per symboloch space-signalen en hel period per symbol. Ett bevis på att dessa signaler ärortogonala visas nedan.

∫ T

0s1(t)s2(t) dt =

0sin x · sin x

2dx =

=∫ π

0sin 2y · sin y dy = / Standardintegral enligt [2] / = 0

Ytterligare ett bevis för att dessa frekvenser är giltiga följer av ton-separationsegenskapernai ekvation 2.7

(

f0 +1

4T

)

−(

f0 −1

4T

)

=1

2T=R

2.

Page 24: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

3.4 Sändare 15

3.4 Sändare

För att generera modulerat data med så liten inverkan på processorn som möjligt,har två förgenererade LUT används för att snabbt kunna generera det moduleradedatat. Dessa tabeller beräknas i initieringsskedet av algoritmerna, tillsammans medannan nödvändig data. För att undvika att använda flyttal måste det gå ett jämntantal samples per symbol, vilket är lätt att kontrollräkna då antalet samples persymbol kan beräknas enligt,

SamplingshastighetSymbolhastighet

= Antal sampelpunkter per symbol (3.1)

Sampel datat är lagrat i formatet s161 då många ljudcodecs stödjer detta format.Vanliga ljudkort stödjer även de vanligen det formatet, vilket innebär att man kanskriva direkt till ljudkortet i PC miljö för att med ljudkortet generera den moduleradesignalen.

Rent praktiskt användade av modulations algoritmen visas i exemplet 3.1.

Exempel 3.1

I kodexemplet kommer 2 bytes (0x23 och 0xA2) moduleras med en datatakt på4800, sampelhastighet som är 48000 och en amplitud på 10000. Detta betyder attdet kommer gå 10 samplingar per symbol. Dessa kommer ha en amplitud på 10000vilket betyder 30% av maximal amplitud.

u16 baudRate = 4800;

u16 sampleRate = 48000;

u16 amplitude = 10000;

u08 msg[2] = {0x23, 0xA2};

u08 msgLength = 2;

s16 signal[1000];

u32 signalLength = 1000;

msk_t *m = MSK_init(baudRate, sampleRate, amplitude);

MSK_modulate(m, &msg, msgLength, &signal, &signalLength);

1Egen deklarerad datatyp av 2-komplementsdata i 2 bytes

Page 25: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

16 Design

3.5 Mottagare

För att nyttja hårdvara på ett så smidigt sätt som möjligt, har läsning och avkodningav data delats in i två olika block som exekveras samtidigt enligt så kallad pipeline-

struktur. Detta innebär att data samplas från ljudcodecen och lagras i en buffert,medan föregående buffert avkodas parallelt. För att åstadkomma detta i C skerinläsningen i en separat tråd, medan avkodning sker i main-loopen. Efter datatavkodas väntar den på att sampelbufferten skall fyllas för att sedan börja om igen.

Figur 3.2. Funktionsskiss av mottagararkitekturen

Fördelen med att läsa in data i buffertar är att DMA kanaler kan nyttjas. Dettaleder till att mycket data kan flyttas medan processorn jobbar med annat.

Genom att avkoda och lagra samplingar samtidigt, minskas både minnesanvändningoch tid då ett medelande tas emot. Det ställer dock kravet på demodulationsalgo-ritmerna att de klarar att avkoda data över blockgränserna.

Demodulatorn som valts är av koherent typ. Det innebär att signalens fas måstevara känd. För att kunna avkoda data krävas att avkodningen delas in i två steg:synkronisering och avkodning. Först sker synkronisering sedan avkodning. En bildpå ett datapaket visas i figur 3.3.

Figur 3.3. Datapaket i lägsta lagret

3.5.1 Synkronisering

Synkronisering är till för att få reda på var själva informationsbärande signalenbörjar. Detta kan indelas i två delar: Preambel- och ordsynkronisering. Preambel-

Page 26: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

3.5 Mottagare 17

synkroniseringen är till för att detektera att det är en signal som skickas, samt attsynkronisera fasläget mot den interna referensfasen. Sedan för att veta när signalenbörjar används ordsynkroniseringen.

Den preambelsynkroniseringsmetod som används jämför tiden mellan signalens nol-lövergångar mot en känd sekvens. När tidsfelet är tillräckligt litet betyder det attsignalen är i fas, med andra ord fås information om var varje symbol börjar. Nack-delen med att titta efter nollgenomgångar är att känsligheten för brus ökar, dåbruset kan skapa falska nollgenomgångar. Genom att skicka en längre synkroniser-ingssekvens än vad som krävs, ges preambelsynkroniseringen fler chanser att hittafasen och sannolikheten att hitta den ökar. Ytterligare en fördel med en lång pream-bel är att det i radiomottagaren och sändaren kan ligga vissa fördröjningar innansignalöverföringen är stabil.

Då signalens fasläge är känt, behöver man nu veta var själva datameddelandet börjaroch synkroniseringsdelen slutar. Detta sker genom ordsynkroniseringen. Den fungerarsom så att varje bit avkodas och de senaste bitarna jämförs mot en känd sekvens. Somsynkroniseringslängd valdes fyra bytes vilket visat sig fungera bra. För att avkodavarje bit används samma metod som i följande delkapitel.

3.5.2 Avkodning

Då det demodulerade datat kommer bestå av en likadan signal som sändaren gener-erade kommer denna bestå av två olika vågformer. För att detektera vilken av våg-formerna som mottas, jämförs insignalen med två kända signaler. Det är alltså ko-rrelationen mellan den inkommande signalen mot två referenssignaler som användsför att bestämma vilken vågform det är. Denna arkitektur är generell och kan använ-das för detektering av fler än två signaler, samt för signaler som inte nödvändigtvisbehöver vara sinusformade.

Genom att multiplicera ihop signalen med en referenssignal över en hel period fåshur mycket av energiinnehållet i signalerna som överensstämmer.

T∫

0

s(t)sref (t)dt = E (3.2)

Energiinnehållet kommer således vara större för den riktiga signalen än för den falska.Utifrån den vetskapen kan ett beslut om vad det är för signal göras. Då referenssig-nalerna är ortogonala får det till följd att den falska signalens energiinnehåll kommervara betydligt mindre (idealt noll) än den riktiga. Arkitekturen på avkodaren visasi figur 3.4.

Page 27: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

18 Design

Figur 3.4. Blockschema över avkodningsarkitekturen

Page 28: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 4

Simulering

Mycket arbete har lagts på att simulera delar av koden för att säkerställa dessfunktionalitet. För att simulera algoritmerna har olika scenarios programmerats i Ckod för att kunna erhålla data.

Ett alternativ hade varit att använda MATLAB1, scilab2 eller numpy bibliotekettill python som simuleringsmiljö. Fördelarna med dessa är att det finns inbyggdafunktioner för att rita upp frekvensspektrum och att plotta datat på olika sätt.Nackdelarna hade varit att koden skulle behöva portas för att passa respektive miljö.

Istället valdes att skriva testmiljön i C kod för att på ett så enkelt sätt som möjligtnyttja den faktiska koden. För att kunna presentera datat, har simulationerna gener-erat textfiler med data som sedan plottats med hjälp av python. Ytterligare en fördelmed att göra simulationerna i C är att GCC ofta kompilerar koden effektivare ennågon utvecklingsmiljö, vilket får effekten att beräkningstiderna för simulationernaminskar.

4.1 Bruskänslighet av demodulering

En av de allra vanligaste orsakerna till korrupt data är brus. Därför har simulationermed vitt brus utförts. Vitt brus innebär att brussignalen har lika mycket av allafrekvenser.

1Kommersiell utvecklingsmiljö2Öppen utvecklingsmiljö

19

Page 29: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

20 Simulering

4.1.1 Beskrivning av simulation

För att testa hur bruskänslig algoritmen är, har följande testmiljö programmerats.En ändligt lång dataström genererar modulerat data som adderas med en brussignalbestående av vitt brus med känd maximal amplitud. Summan av de två signalernademoduleras för att generera en dataström, denna jämförs med den ursprungligadataströmmen och antalet fel detekteras. Ett blockschema av modellen kan ses ifigur 4.1.

Figur 4.1. Blockschema över brustest konstruktionen

Denna sekvens genomförs sedan för olika brusnivåer för att få fram en kurva på hurväl algoritmen presterar. Då antalet fel är en dålig enhet när det gäller att jämföraolika mätserier, räknas istället felen om till procent. På så vis går det bra att jämföratestserier som inte har lika långa dataströmmar.

4.1.2 Simulationsresultat

Test utav bruskänslighet för demodulationen sker under följande förutsättningar:

• Avkodningen sker utan synkronisering

• Bruset är vitt, alltså jämt fördelat i frekvensdomänen

• Signalamplituden är på 30% av maximal amplitud

• Datalängden på varje testserie är 100000 bytes

• Samplingstakten är 48000 samplingar per sekund

I figur 4.2 syns tydligt att då data takten ökar, ökar även sannolikheten för fel iöverföringen. Det som praktiskt skiljer datatakterna åt, är antalet bitar per symbol.En datatakt på 9600 bitar per sekund och en samplingshastighet på 48000 resulterarenligt ekvation 3.1 i 5 sampel per symbol medan en datatakt på 1200 bitar persekund i samma samplingshastighet resulterar i 40 sampel per symbol. Slutsatsensom kan dras av detta är att fler sampelpunkter per symbol leder till en brus-robustare modulation.

Page 30: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

4.2 Bruskänslighet av synkronisering 21

-10 -5 0 5 10 15SNR (dB)

0

10

20

30

40

50

60

70

80

90

Fels

annolik

het

(%)

1200 Baud2400 Baud4800 Baud9600 Baud

Figur 4.2. Sannolikhet för fel beroende av brus

4.2 Bruskänslighet av synkronisering

Synkronisering kan som tidigare diskuteras delas in i två delar: Preambel- ochordsynkronisering. Då ordsynkroniseringen fungerar enligt samma algoritm som avkod-ningen, torde således denna ha samma bruskänslighet som den i avsnitt 4.1. Ettproblem med simulation av dessa är att de olika delarna är beroende av varandra.Till exempel om simulationen indikerar att ordsynkroniseringen misslyckades, kandetta bero på att preambel synkroniseringen detekterade en felaktig preambel. Medden motivationen, har preambel synkroniseringen valts att titta noggrannare på.

4.2.1 Beskrivning av simulationen

Simuleringingsscenariot för denna simulation är snarlik den som beskrivits i avsnitt4.1.1. Ett slumpvis utvalt medelande har försetts med en preambel bestående avåtta byte av tecknet 0x55, eller 0b01010101. Denna sekvens valdes för att sammamönster av nollgenomgångar skall förekomma flera gånger i följd, då detta ger pream-belsynkroniseringsalgoritmen fler än en chans att detektera fasen. Efter preambelnläggs åtta byte för synkroniseringsordet till. Det ursprungliga medelande har alltså

Page 31: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

22 Simulering

förlängts i början med en synkroniseringsdel bestående av tolv byte. Paketstrukturenfinns åskådliggjord i figur 3.3.

Den nya dataströmmen moduleras sedan och vitt brus av känd amplitud adderas.Sedan försöker paketet av avkodas, genom att först detektera fasen i preambelsynkro-niseringen. Om fasen detekteras, skickas signalen vidare till till ordsynkroniseringen.Om ordsynkroniseringen lyckas skickas signalen sedan vidare till avkodaren för mod-ulerat data beskriven i avsnitt 3.5.2 och simulerad i avsnitt 4.1. Blockschema övertestet kan ses i figur 4.3.

Figur 4.3. Blockschema över synkroniseringstest

Informationen som kan extraheras ur testmiljön är om någon av synkroniseringarnamisslyckas, samt bitfelet i överföringen av meddelanden.

En uppenbar brist i testmiljön är att de olika delarna av synkroniseringsalgorit-men sker sekventiellt. Konkret innebär det att ordsynkroniseringen enbart testas ompreambelsynkroniseringen lyckas. Anledningen till att jag ändå valde att testa algo-ritmerna utifrån denna arkitektur av testmiljön är att denna struktur av mottagareär den som praktiskt kommer att användas i den slutliga produkten.

4.2.2 Simulationsresultat

Simulationsresultatet har genomförts under följande förhållanden:

• Samplingstakten är på 48000 Sa/s

• Signalamplituden är på 30% av maximal amplitud

• Simulationen är itererad 100 gånger per brusnivå

• Bruset är jämt fördelat i frekvensdomänen

Något oväntat är att sannolikheten för synkroniseringsfel är störst ju lägre datataktenär, vilket klart syns i figur 4.4. En förklaring till detta är att sannolikheten att brusetställer till med felaktiga nollövergångar måste vara större då det är fler samples persymbol ju lägre datatakt som nyttjas.

Page 32: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

4.2 Bruskänslighet av synkronisering 23

Detta behöver inte vara ett problem, då många radiomottagare lågpassfiltrerar sig-nalen i hårdvara. Det högfrekventa bruset som skapar felaktiga nollgenomgångerfiltreras då bort, vilket eliminerar problemet. Simulation av detta följer i styckena4.2.3 och 4.2.4.

�10�5 0 5 10 15 20 25 30SNR (dB)

0

20

40

60

80

100

Fels

annolik

het

(%)

1200 Baud2400 Baud4800 Baud9600 Baud

Figur 4.4. Synkroniseringingstest

4.2.3 Beskrivning av simulation med lågpassfilter

Då det kan hända att radiomottagare lågpassfiltrerar den mottagna signalen i hård-vara, har ytterligare en simulation av synkroniseringen med lågpassfilter genomförts.Filtret har placerats innan demodulatorn för att efterlikna en generell hårdvara. Detär inte något krav på att filtret ska vara beräkningseffektivt, då det primärt skaanvändas för simulationen. Filtret har därför valts att realiseras via en FIR modell.Fördelen med FIR är att det är enkelt att beräkna frekvensgången för filtret, sam-tidigt som den kan realiseras via en faltningsoperation. Ytterligare en fördel är attfiltret alltid är stabilt [5]. Ett blockschema över simulationen visas i figur 4.5.

Filtrets brytfrekvens är dubbelt så hög som datatakten. På så sätt kommer intefiltret inverka på dataöverföringen, utan bara filtrera bort högfrekvent brus.

Page 33: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

24 Simulering

Figur 4.5. Blockschema över synkroniseringstest med lågpassfiltrering

4.2.4 Simulationsresultat med lågpassfilter

Simulationsresultat av synkroniseringstest med lågpassfiltrering visas i figur 4.6.Tydligt är att sannolikheten för fel i synkroniseringen minskar mer vid hög över-sampling då signalen filteras. Detta beror troligen på att sannolikheten för felaktiganollövergångar ökar då högre översampling leder till fler samples med låg amplitud.

�10�5 0 5 10 15 20 25 30SNR (dB)

0

20

40

60

80

100

Fels

annolik

het

(%)

1200 Baud2400 Baud4800 Baud9600 Baud

Figur 4.6. Simuleringsresultat av synkronisering med lågpassfiltrering

Page 34: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

4.3 Drivning 25

4.3 Drivning

Drivning innebär att sändare och mottagare har något olika datatakter. Detta fenomeninträffar som i exemlet 4.1 då samplingshastigheterna på mottagare och sändare skil-jer sig åt. Kristalloscillatorer som normalt ger klock- och referensfrekvens till systemär temperaturberoende, vilket leder till att sändare och mottagare i olika miljöerkommer få olika referensfrekvenser.

Exempel 4.1

En sändare med en felaktig samplingsfrekvensen 48010 Sa/s genererar data med 2400Baud. Hur lång tid tar det innan mottagaren som har en samplingsfrekvens på 48000Sa/s har drivit 10%?

Tidsförskjutning per symbol:

∆ts = ts − tǫs =1fs− 1f ǫs

Fel i procent, E, efter k symboler:

E = 100 · 8fsps · k ·∆tsts

, fsps =fs

fbaudrate

Antal symboler innan signalen drivit E%:

k =E

100 · 8fsps· ts

∆ts⇒ 10

100 · 8 · 48000

2400

·1

48000

1

48000− 1

48010

≈ 3 bytes

4.3.1 Beskrivning av simulationen

En slumpvis utvald ström av data moduleras utan att synkroniseringstecken läggspå. Innan det modulerade data når demodulatorn, förställs fasen på signalen för attsimulera fasfel. Det demodulerade datat jämförs sedan med den ursprungliga dataströmmen i grupper om åtta bitar, alltså bytes. Blockschema över testmiljön visas ifigur 4.7.

I en komplett testserie itereras testförsök med olika fasfel, mer bestämt förställs fasenfrån en symbol för tidig synkronisering till en symbol för sen synkronisering.

4.3.2 Simulationsresultat

Resultatet i figur 4.8 utfördes under följande förutsättningar:

Page 35: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

26 Simulering

Figur 4.7. Blockschema över fasfelssimulation

• Avkodningen sker utan synkronisering

• Signalamplituden är på 30% av maximal amplitud

• Datalängden på varje testserie är 10000 bytes

• Samplingstakten är 48000 samplingar per sekund

• Datatakten är på 2400 bitar per sekund

Här har valts att titta på fel i byte nivå vilket innebär att en felaktig bit per byteräcker för att ge fel utslag. Jag har valt att göra så då resultatet hellre fälls än frias.Om man tittar på det demodulerade datat syns att felaktiga bitar tenderar till attbli ettor, vilket innebär att feldetektering på bitnivå bara skulle upptäcka fel i debitar som är nollor. Troligen är då även resultatet som visar ettor felaktigt, trots attdet inte ger utslag i en jämförelse med originaldatat.

Exempel 4.2

Detta exempel visar ett utdrag ur logg-filen för det avkodade datat. Detta är sammafil som från körningen som genererade plotten i figur 4.8. Då denna fil innehåller10000 avkodade bytes, visas bara ett kortare utdrag:

Recieved byte nr 55 = 255

Recieved byte nr 56 = 255

Recieved byte nr 57 = 255

Recieved byte nr 58 = 255

Här noteras att all avkodat data avkodas till det decimala värdet 255. Binärt motsvarasdetta av 1111 1111B, vilket visar att de mottagna datat demoduleras till enbart et-tor. Sannolikheten att slumpgeneratorn som används av sändaren bara genererar1:or är försvinnande liten.

Page 36: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

4.3 Drivning 27

I figur 4.8 noteras att avkodningen är korrekt även om synkroniseringen missarmed cirka femton procent av en symbollängd. Ökar synkroniseringsfelet ytterligare,kommer antalet fel i mottagaren öka drastiskt. Den horisontella axeln i figur 4.8 visardrivning relativt symbollängd i tidsdomänen, t. ex. betyder värdet 0.5 att signalendrivit med en halv symbollängd.

-1.0 -0.5 0.0 0.5 1.0Symboler

0

20

40

60

80

100

Sannolik

het

Figur 4.8. Sannolikhet för byte-fel då synkronisering blir fel

Page 37: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 38: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 5

Implementation

5.1 Laboreringsplattform

För att kunna testa koden i hårdvara byggdes en laboreringsplattform bestående av:

• Två stycken radioapparater

• Ett utvecklingskort med en ARM7 processor

• Kontaktpanel

• Nätdel

Delarna monterades på en träplanka och kopplades ihop för att kunna användaspå ett generellt sätt. Alla ljudsignaler AC-kopplades med seriekondensatorer för attfiltrera bort likspänningar.

5.1.1 Tait-radio

Radioapparaterna som användes var TM8105 från Tait Radio Communications1.Den främsta anledningen till att valet av radioapparat föll på denna modell var attden tidigare använts inom företaget. Radion har även ett konfigureringsverktyg imjukvara där parametrar av intresse kan ställas, exempelvis frekvens på bärvågen. Ikonfigurationsverktyget går det att bestämma vilka funktioner olika portar i en kon-takt på radions baksida ska ha, vilket nyttjades. Det går även att i viss utsträckningstyra över den analoga signalvägen i radion, vilket ledde till att talfilter koppladesbort för att undvika att signalen bandbreddsbegränsades på ett oönskat sätt.

1Australiensk radiotillverkare

29

Page 39: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

30 Implementation

Figur 5.1. Laboreringsplattform

Figur 5.2. Blockschema över laboreringsplattformen

5.1.2 ARM7

För att enkelt kunna kommunicera med de två radioapparaterna användes mikrokon-trollern AT91SAM7S256 från Atmel2. Anledningen till att just denna kontrollernvaldes var att företaget använt sig av denna tidigare. Det fanns även ett utveck-lingskort från Olimex3 tillgängligt samt en på företaget väl beprövad utvecklingsmiljö.

AT91SAM7S256 är en mikrokontroller som använder sig av den RISC-baserade kär-nan ARM7TDMI som är av Von Neumann arkitektur. Denna klarar att arbete med0.9Mips/MHz4 upp till 55 MHz. AT91SAM7S256 kan nyttja DMA kanaler för attpå ett effektivt sätt flytta data till och från periferienheterna. Kontrollern har 256

2Tillverkare av mikrokontrollers3Elektroniktillverkare4Miljoner instruktioner per MHz i klockfrekvens

Page 40: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

5.2 Test mellan två datorer 31

Kbyte flashminne (programminne) och 64 Kbyte i RAM. I övrigt finns några olikaperiferienheter som bland annat AD-omvandlare, räknare och UART-kontroller. [1]

5.2 Test mellan två datorer

Det första hårdvarutestet som utfördes var signalering mellan två stycken datorer. Dåsimulationskoden skrivits för PC-miljö behövdes inte några ändringar i algoritmernaskrivas. Dock behövdes applikationskod för att utföra testet skrivas. Denna kod kandelas in i tre delar:

• Sändarprogram

• Mottagarprogram

• Program för att styra PTT

För att kunna upptäcka fel i överföringarna, lades en 32-bitars CRC sist i datafältet.Detta inleddes även med en 2 byte långt fält innehållandes datafältets totala längd.Datapaketet visas i figur 5.3.

Figur 5.3. Datapaket med längd och CRC

5.2.1 Sändare

I sändarprogrammet genereras ett meddelande med slumpmässigt data av variabellängd. Användaren bestämmer via ett textbaserat gränssnitt meddelandets längd.Datapaketet förses sedan med preambel och synkroniseringsord för att till sist mod-uleras och sändas via ljudkortet. Då dataformatet på det demodulerade datat valtstill ett två byte långt heltal, kunde det direkt användas för att skrivas till ljudkorts-bufferten. Ljudsignalen från ljudkortet kopplades sedan in på radions ljudingång.

För att styra Tait-radions PTT skrevs en minimal mjukvara för ARM7 kortet. Alltdenna gjorde var att ge möjlighet att via en fysisk knapp, eller en serieport kunnastyra en I/O port som i sin tur kontrollerade radions PTT. Således gavs sändarpro-grammet möjlighet att via serieport styra radions PTT.

Page 41: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

32 Implementation

5.2.2 Mottagare

Laboreringsplattformens radio användes för att ta emot signalen. Denna analogasignal kopplades sedan in till en dator via dennas ljudkort. Mottagarprogramvaransamlade sedan in datat för avkodning och demodulation. Programvaran utökadesmed möjlighet att sätta timeout tid, detta för att förhindra att programvaran låsersig vid exempelvis felaktig preambel detektering.

Efter synkroniseringen demoduleras datat, paketlängd detekteras och meddelandetavkodas fram till och med checksumman. För att detektera fel i överföringen beräknasen checksumma som jämförs med den mottagna. Överensstämmer checksummornafinns med stor sannolikhet inte några fel i överföringen.

De olika stegen i mottagningsproceduren visas i ett terminalfönster för att kontin-uerligt ge användaren information om vad som händer. Då längden på meddelandetkan vara långt skrivs inte detta ut på skärmen, utan lagras i en textfil på hårddisken.

5.2.3 Resultat

Överlag fungerar överföringar bra. Dock fungerade det inte att skicka längre med-delanden än cirka 3000 bytes. Detta skulle kunna förklaras av drivningseffekten.Åtskilliga test utfördes, och runt 3000 bytes började det mottagna datat likna datatfrån simulationsresultaten från drivningstestet i avsnitt 4.3.

Även noterades felaktiga detekteringar av preambel. Scenariot att en preambel fe-laktigt detekterades precis innan en faktisk preambel sändes gav upphov till att helameddelanden inte upptäcktes. Mottagarkoden befann sig då i tillståndet att den letarefter ordsynkroniseringen medan den faktiska preambeln skickas. Således upptäckermottagaren inte någon ordsynkronisering och mottagarproceduren avbryts för sentför att hinna upptäcka den riktiga preambeln.

Det sistnämnda problemet skulle kunna lösas genom att minska chansen för felaktigadetekteringar av preambel. Då preambelsynkronieringen bygger på avståndet mellannollövergångar, skulle en lösning vara att mjukvarufiltrera signalen. Således skullebrus av oönskade frekvenser försvinna och felaktiga nollövergångar skulle minska. Enannan lösning skulle kunna vara att använda sig av mottagen signalstyrka på radionför att starta preambeldetektering. Detta skulle leda till att sökning av preambelnstartar då mottagarradion får in en signal, alltså utsätts inte preambeldetekteringsal-goritmen för möjligheten att felaktigt detektera en signal. En tredje lösning skullekunna vara att använda en längre preambelsynkroniseringssekvens. Detta skulle min-ska sannolikheten för en felaktig detektering, men samtidigt minska sannolikhetenför en korrekt detektering.

Page 42: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

5.3 Test mellan dator och mikrokontroller 33

5.3 Test mellan dator och mikrokontroller

I detta test anvädes en PC för att sända data via radion på samma sätt som iföregående test. Mottagaren däremot implementerades i ARM7-kortet istället för iPC-miljö.

Anledningen att enbart implementera mottagarprogrammet var att mottagaralgo-ritmen uppskattningsvis var mycket mer processorkrävande än sändaralgoritmen.Fungerar mottagaralgoritmen fungerar med hög sannolikhet även sändningsalgorit-men. Ytterligare en faktor vid detta val var att mikrokontrollern inte är bestyckadmed några DAC, utan enbart med ADC. För att då testa generering av analoga sig-naler, behöver en codec eller en separat DAC anslutas till kontrollern. I brist av tidutelämnades detta test. Kontrollerns PWM modul hade i viss utsträckning kunnatanvändas tillsammans med ett lågpassfilter, denna lösning hade dock introducer-at brus av olika slag i systemet och hade således inte kunnat bidraga med någonkvalitativ information.

5.3.1 Anpassning av mjukvara

Då insamling av data via ADC inte fungerar som inläsning av ljudkortsbuffert i PC-miljö var mottagarprogrammet tvunget att anpassas till detta. Tanken avkoda datasamtidigt som nya data läses in stannade dock kvar.

För att sampla data i jämna intervall kopplades ett timerblock till en ADC-kanal.En DMA kanal användes sedan för att fylla en buffert av given storlek. Samplingoch lagring av dessa data gick på så vis att utföra helt i hårdvara, vilket lämnadeprocessorkraft åt avkodning av data.

Denna övergripande programstruktur är identisk med den som användes i simula-tionerna, vilket innebar att merparten av programkoden kunde behållas. Insamlingav data via DMA-kanaler kan på så vis direkt ersätta den tidigare trådade funktionenför att vänta på att ljudkortets buffert skulle fyllas, beskriven i 3.5.

Ytterligare en skillnad var att upplösningen på ADC:n var på 10 bitar, till skill-nad från tidigare 16 bitar. Signalen till ADC:n saknade även negativ spänningsmat-ning vilket ledde till att insignalen AC-kopplades och lyftes sedan upp till halvamatningsspänningen via en spänningsdelning. Detta innebar att varje sampeldatabehövde omvandlas till det tidigare använda formatet (s16).

5.3.2 Processoranvändning

Då algoritmerna tidigare utvärderats i form utav simuleringar, valdes att titta när-mare på processoranvändning vid exekverade.

Att mäta processoranvändning och att definiera vad som är processoranvändning

Page 43: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

34 Implementation

Tabell 5.1. Översikt processorbelastning

Räknarvärde Processorbelasning

Utan avkodning 90 000 0 %Preamblesökning 83 000 7.7 %Demodulering 56 000 37.8 %

är svårt. Den metod som använts är enkel att implementera, dock inte specielltnoggrann. Resultatet av mätningen ger bara en fingervisning om tidsåtgång videxekvering.

Då insamling av data tar lika lång tid oberoende av vad avkodningsalgoritmen gör,har tiden för insamling använts som ett referensvärde. Efter att avkodningen ärfärdigexekverad, väntar applikationen på att insamlingen av data ska slutföras. Detvar denna “väntetid” som valdes att studeras. För att mäta väntetiden räknades ettheltalsvärde upp enda tills insamlingen av data var klar. En avskalad C-kod för attåskådliggöra mätningen presenteras i exempel 5.1. Resultatet presenteras i tabell5.1.

Exempel 5.1

Här är ett exempel på hur processorbelastningen mättes. Detta exempel är mycketavskalat för att visa på principerna kring mätningen.

while(mainLoop){

unsigned long int counter = 0;

while(collectingDataFlag)

counter++;

storeCounterValue(counter);

startNewCollection();

processData();

}

Page 44: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

5.3 Test mellan dator och mikrokontroller 35

5.3.3 Resultat

Det i särklass största problemet vid testsekvensen var frekvensdrivning. Då etttimerblock användes för att styra samplingstakten blev denna beroende på timerblock-ets upplösning, vilket inte resulterade i en jämn takt. Önskvärt vore att sampla ien takt av 48000 Sa/s, vilket skulle ge 10 Sa/symbol i en datatakt på 4800 Baud.Med timerblockets begränsade upplösning fick samplingstakten approximeras till48054 Sa/s, vilket bidrar till att signalen kommer driva från synkroniseringen rela-tivt fort. Mätningar med oscilloskop på samplingsfrekvensen visade att denna i självaverket varierade slumpartat från 47990 Sa/s till 48070 Sa/s. Denna stora avvikelsei frekvens var oväntad, likaså svår att förklara.

Som mest gick det att skicka runt 2 byte (inklusive preambel, synkronisering ochchecksumma) felfritt, vilket ändå visar att algoritmerna kan exekveras i en mikrokon-troller.

Page 45: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 46: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 6

Rekommendationer för

fortsatt arbete

• Mer omfattande driftester:

– Testa algoritmen under längre perioder för att få en bättre bild av pre-standa

– Utföra test under olika radioförhållanden (olika signalstyrkor och olikatyper av brus)

– Utföra mätningar på radiosidan för att få en uppfattning om exempelviskanalutnyttjande

• Eventuellt ändra preambellängd och ordsynkronisering för att optimera pre-standa mot applikationsområde.

• Införa synkronisering av signalen i mitten av datapaketen för att kunna sändalängre datapaket.

• Utöka funktionaliteten med exempelvis:

– Pakethantering

– Kryptering

– Felkorrigering

37

Page 47: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 48: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Kapitel 7

Slutsatser

Syftet med examensarbetet var att utöka Field Embedded Communications AB:s in-terna bibliotek av programmeringskod med funktioner att modulera och demoduleradata. Efter att koden skrivits har stor vikt lagts vid simuleringar för att säkerställafunktionalitet. Resultatet av simulationerna visar att modulationen fungerar på ettstabilt sätt.

Ett av kraven var att koden skulle vara modulärt uppbyggd, vilken den är. En avfördelarna med det visade sig tydligt då det enkelt gick att anpassa koden för attkunna exekveras i en ARM7 processor. Således testades att koden kunde exekverasi olika hårdvarumiljöer. Test i mikrokontrollern visade även ungefärliga värden påalgoritmernas beräkningskomplexitet, detta kan användas som riktvärden vid kon-struktion av hårdvara vid framtida implementering.

Under utvecklingsperioden och rapportskrivandet har enbart program med öppenkällkod nyttjats, utan några motgångar. Jag förväntade mig initialt att det skullemedföra problem, vilket turligt nog visade sig vara obefogade farhågor.

Trots att det finns mycket litteratur i ämnet modulationsteknik, var det ändå svårtatt hitta bra översiktlig information om mjukvaruradio. Mycket information riktarsig till DSP och FPGA konstruktion, vilket inte rakt av går att implementera i enmikrokontroller eller vanlig processor då dessa inte är tillräckligt beräkningskrafti-ga. Stor vikt har därför lagts vid att skala ner algoritmerna utan att ge avkall påprestanda. Detta var en anledning till de omfattande simulationerna.

En svårighet under utvecklingen var att skriva simulationskod. Valet att skriva simu-lationskoden i C kändes helt rätt. Uppskattningsvis lades mer än dubbelt så myckettid vid att skriva simuleringskoden som att skriva de faktiska algoritmerna. Oftavisade det sig att dåliga simuleringsresultat berodde på buggar i simuleringskoden.Dessa problem är svåra att undvika och skulle troligen även uppträda i kommersiellautvecklingsmiljöer (såsom MATLAB).

39

Page 49: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 50: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Nomenklatur

AC Alternating Current, växelström

ADC Omvandlare från en analog till en digital signal

CRC Cyclic Redundancy Check, algoritm för att upptäcka fel i dataöverföringar

DAC Omvandlare från en digital till en analog signal

DMA Direct Memory Access, teknik för att förflytta data utan att anstränga pro-cessorn

FIR Finite - Impulse - Response, digital filtertyp

GCC GNU Compiler Collection, samling kompilatorer till olika programmeringsspråk

LUT Look Up Table, tabeller med förgenererat data

Mark En 1:a i FSK modulering

OSI Open Systems Interconnection, konceptuell modell för datorkommunikationi 7 lager

PTT Push To Talk, funktion för att växla mellan sändning och mottagning

PWM Pulse Width Modulation, pulsbreddsmodulering

RAM Random Access Memory, minne för tillfällig lagring av data

RISC Reduced Instruction Set Computer, processortyp

s16 Datatyp, heltal lagrat i 2 byte

Space En 0:a i FSK modulering

Tråd Eng. Thread, metod för att exekvera processer parallellt

u08 Datatyp, positivt heltal lagrat i 1 byte

u16 Datatyp, positivt heltal lagrat i 2 byte

u32 Datatyp, positivt heltal lagrat i 4 byte

UART Universal Asynchronous Receiver/Transmitter, hårdvara för att skicka dataseriellt

41

Page 51: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där
Page 52: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Förteckningar

Figurer

2.1 Blockschema över en generell CODEC . . . . . . . . . . . . . . . . . 6

2.2 Blockschema av kommunikationssystem . . . . . . . . . . . . . . . . 7

2.3 Jämförelse mellan FSK och MSK . . . . . . . . . . . . . . . . . . . . 9

2.4 Blockschema av superheterodyn-arkitektur . . . . . . . . . . . . . . 11

3.1 Blockschema över systemets hårdvara . . . . . . . . . . . . . . . . . 13

3.2 Funktionsskiss av mottagararkitekturen . . . . . . . . . . . . . . . . 16

3.3 Datapaket i lägsta lagret . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4 Blockschema över avkodningsarkitekturen . . . . . . . . . . . . . . . 18

4.1 Blockschema över brustest konstruktionen . . . . . . . . . . . . . . . 20

4.2 Sannolikhet för fel beroende av brus . . . . . . . . . . . . . . . . . . 21

4.3 Blockschema över synkroniseringstest . . . . . . . . . . . . . . . . . . 22

4.4 Synkroniseringingstest . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.5 Blockschema över synkroniseringstest med lågpassfiltrering . . . . . 24

4.6 Simuleringsresultat av synkronisering med lågpassfiltrering . . . . . . 24

4.7 Blockschema över fasfelssimulation . . . . . . . . . . . . . . . . . . . 26

4.8 Sannolikhet för byte-fel då synkronisering blir fel . . . . . . . . . . . 27

5.1 Laboreringsplattform . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.2 Blockschema över laboreringsplattformen . . . . . . . . . . . . . . . 30

43

Page 53: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

44 Förteckningar

5.3 Datapaket med längd och CRC . . . . . . . . . . . . . . . . . . . . . 31

Tabeller

5.1 Översikt processorbelastning . . . . . . . . . . . . . . . . . . . . . . 34

Page 54: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där

Litteraturförteckning

[1] Atmel Corporation. AT91 ARM Thumb-based Microcontrollers, November 2007.

[2] Jonny Österman Carl Nordling. Physics Handbook. Studentlitteratur, Lund,2004. 7:de upplagan.

[3] Alan Kaminsky. Data Signal Analysis. Rochester Institute of Technology, March2005.

[4] Bengt Molin. Analog elektronik. Studentlitteratur, Lund, 2001.

[5] Ole Pedersen. Signaler och system. Institutionen för Teknik och Naturvetenskap,Campus Norrköping, November 2004.

[6] David M. Pozar. Microwave and RF Design of Wireless Systems. John Wiley &Sons, Inc., New York, 2001.

[7] Jeffery H. Reed. Software radio. Prentice Hall, New Jersy, 2002.

[8] Woon-Seng Gan Sen M. Kuo. Digital Signal Processors. Pearson Prentice Hall,New Jersy, 2005.

[9] Bernard Sklar. Digital Communications. Prentice Hall, New Jersy, 2006.

45

Page 55: Binär FSK-modulation - DiVA portal634563/FULLTEXT01.pdf · Test i hårdvara Av konkurrensskäl ... Teori I detta kapitel kommer bakgrundsteori att behandlas, ... dt = K j jk, där