Utveckling av Androidbaserad mätapplikation för LTE-...

33
Utveckling av Androidbaserad mätapplikation för LTE- mätningar William Vesterlund och Nils Ångman DEGREE PROJECT, IN ELECTRONICS AND COMPUTER ENGINEERING, FIRST LEVEL, STOCKHOLM, SWEDEN 2015 KTH ROYAL INSTITUTE OF TECHNOLOGY INFORMATION AND COMMUNICATION TECHNOLOGY

Transcript of Utveckling av Androidbaserad mätapplikation för LTE-...

Utveckling av Androidbaserad mätapplikation för LTE-mätningar William Vesterlund och Nils Ångman

DEGREE PROJECT, IN ELECTRONICS AND COMPUTER ENGINEERING, FIRST LEVEL, STOCKHOLM, SWEDEN 2015

KTH ROYAL INSTITUTE OF TECHNOLOGY I N F O R M A T IO N A N D C O M M U N I C A T I O N T E C H N O L O G Y

Abstract

The use of mobile communication has remarkably increased during the last years. It is the usage of 2G, 3G and in particular LTE that has increased. With every year that passes the con-sumers are putting higher demands on data rate and coverage. To solve the problem with coverage the signal can be relayed and thus amplified at the receiver end. To know if it’s pos-sible to relay the signal it’s important to know what signal is received locally. The company Network Expertise has given us a problem, due to that we want to investigate two things in this thesis. 1) Which signal parameters are relevant and which signal levels are good and bad for LTE. 2) How can signal measurements be done for 2G, 3G and 4G with an Android based system. To solve the first problem, a literature study was conducted where we found information about how past measurements have been made and what is relevant when measuring an LTE signal. The second problem was solved by developing an application for Android which implements the relevant measurements that was defined in the literature study. The application and the possibilities in Android have been reviewed and compared with similar tools for signal measurements.

The relevant parameters for LTE measurements are RSRP, RSRQ, EARFCN and neighboring cells RSRP, RSRQ and EARFCN. Additional relevant parameters are ECI, MCC and MNC. LTE parameters which are possible to retrieve with an Android based telephone through An-droid API are RSRP, RSRQ and ECI (with some telephone models). The telephone must also support API level 17. For 3G it’s possible to retrieve RSCP, EcNo (with some telephone mod-els) and for 2G it’s possible to retrieve RSSI. MCC and MNC are both possible to retrieve in Android. Information about neighboring cells are not available for neither of the technologies. The quality level for the LTE parameter RSRP is great above -80 dBm level, good down to -90 dBm, moderate down to -100 dBm and bad below -100 dBm. Signal level for the LTE parame-ter RSRQ is great above -10 dBm, good down to -15 dBm, moderate down to -20 dBm and bad below -20 dBm. With the available version of Android is not sufficient to do advance signal measurements.

Keywords LTE, Android, signal measuring, application, RSRP, RSRQ, GPS, 2G, 3G, 4G, API, RAT-UE

Abstract

Användningen av mobil kommunikation har ökat kraftigt under de senaste åren. Det är an-vändningen av 2G, 3G och speciellt LTE som har ökat. För varje år som går ställer konsumen-terna högre krav på hastigheter och mobiltäckning. För att lösa problemen med täckning kan signalen förstärkas på mottagarsidan i en så kallad repeater. För att veta om det är möjligt att förstärka signalen är det viktigt att veta vilken signal som tas emot lokalt. Företaget Network Expertise har ett behov som leder oss fram till att undersöka två saker i denna rapport. 1) Vilka signalparametrar är relevanta och vilka signalnivåer är bra och dåliga för LTE? 2) Hur kan signalmätningar göras för 2G, 3G och 4G med ett androidbaserat sy-stem? För att lösa första problemet genomfördes en litteraturstudie där vi tog fram informat-ion om hur tidigare mätningar har gjorts och vad som är relevant vid mätning av en LTE-signal. Det andra problemet löstes genom att utveckla en applikation för Android som kan göra relevanta mätningar som definierades i förstudien. Applikationen och möjligheterna som erbjuds i Android har utvärderats och jämförts med liknande verktyg för att mäta signaler.

De relevanta parametrarna för LTE-mätningar är RSRP, RSRQ, EARFCN och närliggande cellers RSRP, RSRQ och EARFCN. Ytterligare information som har relevans är ECI, MCC och MNC. LTE-parametrarna som går att hämta med en androidbaserad telefon via Android API är RSRP, RSRQ och ECI (med vissa telefonmodeller). Telefonen måste också stödja API-nivå 17. För 3G går det att hämta RSCP och EcNo (med vissa telefonmodeller) och för 2G går det att hämta RSSI. MCC och MNC går båda att hämta via API. Information om närliggande celler är inte tillgängligt för varken 2G, 3G eller 4G. Kvalitetsnivån för LTE-parametern RSRP är utmärkt över -80 dBm insignal, bra ner till -90 dBm, medel ner till -100 dBm och dålig under -100 dBm. Kvalitetsnivån för LTE-parametern RSRQ är utmärkt över -10 dB, bra ner till -15 dB, medel ner till -20 dB och dålig under -20 dB. I dagsläget är androidplattformen inte riktigt mogen för att göra avancerade signalmätningar.

Nyckelord LTE, Android, signalmätning, applikation, RSRP, RSRQ, GPS, 2G, 3G, 4G, API, RAT-UE.

1

Innehåll

1 Introduktion ................................................................................................................ 1 Bakgrund .......................................................................................................................... 1 Problem............................................................................................................................. 2 Syfte .................................................................................................................................... 2 Mål ...................................................................................................................................... 3 1.4.1 Mål för applikationen (RAT-UEA) ................................................................................... 3 Nytta, etik och hållbarhet ........................................................................................... 3 Metod ................................................................................................................................. 3 Avgränsningar ................................................................................................................ 4 Disposition ....................................................................................................................... 4

2 Bakgrund ...................................................................................................................... 6 LTE ...................................................................................................................................... 6 2.1.1 Operatörer ................................................................................................................................. 6 2.1.2 Cellulära nätverk .................................................................................................................... 6 2.1.3 OFDMA ........................................................................................................................................ 6 2.1.4 LTE parametrar ....................................................................................................................... 7

2.1.4.1 EARFCN ........................................................................................................................................7 2.1.4.2 RSRP ..............................................................................................................................................7 2.1.4.3 RSSI ................................................................................................................................................7 2.1.4.4 RSRQ ..............................................................................................................................................8 2.1.4.5 PCI ..................................................................................................................................................8 2.1.4.6 ECI ..................................................................................................................................................8

Teknikerna 2G och 3G ................................................................................................. 8 Androidapplikationer .................................................................................................. 8 2.3.1 Android OS ................................................................................................................................ 8 2.3.2 Androidutveckling ................................................................................................................. 8 2.3.3 Positionering i Android ........................................................................................................ 9 2.3.4 Hämta parametrar i Android ............................................................................................. 9 2.3.5 Lagring i Android .................................................................................................................... 9 2.3.6 ServiceMode ............................................................................................................................. 9 Konkurrerande mätapplikationer .......................................................................... 9 2.4.1 Mobile network measurements using Android ......................................................... 9 2.4.2 Advanced Signal Status ......................................................................................................10 2.4.3 TEMS (Test Mobile System) .............................................................................................10 2.4.4 RAT-UE (Radio Analyzing Tool-User Equipment) ..................................................10 2.4.5 G-NetTrack ..............................................................................................................................11

3 Metod ........................................................................................................................... 12 Relevanta LTE-parametrar ...................................................................................... 12 Bra och dåliga signalnivåer ..................................................................................... 12 Mätningar med Android ............................................................................................ 12 Testning .......................................................................................................................... 12

4 Genomförande ......................................................................................................... 13 Bra och dåliga signalnivåer ..................................................................................... 13 Relevanta parametrar ............................................................................................... 13 Android studio .............................................................................................................. 13

2

Grundläggande androidprogrammering ............................................................ 14 Användning av tidigare arbeten ............................................................................ 14 Testning .......................................................................................................................... 14 Användning av klasser i API .................................................................................... 15 4.7.1 Signalmätningar ....................................................................................................................15 4.7.2 Position .....................................................................................................................................15 4.7.3 Lagring ......................................................................................................................................15 Layout .............................................................................................................................. 16 Applikationens behörigheter .................................................................................. 16

5 Resultat ....................................................................................................................... 17 Relevanta parametrar ............................................................................................... 17 Bra och dåliga signalnivåer för LTE ...................................................................... 17 Signalmätningar med ett androidbaserat system ........................................... 17 Applikationen RAT-UEA ............................................................................................ 17 5.4.1 Beskrivning .............................................................................................................................18 5.4.2 Funktionalitet ........................................................................................................................18 5.4.3 Manuella inställningar ........................................................................................................19

6 Diskussion ................................................................................................................. 20 Misslyckade vägval ..................................................................................................... 20 Bra och dåliga signalnivåer ..................................................................................... 20 Relevanta parametrar ............................................................................................... 20 Mätningar med androidtelefoner .......................................................................... 20 Resultatets nytta för Network Expertise och hållbarhet .............................. 21

7 Slutsatser ................................................................................................................... 22 Framtida arbete ........................................................................................................... 22

8 Referenser ................................................................................................................. 23

3

Förkortningar 3GPP 3rd Generation Partnership Project API Application Programming Interface APK Android Application Package ARFCN Absolute Radio-Frequency Channel Number AVD Android Virtual Device EARFCN E-UTRA Absolute Radio-Frequency Channel Number ECI E-UTRAN Cell Identifier EcNo Ec/N0 EDGE Enhanced Data Rates for GSM Evolution eNB Evolved Node B E-UTRA Evolved Universal Terrestrial Radio Access E-UTRAN Evolved Universal Terrestrial Radio Access Network GPS Global Positioning System GSM Global System for Mobile Communications HSSF Horrible SpreadSheet Format LTE Long Term Evolution MCC Mobile Country Code MNC Mobile Network Code NX Network Expertise OFDM Orthogonal Frequency-Division Multiplexing OFDMA Orthogonal Frequency-Division Multiple Access PCI Physical-layer Cell Identity POI Poor Obfuscation Implementation RAT-UE Radio Analyzing Tool-User Equipment RAT-UEA Radio Analyzing Tool-User Equipment Android RSCP Received Signal Code Power RSRP Reference Signal Received Power RSRQ Reference Signal Received Quality RSSI Received Signal Strength Indicator TEMS Test Mobile System UE User Equipment WCDMA Wideband Code Division Multiple Access (3G) XML Extensible Markup Language

1

1 Introduktion Smarta telefoner har ett flertal olika sensorer för att göra mätningar: gyroskop, accelerometer, kamera, trycksensor, elektronisk kompass med mera. Men den sensor som används mest är antennen som används för mobil kommunikation och positionering.

Användningen av mobil kommunikation har ökat kraftigt under de senaste åren. Det är an-vändningen av 2G, 3G och speciellt LTE som har ökat. Dessa är några av alla exempel på de vanligaste radiokommunikationsteknikerna som finns tillgängliga idag. För varje år som går ställer konsumenterna högre krav på hastigheter och mobiltäckning.

Denna avhandling kommer beskriva hur mobila nätverk kan mätas i fält med hjälp av en androidapplikation med fokus på LTE-mätningar.

Bakgrund Mobila abonnemang som använder LTE var år 2013 ca 868 000, under 2014 var denna siffra 2 981 000. Detta motsvarar en ökning på 243 % på ett år. 3G och 2G abonnemangen ökade under samma period med 18 %. Den totala datatrafiken ökade också under denna period med 31 %. [1] I tabellen kan man se att det finns ett problem med täckningen vid höga hastigheter för mo-bila nätverk. Tabell 1.1 visar endast befolkningstäckning, problemen för höga hastigheter ökar kraftigt om man även ser till yttäckningen.

Tabell 1.1 Befolkningstäckning för olika datahastigheter [2]

Hastighet (Mbit/s) 3G (1) 3G (10) LTE (10) LTE (30)

Befolkningstäckning 99% 98% 99% 60%

I och med ökad efterfrågan på snabba mobila bredband är täckningen en viktig komponent för dessa nät. Speciellt inomhus finns en dämpning av signalen som kommer av väggar och olika material. I moderna hus med betongväggar och energisparfönster finns en speciellt stor dämpning. Betongväggar och energisparfönster har en dämpning på ca 10-22 dB respektive 34 dB. Ett standardfönster har en dämpning på ca 4 dB. Dessa dämpningar uppstår vid fre-kvenser mellan 900-2100 MHz. [3] Ett sätt att förbättra den mottagna signalen är att ta emot den med en antennlösning på taket och sedan sända ut en upprepad signal inomhus. För att kunna avgöra om detta är möjligt är det viktigt att göra signalmätningar på platsen där antennen ska användas. Moderna byggna-der med energisparande fönster (med blockerande beläggningar) och armeringsjärn i väggar-na får en speciellt hög dämpning. Här kan det ibland vara avgörande ett ha en repeater i byggnaden som förstärker signalen inomhus. Det finns flera andra faktorer som också för-sämrar signalen. Detta kan vara väderförhållanden (i synnerhet luftfuktighet) och andra hin-der som blockerar den direkta signalen. Dessa hinder kan vara hus, träd och annan terräng. En annan aspekt som försämrar signalen är interferens från andra basstationer och statiskt termiskt brus. I och med dessa dämpningar och interferenser är det viktigt att kunna mäta signalstyrkan och kvalitén på olika sätt för att kunna hitta en passande lösning för att för-bättra signalen. [4]

Under de senaste fem åren har andelen androidanvändare i Sverige ökat stadigt. Idag använ-der 45 % Android. I och med att androidplattformen är väletablerad är den uppdaterad med de senaste funktionerna. Android har kostnadsfria möjligheter till utveckling av applikationer till skillnad från huvudkonkurrenten iOS (Iphone operating system). Detta gör Android till bra plattform för utveckling av en kostnadseffektiv mätapplikation.

2

Figur 1-1 [5] Användningen av mobila operativsystem från januari 2011 till

april 2015.

Problem Företaget NX (Network Expertise) arbetar med att göra signalmätningar på trådlös kommu-nikation, bland annat för att förbättra mobiltäckningen inomhus. För att på ett smidigt och kostnadseffektivt sätt kunna göra mätningar vill de använda en androidbaserad mobiltelefon. Företaget har tidigare gjort mätningar på 2G- och 3G-signaler med en symbianbaserad mobil-telefon. För att beskriva kvalitén av en mobil kommunikationssignal krävs flera värden. Dessa mätvärden ändras över tid och beroende på position. NX saknar en applikation som kan göra flera olika mätningar på signalen, där information om sändarens ID (Identitet) och motta-garens position kopplas ihop till mätningen. Vi kommer fokusera på att använda Android och analysera LTE-mätningar på ett djupare plan för att utöka användbarheten av applikationen. Mätningarna ska vara ett smidigt sätt att hämta in data till en senare separat analys. Applikat-ionen RAT-UEA (Radio Analyzing Tool-User Equipment Android) ska också kunna användas ute på fältet för att kunna få en indikation av hur signalkvalitén är. Huvudproblemen som NX nu saknar kunskap och lösning för kan sammanfattas: 1) Vilka signalparametrar är relevanta och vilka nivåer är bra och dåliga för LTE? 2) Hur kan signalmätningar göras för 2G, 3G och 4G med ett androidbaserat system?

Syfte Den här rapportens syfte är att redogöra för arbetet som utförts i projektet. Detta är att ut-veckla en ny smidig mätmetod som ska användas för att mäta en signals kvalitet. Denna me-tod att hämta in data ska hjälpa företaget NX att göra signalmätningar, för att kunna ta fram lösningar på problem med täckning. De kommer då i sin tur kunna förbättra täckningen och kvalitén för sina kunder. Syftet med den valda uppgiften är att fördjupa vår förståelse för ett specifikt område inom elektronik och datorteknik. Uppgiften kommer ge oss en bättre förstå-else för trådlös kommunikation och specifikt LTE. Uppgiften kommer också göra att vi får sätta oss in i applikationsprogrammering och hur applikationer fungerar med mobil kommu-nikation. Applikationen RAT-UEA som produkt och dess källkod kommer inte vara tillgänglig för all-mänheten. Rapporten kommer möjligtvis kunna hjälpa andra utvecklare och intresserade att sätta upp en mätmetod, samt att göra LTE-mätningar med androidenheter.

3

Mål Målet är att utveckla en androidapplikation som ska hämta in relevanta data för att mäta teckningen, för dagens vanliga mobila kommunikationstekniker. Genom att använda appli-kationen ska man kunna testa hur bra kommunikationssystem fungerar på plats i verklighet-en. Applikationen kommer att kunna användas av företag inom industrin för trådlösa system. Vi vill också erhålla en djup förståelse för hur de mobila kommunikationstekniker som an-vänds idag fungerar, speciellt LTE. Detta innefattar även olika sätt att mäta signalen för LTE-tekniken. Vi vill utforska vad androidenheter har för möjligheter att göra signalmätningar och vad som krävs för att genomföra olika signalmätningar i Android. För att göra applikationen så intuitiv som möjligt för Network Expertise så vill vi även att mätningarna går i linje med eventuella branschstandarder.

1.4.1 Mål för applikationen (RAT-UEA) 1. Tydlig uppdelad vy för applikationens olika funktioner som ska vara enkel att bygga

vidare på. 2. Visa relevanta signalindikatorer. 3. Presentera positionsinformation. 4. Möjlighet till lagring av alla mätningar. 5. Visa vilka celler som telefonen kommunicerar med. 6. Enkla och interaktiva testcykler för signalmätning.

Nytta, etik och hållbarhet Genom att utveckla ett verktyg för att göra det möjligt att genomföra signalmätningar, går det att få en bättre bild av täckningsproblemet i nuvarande nät. Med hjälp av denna information går det att hitta lösningar på dessa problem genom att exempelvis förstärka signalen på mot-tagarsidan eller bygga ut det befintliga cellulära nätverket. Applikationen för mätningarna kan riktas till användarna av nätet. Denna lösning gör då alltså att fler människor får bättre förut-sättningar för trådlöskommunikation, utan att sätta upp fler basstationer. Detta bidrar till en bättre hållbarhet utifrån alla tre hållbarhetsperspektiv. Vi behöver inte sätta upp fler basstat-ioner i samma grad, vilket besparar miljön. Fler människor får bättre kommunikationsmöj-ligheter, vilket är bra för den sociala hållbarheten. Det är också ett ekonomiskt hållbart sätt att förbättra kommunikationen i och med att utveckling i Android är gratis. Vikten av att ha ett effektivt nätverk är en av faktorerna som de analyserar i [6], de poängterar bland annat hur viktigt robust och pålitlig kommunikation är vid starten av en krissituation. En hållbar kommunikation i detta tidiga skede sparar både liv och resurser. Användningen av Android kommer i framtiden innebära att applikationen kommer få en längre livslängd. Eftersom operativsystemet hela tiden utvecklas och fler funktioner tillkom-mer så är detta en investering i framtiden. Androidanvändningen innebär också att applikat-ionen kommer kunna användas på redan existerande telefoner, applikationen kommer därför inte bidra till något ökat ekologiskt avtryck. I och med att applikationen utvecklas för att endast användas av NX så kommer applikation-en endast hjälpa NX och deras kunder. Den gör det möjligt för NX att byta ut sin gamla appli-kation och med den nya få möjligheten till att göra LTE-mätningar. Applikationen kommer också hjälpa NX i sitt arbete med att förbättra täckningen av LTE. Rapporten kan öka förståelsen för vilken androidprogrammering som krävs för att mäta och analysera LTE-parametrar med en androidtelefon.

Metod Vi har i huvudsak två olika metoder för att lösa två olika problem. Det första problemet är att hitta vilka signalparametrar som är relevanta och vilka signalnivåer som är bra och dåliga för LTE. Det kan göras genom en undersökande forskning. En undersökande forskning går ut på

4

att hitta tillräckligt mycket överensstämmande information för att kunna dra en sannolik slutsats. I praktiken handlar det om att genomföra en litteratursökning för att se vad som tidigare gjorts och se vilka lösningar som finns på problemen. För att lösa det andra problemet, som handlar om att ta reda på ifall det är möjligt att göra signalmätningar med Android, används aktionsforskning. Aktionsforskning går ut på att kun-skap fås genom handling. Denna typ av forskning är närmst länkad till kritisk teori. I aktions-forskning är det ofta uppenbart att ett praktiskt problem behöver lösas. I projektet där möj-ligheterna inte är ordentligt utforskade är det viktigt att problemägaren NX är delaktig i pro-cessen för att försäkra ett relevant resultat. I mjukvaruutveckling med open-source används kritisk teori för att aktivt utmana tidigare antaganden om hur specifika problem ska lösas. Påverkan på resultatet som sker av forskarens partiskhet kan reduceras genom kritisk reflekt-ion av de val och ändringar som görs i projektet, samt bekräfta lärdomar genom upprepning av resultat. [7] Vi testar med andra ord att utveckla en applikation och utforskar vilka möjligheter som finns i Android. Det handlar specifikt om att testa olika funktioner och metoder för signalmätningar i Android. Vår applikation genomgår också en sorts giltighetskontroll, där den jämförs med liknande verktygs mätningar, för att försäkra att den är giltig. [8] Dessa metoder grundar sig i realismen, där det antas att saker i verkligheten är kända eller går att uppfatta. [8] Ett alternativt sätt att lösa problemet med nivåer kan göras med en mer kvantitativ metod, där undersökningar och mätningar görs på existerande nät. Då skulle det gå att se hur signa-len ser ut på olika platser och utifrån det dra slutsatser för vad som kan ses som en relativt bra och dålig signal. En annan kvantitativ metod som skulle kunna användas är att jämföra olika verktygs exakthet vid signalmätningar. En till relevant fråga man kan undersöka för att få reda på vad som är en bra eller dålig signal är att undersöka hur mycket information som kan överföras per tidsenhet. Detta kan vara intressant för att se vilken real användbarhet som signalen har. Vi valde dock inte denna väg då vi var mer intresserade av att utforska mätning-ar med Android på ett djupare plan.

Avgränsningar På grund av projektets tidsbegränsning så kommer denna rapport endast behandla mätningar av LTE tekniken. Mätmetoden kommer endast realiseras med hjälp av en androidenhet och tillgängliga funktioner i Android API (Application Programming Interface). LTE-mätningar i Android API lades till i API 17, Android 4.2. Detta innebär att applikationen endast stödjer enheter med operativsystemet Android 4.2 och senare versioner. Applikationen är endast syftad att användas av NX och kommer inte designas eller vara tillgänglig för allmänheten. Eftersom applikationen endast ska användas av NX så kommer vi begränsa oss till LTE i Sve-rige.

Disposition Kapitel 1 introducerar ämnet, problemet, målet, syftet, metoden, hållbarhets aspekter och avgränsningar som används. Kapitel 1 skrevs gemensamt. I kapitel 2 presenteras en detaljerad bakgrundsbeskrivning om LTE, androidprogrammering och beskrivning av tidigare relaterade verk. 2.1 skrevs av Nils Ångman med synpunkter från William Vesterlund. 2.2 Skrevs av William Vesterlund med synpunkter från Nils Ångman. 2.3 skrevs av William Vesterlund. 2.4 skrevs av William Vesterlund, men vi kom gemensamt fram till vilka applikationer som var relevanta att ta med. Kapitel 3 ger en detaljerad metodbeskrivning innehållande val av relevanta LTE parametrar, val av hård-och mjukvara och testning. Kapitel 3 skrevs av William Vesterlund. Vi har gemen-samt kommit fram till vad som ska stå.

5

I kapitel 4 beskrivs hur projektet genomfördes. 4.1, 4.3, 4.6 och 4.4 skrevs av Nils Ångman. 4.2, 4.5, 4.8 och 4.9 skrevs av William Vesterlund. 4.7.1 skrevs av Nils Ångman. 4.7.2, 4.7.3 skrevs av William Vesterlund. Kapitel 5 beskriver resultat på frågeställningen. 5.1, 5.3 skrevs av Nils Ångman. 5.2 gjordes gemensamt. 5.4 skevs av William Vesterlund. I kapitel 6 görs en analys av resultat. 6.1, 6.2, 6.3 och 6.4 skrevs av Nils Ångman. 6.5 skrevs av William Vesterlund. Båda var delaktiga i val av innehåll i kapitel 6. Kapitel 7 beskriver slutsatserna. 7 skrevs av William Vesterlund och 7.1 skrevs av Nils Ång-man. Båda var delaktiga i val av innehåll i kapitel 7. Slutligen finns alla referenser i kapitel 8. Referenserna editerades av Nils Ångman. Tabeller och figurer editerades av William Vesterlund.

6

2 Bakgrund Bakgrunden är uppdelad i två delar, en om LTE och en om androidutveckling. I LTE-delen beskrivs tekniken och de parametrar som är relevanta för att förstå de mätningar som skall göras. I Androiddelen beskrivs hur mätningarna av parametrarna kan realiseras i en andro-idapplikation.

LTE 4G är en övergripande term som innefattar LTE(Long Term Evolution) och LTE-Advanced. Det är en vidareutveckling av UMTS (3G). LTE är uppbyggt av tekniken E-UTRA (Evolved Universal Terrestrial Radio Access). Alla standarder för E-UTRA är definierade av 3GPP (3rd Generation Partnership Project), som är ett samarbete mellan en rad olika organisationer inom telekommunikation, för att sätta standarder inom mobil kommunikation [9]. Utöver 4G sätter 3GPP också standarder för 2G och 3G. En viktig teknik inom LTE är OFDMA som an-vänds för att dela upp frekvensband i mindre frekvensspann. [10] LTE och LTE-Advanced är tekniker ingår i 3GPP standarder och går under kategorin 36 series. [11] För djupare information om LTE rekommenderas [12] och för enklare förklaringar av LTE-termer rekommenderas [13].

2.1.1 Operatörer MCC (Mobile Country Code) tillsammans med MNC (Mobile Network Code) används för att identifiera en mobiloperatör. MCC talar om vilket land och MNC vilken operatör i landet. Sverige har MCC 240. [13] I Sverige tillhandahåller Telia, Telenor, Tele2 och 3 LTE (4G). Telenor och Tele2 delar LTE-nät. Alla fyra operatörer har frekvenser på 800MHz-bandet (LTE band 8) och 2600MHz ban-det (LTE band 7). Tele2 och Telenor har frekvenser på 900 MHz-bandet (LTE band 8). Telia, Tele2 och Telenor har frekvenser på 1800MHz bandet (LTE band 3). [14]

2.1.2 Cellulära nätverk Ett cellulärt nätverk är uppbyggt av celler som täcker en area. I varje cell finns en eller flera basstationer som täcker cellen med någon typ av trådlöskommunikation. [15] En basstation i LTE-nätverk kallas eNB (evolved Node B). [13]

2.1.3 OFDMA OFDM (Orthogonal Frequency-Division Multiplexing) delar upp ett frekvensband i många bärvågor eller frekvenser, så kallade subcarriers. De är ortogonalt uppdelade vilket betyder att de är oberoende av varandra, vilket medför att alla subcarriers i ett frekvensband kan skickas samtidigt utan att störa varandra. Användare kan endast använda intilliggande subcarriers. [10] [12] OFDMA (Orthogonal Frequency Division Multiple Access) gör det möjligt för använ-dare att använda subcarriers oberoende om det ligger bredvid varandra i frekvensplanet. [12] Resursblock innehåller 12 resurselement vilket representerar 180 kHz i frekvensplanet och 0,5 ms i tidsplanet. En carrier består av 6 upp till 110 resursblock vilket motsvarar en band-bredd på 1.08–19.80 MHz. Varje resurselement representerar 15 kHz, det vill säga en subcar-rier i frekvensplanet och en OFDM-symbol i tidsplanet. Det skickas fyra referenssignaler i varje resursblock. En referenssignal är en signal som inte innehåller någon direkt informat-ion, utan används som en hänvisning om vilken signalstyrka UE ska använda för nedlänken. [13] [12]

7

Figur 2-1 Illustration av en signal i de fysiska lagret. [16]

2.1.4 LTE parametrar Parametrar som används för att mäta nedlänken i ett LTE system är i huvudsak RSRP (Refe-rence Signal Received Power), RSRQ (Reference Signal Received Quality) och RSSI (Received Signal Strength Indicator). RSRP är signalstyrka, RSRP är signalkvalitén och RSSI är totala signalstyrkan inklusive störningar. Dessa används för att avgöra om byte av cell ska ske. [17]

2.1.4.1 EARFCN EARFCN (E-UTRA Absolute Radio Frequency Channel Number) är kanalnumret för en LTE-carrier. Den ligger till grund för en kanals centerfrekvens. Förhållandet mellan EARFCN och centerfrekvens kan fås av följande formel:

𝐹𝐷𝐿 = 𝐹𝐷𝐿_𝑙𝑜𝑤 + 0.1(𝑁𝐷𝐿 – 𝑁𝑂𝑓𝑓𝑠 − 𝐷𝐿) (1)

FDL_low och NOffs-DL finns i TS36.101, tabell 5.7.3-1. [18]

2.1.4.2 RSRP RSRP är medelvärdet av styrkan i alla resurselement som innehåller en referenssignal. Ligger i intervallet -140 dBm till -44 dBm. [19] [13]

2.1.4.3 RSSI RSSI är ett mått på total signalstyrka över ett helt band. Det vill säga summan av styrkan i varje resurselement. Om inget brus eller interferens förekommer kan RSSI beskrivas enligt formeln 2. [19] [13]

𝑅𝑆𝑆𝐼 = 12 ∗ 𝑁 ∗ 𝑅𝑆𝑅𝑃 (2)

8

Där N är antalet resursblock.

2.1.4.4 RSRQ RSRQ är ett mått på efterfrågad signalstyrka jämfört med alla signaler på bandet (brus och interferens).

𝑅𝑆𝑅𝑄 = 𝑁 ×𝑅𝑆𝑅𝑃

𝑅𝑆𝑆𝐼 (3)

Där N är antalet resursblock. RSRQ är definierat att ligga inom intervallet -3 till -19.5 dB. [19] [13]

2.1.4.5 PCI PCI (Physical-layer Cell Identity) är identiteten för en cell i det fysiska lagret som motsvarar en specifik referenssignalsekvens. Det finns 504 olika sekvenser (0-503). [12]

2.1.4.6 ECI ECI (E-UTRAN Cell Identifier) innehåller eNB-nummer och cell-nummer. ECI består av 28 bitar, de första 20 står för eNB-nummer och de sista 8 för cell-nummer. [13]

Teknikerna 2G och 3G Tekniken 2G är en övergripande term som huvudsakligen innefattar teknikerna GSM och EDGE. 3G är också en övergripande term som innefattar bland annat W-CDMA och UTRAN. Dessa tekniker standardiseras av 3GPP. [11] Relevanta bra och dåliga signalparametrar, för dessa tekniker, är sedan tidigare arbete givna av NX. Vi har inte forskat i hur 3G och 2G tek-nikerna fungerar på ett djupare plan, utan har tagit hjälp av NX kunskaper om 3G och 2G mätningar. Förståelsen vi fått under förstudien har främst handlat om vilka parametrar som motsvarar och relaterar till varandra i 2G, 3G och 4G.

Androidapplikationer Från 2015 så är det officiella androidutvecklingsverktyget Android studio, som är gjort av Google och IntelliJ. [20] Tidigare var Eclipse, som är en Android development tools-plugin i IntelliJs utvecklingsmiljö, det officiella verktyget för androidutveckling. [21] Båda dessa verk-tyg finns att hämta kostnadsfritt från respektive källor. Djupare och mer omfattande beskriv-ningar av Android finns i [22]. Information om vilka funktioner som finns i olika API finns i [23]. Mer noga information om hur källkod ser ut för de olika funktionerna finns i [24].

2.3.1 Android OS Android OS (operating system) är ett open source projekt för olika mobila enheter lett av Google. [25] Android har släppts i flera versioner och det senaste i serien är Android 5.0 Lol-lipop. För varje version så ökas API och kompabiliteten för att kunna erbjuda fler funktioner och möjligheter. [26] Android OS bygger på utveckling av applikationer som publiceras på Google play. Applikationerna publiceras i filformatet APK (Android Application Package). [27] Filen som publiceras är ett paket som innehåller filerna som applikationen utvecklas i. Några av filerna som finns i paketet är bland annat en java-fil och två XML- (Extensible Markup Language) filer. Java-filen definierar applikationens logik. Ena XML-filen bestämmer layouten och sedan finns en manifest-fil som också är en XML-fil. Manifestfilen bestämmer vilka funktioner den behöver ha tillgång till på enheten, som användaren av applikationen måste tillåta. [28]

2.3.2 Androidutveckling Applikationens layout skrivs i XML. I Android studio finns alternativet att använda ett gra-fiskt gränssnitt för att redigera XML-filen. XML programmeringsspråket används till att märka och definiera hur text och objekt ska se ut. [29] Applikationens logik görs med hjälp av det objektorienterade programmeringsspråket java. [30] Det finns fördefinierade funktioner i java för Android som man hittar i Android API. Det är dessa fördefinierade funktioner som gör språket användbart. Det gör att man inte behöver hitta på och implementera allt i appli-

9

kationen från absoluta grunden. [23] Applikationerna som har utvecklats kan köras i både emulatorn som finns i Android studio, alternativt att man laddar över applikationen till tele-fonen och kör den på den specifika enheten som finns tillgänglig. Emulatorn kan effektivt anpassas efter flera olika specifikationer och enheter.

2.3.3 Positionering i Android Androidbaserade telefoner har stöd för flera sätt att etablera position. Vanliga sätt är GPS, Cell-ID och WiFi som kan ge information om var enheten befinner sig. Med hjälp av klassen Location, som man hittar i Android API, kan man få ut GPS-koordinater och annan relaterad information. Positioneringen i Android fungerar genom att mobilen söker efter position kon-tinuerligt. Sedan använder man en funktion som kontrollerar senast kända positionen. Dock kan en position man hämtade för 10 sekunder sedan vara mer exakt än den senaste inhämt-ningen. Location kan hämta latituden, longituden, hastigheten med mera. [31] [32] Det finns också förenklade funktioner för att hämta positionen. FusedLocationProviderApi är ett speciellt API gjort av Google för att kunna hitta bästa tillgängliga positionen. Detta ingår i paketet Google Play Services som finns att lägga sin APK, för att kunna använda ännu fler färdiga funktioner. Detta sätt att estimera positionen passar bäst för applikationer som inte kräver en speciellt exakt koordinat. Detta beror på att positionen som bestäms av dess funkt-ioner kan vara väldigt grova mått baserade på exempelvis Cell-ID. [33]

2.3.4 Hämta parametrar i Android Telephony är en grupp API som innehåller get-funktioner för att hämta parametrar som har med LTE att göra. [34] Mer specifikt för LTE så finns klasserna CellIdentityLte och CellSig-nalStrengthLte. Med dessa API går det att hämta värden på olika signalstyrkor, operatörer, celler med mera. [35] [36] I Telephony manager finns en klass som heter onSignalStrengt-hsChanged, med den ska det gå att få ut signalparametrar för både 2G, 3G och LTE.

2.3.5 Lagring i Android Det finns fem grundläggande sätt att lagra data i Android. Det enklaste är att använda Shared Preferences. Detta är en funktion som tillåter intern lagring av ihop parade värden som består av primitiva datatyper. Ett annat sätt är att använda intern och extern lagring av filer. Interna lagringen går endast att komma åt med applikationen. Android har också fullt stöd för SQLite-databaser vid intern lagring. Den externa lagringen däremot är öppen för alla. Den externa lagringen kan ske på ett SD-kort eller andra minnesplatser i enheten. Det sista alter-nativet är att lagra data online, exempelvis på en server. [37]

2.3.6 ServiceMode Ett verktyg som kan användas för att se LTE-signalmätningar är ServiceMode. ServiceMode i Android är olika för olika tillverkare av UE (User equipment). I exempelvis nyare Samsung-smarttelefoner så finns möjligheten att slå in *#0011# i telefonen för att se detta läge. Där går det att se flera parametrar, bland annat LTE band, MCC, MNC, EARFCN, PCI, RSRP, RSRQ med mera. Dessa parametrar är dock låsta i enheten och endast systemapplikationer kan hämta dessa värden från ServiceMode. [38]

Konkurrerande mätapplikationer Denna sektion kommer att sammanfatta tidigare relevanta arbeten. Detta är arbeten som mäter LTE-signaler och applikationer baserade i Android som mäter LTE-signaler.

2.4.1 Mobile network measurements using Android År 2013 så studerade F. M. Albero, A Štern och A Kos. [39] hur man kan mäta en LTE-signal i Android. De konstaterade först att den senaste utvecklingen inom Android möjliggjort att i princip vem som helst, med tillgång till Android och smarttelefoner, kan göra LTE-signalmätningar. Tidigare hade det varit svårt och kostsamt att utveckla utrustning för att göra detta. I projektet så hämtar de ut vissa LTE-parametrar och skriver ut dessa i applikat-ionen samt lagrar mätvärden på en server.

10

2.4.2 Advanced Signal Status År 2014 publicerades senaste uppdateringen av androidapplikationen ”Advanced Signal Sta-tus” [40]. Applikationen mäter olika LTE-parametrar som RSRQ, RSRP, RSSI. Den har en tydlig vy som visar motsvarande parametrar i 2G och 3G. Applikationens källkod finns till-gänglig online och använder MIT-Licens. Detta betyder att den får användas fritt utan några speciella krav vid ändringar av källkoden. Den får alltså användas kommersiellt. [41]

2.4.3 TEMS (Test Mobile System) Ascom har utvecklat verktyget TEMS som används för att testa, underhålla och utveckla tråd-lösa kommunikationsnät. Verktyget är speciellt utvecklat för ingenjörer som arbetar på fältet för att samla in mätdata. Verktyget har många möjligheter och tar fram signalstyrkor, signal-kvalitéer, närliggande celler, information om olika lager i sändningen av data med de olika teknikerna. Verktyget är bra och effektivt för att göra mätningar men det kostar också i samma nivå. TEMS utförliga verktyg som körs på windows-platform heter TEMS-Investigation. [42] De har också en något mer avskalad variant som heter TEMS-Pocket som syns i figur 3.

Figur 2 TEMS-Pocket, vy för mätningar.

2.4.4 RAT-UE (Radio Analyzing Tool-User Equipment) Det tidigare verktyget som används av NX heter RAT-UE. Verktyget tar fram de parametrar som efterfrågas i teknikerna 2G och 3G, dock saknar verktyget stöd för LTE. Applikationen är symbianbaserad och har flera olika vyer. Status-vyn visas i figur 4 är den översiktliga som används ute på fältet för att se hur det går med mätningen. Cell-vyn är mer teknisk och text-baserad, där kan användaren läsa av mer detaljerad information om celler med mera. Appli-kationen kan också lagra alla mätningar med ett knapptryck. All data från mätningen samlas i tabellform i telefonens externa minne.

11

Figur 3 Statusvy för applikationen RAT-UE.

2.4.5 G-NetTrack Gratis versionen av applikationen G-NetTrack publicerades år 2014. [43] Applikationen är ett mätverktyg som används för att mäta signaler relaterade till ”UMTS, GSM, LTE och CDMA”. Detta är signalstyrkor, signal kvalitéer, information om celler och annan teknisk information. Applikationen visar också GPS-parametrar. Det finns även en betalversion av applikationen som har fler funktioner. Den kan logga data, visa närliggande celler på kartor och mycket mer. Företaget som utvecklat applikationen heter Gyokov Solut-ions. [44] De använder gratis applikationen för att privatpersoner ska kunna logga sina signalmätningar på sin enhet och bidra med en rapport för se vilka signalmätningar som enheten stödjer. Gyo-kov Solutions har publicerat en tabell över vilka enheter som stödjer vilka mätningar. Dock är tabellen gjord genom att privatpersoner skickat in mätningar som sparats i tabellen. Värdena i tabellen är alltså inte kontrollerade [45]

Tabell 2 Fördelar och nackdelar med konkurrerande mätapplikationer Tidigare arbeten Fördelar Nackdelar

Mobile network meas-urements using Android

Bra beskrivningar om vad som finns i Android API. Förklarar varför Android är en lämplig plattform för mätningar.

Saknar bakgrundsinformat-ion om signalparametrar. Finns inga beskrivningar om vilka värden som går att få ut. Otydliga resultat.

Advanced Signal Status Applikationen tar ut flertalet relevanta signalparametrar och kod finns tillgänglig att bygga vidare på.

Delar som vi efterfrågar sak-nas: Lagring, positionering, Call State.

TEMS (Test Mobile Sys-tem)

Gör alla mätningar vi vill göra och har de funktioner vi efterfrågar.

Kostsamt. Går inte att bygga vidare på och använda för framtidens mätningar.

RAT-UE (Radio Analyz-ing Tool-User Equip-ment)

Har den rätt funktionalitet för 3G och 2G.

Använder en föråldrad platt-form. Och tar inte ut 4G mätningar.

G-NetTrack Versionen som kostar pengar har all funktionalitet som efterfrågas.

Går inte att bygga vidare på.

12

3 Metod Syftet med det här kapitlet är att beskriva metoden för mätningarna, vilka parametrar som är relevanta, vilka parametrar som är bra och dåliga, vilken hård- och mjukvara som kommer användas och testning. I och med att 3GPP sätter standarder för LTE så är dem alltid ut-gångspunkten för information om LTE.

Relevanta LTE-parametrar För att komma fram till vilka mätparametrar som är relevanta så ligger utgångspunkten i vad Network Expertise efterfrågar. Det är mer eller mindre samma information som de får ut med den tidigare applikationen RAT-UE, fast motsvarande för LTE. En litteraturstudie genomförs för att titta på om det finns några standarder för vad som mäts för att avgöra om parametern är relevant eller inte. För att ytterligare avgöra vilka parametrar som är relevanta så under-söks andra applikationer och mätverktyg. Dessa applikationer finns i 2.4 konkurrerande ap-plikationer. En kombination av dessa källor kommer resultera i vilka parametrar som bör användas i applikationen och samtidigt besvara frågeställningen om vilka parametrar som är relevanta för LTE.

Bra och dåliga signalnivåer När de relevanta parametrarna har blivit definierade så genomförs en litteraturstudie för att kunna avgöra vad som är bra och dåliga signalvärden. Denna sker med hänsyn till samma aspekter som för undersökningen av relevanta parametrar. Dock kommer Network Expertise inte ha information om vilka nivåer som är bra eller dåliga för LTE.

Mätningar med Android Möjliga tillvägagångssätt som finns för att hämta definierade relevanta parametrar kommer att undersökas i praktiken. Funktionerna i Android kommer att värderas för användning i applikationen. I slutändan kommer de parametrar som finns tillgängliga av de definierade relevanta parametrarna att inkluderas i applikationen RAT-UEA. För att kunna undersöka Androids möjligheter för att hämta parametrar kommer Android API studeras närmare. Andra Android-applikationers metoder för att hämta parametrar kommer också att testas.

Testning Applikationen kommer testas på en androidtelefon med Android 4.2 eller högre version av OS för att få tillgång till [35] och [36]. För att utveckla mjukvaran till mätutrustningen så används utvecklingsmiljön Android studio. I Android studio kommer flera olika metoder att testas för att göra signalmätningar. Testning sker kontinuerlig under utvecklingens gång. Främst testastas applikationen på en Samsung Galaxy S5 och i andra hand på emulator för att kunna göra tester utan att behöva en telefon. För att verifiera värden från mätningar jämför vi med andra liknade applikationer och framförallt ServiceMode. Försök att komma åt klasserna CellIdentityLte, CellSignalStrengthLte och metoden onSig-nalStrengthsChanged kommer att göras för att se vilka av de relevanta signalparametrarna som går att få ut i praktiken. Det är också intressant att se vilken av dessa metoder som är lämpligast att använda i applikationen. För att se vad funktionerna ger så skrivs värden ut i textrutor direkt i applikationen, i terminalfönstret som finns i Android studio eller så sparas värden i lagringsfiler som analyseras i efterhand.

13

4 Genomförande Denna del beskriver hur projektet har genomförts och hur applikationen är uppbyggd och fungerar.

Bra och dåliga signalnivåer Till en början undersökte vi 3GPP men de anger endast högsta och lägsta nivån signalen är definierad för. Det krävde att litteratursökningen utökades till andra källor vilket gav ett visst resultat, men för att ytterligare verifiera informationen tog vi även kontakt med [46].

Relevanta parametrar Vi har tillsammans med Network Expertise kommit fram till en kravlista på parametrar som skulle vara användbara i applikationen.

EARFCN, RSRP, RSRQ, RSSI, för aktuell cell (LTE).

EARFCN och RSRP för närliggande celler (LTE).

UARFCN, RSCP och EcNo för aktuell cell (3G).

UARFCN och RSCP för närliggande celler (3G).

ARFCN och RSSI för aktuell cell (2G).

ARFCN och RSSI för närliggande celler (2G).

GPS-koordinater och tidpunkt då mätningen gjordes.

Signalparametrarnas klassificering i färgkodning.

Kunna se om telefonen söker, ringer eller är i samtal.

MCC och MNC.

Kunna se vilket nätläge telefonen är i (LTE, 3G eller 2G).

Två tillvägagångssätt användes vid letade i Android API. Det första var att leta i API efter de parametrar som definierats i kravspecifikationen. Parametrarna hade ibland andra benäm-ningar eller var svåra att hitta. Då var det ibland nödvändig att testa olika funktioner för att se vad resultatet blev. Ett problem som uppstod tidigt i projektet var att få ut centerfrekvensen för signaler med hjälp av EARFCN och ARFCN. Dock är dessa inte de enda parametrarna som vi saknar. Vi begränsas som sagt också av att olika telefoner stödjer olika mätningar. Ett spe-ciellt stort problem var att detektera närliggande celler. Även när mätningen stöds av enheten enligt tabellen given av Gyokov Solutions så erhålls bara information om den cell som enheten är uppkopplad till. Även fast fler celler är tillgängliga i närheten så syns dem inte.

Android studio

Android studio har används vid all programmering av applikationen. API-nivå 17 var lägsta nivån för applikationen och stödjer därför inte mobiler med lägre API-nivå. Android studio har enkel tillgång till en emulator för testning. Genom att använda Android Virtual Device (AVD) kan en virtuell androidenhet skapas. AVD har inställningar för vilken hårdvara som ska emuleras i form av minnesstorlek, storlek på bildskärm och upplösning. Det var viktigt att välja minnesstorlek 512 MB för att datorn skulle orka köra emulatorn. Android studio har en vy för kunna se sin applikation i förhand. Denna vy används också för att ändra formgivning-en av applikationen och för att lägga till nya objekt så som textrutor, knappar med mera. Detta kan enkelt göras med drag-and-drop eller kodmässigt med XML. Android studio kom-pilerar kontinuerligt koden och letar efter fel, vilket underlättar testningen. Eftersom det tar tid att emulera så sparar den kontinuerliga kompileringen mycket tid. Android studio kom-mer också med förslag på ändringar när den hittar problem. Detta kan vara automatiska in-kluderingar av bibliotek, hjälp med syntax med mera.

14

Figur 4 Android studio utvecklingsmiljö för layout.

Grundläggande androidprogrammering

Arbetsgången handlade mycket om att lära sig androidprogrammering parallellt med utveck-landet. Till största del har programkoden utvecklats med hjälp av API och annan information från internet. Genom att kolla i API efter klasser och metoder som var relevanta för applikat-ionen gick det sedan att söka upp exempel och information hur dem kunde implementeras. En del i processen för att lära sig koden var att skriva korta delar som testades och sedan bygga ut koden med mer funktionalitet. En annan hjälp för att få djupare förståelse om klas-serna och metoderna var att gå igenom Googles källkod för dem [24]. För att hitta en del pa-rametrar i API krävdes sökningar av exempelkod först. Programkoden skrevs både parvis och parallellt.

Användning av tidigare arbeten

Enligt tabellen som är publicerad av Gyokov solutions så är det endast en telefon som stödjer alla mätningar som vi är intresserade av, det vill säga signalstyrka och kvalitet för LTE, 3G och endast signalstyrka för 2G. LG-D855 är telefonen som stödjer alla dessa mätningar enligt Gyokov Solutions tabell. I vår testning använder vi en Samsung Galaxy S5. Den stödjer mät-ningar av signalstyrka och kvalitet för LTE och endast signalstyrka för 3G och 2G. [45]

Testning

Testningen har gjorts vid mer eller mindre varje förändring av koden. Testerna har gjorts först och främst på emulator och med en Samsung Galaxy S5 genom att köra applikationen och avgöra om allt fungerade som det var tänkt. För vissa problem och tester användes logcat i Android studio. Logcat används för att se och felsöka output och behövdes om innehållet i en variabel skulle undersökas eller om applikationen kraschade vid uppstart.

15

Användning av klasser i API De tre färdigdefinierade huvudklasserna som applikationen använder är Location för att be-stämma position, Telephony för att läsa av olika lägen i mobilen och HSSF för att lagra en XLS-fil.

4.7.1 Signalmätningar För att göra signalmätningar används klasserna PhoneStateListener, ServiceState, SignalSt-rength och TelephonyManager från Telephony API. TelephonyManager används för att initia-lisera och få möjlighet att lyssna efter förändringar i signalvärden från ServiceState och Sig-nalStrength. PhoneStateListener används för att lyssna efter förändringar i ServiceState och SignalStrength. Metoderna onServiceStateChanged och onSignalStrengthsChanged exekveras vid varje sådan förändring. Från SignalStrength hämtas information om signalstyrka och sig-nalkvalité för 2G, 3G och 4G. Det görs med hjälp av metoden toString som returnerar all läs-bar information från klassen SignalStrength. I och med att den returnerar alla signalparamet-rar på en gång krävs det en uppdelning av innehållet i toString för att sedan kunna skriva ut varje parameter för sig. ServiceState används för information om vilken teknik som används utav telefonen, GSM (2G), WCDMA (3G) och LTE (4G). Varje gång ett nytt värde registreras i SignalStrength eller ServiceState kalls onSignalStrengthsChanged respektive onSer-viceStateChanged och värdet skrivs ut i en textruta. Det som skrivs ut är signalstyrka, signal-kvalité och vilken teknik som är aktiv för den teknik som är aktiv. Vid ändringar av värde i SignalStrength ändrar onSignalStrengthsChanged också bakgrundsfärgen på textrutan efter vilket värde det är på signalen. Förändringen av färg följer tabell 2.1 för 4G och färgschemat i RAT-UE för 2G och 3G. Parametrar som inte uppdateras så som MCC och MNC behöver inte använda PhoneStateListener utan kan hämtas en gång vid uppstart av applikationen från TelephonyManager. Om lagringsfunktionen är på lagras alla värden vid en förändring i Sig-nalStrength.

4.7.2 Position För att etablera position använder applikationen Androids Location API. I detta finns Locat-ionListener som kommer att kallas av LocationManager när positionen har ändrats. Applikat-ionen är konfigurerad så att positionen bestäms med GPS. Parametrarna som lagras och skrivs ut är longitud, latitud och accuracy. Enligt API så anges mätningens precision i meter inom en radie. Det är då med 68 % konfidens att den verkliga positionen finns i denna cirkel. GPS-värdena skrivs ut varje gång de ändras. När lagningsfunktionen är aktiv lagras longitud och latitud sker varje gång PhoneStateListener uppfattar en ändring av ett värde i SignalSt-rength med onSignalStrengthsChanged.

4.7.3 Lagring Applikationen använder sig av en del i ”The Apache POI (Poor Obfuscation Implementation)

Project” som heter HSSF (Horrible SpreadSheet Format). I detta open-source-projekt har de använt omvänd ingenjörskonst för att rekonstruera Microsofts filformat med java. Detta har ett färdigt API för att skapa och ändra XLS-filer (Microsoft Excel filformat) i med javakod. [47] Genom att följa och använda oss av ett enkelt exempel lyckades vi skapa en XLS-fil som lagrades publikt på telefonen. [48] Cellerna i filen går att ändra efter behov. Lagringsfunkt-ionaliteten har vi alltså bara modifierat och inte skrivit själva för att spara tid till den viktigare delen av projektet som är signalmätningarna. Det finns en knapp i applikationen som sätter en flagga. Flaggan är initialiserad till noll. Vid första knapptrycket ändras flaggan till ett och applikationen börjar lagra mätvärden (varje gång en förändring registreras i SignalStrength med onSignalStrengthsChanged) från alla parametrar i var sin vektor. Varje nytt mätvärde får en egen tidsindikator för när de uppmättes. Vid nästa knapptryck ändras flaggan till två och lagringen avslutas och vektorerna sickas till en funktion som genererar en XLS-fil. Funktionen namnger filen till den tid då mätningen startades. Alla parametervektorer loopas igenom för att skriva in varje element en efter en på en ny rad i XLS-filen. Varje parameter har en egen kolumn där mätvärdena skrivs in. Därefter nollställs alla vektorer för att kunna göra en ny mätning och spara in nya värden i en ny fil.

16

Layout I Android studio använder vi oss av RelativeLayout. Det gör det enkelt att placera ut objekt i förhållande till varandra på skärmen. Text och andra värden skrivs ut med hjälp av TextView. Vi skapar flera olika TextView för att skriva ut saker och placerar dem enhetligt i förhållande till varandra på skärmen. Varje TextView tilldelas ett ID som används för att i javakod kunna hitta och skriva ut rätt värde till rätt TextView. För att illustrera signalparametrarnas kvalitet och styrka så ändrar vi bakgrundsfärgen på TextView som visar färger från rött till mörkgrönt enligt tabell 2.1. Knappen för att spara värden fungerar på samma sätt som TextView genom att den placeras ut relativt andra objekt på skärmen och tilldelas ett ID. För att registrera ett knapptryck används metoden onClickListener som kallas varje gång knappen tryckts ned. Applikationens layout diskuterades med utvecklare på NX. Vi konstaterade att det viktigaste är att applikationen har den funktionalitet som krävs för att hämta och lagra parametrar. Gra-fiskt utvecklad layout kommer i andrahand för både oss och NX.

Applikationens behörigheter Innan några sensorer kan användas på telefonen som applikationen körs på så måste appli-kationens behörigheter definieras i manifest-filen. För att komma åt position, signalmätning-ar, land, operatör med mera så krävs READ_PHONE_STATE, AC-CESS_COARSE_LOCATION och ACCESS_FINE_LOCATION. Detta är tillstånd som använ-daren accepterar när den installerar applikationen för att tillåta den att komma åt känslig information.

17

5 Resultat Resultat beskriver relevanta mätparametrar för LTE, vilka parametrar som går att hämta med Android API, vilka signalvärden som är bra och dåliga samt hur mätningarna realiseras med en androidbaserad applikation.

Relevanta parametrar De relevanta parametrarna för NX LTE-mätningar är främst RSRP, EARFCN och närliggande cellers RSRP och EARFCN. Ytterligare information som har relevans är RSRQ, MCC och MNC. Dessa har dock inte lika stor betydelse för NX arbete. LTE-parametrarna som går att hämta med en androidbaserad telefon via Android API är RSRP, RSRQ och ECI (med vissa telefonmodeller). Telefonen måste också stödja API-nivå 17. För 3G går det att hämta RSCP och EcNo (med vissa telefonmodeller) och för 2G går det att hämta RSSI. MCC och MNC går båda att hämta via API. Information om närliggande celler är inte tillgängligt varken för 2G, 3G eller 4G via API oberoende av telefonmodell.

Bra och dåliga signalnivåer för LTE Det finns ingen officiell klassificering för vad som är bra och dåliga parametervärden. Dessa beror på flera variabler som har med olika utrustningar att göra. Enligt företaget [49] och [46] på Ericsson så beskrivs LTE-signalen enligt Tabell 5.1.

Tabell 5.1 Klassificering av parametervärden enligt [49].

RSRP (dBm) RSRQ (dB)

Utmärkt >=-80 >=-10

Bra -80 till -90 -10 till -15

Medel -90 till -100 -15 till -20

Dålig <=-100 <=-20

Enligt [50] så beskrivs LTE-signalen enligt Tabell 5.2.

Tabell 5.2 Klassificering av parametervärden enligt [50].

RSRP (dBm) RSRQ (dB) RSSI (dBm)

Utmärkt -40 -7 -70

Dålig -90 -25 -120

Signalmätningar med ett androidbaserat system En androidtelefon är fullt kapabel till att mäta LTE-signaler, men med Android API saknas det funktionalitet. Det som API stödjer är mätningar av RSRP, RSRQ, RSCP, RSSI (2G), MCC och MNC. EcNo går att få ut med vissa telefonmodeller, dock inte Samsung Galaxy S5. Det går inte att mäta EARFCN, UARFCN, ARFCN, och information om närliggande celler.

Applikationen RAT-UEA Applikationen är anpassad för androidenheter som använder operativsystem från och med API 17. Applikationen kan mäta olika parametrar beroende på vilken enhet den används på. Eftersom funktionaliteten på olika enheter skiljer sig. Applikationen RAT-UEA som vi utveck-lat för NX syns i figur 6.

18

Figur 5 Applikationen RAT-UEA som är utvecklad för NX.

5.4.1 Beskrivning Applikationen har en vy som är uppdelad för de tre olika kommunikationstekniker. Nedanför dessa så finns ett fält för positionering, telefonens nätläge och en knapp som hanterar lagring av mätvärden. Applikationen kan mäta signalstyrka och signalkvalité för 3G och LTE, samt signalstyrka för 2G. Applikationen tar fram vilket land telefonen befinner sig i (MCC) och vilken operatör den använder (MNC).

5.4.2 Funktionalitet För varje kommunikationsteknik finns en indikator för att visa om den är aktiv eller inaktiv. När det står ”Active” så skrivs aktuella signalparametrar ut för tekniken. Beroende på värdet på dessa parametrar så skrivs en färg ut bakom värdet som indikerar om värdet är bra eller dåligt. Det vill säga bra eller dålig signalstyrka samt bra eller dålig signalkvalité. Indikations-färgen har fem olika nivåer. Där mörkröd är sämst och mörkgrön är bäst och följer signalnivå-erna i tabell 2.1. När en teknik är ”Inactive” så skrivs inga värden ut för tekniken. Applikation-en skriver positionen med koordinater i form av latitud och longitud när GPS på telefonen är aktiverat. Innan första positionen har hittats står det ” Searching…”. Det skrivs också ut hur exakt mätningen är vi ”Accuracy” som mäts i meter. Applikationen visar call state det vill säga vilket samtalsläge telefonen är i. När telefonen inte är i samtal så visar applikationen ”Idle”. När det ringer så visar den ”Ringing” och när samtalet är uppkopplat så visas ”In a call”. Det finns en knapp med texten ”Save”. När användaren trycker på den börjar mätvärden lag-ras för den teknik som är aktiv och GPS som den är aktiv. Knappens text ändras i detta läge till ”Stop saving”. Trycker användaren på knappen när det står ”Stop saving” slutar applikat-ion att lagra mätvärden och skriver in värdena i en XLS-fil. Filen kommer att få namnet för den tid då mätningen startades i formen år, månad, dag, timma, minut, sekund och millise-kund. Mätvärdena lagras efter parameter och kolumn. Det är ändas förändringar av mätvär-det som kommer att visas i XLS-filen.

19

Figur 6 Genererad XLS-fil efter mätning.

5.4.3 Manuella inställningar Applikationen har inte funktionalitet för att slå på GPS och byta nätläge. Detta måste göras manuellt i telefonens inställningar.

20

6 Diskussion Diskussionen beskriver missar under projektet, analyserar resultatet av frågeställningen och hur användbar applikationen är för Network Expertise.

Misslyckade vägval En tidig miss i programutvecklingen var att vi använde get-metoder istället för listeners. Det gjorde att flera parametrar bara hämtades en gång vid uppstart och aldrig uppdaterades. Ett annat problem med programmeringen var vid hämtning och användning av variabler från onSignalStrengthsChanged. Det gick inte använda variablerna som ändrades i onSignalSt-rengthsChanged i andra klasser och metoder utan att det innehöll null-pekare, vilket gjorde att applikationen kraschade. Detta problem lyckades inte lösas vilket gjorde att parameter-värden istället skrevs ut och lagrades med onSignalStrengthsChanged. Det var inte en så snygg löning men den fungerar. I RAT-UE finns en del grafiska delar som försökte efterliknas men det var inte helt enkelt. I Android går det inte att ha textrutor och grafik/animeringar i samma layout utan det måste vara separata layouts för grafik och textrutor. Det tillsammans med problemet att använda variabler utanför onSignalStrengthsChanged gjorde att den grafiska idén fick slopas till en simplare variant där endast bakgrundsfärgen på textrutorna ändras. Många av dessa problem hade kunnat adresseras under förstudien om en djupare undersökning hade gjorts kring API och androidprogrammering. Till en början var tanken att använda SQL för lagring men det visade sig vara enklare att an-vända HSSF för att skapa en XLS-fil. En sak som borde ha gjorts var att kontakta en expert på LTE. Det var något som diskuterades och fanns planer kring att göra men aldrig blev av. Möjligheten att kunna ställa frågor om

oklarheter och få extra information hade antagligen varit till stor hjälp i början av arbetet.

Bra och dåliga signalnivåer En viktig del i problemformuleringen handlade om bra och dåliga signalnivåer för LTE. Den informationen har en stor betydelse för att kunna analysera mätvärden. Det finns idag brist-fällig information på området. Tydligaste anledningen är att det saknas en standard. 3GPP har satt intervall för signalnivån på RSRP och RSRQ vilket skapar en viss uppfattning om vad som är bra och dåligt, men till stor del är det företag och organisationer som själva avgör vilka nivåer som anses bra och dåliga. Bra och dåligt beror också till stor del på vad som förväntas. Är signalen starkare än förväntat anses den bra och är den svagare än förväntat anses den dålig. Den information som hittades för tabell 5.1 tycks vara pålitlig. Både [49] och [46] re-kommenderar nivåerna i tabell 5.1. Informationen i tabell 5.2 tycks inte ha några belägg, där-för används den inte.

Relevanta parametrar Vid val av relevanta parametrar för LTE handlade mycket om NX krav. De var ute efter mot-svarande 2G- och 3G-parametrar (som de mäter med RAT-UE) för LTE. Det var i första hand signalstyrka och bärvågsfrekvens, det vill säga RSRP och EARFCN för LTE, samt samma in-formation om närliggande celler. De övriga parametrarna RSRQ, MCC och MNC ger ytterli-gare information, men är mindre relevant för NX arbete. Det medförde att ECI uteblev från RAT-UEA.

Mätningar med androidtelefoner En androidtelefon som mätinstrument för 2G, 3G och 4G är möjligt men kräver systemnära programmering. Det är inga problem att få fram signalstyrka med Android API men utöver det är signalinformationen väldigt begränsad. API är begränsat dels till vilka parametrar som finns men också till olika telefonmodeller. ARFCN, UARFCN och EARFCN samt information

21

om närliggande celler är viktig information som inte är tillgängligt i API. API har även bris-tande information om klasser. I många klasser och metoder beskrivs knapphändigt vad för parametrar som egentligen mäts. Med hjälp av Googles källkod till API kan de flesta oklarhet-er redas ut. Android API är open-source vilket gör det mindre pålitligt, eftersom det inte krävs någon djupare teknisk bakgrund om LTE för att skriva en klass. Det är därför viktigt med jämförelse med annan utrustning för att säkerställa att API stämmer i sina mätningar. Dessa komplikationer gör att Android inte är redo för tekniska mätapplikationer som kräver fler parametrar, som ännu inte finns i Android API. För att göra en egen lösning idag krävs egen programmerad hårdvara eller tillgång till parametrar som finns djupare i telefonen. Det skulle antagligen bli en kostsam och komplicerad lösning.

Resultatets nytta för Network Expertise och hållbarhet I nuläget ersätter inte vår applikation NX gamla applikation. Främst på grund av att flera parametrar saknas. På Google play finns flera alternativ som erbjuder samma signalmätning-ar som vår applikation. Exempelvis G-NetTrack tar ut de parametrar som vi tar ut. Det som ger vår applikation ett värde för NX är att det är en bas som de kommer kunna bygga vidare på i takt med att Android API utvecklas. Då kommer de kunna lägga till alla parametrar de efterfrågar. Framförallt EARFCN, UARFCN, ARFCN och information om närliggande celler. Det enda som tydligt skiljer vår applikation från andra är kategoriseringen av bra och dåliga nivåer med färgkodning. Med detta sagt så kommer ändå RAT-UEA vara designad och endast innehålla funktionaliteten som NX efterfrågar. Därför kommer applikationen vara ett av de bättre alternativen för att erbjuda deras kunder en bättre tjänst och därmed ge dem en bättre möjlighet till kommunikation. Tjänsten möjliggör bättre kommunikation och kommer visser-ligen att kosta, dock kommer tjänsten bli extremt kostnadseffektiv. Utvecklingskostnaden är obefintlig för NX och utrustningen är relativt billig jämfört med andra alternativ. Applikation-en möjliggör för bättre kommunikation till ett kostnadseffektivt pris och samtidigt undviks kostnader och miljöeffekter av att montera upp nya basstationer. De negativa konsekvenser som kommer med förstärkningen av signalen på mottagarsidan är eventuell miljöpåverkan av repeatrar, antenner och kablage, som monteras av NX. Hela livscykeln för dessa produkter kommer att ha någon miljöpåverkan vid tillverkning, användning, skrotning eller eventuell återvinning.

22

7 Slutsatser Alla lärandemål som beskrivs i 1.4 är mer eller mindre uppnådda. Främst har vi utforskat möjligheterna för Android. Gällande applikationens mål så uppnår vi de fyra första målen. Det vi faller på i applikationen är begränsningar i Android API och begränsningar i vilka mät-ningar som stöds av olika telefoner. Av tidsbrist hann vi inte med det sista målet som var att göra någon standardiserad testcykel. Vi har besvarat den första frågeställningen rörande vad som är relevant, bra och dåligt i en LTE-signalmätning, på ett tillfredställande sätt. Denna frågeställning besvarades under be-skrivningen av bakgrunden i projektet. Där besvarar vi vilka parametrar som finns, är rele-vanta samt redogör för bra och dåliga signalnivåer. För att besvara vår andra frågeställning, hur man kan göra en signalmätning med en androidtelefon, har vi utvecklat en applikation som tar fram flera relevanta parametrar och signalnivåer. Dock inte alla önskvärda paramet-rar, på grund av begränsningar i antingen Android API eller vilka mätningar som stöds av olika telefoner. Framförallt har vi i projektet utforskat vilka möjligheter det finns just nu till att göra mätningar i Android. Applikationen kommer vara till viss nytta för NX i nuläget. Dock spelar den en viktigare roll i framtiden eftersom den kommer kunna utvecklas i takt med att nya signalmätningar möjlig-görs i Android. Något som NX kommer ha användning för idag är vilka signalnivåer som är bra och dåliga för LTE-signaler. Applikationen är och kommer fortsatt vara ett verktyg för att optimera redan existerande telefonnät, vilket kan leda till sparad energi och bättre kommuni-kation, vilket i sin tur kan sparad hälsa och liv.

Framtida arbete För att kunna göra 2G-, 3G- och 4G-mätningar med Android och vår applikation krävs fram-tida arbete. Det behövs införskaffas en telefon som stödjer alla efterfrågade mätningar. Tele-fonen behöver därefter testas med applikationen. Generellt behöver applikationen testas mer ute på fältet. För applikationen krävs utveckling så att alla mätparametrar som är relevanta mäts och visas. Det är ARFCN, UARFCN och EARFCN samt information om närliggande cel-ler. Det kräver att Android API utvecklas och får stöd för de mätningarna, alternativt att inför-skaffa åtkomst av API för lägre nivå av programmering än vad Java erbjuder. Ett annat fram-tida arbete med applikation skulle vara att göra den mer användarvänlig och publik. Det skulle resultera i mer testning av applikationen på flera olika telefonmodeller och bättre an-passning för kundens behov.

23

8 Referenser

[1] A. Wigren och K. Fransén, ”Svensk telemarknad första halvåret 2014,” PTS, 2014.

[2] C. Bygren, ”Rapport av uppdrag att samla in statistik om tillgången till mobila kommunikationsnät,” PTS, 2015.

[3] J. Wännström , ”Inomhustäckning – sammanställning av lösningar,” PTS, 2015.

[4] B. Wisenfelt, Interviewee, Network Expertise. [Intervju]. 9 April 2015.

[5] ”StatCounter Global Stats,” [Online]. Available: http://gs.statcounter.com/#mobile_os-SE-monthly-201001-201504. [Använd 23 April 2015].

[6] R. B. Dilmaghani och R. R. Rao, ”Future Wireless Communication Infrastructure with Application to Emergency Scenarios,” i World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007. IEEE International Symposium on a, 2007.

[7] S. Easterbrook, J. Singer, M.-A. Storey och D. Damian, ”Selecting Empirical Methods for Software Engineering,” 2007.

[8] A. Håkansson, ”Portal of Research Methods and Methodologies for Research Projects and Degree Projects,” i The 2013 World Congress in Computer Science, Computer Engineering, and Applied Computing , 2013.

[9] ”About 3GPP,” [Online]. Available: http://www.3gpp.org/about-3gpp. [Använd 23 April 2015].

[10] M. La Rocca, ”LTE Radio Interface Overview,” 12 Mars 2014. [Online]. Available: http://www.laroccasolutions.com/training/140-lte-radio-interface-overview. [Använd 23 April 2015].

[11] 3GPP, ”Technologies,” [Online]. Available: http://www.3gpp.org/technologies. [Använd 28 Maj 2015].

[12] E. Dahlman, S. Parkvall och J. Skold, 4G: LTE/LTE-Advanced for Mobile Broadband, Academic Press, 2011.

[13] S. Sesia, I. Toufik och M. Baker, LTE – The UMTS Long Term Evolution A Pocket Dictionary of Acronyms, Wiley, 2009.

[14] G. Lindberg Årneby , ”Frekvenser för 4G och LTE i Sverige,” 2 April 2013. [Online]. Available: http://prylkoll.se/frekvenser-for-4g-och-lte-i-sverige/. [Använd 23 April 2015].

[15] R. C. Raciti, ”CELLULAR TECHNOLOGY,” Juli 1995. [Online]. Available: http://scis.nova.edu/~raciti/cellular.html. [Använd 23 April 2015].

[16] Telesystem Innovations, ”LTE in a Nutshell: The Physical Layer,” 2010.

[17] P. N. Charalampos, A. D. Panagopoulos och P. Constantinou, ”Quality of consumer experience data mining for mobile multimedia communication networks: learning from measurements campaign,” International Journal of Wireless and Mobile Computing, vol. 8, nr 1,

24

pp. 34-44, 5 Januari 2015.

[18] ”3GPP TS 36.101 Evolved Universal Terrestrial Radio Access (EUTRA);User Equipment (UE) radio transmission and reception,” [Online]. [Använd 23 April 2015].

[19] M. La Rocca, ”RSRP and RSRQ Measurement in LTE,” 02 Februari 2015. [Online]. Available: http://www.laroccasolutions.com/training/78-rsrp-and-rsrq-measurement-in-lte. [Använd 23 Februari 2015].

[20] Google Inc, ”SDK,” Android, [Online]. Available: http://developer.android.com/sdk/index.html. [Använd 23 April 2015].

[21] Google Inc, ”ADT Plugin Release Notes,” Android, [Online]. Available: http://developer.android.com/tools/sdk/eclipse-adt.html. [Använd 23 April 2015].

[22] S. Conder och L. Darcey, Android wireless application development, Upper Saddle River, NJ. : Addison-Wesley, 2010.

[23] Google, ”Android APIs Package Index,” [Online]. Available: http://developer.android.com/reference/packages.html. [Använd 23 April 2015].

[24] Google, ”Android Git repositories,” [Online]. Available: https://android.googlesource.com/. [Använd 21 Maj 2015].

[25] Google Inc, ”Welcome to the Android Open Source Project!,” Android, [Online]. Available: http://source.android.com/. [Använd 23 April 2015].

[26] Google Inc, ”The Android Story,” Android, [Online]. Available: https://www.android.com/history/. [Använd 23 April 2015].

[27] Google, ”Google play,” [Online]. Available: https://play.google.com/store/apps. [Använd 23 April 2015].

[28] Wikipedia, ”Android application package,” 21 April 2015. [Online]. Available: http://en.wikipedia.org/wiki/Android_application_package. [Använd 23 April 2015].

[29] Microsoft, ”XML för nybörjare,” [Online]. Available: https://support.office.com/sv-se/article/XML-f%C3%B6r-nyb%C3%B6rjare-a87d234d-4c2e-4409-9cbc-45e4eb857d44?ui=sv-SE&rs=sv-SE&ad=SE. [Använd 23 April 2015].

[30] Oracle, ”Lär dig mer om Java-teknik,” [Online]. Available: http://www.java.com/sv/about/. [Använd 23 April 2015].

[31] Google, ”Android APIs Location,” [Online]. Available: http://developer.android.com/reference/android/location/Location.html. [Använd 23 April 2015].

[32] Google, ”Location Strategies,” [Online]. Available: http://developer.android.com/guide/topics/location/strategies.html. [Använd 23 April 2015].

[33] Google, ”Getting the Last Known Location,” [Online]. Available: https://developer.android.com/training/location/retrieve-current.html. [Använd 23 April 2015].

25

[34] Google, ”Android APIs TelephonyManager,” [Online]. Available: http://developer.android.com/reference/android/telephony/TelephonyManager.html. [Använd 23 April 2015].

[35] Google, ”Android APIs CellIdentityLte,” [Online]. Available: http://developer.android.com/reference/android/telephony/CellIdentityLte.html. [Använd 23 April 2015].

[36] Google, ”Android APIs CellSignalStrengthLte,” [Online]. Available: http://developer.android.com/reference/android/telephony/CellSignalStrengthLte.html. [Använd 23 April 2015].

[37] Google, ”Storage Options,” [Online]. Available: http://developer.android.com/guide/topics/data/data-storage.html. [Använd 23 April 2015].

[38] Stack Exchange Inc, ”Open ServiceMode menu programatically in Android,” [Online]. Available: http://stackoverflow.com/questions/20248195/open-servicemode-menu-programatically-in-android. [Använd 24 April 2015].

[39] F. M. Albero, A. Štern och A. Kos, ”Mobile network measurements using Android,” 2013.

[40] ”Advanced Signal Status,” Coding Creation, 10 Maj 2015. [Online]. Available: https://play.google.com/store/apps/details?id=com.cc.signalinfo. [Använd 21 Maj 2015].

[41] Open Source Initiative, ”The MIT License (MIT),” [Online]. Available: http://opensource.org/licenses/MIT. [Använd 21 Maj 2015].

[42] Ascom, ”TEMS™ INVESTIGATION,” [Online]. Available: http://www.ascom.com/nt/en/index-nt/tems-products-3/tems-investigation-5.htm#overview. [Använd 21 Maj 2015].

[43] ”G-NetTrack,” GyokovSolutions, 29 November 2014. [Online]. Available: https://play.google.com/store/apps/details?id=com.gyokovsolutions.gnettrack. [Använd 21 Maj 2015].

[44] Gyokov Solutions, ”Android OS UMTS/GSM/LTE/CDMA/EVDO Network Monitor and Drive Test tools,” [Online]. Available: http://www.gyokovsolutions.com/G-NetTrack%20Android.html. [Använd 21 Maj 2015].

[45] Gyokov Solutions, ”G-NetTrack phone measurement capabilities,” [Online]. Available: http://www.gyokovsolutions.com/survey/surveyresults.php. [Använd 21 Maj 2015].

[46] A. Sultan, Interviewee, [Intervju]. 13 Maj 2015.

[47] A. C. Oliver och N. K. Barozzi, ”POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files,” 2014. [Online]. Available: https://poi.apache.org/spreadsheet/index.html. [Använd 21 Maj 2015].

[48] s. patil, ”Creating/Reading an Excel file in Android,” 15 April 2013. [Online]. Available: http://www.cuelogic.com/blog/creatingreading-an-excel-file-in-android/. [Använd 21 Maj 2015].

26

[49] M. La Rocca, ”RSRQ to SINR,” Laroccasolutions, 21 April 2015. [Online]. Available: http://www.laroccasolutions.com/training/164-rsrq-to-sinr. [Använd 23 April 2015].

[50] J. Hoy, Forensic Radio Survey Techniques for Cell Site Analysis, Wiley, 2015.

[51] V. Sevindik, J. Wang, O. Bayat och J. Weitzen, ”Performance Evaluation of a Real Long Term,” 2012.

TRITA ICT-EX-2015:186

www.kth.se