You are on page 1of 58

Optimizing Cellular Network Analysis with a Mobile Device

Niclas Fagerholm Master’s Thesis at KTH ICT Supervisor & examiner: Johan Montelius July 2009

This Master Thesis deals with developing an application for cell analysis and optimization. When network operators gradually move from 2G networks to 3G networks there is an increased need for efficient cell optimizations. RAT is a PC application that does post analysis of gathered field data in order for engineers to improve their systems. I have been asked to develop an application for a mobile device called RAT-UE that gathers the information required by the RAT PC application. In order to understand what the RAT-UE application should be capable of relevant concepts within cellular radio systems and architectures are explained and discussed. The design of a typical Symbian C++ is explained as it will be the foundation for developing the RAT-UE application. The performance of the application is evaluated to be adequate and the data that it acquires through a proprietary API is also evaluated to be adequate for certain circumstances. The final application is able to provide the RAT PC application with relevant data, although the precision and number of data-types could be improved. The application thus allows the user to quickly assess the situation of the network and to later generate coverage maps of the collected data and conduct cell optimizations.


I want to express my gratitude towards the kind and helpful employees at Webconnect and Network Expertise, who all have been a great inspiration for me. I also want to thank my tutor at KTH, Johan Montelius, who has provided me with key insight in the area of telecommunications and helped me conduct my research. Finally I want to thank my family who has always been there for me.



. . . . . . . . . . . . . . . . . . . . 3. . .3 GSM and UMTS interoperation . 3 Cellular network architectures 3. . . . . . . . . . . .1 Initial tuning . . . . . . . . . . . .2. . . . . . .6 State . . . . . . . . . . . . 1. . . . . . . 2. . . . . . . . . . . . . . .3 Problem statement 1. . .2. . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . 2. . . . . . . . . . . . . . . . . . . . . . . . . . . .2. .1 GSM . . . . . 2. . . . . . . . . . . . . . . . . . . . .5 Signal quality . . . . . .1. . . . . . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . . . . . . . . . 3. . .2. . . . . .3 Common principles and practices vii . . . . . .4 Cell optimization . . . . . . . .4 Signal strength . . . . . . . . . . . .2. . . . .3 Base Station Identification . . . . . 3. . . . . .2 Frequencies .2.2 UMTS . .8 Signal quality . . . . . . . . . . . . . 2. . . . . 2. . . . . . . . . . . . . . . . . . . . . . .2 Scanners . .7 Signal strength . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . .2. . . . .4. .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . 2. . . . . . . . . . . . . . . . . . . . 2. . . . .5 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . 3. . . .2 Continuous optimization . . . . . . . . . . . . .4 Approach . . . .2 Frequencies . .2 Related work . . . . . . . . . . 3. . . . . . . . . . . . . . . . . .5 Field testing . . . . . . . . . . . . . .1 Cell planning . . . .2. . . . . . . . . . . . . . . . . . .4 Scrambling Code . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . .9 Rake receiver . . . . .1. . . . . . . . . . . . 2. . . . .2. . . . .3 Spreading and despreading 2. .1 Multiple access . . . 3. . . . . . . . . . . . . . . . . . . . . . . . .2 Co-location and co-siting . . . . . . . . . 2. . . . . . . . . . . . 1 1 2 2 3 3 5 5 5 6 6 7 8 8 8 9 9 9 9 10 10 10 11 13 13 13 14 15 15 16 16 16 17 17 17 18 . . . 2 Cellular radio systems 2. . 1. . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . .5.1 Background . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . .2 Third generation . . . . . . . . .4. .1. . . . .5.1 Multiple access . . . . . . . . . . 2. . . . . . .1 Second generation . . . . . . . . . . . . . . . . .5 Handovers . . . . 2. . . . . . . . .1 UE testing tools . . . . . . . 2. . . . . . .Contents 1 Introduction 1. . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . . 3. . . .

2 Type . . . . . . . 6. . 4. . . . . . .2 Heap . . . . . . . . .3 Third screen 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Stack . . . . .3. . . . . . . .2. . . . . . . . .1 Performance of network data gathering module 6. . . . . . 4. . . . . . . . . .3 System overview . . .3 Performance of write operations . . . . . . . . . .2. . . . . . . . . . . . . 4. . . . . . . . 5. 4. . . . . .1. . . . . . . . 6. . . . . .2 Feasibility and usability of collected data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . .5 File operations . . . . . .1 Choices in hardware and software 4. .1. 4. . . . . .3. . . . 4. . . . . . . 4. . . . . . . . .2 Performance of GPS location module . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . 5. . . . . .1 Feasibility of application . . 6 Evaluation 6. . .3 Network data gatherer . . . . . . .2 Fields of use . . . . . .2 CPU . . . . . . .2. . 5. . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . .3 Usability of collected data . . . . . . . . . . . . .1 Graphical User Interface . . . . . . . . . . . . 6. . . . 4.3 Shortcomings Contents 19 19 20 21 21 21 22 22 22 24 24 25 27 27 27 29 29 30 30 31 31 33 33 33 34 35 35 36 36 39 39 39 . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . .1 AppUi class . . . . . . . . . .2 Typical Symbian C++ design . . . . . . . . . . . . . 41 7. . . . . . . . . . . . . . .1 Memory . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . 6. . 41 7. . . . . . . . . . . . . .6 Graphical User Interface . . . . . 6. . .2 Engine . 7 Conclusions and future work 41 7. . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Precision . . . . . . . . . . .3 Future work . . . . . . .2 Together with 5. . . .viii 4 Design and implementation 4. .1 The application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . .1 First screen . . . .2. . . . . . . . . . . . .2 Observer classes . . . . .3. . . . . . . . . . . . . . . . . . . . 5. . . .2 Second screen 5. .2. . . . . . . . . . .3. .4 GPS positioning module . . . . . . . . . . . . . . . . . . 6. . 6. . . .2. . . . . . . . . . . . . . . . . . . . . . . .1 Standalone . . . . . . . . . . . . . .2. . . . . . . . . 6. . .1. . . . 5 Results 5. . . . . . . . . . . . . . . . . . . a RAT server . . . . . . 41 References 43 . . . . .

. . Time taken to write to file on a logarithmic scale . three different codes . . . . . WCDMA multiple access method with RSSI and RSCP comparision . . . . . . . . . .List of Figures 2. . . . . . . . . . . . ix .4 4. . . . . .2 6. . . Aproximation of a GPS location with two adjacent locations. . . . Cellular concept with reuse factor 5 . . . .3 TDMA multiple access method . . .2 2. . . . . . . . . . . . . .3 2. . . . . . . . . . . . . . . . . . .1 4. . . . . . . . . . . Class diagram of RAT-UE . . . . .2 6. . . . . . . . .1 6.1 2. . . . . . . . Time taken to write to file on a linear scale . . . 6 7 8 11 20 23 37 38 38 Typical class diagram of Symbian C++ application .


. in bytes . . . . . .1 5.5 6. . Information available on third screen . .4 5. . . . . . . . . .2 Comparision of parameters for GSM and UMTS . xi . . Speed and intervalls between save points when saving at different sampling rates .1 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 28 28 29 30 30 34 36 Memory usage for different components in the stack. . . . . . . . . . . . . . GSM parameters listed on the second screen.1 5. . . . . . . . . . . . . . . . . .List of Tables 4. . . . . . . . . . . UMTS parameters listed on the second screen. UMTS parameters listed on the first screen. GSM parameters listed on the first screen.3 5. .2 5. .


List of Abbreviations 1G 2G 3G API ARFCN AT BS BSIC CDMA CellID CPU dB dBm Eb/No Ec/No GPS GSM GUI IDE LAC MCC MNC OS OVSF PDC QoS RAT RAT-UE RF RNC RRU RSCP RSSI RxLev RxQual SC SIM TDMA First Generation Second Generation Third Generation Application Programming Interface Absolute Radio Frequency Channel Number Attention Base Station Base Station Identity Code Code Division Multiple Access Cell Identity Central Processing Unit deci Bell deci Bell milli Watt Energy to bit / Noise Energy to chip / Noise Global Positioning System Global System for Mobile communication Graphical User Interface Integrated Development Environment Locaiton Area Code Mobile Country Code Mobile Network Code Operating System Orthogonal Variable Spreading Factor Personal Digital Cellular Quality of Service Radio Analyzing Tool Radio Analyzing Tool .User Equipment Radio Frequency Radio Network Controller Radio Resource Utilization Received Signal Code Power Received Signal Strength Indicator Received Signal Level Reveived Signal Quality Scrambling Code Subscriber Identity Module Time Dvivision Multiple Access xiii .

xiv UARFCN UE UMTS UTRA WCDMA List of Abbreviations UTRA Absolute Radio Frequency Channel Number User Equipment Universal Mobile Telecommunications System UMTS Terrestrial Radio Access Wideband CDMA .

Operators and service providers are also interested in the performance of their networks for more reasons than the maintenance of them. But due to the different situations that might arise in 3G compared to 2G networks this is not an optimal solution. Traditionally there has been a lot of different research regarding phenomena and complications that arise in integration of 2G/3G systems and there are a lot of tools that try to help cell planning engineers in their work.Chapter 1 Introduction In this chapter a brief introduction on the subject is presented. and when it comes to cell planning there are a lot of inherent differences between these two systems.3. Nevertheless. Planning and maintaining these systems are of utmost importance for keeping a good system in smooth operation. The evolution from 2G to 3G has not been without problems.2. this is a quite extensively used technique due to its cost effectiveness [4]. which simply means that you use your old 2G architecture and real world location as a template for building your new 3G system. the problem statement is introduced in 1. 1 . Background information on the subject and motivation for the project is presented in 1.5. The precision of these estimates can be very fluctuating and it would be beneficial to get actual gathered data. The problem with these coverage maps is that they are more often than not mathematically estimated and are not actually made up from gathered field data[15].1 Background The world of telecommunication is constantly evolving and more and more complex systems are always emerging. This is one of the reasons why field testing and analysis of 3G systems are vital procedures in constructing and maintaining these networks. In order to attract customers coverage maps are usually provided in order to assure good service. By gathering real world information about the systems better and more accurate coverage maps can be created.1. An easy solution is to do co-location for 2G and 3G base station sites. Second and third generation networks are gradually beginning to get old. prior related work is mentioned 1. a general approach for the project is handled in 1. 1. but there will still be a high demand for systems such as these for long time and neither is quite obsolete.4 and finally a thesis outline is given in 1.

such as a mobile phone. The application is to be evaluated in respect to memory foot print and overall performance. and the application must be able to gather data at a satisfying intensity. but it is still valuable to be able to make simulations as well. but rather it will handle the analysis of current systems and how to optimize them. The gathered data should be combined and time stamped. The application should be able to gather network information regarding the current cellular network and also to acquire a current location through a GPS module. The first topic that is to be handled is whether or not it is possible to develop an application for a hand held device. is a newly developed application that allows for easy but powerful analysis of 2G/3G systems.2 CHAPTER 1. and if possible it would be beneficial to use real life data. The main problem is to identify a suitable environment and develop the application with the required capabilities. The second topic that will be handled is whether or not the data gathered from the application in the first topic is good enough for accurate system . The tool itself is a good alternative to other tools on the market. Radio Analysis Tool [28]. but it is however still dependant on proprietary data gathering devices such as Ericsson TEMS. Gathered field data in the form of log files are imported to the tool and plotted on maps so that the analyst can discover problematic areas in the cellular system (both 2G and 3G) and deal with them accordingly. 1. This study clearly shows that there are a lot of different factors that can affect a simulation.2 Related work There has been a lot of interesting work regarding the different fields of telecommunications. This study showed that with a little bit of effort it is possible to simulate a real life scenario with a tool like Matlab. However. My thesis will deal with how to develop such an application and whether or not the achieved result is a feasible solution for the high demands of telecommunication analysis. preferably hand held in nature. 1. this thesis will not handle development of new technologies as such. that gathers network data for further analysis. The application should also be able to interact with the RAT application so that more detailed analysis can be conducted at a later time. The RAT application would benefit greatly from a dedicated data gathering device.3 Problem statement The problem statement for this thesis will include two different but related topics. For this to be possible a joint file format must be used. Other studies such as [13] explain how data can be gathered and imported into an analysis application. As I mentioned previously it is usually favorable with real world data when making coverage maps for 2G and 3G systems. A good comparison between simulated and real life network data in 3G WCDMA systems was conducted by Lars N¨ aslund in [17]. but due to the natural elusiveness of telecommunication things evolve fast and new topics constantly need to be researched. INTRODUCTION RAT. but that there are a lot of factors that might affect the result.

An explanation of cellular architectures and strategies for cell planning and optimization is covered in Chapter 3. In order to gather the relevant data from the mobile phone. By developing an application in an established environment it is easier to get the required APIs and documentation to complete the task. The problem is to find out if the data gathered has enough precision and if it is relevant to the overall analysis. 1. 1. Both second generation and third generation are covered. .4 Approach The approach of this thesis is to study what kind of data that is required in the analysis of 2G and 3G systems. Different mobile phones usually have a wide range of different RF-chipsets in use and it can possibly be a problem to acquire the correct data from the specific chipset. APPROACH 3 analysis. necessary knowledge about both hardware and software is required. My approach will thus be to develop the application in a well-established environment having acquired extensive knowledge about cellular systems.1.4. In Chapter 4 I describe the method for development and the design of the applicaiton. and in Chapter 5 I explain the resulting application. Gathered data is to be evaluated in respect of precision and type.5 Thesis outline In Chapter 2 a theoretical background for the processed technologies and systems are explained. Finally the application is evaluated in Chapter 6 and some conclusions are given in Chapter 7.


It was a joint operation between several large companies and official entities in Europe and it came to unify the telecommunication that had been so scattered before.1. TDMA divides the speakers into separate time slots and allows them to speak in turns. and it had to follow a strict specification if it was to be successful. [10. 16] 2.2 regarding third generation technologies I will be focusing on describing UMTS and WCDMA as they are the most commonly used technologies today. This allows several speakers to communicate on the same frequency and it is a good way to allow for the multiple access necessary in second generation cellular networks. Instead of using different technologies in different countries a cooperational and globally compatible system was wanted. For instance in Japan the Personal Digital Cellular (PDC) was developed and chosen by the government. This has lead to incompatibility issues between users of second generation systems since users of GSM and PDC technologies ca not use each others’ systems. The focus will lie on explaining radio communication between a handset and base station. In section 2. In some parts of the world different standards were adopted instead of the GSM system. This requires that the speakers know when they 5 . I also explain how they are used and what parameters are important.1 Multiple access GSM uses Time Division Multiple Access (TDMA) for its multiple access method. in section 2. even though there are other competing technologies in use. The PDC system closely resembles the GSM system in many aspects. which can still be seen as problematic today. but the systems are still not interoperable.1 Second generation The second generation of cellular phones got its main breakthrough with the Global System for Mobile communication (GSM) system. The system was a lot more complex than any previous versions of telecommunication systems (1G).1 regarding second generation technologies I describe GSM. Likewise.Chapter 2 Cellular radio systems In this chapter I explain the history of the different telecommunication technologies in use today. 2.

These frequency scopes are controlled by the operator of a network. This allows the operators to differentiate between one another.1.1 we can see that several different users can share the allotted frequency spectrum. 2. CELLULAR RADIO SYSTEMS Figure 2. The frequency planning is further explained in 3. and it also allows the operator to differentiate between its own base stations.1.6 CHAPTER 2.3 Base Station Identification To be able to allow efficient handovers in the GSM system the mobile phone. To allow for several operators to offer services GSM is divided into different frequency scopes. which of the signal quality and signal strength are the most important ones. The frequency scopes needs to be carefully planned in order to have a functional network and they are ordered into a grid as depicted in Figure 2.2 Frequencies The GSM system depend on a set of different parameters to operate. or User Equipment. has to be able to listen to several base stations at the same time.2. These different base stations are identified by their Cell Identification (CellID). The operator further divides its frequency scope into sub-frequency scopes. As depicted in Figure 2.1.1: TDMA multiple access method are supposed to speak so they have to able to synchronize with the base station. 2. so called Absolute Radio Frequency Channel Number (ARFCN).1. which can tell the UE1 in what area and network it is currently in. The UE chooses the base station that it deems to be best and changes if it finds 1 User Equipment .

It is conventionally presented in dBm and can be defined as P (dBm) = 10 ∗ log Pin 0. If it sees a base station that has substantially better signal strength it will change to it.1. It constantly monitors the available GSM BSs’ RxLev values and will use this information as a basis for changing its currently active connection.2. SECOND GENERATION 7 Figure 2.1) where Pin is in W. RxLev can also be presented in a more easily read version RxLev = P (dBm) + 110 (2. As seen we will be able to utilize the frequency scope with color code 1 in cells that are past the cells with codes 3 and 4. The Base Station Identity Code (BSIC) is a color code that is used by the system to differentiate between different cells. In order to utilize the available frequency spectrum to the fullest but still be able to differentiate between neighboring cells different BSIC are reused after a certain reuse factor. The RxLev parameter can also be described in a logarithmic unit.2 a schema with a reuse factor of 5 is presented.1. In Figure 2. 2.2: Cellular concept with reuse factor 5 a new and better one. RxLev is used by the UE to determine whether or not the base station has a signal that is strong enough.2) .4 Signal strength To determine how strong a received signal is the parameter Received Signal Level (RxLev) is used. 001 (2.

3.2. This is only applicable on the currently active connection. 27. This allows all the speakers to communicate at once and they do not have to wait until their time slot to communicate. The 3G project of course wanted to improve the overall performance of the cellular network.5 Signal quality The Received Signal Quality (RxQual) on the other hand is the parameter that describes the signal quality. [16.2.8. The different speakers are divided by codes so that the different signals can still be understood.3: WCDMA multiple access method with three different codes 2. and this will be further explained in section 2. Universal Mobile Telecommunications System (UMTS) was chosen as the standard and Wideband Code Division Multiple Access (WCDMA) is the most common underlying air interface for it. 3. CELLULAR RADIO SYSTEMS Figure 2. .1 Multiple access UMTS and WCDMA use Code Division Multiple Access as its multiple access method which is depicted in Figure 2. so there can only be one neighbor that has a measureable RxQual parameter.1. When different speakers utilize the same frequency at the same time there will be interference however. 14] 2.2 Third generation Many companies and entities wanted to unify the telecommunication world and when a new system was to be developed the Third Generation Partnership Program was created. but it also strived to be more globally compatible than the prior GSM system.8 CHAPTER 2. 5. [10] 2.

In WCDMA a frequency band is 5 MHz wide.2. In WCDMA it is possible for the UE to be attached and be actively communicating with several BSs simultaneously. These frequency allocations are called UTRA-Absolute Radio Frequency Channel Number (UARFCN). If there are no other BSs that will be able to continue the communication it will still work as the old GSM system.2. several different signals can be sent and received at the same time and still be differentiable.3 Spreading and despreading To better facilitate different senders and receivers utilizing the same frequency scope the process of spreading and despreading is performed on the signal. This means that there will be no gap in the communication when an old BS is getting out of range and new one is chosen instead. and the receiver applies the same spreading code in order to get the original signal. The despreading works in such a way that it decreases non-matching spreading codes. also called the RxLev factor. Bits from the original signal are spread into so called chips which is then despread back into bits at the receiver end. By spreading the signal with a selected spreading factor the signal gets distributed over the bandwidth and is more easily differentiated from other signals.2. WCDMA.2. This factor is called the process gain. The shared resource between UEs is the output power from the base station and the combined interference coming from the mobile phones.2 Frequencies Similarly to GSM. 2. In GSM a handover occurred when the UE evaluated another BS to be better in terms of signal power. different Scrambling Codes (SC) has to be used on top of the spreading code. 2. 2.2. but is commonly preferable to not interchange between them since soft handovers are not possible between two different UARFCNs. If for example a bit is spread into 8 chips you say that you have a spreading factor of 8. where UTRA stands for UMTS Terrestrial Radio Access. THIRD GENERATION 9 2. whilst it enhances the matching code and amplifies it with a factor of the chip rate. A soft handover occurs when the UE detects a better cell from another base station and switches to . This means that one can differentiate a handset from other handsets and a base station from other base stations.4 Scrambling Code Since there are usually a lot of different speakers at the same time. The sender applies a spreading code to the signal that it wants to send.2. UMTS also has the need to differentiate between different frequencies to allow for different operators to provide their different services.5 Handovers One major upgrade from the GSM system is the possibility to have so called soft and softer handovers. uses code division for its multiple access mechanism which allows for several users to use the whole available frequency spectrum at once. By assigning each user with a unique scrambling code from an Orthogonal Variable Spreading Factor tree (OVSF tree). A single operator can have up to three UARFCNs within its network. as previously described.

However.7 Signal strength Due to the fact that you have many speakers communication at the same time there will be unwanted interference when trying to listen to a specific signal. A notion of Active Set. The RSSI and RSCP are both important to take into considerations when planning a system. A softer handover (observe the difference in name between soft and softer handover) occurs when the cell to which the UE switches belongs to the same BS as the old cell. These are included in a Detected Neighbor list.2. which is not to be confused with Received Signal Strength Indication (RSSI) which is the sum of the signals from all base stations.6 State To facilitate for the handovers in section 2. and the UE will change to another base station if it deems that there is too much Network Controller.g. The monitored neighbor is a list of base stations that the network offers to the UE and will be monitored. Monitored Neighbor and Detected Neighbor is used. The Active Set is a set which is maintained by the RNC2 in the network and contains all the base stations that is good enough for the UE to have an active communication with. This list of base stations that constitutes the Monitored Neighbor list is a selection of base stations that the network considers to be of interest for the UE. However. This is equivalent with how much noise we perceive. the hard handover method that is used in GSM is of course still usable in WCDMA systems to facilitate inter-frequency handovers and also inter system handovers (WCDMA to GSM or vice versa). since too much signal power from different base stations will invariably lead to poor performance. The signal code power that the UE perceives for a given base station is called Received Signal Code Power (RSCP).10 CHAPTER 2.8 Signal quality The ratio between the wanted signal coming from the base station that we are talking to and the distorting signals coming from other base stations including white noise3 is called Energy to Bit over Noise. a node that is responsible for one or several base stations. 2. CELLULAR RADIO SYSTEMS it. the sun 3 White 2 Radio . but ultimately it is the UE that determines which base stations are good enough to be in the Active Set.2. 2. every now and then the UE can detect base stations that are not in this list and that it is not supposed to be able to communicate with. that the RSSI is an accumulative value of the measurable RSCPs in the vicinity. The Eb/N0 is the best indication of signal quality for the UE. This is a parameter that is important to CDMA systems and that we need in WCDMA in order to determine the best current base station.5 the UE has to be able to determine with which base station that it is actively talking to. or Eb/N0. When a base station in the Monitored Set gets good enough quality it will be added to the Active Set and it can be used for communication. noise is the ever-present and ubiquitous static on the frequency spectrum coming from e. staying in the same frequency. We can see in Figure 2.

[23. which we are communicating with. The Eb/N0 is the Energy to Bit over Noise ratio for the actual signal. To estimate the propagation of a signal the OkumuraHata propagation model or a derivate thereof is commonly used[8]. Multipath fading and phase shifting can cause temporal but significant spots of weak signal strength.2.2. 2. This means that the Ec/No is a better way of estimating the quality of the current base station since no despreading has taken place. 7. It is beneficial to do this to any signal that arrives to a UE. Either the Energy to Bit or the Energy to Chip ratio is usable for determining how much the current base station. 11.2. THIRD GENERATION 11 Figure 2.4: RSSI and RSCP comparision interference.9 Rake receiver There are a lot of different things that can happen in the propagation of a signal. The new base station will hopefully have a better RSSI/RSCP ratio and thus the interference will be lower. whilst Ec/No is the Energy to Chip over Noise ratio after the spreading of the code.5G. 8] . 6. Today several augmentations of the WCDMA system have been developed and the 3G technology together with these improvements has been dubbed 3. To reduce the effects of such problems one can use what is called a Rake receiver. is being affected by noise coming from other scrambling codes (base stations) or white noise. By combining the input from several fingers in the rake it is possible to estimate a better signal when fractions of the signal are coming from different places.


This chapter will deal with theory behind the architectures in which the radio technologies explained in Chapter 2 are used. the cell planning process is needed for initial release. This is not a topic that will be handled to a great extent in this thesis. There are many fundamental and general things that you have to take into consideration in the cell planning process and that apply to both second and third generation networks. 3.Chapter 3 Cellular network architectures The GSM and UMTS networks that are rolled out in the world today are usually tightly interconnected and work in a similar fashion in order to ease interoperability. 3. Whilst the process of doing cell tuning and optimizations improve currents network.1 Cell planning Planning a modern cellular network takes patience and a great deal of skill. whilst second generation networks have to able to operate on several frequency sub-scopes 13 .1 GSM Cell planning for GSM in second generation network is quite different from planning networks in third generation networks since you have to take frequency planning into consideration. pp 293] it is written that The aim of radio network planning is to design networks that enable effective use of the existing spectrum and equipment at a reasonable cost which sums it up pretty well. but since the systems are inherently different in the way they function there are also a lot of things that are not the same. There are a lot of things to take into consideration and there are also a lot of steps which a cell planner has to go through before good network architecture can be rolled out into the real world. Third generation cellular networks have a great advantage in that they work on a single frequency scope.1. but it is still very important to understand the process if one is to be able to improve it. In [12.

the power controls how much Eb/No (interference) we will get in the system so it is crucial that we have correct power levels for the base stations. This occurs when there are two or more base stations with relatively equal RxLev signal power output. Capacity planning deals with how to allocate frequencies in an effective manner. One main thing to avoid in GSM networks is the phenomena of so called ping-pong base station handovers. WCDMA systems need to take both coverage and capacity planning into consideration at once and no differentiation between the two is possible.14 CHAPTER 3. As described in Chapter 2. Planning for coverage simply means that you have to plan so that you have sufficient RxLev signal power to be able to serve the specific cell. This will offer the UE with several eligible choices in main base station which might lead to that it does more handovers than is actually necessary.2 UMTS The main thing that has to be in mind when it comes to planning WCDMA networks is the power planning.2.2. The number of frequencies between reuses is called the frequency reuse factor.2. This makes it easier to plan and tune a GSM network after initial rollout. coverage planning and capacity planning are independent whilst in WCDMA they are correlated due to that the interference is the shared resource. whilst still being able to provide good and consistent coverage. We can see that they correlate and that a higher interference in the system leads to a smaller cell coverage as well as a smaller capacity. Other phenomena such as cell breathing can be crucial and they have to be able to be handled by the system. Since we use the CDMA multiple access method in WCDMA that utilizes Scrambling Codes to differentiate between speakers we can utilize the whole frequency spectrum at once. It is important to take the parameters in chapter 2 into account when planning and designing the initial network. CELLULAR NETWORK ARCHITECTURES at once. Similarly to GSM the re-use factor indicates at what frequency the cell identities are reused. Instead of worrying about frequency planning the system only has to worry about the power output from the base stations. If we do not have correct power planning.1. In contrast to GSM. we can experience phenomena such as dominant base stations that lead to poor capacity for other base stations in the area. something that is handled with Scrambling Codes in WCDMA. The signal power is directly dictating how large the cell coverage will be so it is important to plan neighboring cells signal power correctly and cohesively. but it is easier to make amends after initial rollout thanks to the fact that you can tweak the frequency planning later on. This means that unlike GSM we do not have to worry about frequency planning. 3. In GSM networks. The thing that we will have to worry about when it comes to frequency scopes is that each operator can have several UARFCNs as explained in section 2. but now of course it applies to the Scrambling Codes instead of the Frequency sub-scopes. This might sound like it is much . When you have correctly planned a good GSM network you will have cells that utilize as much of the frequency scope as possible. This means that in certain areas we can have a GSM-like hard handover between the frequencies as explained in section 2.5. By using different frequency sub-scopes for the different adjacent cells we can differentiate between them.

but [19] concludes that it is quite possible to amend configurations e.1 it is quite possible to amend the site later.2. For this purpose it is usually good for a network operator to have joint plans for both GSM and UMTS networks. This means that initially 3G systems will mostly be seen in highly utilized urban areas. and thus contracting and expanding the coverage area. Handovers between 3G and 2G systems are called inter-system handovers.2 Co-location and co-siting Co-location is when you share a physical location for UMTS and GSM hardware. This means that the same antenna and the same hardware will be in charge of both technologies at once. [12. The system will automatically try to adapt to the active users so the amount of available output power from the base station will vary as it tries to lower the interference whilst still providing good enough power. [25] . This means that both an operator can utilize these architectures for both GSM and UMTS services which provides interoperability between the systems. We see that the fundamental features such as routing stations and information bases about the users’ current active cells are the same.1. We will also see that due to frequent practice of co-location and co-siting we will invariably have to do a lot of cell optimization with field tests after initial rollout. This interoperability is feasible mainly due to the similar architectures of the UMTS and GSM system described in 3. 3. But to still be able to serve the customers 2G service is provided outside of the 3G areas.4 and field testing will be described in section 3. CO-LOCATION AND CO-SITING 15 simpler to plan a WCDMA system.g.3.5. This is however a common practice because of economical feasibility and as we have seen in section 3. The practice of co-siting sites is not always optimal because of the differences between the GSM and UMTS systems. and that they need to able to interoperate flawlessly. by changing antenna directions. Co-siting on the other hand is when you both share the location and the equipment being used. It is crucial that this is handled as smoothly as possible and though it is perhaps not as unproblematic as a soft or softer handover in a WCDMA it must still be able to accommodate a speech call without dropping the call. but thanks to a number of other factors it is still considered more complex to deal with WCDMA systems. The subsequent configuration is more difficult to alter in UMTS networks compared to GSM.3 GSM and UMTS interoperation The main strategy for most operators around the world is to build a new 3G network on top of an old well structured 2G network. This can lead to massive fluctuations in the system called cell breathing where the amount of output power from a base station rapidly oscillates. Cell optimization will be handled in section 3. 24] 3. It is usually practically easier and cheaper to have all or most of your hardware at once physical location as it will ease maintenance and configuration. This means that the system has to be built on top of each others.

1 Initial tuning After initially constructing a network but before actually rolling it out to the public initial tuning of the original plan has to be performed.4. CELLULAR NETWORK ARCHITECTURES 3. 3. When the operator adds new base stations or new services it is 1 Quality of Service . [12. 3. pp 395] describes it as: The rapid transition from prediction-based performance estimation to measured facts about the network and service performance are the essence of operational efficiency. this initial procedure will not be analyzed further in this thesis since the process itself is so similar to the cell optimizations performed at a later stage. By doing field testing and getting readings from actual hot spots one can better see when and where problems arise. But when the problems get to complex it is always better to have a real life overview of the system. Simulations and propagation models will not always predict the reality with good enough precision so it of course important to amend for these imperfections. The most important of which is the frequent change into packet based data with a lot of different kinds of services. For example one operator could be focusing on good coverage whilst another one tries having better quality and faster links in order to compete and gain customers.1 that most networks usually need continuous maintenance due to complexity in the network and we will briefly go through the different benefits that come with cell optimizations.16 CHAPTER 3. However important. Parameters such as QoS1 for each of the different services are things that the operator wants to focus on to able to optimize the earnings for a specific traffic profile. We have seen in 3. In doing so the provider can keep running a good running network and provide customers with the services they need. for instance better coverage. With the rapid and extensive change from second to third generation of networks there are quite few new things that have to be considered when it comes to cell optimization as well.2 Continuous optimization To be able to maintain a good cellular network that probably is expanding it is important to continuously analyze the system.4. The Radio Resource Utilization (RRU) is a theoretical term that describes the utilization of the radio spectrum. This can be done either by gathering actual network data from the system itself and building a model that estimates the coverage and capacity and so on. There are different kinds of situations that the different operators want to be able to handle.4 Cell optimization With the potentially flawed systems that we end up with after an initially planned cellular network it is usually necessary to do some tuning and optimization. The operator’s role is to optimize its network within the RRU in order to get the feature that it wants. This allows engineers to rapidly assess the situation and act upon it.

Perhaps the easiest way of doing this is to go by car and driving around the area of interest while constantly logging the network and saving it together with a GPS-location stamp and a time stamp. What I will focus on in this thesis is the UE simple handset type of testing tool.3. but if a more specific problem in the network occurs it is favorable with detailed information about what happened. Because scanners do not have to register on the network like typical . Since the cellular network is a rather complex of base stations and controllers it might be insufficient to only rely on field testing data to completely improve the entire network. ranging from entire vans to simple handsets.5. Information such as dropped call percentage and event information on lower layers help provide the person doing the analysis to come up with the reason for the problem and hopefully a way of mending it. such as improper spreading factors etc.5 Field testing Today there are a number of different field testing tools from different companies.5. it scans the networks. In order to be able to do the optimizations described in section 3. 3. Irregularities observed at individual base stations can be the result of deeper and more complex problems. These kinds of tools are perhaps not as useful in many cases as the normal UE type of scanning devices because pure scanner devices do not interact with the network. the extensive deployment of field engineers with field testing tools remains an important part of the overall network maintenance and of course to the cell optimization process.5. FIELD TESTING 17 of course important to keep the focus on the kind of quality and coverage that it wants to offer. For this purpose there are a handful of developers that specialize in making analyzing tool aimed for operators that want to analyze and optimize their networks. Nonetheless.4.2 Scanners A scanner does exactly what it sounds like. which can aid the manufacturer of the phone to discern if the phone is of good quality or not. 3.1 UE testing tools A field testing tool can take many shapes. many of which have been around for a long time. This means that phenomena that would occur when using a UE tool will not be able to occur. Most of the new modern cellular phones released today have a built in field engineer mode or a field test mode. The main purpose of a field testing tool is to gather a lot of real life traffic data from the networks that you operate in order to spot problems and of course to do general cell optimizations as described in section 3. [12] 3. The continuous feedback loops usually only needs rather general information such as the signal quality and signal strength in a given sector.4 there are a lot of information that has to be gathered. This information however is not always sufficient for network operators since they usually need more extensive information and the capabilities of saving the gathered data together with a GPS location stamp.

CELLULAR NETWORK ARCHITECTURES UE handsets do it can be useful to use a scanner when you want to observe the network as a whole. By following local traffic and high density commuter lines one can get good readings as it can be assumed that these areas are also more likely to utilize the cellular network. Although scanners can be useful they are not that frequently in use anymore as most problems that need solving can be analyzed with the help of UE handsets. 3. For this reason scanners will not be handled further in this thesis.3 Common principles and practices Due to the random nature of the users of cellular phones it is important to do field testing that also tests randomly and evenly distributed over the network.18 CHAPTER 3. By gathering more and more data it is also easier to get a good overview of the network as the utilization generally change over time.5. .

4. Access to a specific radio chipset is not something that is readily available for normal developers without approved partnership programs with the vendor. This data is used by the handset in order to operate on the network and it uses parameters such as Ec/No and RSCP to determine which base station to communicate with.1 Choices in hardware and software Initially a number of different hardware architectures were considered for the development of the RAT-UE application because naturally all cellular phones have access in one way or another to the required data that I wanted. so in order to be able to develop anything at all one has to consider the possibilities of gaining access to the radio chipset. One needs to gain access to the network data layer through the use of hardware specific APIs. [9] Vendors usually have their own versions of field testing tools that access this kind of data. the choice in hardware really becomes dependent on the software that is run on that specific hardware. The usage of the Java programming language in some cases can ease simple 19 . In order to develop such a specialized application as a network data gatherer for GSM/UMTS networks one has to pay respect to the constraints and the possibly limited number of options in the development process. By having such an application the vendor can use it to check the hardware for flaws. But it is not for certain that this information is available at all to a programmer.Chapter 4 Design and implementation This chapter deals with the overall design problems that were encountered when developing the RAT-UE application and the resulting design ready for implementation. I have analyzed and tested a range of different mobile phones to see which were suited for this kind of application development and I concluded that any modern phone with reasonable performance is acceptable. So. This means that as long as the developer does not have specific requirements when it comes to hardware anything can be suitable as long as details on how to obtain the required data is available. and in fact some open source platforms such as Google Android phones use a dedicated locked and unavailable CPU for radio communication so that no network data can be accessed.

AT stands for Attention. The respect for memory allocation and possible memory shortage problems constantly has to be kept in mind by the programmer.20 CHAPTER 4. . these commands have been standardized to allow for ease of access.2 Typical Symbian C++ design Applications developed in Symbian C++ for Nokia phones are known to be safe and secure when it comes to resource allocation. Nokia has released an IDE for programming in Symbian C++ called Carbide++ and is available for free at [20].1: Typical class diagram of Symbian C++ application tasks and standardized parameters such as the Cell Information parameter. 1 AT-commands can be used to command a modem. It is also very secure when it comes to certificates and all complex applications with privileged features must go through the Symbian Signed process. Like AT-commands1 . 4. Unfortunately. This is a derivate from the popular Eclipse IDE and has a lot of extensions to allow for the requirements posed by Symbian C++. so using Java or C-sharp like programming languages are not going to help unless you already have obtained an Application Programming Interface (in which case the programming language is irrelevant).[26] The development process can however be considered to be a bit complicated and it has quite a long learning curve with many important differences in how a normal C++ application is written. We were fortunate enough to obtain an API from Nokia to develop for Symbian S60 Feature Pack 2 devices so I decided to go with Nokia phones in developing my application. the API is classified and cannot be discussed further in this public domain thesis. DESIGN AND IMPLEMENTATION Figure 4. What can be discussed is the platform on which the API is run and how to design an appropriate system that deals with this kind of data. The problem with the more advanced parameters are hardware specific.

2. This collected data has to be presented to both a graphical user interface as well as written to a file for later analysis. Symbian C++ coding paradigms strongly advice not to create new threads from within an application due to the limited . They form a hierarchy with the AppUi-class at the bottom from which so called containers are created. All of these three steps are equally important in the creation of an application that will be able to interoperate with the RAT software. This allows for code that is more easily overviewed by other programmers and helps in migration to possible succeeding developers. 1] 4.1 Graphical User Interface The typical Graphical User Interface application in Symbian C++ comes with a set of standardized classes that cannot easily be modified. From here information can be sent to the container-object to be displayed graphically. A container is a visual element onto which information can be displayed. To merge the above information and write it together with a time stamp to an exterior file.2. and I have aimed to develop a program as similar as possible to the described application in section 4.4. When the Carbide++ IDE starts a new project it will generate the necessary classes and if the programmer follows the paradigms it should not be too much of a hustle to develop a typical Symbian C++ application. The engine class uses Symbian C++ Active Objects. To obtain location information through the usage of a public API. 4. [2. To obtain network data through the usage of a proprietary API. By doing so the complexity of the application is moved away from the AppUi and the standard Symbian C++ classes.2. This will however not be considered further in this thesis and the GPS module is considered to always be in use. The main goals for this design are thus. An application that does not use the GPS positioning is very interesting however and could be of great use in locations where no GPS signal is available such as subways. 1. which are schedulable entities within the current thread. SYSTEM OVERVIEW 21 4. although problems can arise if the coding conventions are not followed. The most important thing that I had to focus on was the network data gatherer and the GPS module and of course how to process the collected data.3.2 Engine Symbian C++ recommends using an engine-class that does most of the computation that is later returned to the main AppUi object. The network data gatherer and the GPS module are two different classes.3 System overview For my application I have tried to conform to the recommended programming paradigms. 3. both instantiated from the typical engine-class. This means that we can have thread-like operation in the application and thus allow for the network data gatherer and GPS module to operate in parallel.2.

22 CHAPTER 4. Within each frequency scope loop . are handled in section 4.3 and section 4. These are the Document class and the Application-class which contain Symbian specific information for the phone such as locale and settings. The frequency that the Active Objects will run and alert the Observer class can be configured. The Network Data Gatherer-class and the GPS location-class. This allows us to acquire data asynchronously as the Symbian Active Object will run on an event driven manner.6. the most important parameters that we want to gather are those relating to signal power. and the similarities are listed in Table 4. 4. both of which are contained in the Engine-class. The network data gatherer systematically and periodically goes through all of the available frequency scopes in a loop. signal quality and a list of neighbors with those corresponding parameters. Different commands such as what should happen when a certain button is pressed are also handled in the AppUi-class. although there are other Symbian C++ generated classes higher in the hierarchy. DESIGN AND IMPLEMENTATION resources. These are similar in 2G GSM and 3G UMTS. This module will acquire data regarding the GSM or UMTS network that it is attached to and return the results to the AppUi class.1 AppUi class The AppUi class can be seen as to contain the main central entry function.2. The engine acts as the observer for both the Network Data Gatherer and the GPS so that when either of these returns a result it will run the appropriate handler function.4 respectively.3.1.5. The SaveStore-class which handles file operations is handled in section 4. and the Graphical User Interface with all of its classes is handled in 4. but Active Objects is a good substitute. 4. The parallel running network data gatherer and the GPS module are both so called Observer objects which will return values on a periodic interval.3.3.3. The Active Objects notion is a scheduling mechanism that allows us to run parallel code so that we do not have to worry about in which order we want to obtain data.3. Since the AppUi-class acts as the entry point of the application we need to instantiate our objects from it. the actual class hierarchy is fairly similar to the typical Symbian C++ application with exception for the SaveStore class for file operations which is separated from the engine. [22] 4. Most of the complexity of the application should be contained in the Engine-class however but we still need to instantiate other objects that we are going to use including the SaveStore-class and the different Containers for the graphical user interface.3 Network data gatherer The network data gatherer is one of the key modules in this application and it is instantiated from the engine class as depicted in Figure 4. According to Chapter 2.3. From the AppUi a number of options regarding the application can be modified.2 Observer classes Observer classes are classes that have an associated observer. As seen in Figure 4.2.3.

From this nested loops we get all the potential base stations. Additionally the general information such as Cell ID and Mobile Network Code etc will obviously be handled in the same fashion for both 2G and 3G.1: Comparision of parameters for GSM and UMTS Technology Signal Strength Signal Quality Frequency scope Base station differentiation Timing Advance GSM RxLev RxQual ARFCN BSIC TA UMTS RSCP Ec/No UARFCN Scrambling Code N/A an additional nested loop goes through each available scrambling code. .1 we can see that many of the parameters can be considered equivalent which eases the handling of the network data gathering process. As seen in Table 4. whilst the ones that lack any information are merely unused scrambling codes in the OVSF tree and no base stations are present there. SYSTEM OVERVIEW 23 Figure 4.3. The potential base stations that provide us with some information are obviously present in the real world and we store the information for later use.2: Class diagram of RAT-UE Table 4.4.

Although it is not included in the Engine class as proper Symbian C++ coding paradigm would have suggested it is still easily managed. We would not want to have the same location for two different readings from the network data gatherer unless we are not moving. DESIGN AND IMPLEMENTATION 4.3. Also obtaining and saving the Latitude would of course present us with a 3 dimensional representation of where the phone has been.2. It is also necessary to have a correct file format in the output if the RAT PC application is to be able to process the data and analyze it. In our file format we statically add the parameters from 2G and 3G together with a GPS location and a time stamp. Due to the fact that both the previously explained Network Data Gathererclass and the GPS-class are both Active Objects with a dedicated Observer they can operate independently.2. At an initial stage this frequency will be set to one second. The frequency of which this can be done can be changed but is theoretically supposed to be the same as the frequency of which the data is acquired in the network data gatherer. More extensive GPS data can however be obtained through a menu option in the RAT-UE application for a more pleasant user experience. but in the RAT-UE application only the Longitude and Latitude will be required. such as bearing and speed. [18] 4. The application is designed so that these two classes are queried at the same frequency. A dynamic solution is briefly discussed in the future work section 7. but the functionality could very well be extended to read for example three times from the network data gatherer for every GPS position acquired. the data from the network data gatherer and the GPS location module has to be combined. This class is directly attached to the AppUi class and can therefore easily be accessed from menu options and such. This is however not evaluated further. but whether or not this is optimal will be evaluated in section 6.3. The GPS module in my application is based on a simple example application that queries the GPS for a GPS location update. The static nature of this solution means that we are going to have empty fields for the columns that are not in use leading to an unnecessary large file size.3.4 GPS positioning module With the introduction of Feature Pack 2 to the third generation of the Symbian S60 operating systems it got easier for developers that wanted to create applications that utilize location services. There are a large number of parameters that the GPS location interface can provide.5 File operations The file operations necessary for this application are handled in the SaveStore class. Also error prevention and basic file operation assistance such as naming a file with a desired file name is handled here.24 CHAPTER 4. but since the RAT PC application only handles Longitude and Latitude this data is irrelevant. In order to be able to create a usable file. The key features are to be able to create a new file and append data from the network data gatherer and the GPS location. This can prove to be problematic in the sense that both modules have to be able to deliver results to the SaveStore at the same frequency. .

3.4.3. SYSTEM OVERVIEW 25 4. To better accommodate the different types of data from the network data gatherer a set of views will be used. The application will utilize many of the standard Symbian S60 visual elements. It is the single entity that supplies the end user with information and naturally has to be able to present the relevant data so that it is easy to understand it. . label texts and menus. such as tabs. The main view will contain general information about the phone and the primary cell to which the phone is communicating with.6 Graphical User Interface The graphical user interface plays an important role in the overall user experience. These are incorporated into the tabs so that switching between the views will be as simple as possible. In an additional view the neighbor list will be displayed and in a third there will be general application information such as version number etc.


If one technology is preferred this has to be set in the Symbian OS itself.3. I will present how the implementation actually turned out. It has a set of tabs for navigation and menus for options.1.2. The short comings that were not implementable and the reasons for them not being implemented are discussed. To switch between the tabs the Right or Left button is pressed. 5.Chapter 5 Results In this chapter I show the final RAT-UE application and what it is capable of. The first screen shows the user relevant information about the hand set status and its directly connected neighbor.1. Since the application gathers a new value every second. 5. the graphs show a new value each second as they get 27 .3 The corresponding parameters are shown in Table 5. They respectively display recent EcNo and RSCP activity for the last 24 entries and are color coded. Depending on the SIM-card used it will show the information for that operator’s network and should the engineer want to acquire information about another network a corresponding SIM-card has to be used.1 The application The final application that was designed and implemented in the previous chapter is a tool for gathering data about the cellular network to which one is connected. This can be either a GSM or UMTS network and the application can be used either as a standalone device for engineers that is using it when they are out in the field. The color codes are taken from an arbitrary color gradient ranging from green to red as the values deteriorate. but it can also be used in conjunction with the RAT PC application for advanced post processing. There are also two graphs displayed on the first tab when in UMTS mode. The parameters that are shown on the first view of the application for UMTS are presented in Table 5. The application automatically switches between UMTS and GSM operational mode once it detects it. For GSM operations the same fields are used and mapped according to the design in section 4.1 First screen Since the application is built for the Symbian S60 operating system it is similar to other such applications. a feature that is not always available.

Through the Graph option menu the user can choose whether to show the graph or not. The filemark will be saved together with the other data. Other options for the save operations include which drive that is going to be used and information about how much memory is remaining.28 CHAPTER 5.2: GSM parameters listed on the first screen.1: UMTS parameters listed on the first screen. RESULTS Table 5. Label name Technology RSSI MCC MNC LAC CellID PSC UARFCN EcNo RSCP Lat Long Saving Parameter GSM or WCDMA indicator Signal Strength on whole frequency scope Mobile Country Code Mobile Network Code Location Area Code Cell Identificaiton Primary Scrambling Code UTRA Absolute Radio Frequency Channel Number Energy to Chip over Noise ratio Received Signal Code Power Latitude Longitude Save indicator Table 5. The options available from the options menu are accessible with a press on the left options button. so the application has to have started to save before it can be used. There are options for starting and stopping the saving of the data and the option of naming the save file. When new values are showed old ones are pushed to the side. These graphs are not available in GSM mode. Label name Technology MCC MNC LAC CellID BSIC ARFCN RxLev Lat Long Saving Parameter GSM or WCDMA indicator Mobile Country Code Mobile Network Code Location Area Code Cell Identificaiton Base Station Identity Code Absolute Radio Frequency Channel Number Received Signal Level Latitude Longitude Save indicator updated. . and once they get past the final position in the graph it will be removed. This allows the user to see the values for the last 24 seconds and it simplifies the process of identification and to assess recent activity or hotspots. There is also an option for including a Filemark into the save file which works as a personal note if the user wants to save a note for later referral. From the GPS option menu the user can choose to reinitialize the GPS acquisition.

1. Since initial GPS acquisition can take some time the user is alerted to this.5. The contents are listed in Table 5.4 shows the available parameters on the second screen.3.2 Second screen The second screen shows the neighboring cells. one can see for instance if there is a lot of interference on our primary neighbor coming from other neighbors. Table 5. THE APPLICATION 29 Finally there is an exit option that exits the application. Exiting the application will also stop the saving process so the user does not have to manually stop to save.1. There are no options in the option menu on this screen. This can also be started manually later.1. 5. In UMTS mode. When the application is first started the user is prompted whether to start saving or not.5. If choosing to do so.3. Similarly a bar indicates whether or not the GPS is in use. 5.3: UMTS parameters listed on the second screen. The data is presented in a list and the values are updated every second from the Network Data Gatherer module. . Label name Technology RSSI MCC MNC LAC CellID UARFCN column SC column EcNo column RSCP column Cell count Parameter GSM or WCDMA indicator Signal Strength on whole frequency scope Mobile Country Code Mobile Network Code Location Area Code Cell Identificaiton UTRA Absolute Radio Frequency Channel Number for every neighbor Scrambling Code for every neighbor Energy to Chip over Noise for every neighbor Received Signal Code Power for every neighbor Number of observed cells in the vicinity The GSM mode is again handled similarly with the general network information remaining and the other parameters mapped according to the design in section 4.3 Third screen The third and final screen displays general information about the application. The parameters that are presented on this screen in UMTS mode is presented in Table 5. the saving of network data and the GPS modules will be started. This view is particularly interesting for field engineers as it displays the currently active neighboring cell on top and the rest of the cells sorted according to best EcNo value. The user is graphically shown on the first screen whether or not the saving is initiated with a color bar. The general network information from the first screen is also displayed on this screen. Table 5.3.

2. Label name Technology RSSI MCC MNC LAC CellID ARFCN column BSIC column RxLev column Cell count Parameter GSM or WCDMA indicator Signal Strength on whole frequency scope Mobile Country Code Mobile Network Code Location Area Code Cell Identificaiton Absolute Radio Frequency Channel Number for every neighbor Base Station Identity Code for every neighbor Received Signal Level for every neighbor Number of observed cells in the vicinity Table 5. Hotspots can be saved with the use of filemarks so that the interesting spot is not forgotten.2 Fields of use There are two primary fields of use for the RAT-UE application. This will be reset once a new file is started Remaining memory on the memory card (if present) Remaining memory on the phones internal memory 5. The graphs will pedagogically allow even untrained users to assess whether the current signal quality and signal strength is good or bad.5: Information available on third screen Label name Version GPS No. Depending on the SIM-card used the monitored network can be changed. RESULTS Table 5. The first one is for field use when an engineer actively analyses the information displayed through Graphical User Interface.4: GSM parameters listed on the second screen. Indicates either ”Active” or ”Not active”.30 CHAPTER 5. If during a field test the engineer deems the hotspot to be of interest he can order a more . Number of saved entries since start of a new file. 5. The second is for post processing in the RAT application in which case the device does not have to be monitored when gathering data. of Saved Entries MemCard Remaining Phone memory Remaining Meaning Current version number The status of the GPS module. The engineer can then easily observe the status of the network at the current location.1 Standalone As a standalone application the RAT-UE allows the user to quickly gain access to information about the cellular network. For the more advanced users and for the field technicians the cell listing on the second screen will allow the user to detect areas that may need attention and further cell optimization.

All the different parameters that are saved by RAT-UE can be assessed and plotted unto the map with appropriate color coding.3 Shortcomings The developed application strives to be true to the design in the previous chapter. These different kinds of WCDMA neighbors can be either Active Set. The GPS acquisition is much more essential when operation together with a RAT-server. The RAT-UE enabled device will assumingly be placed in a fixed location for a long time so graphical presentation is not necessary. For this purpose the filemark feature is very helpful. 5. there are some things that could not be completed and must be addressed. This State-parameter is described in section 2.2. The implications of these shortcomings will be evaluated in Chapter 6. If you do not save the position where you did you measurements it is in many cases not valuable data as the location of the potential troublesome spots is crucial. By just bringing the RAT-UE enabled device to the questionable location one can promptly see if the quality is adequate or not.6 and would show us which kind of neighbors we have.2. The tool is also useful for assurance of adequacy in locations with questionable quality. But for further analysis with the RAT pc application it is essential. Another use case is when doing indoor readings when filemarks can be mapped to locations on a predefined map of the building. Using RAT-UE together with the RAT pc application also allows the user to generate coverage maps for the cellular network. The first and most substantial shortcoming is the lack of state information in the WCDMA information. It allows the user to distinguish places of interests and it can be used to save land marks such as subway station names. To view field test done with a RAT-UE on the RAT pc application one simply has to import the generated files. However. FIELDS OF USE 31 extensive cell analysis. 5.2 Together with a RAT server When the RAT-UE application is used in conjunction with a RAT pc application the graphical user interface is not as important as the interoperability between the RAT-UE and the RAT pc application. With the longitude and latitude the measurements are plotted on a map and the user can easily see the quality for different areas. This can be interesting for competing operators that want to assure their coverage of their services. This can be done within a company’s own premises or at a customer’s location. By actually measuring the quality and signal strength more accurate coverage maps can be presented. When utilizing RAT-UE in this manner the GPS feature might not be considered to be a fundamental part as the user normally knows where he or she is.2. Monitored Neighbor or . By placing the UE in a taxi or in some other form of public transport such as trains or buses a large amount of data can be obtained with little effort. In this case the sequential filemarks can represent sequential readings of different rooms in the building.2.5. Traditional coverage maps that are provided are based prediction models and are naturally not always accurate. for instance when doing measurements underground or inside buildings. There are exceptions however.

namely the neighbor we are communicating with. is also not available. The implications of this short coming will be evaluated in Chapter 6. In GSM systems this parameter is not applicable since we only have one neighbor belonging to the would-be Active Set. RxQual. This means that we cannot perform accurate signal quality analysis.5 this is not as important as in the WCDMA case. .1. The signal quality indicator for GSM. The subsystem is only able to supply us with location updates once every second. but as mentioned in section 2. The last substantial shortcoming that the application suffers from is associated with the GPS hardware.32 CHAPTER 5. RESULTS Detected Neighbor and supplies the user with more extensive information about the system. Since the final output is a merge consisting of network data from the network data gatherer module and the location data from the GPS location acquisition module we could potentially get output files with several entries with the same GPS location data.

Symbian programming paradigms advises to not use more stack memory than one thinks one will need. 6. 6. Whether or not the application is able to cope with the performance requirements and deliver results at a satisfying rate and whether or not the presented data is relevant will be evaluated. the high processing needs of the complex Symbian OS might result in that we still see that we do not have enough memory for the application. In this section both memory allocated to the stack of the application and the global heap memory will be evaluated. The collected data is however written to file every second so there is not going to be so much information that needs to be stored on the stack. the data that has been collected by the application will be evaluated and compared with the theoretical background provided in Chapter 2. Furthermore in section 6.1 and the CPU performance will be evaluated in section 6.2.1 Stack In its original design the application uses TBuf-descriptors1 to save information from the network data gatherer and the GPS modules. The way it works in the settings file is that a minimum and a preferred maximum value is set. However. The TBuf is always allocated to the application stack and so if we have larger entries that we want to write to file through the usage of TBuf descriptors we are naturally going to need more stack space. The applications memory foot print will be evaluated in section 6.1. If the entire memory indicated by the preferred maximum value is not used that memory can 1 A Symbian C++ string-like type that contains a string with a fixed length.1 Memory Most modern cellular phones in the mid to upper price range come with plenty of available internal resources.3. and the operating system will try to provide that to the application. How much stack memory that is available to the application can be set in the project settings file. hence not zero-terminated 33 .Chapter 6 Evaluation In this chapter I will evaluate the resulting application presented in Chapter 5.

Still not able to go to third screen. in bytes Stack size (bytes) 10.1) where entry size is variable and N is the number of entries to be stored on the heap. The minimum amount of stack memory that is needed for running the application without complications is 30. In the RAT-UE application this is not applicable to a great extent in its original design since all data entities are handled on the application stack. This means that when changing tabs a Symbian TRAP message will be sent and the Symbian OS will advise to close some applications in order to free memory. The default stack size is 8KB.000 bytes. The results of different stack sizes are showed in Table 6.500 30. But the default stack size of 8KB is evaluated to be sufficient for this application in normal operation. .1. The maximum stack size per process is 20MB. even though it is encouraged to increase this to 20KB[21].1: Memory usage for different components in the stack. But for the sake of evaluation the entities will be saved to the heap in order to see if it is favorable.000 25. Saving does not work.1. The application is going to need more available stack memory if more information is stored in each entry or if several entries are pushed to the stack before writing them to file.000 Implication Memory full.34 CHAPTER 6. 6. These can be allocated on the heap with a configurable size and as long as the application has remaining eligible memory on the heap it can continue to allocate new TBufC descriptors. One can choose how much global heap memory one would prefer to have dedicated to the application. Since the stack is not meant to contain large entities of data it is preferable to use TBufC descriptors. Not enough memory to change to second screen. Savings does not work. This fairness amongst different applications is an important factor for keeping Symbian OS applications running smoothly.000 bytes it will not be able to load secondary screens correctly. Application runs normally. Enough memory to go to second screen. Note that when starting the application with less than 30.2 Heap The available amount of heap memory is configured similarly to the stack memory in the project configuration file. but saving works normally.500 28. Normal startup of application. Normal startup of application. The amount of memory that needs to be allocated for all entries to be saved is: Heapsize = entrysize ∗ N (6. but not third.000 27. Table 6. In later versions of Symbian OS there is no upper maximum limit to how much global heap memory the application can request. but the Symbian OS will distribute the memory to the different running applications. Application cannot start. EVALUATION still be used by other applications.

In its original design the network data gatherer and the GPS module collects one entry each second and the application appends the result to a file. So in this section I will evaluate the performance of the network data gatherer and see if it can perform better. Instead of reading the network data every second I edited it so that it reads new network data as fast as it can and saves it to the results file.000 entries have to be saved. 6. but this naturally has to be increased if as many as 10. This value was divided with the amount of time that the application was saving.2 CPU The cellular phone that deploys the application has to be able to deliver a reasonable amount of processing capability. The test shows that in this edited version of the application it is now possible to acquire new values from the network data gatherer more than 20 times each second. This has been evaluated to work properly.2. In the original design this is equal to the previously used TBuf.2.6. for example when one is travelling rapidly in a car on a freeway. we cannot know if the hardware has updated information or not. but for shorter periods of time it was seen to be roughly as low as five per second. The GPS module will also be evaluated in section 6. This difference is interesting and suggests that the application behaves better after a stabilizing period. but his is not relevant in this evaluation. The implication of the different speeds will result in different coverage. The default size for the heap in Symbian applications is 1MB. whether the GPS has an updated value or not. The test was conducted by acquiring a substantial amount of data and then determining how many times the application was able to write to file. Even though it only does so every second in the original design one can assume that there are several situations where it would be beneficial to have it work faster than once a second.2.1 Performance of network data gathering module As previously mentioned the application gathers data from the network and the GPS module and appends the result to a results file. Finally in section 6. In Table 6.2.000 entries. Further evaluation of saving many entries to the heap before writing them to file is handled in section 6. . 6.e.2. CPU 35 The amount of memory that needs to be allocated for each TBufC descriptor is directly dependent on many entries that are going to be saved.3 I will test to see whether or not it is favorable to keep a number of entries in memory before writing to file to save overhead. When running over a long period time the entries per second exceeded 20. I.2 we can see the example speeds and after what distance we can get a new save value. Given that we have the need for a higher frequency of saving in some certain situations we can consider some example speeds. To do this I have edited the application. but it does not guarantee the validity of the gathered data.2.3. By doing it this way we can easily see how fast the module is and how long it takes to write to file. In this evaluation I will test to see how the network data gatherer behaves under stress and if it can sustain a harder processing demand. But in this evaluation it has been tested with up to 10.

To cope with this problem approximation would have to be used. 5 entries / second (m) 0.11 27.1 and 6. By buffering data on the heap before writing to file we can allow for a lot of . and thereby saving resources and eliminating overhead. This has to do with the fact that in most cases the cellular handsets’ GPS capabilities are not used at great speeds and a value update of once every second will often suffice. 6.2 in the column Speed m/s the different intervals at which we will receive a new location update. We can see that if we are riding on for example a bullet train going at nearly 300km/h we will only receive a new GPS location every 83 meters which is some cases might be considered unacceptable.56 1.3 Performance of write operations In the standard design the application only writes to file once every second.070 0. This is depicted in Figure 6. It does so by opening and closing the file when it needs to write. but would of course not be as accurate as a real GPS reading.2.39 11.56 83.39 2.33 6.56 11. In this section I have evaluated whether or not it is beneficial to buffer up the saved data on the heap memory before writing to file.11 16.78 55. thereby using a lot of resources.2 Performance of GPS location module Similarly to the network data gather module we can assume that there are situations where GPS location would be wanted to be acquired more than once a second.2. Unfortunately. the GPS hardware and the GPS subsystem that is used by Symbian OS can only deliver updated values at once a second.36 CHAPTER 6.67 Interval. EVALUATION Table 6.78 4.1.17 Walking City driving Freeway Train Bullet train 1.2: Speed and intervalls between save points when saving at different sampling rates Pace Speed (km/h) 5 40 100 200 300 Speed (m/s) Interval. We can conclude that based on the results in sections 6. but in the original design this is of course acceptable since the network data gatherer also only updates every second. This would allow us to calculate approximate locations for all of the collected network data.22 5. It can also be assumed that in many cases if one wants the network data gatherer to operate on a higher frequency then the GPS should also deliver new location updates at a matching frequency so that they both indicate the same instance.27 2. Depending on how fast one is going the approximation could simply add locations between two known GPS locations and compensate for the different speeds at those locations. We can see in table 6. So in our application we will have to accept a new GPS reading every second. 20 entries / second (m) 0.2 that there are indeed cases where one would want to save more often than once a second.

We can evaluate that writing 1000 entries at once imposes only little extra time taken and can therefore be considered favorable. The basic version of the application does not need to use the heap and can safely store each entry on the application stack before writing it to file and disposing it from the stack.000 indicates that when we try to save that many entries to the heap at once we will perceive a delay additional to the overhead caused by the write to file action.2.3 we can see the result of the evaluation on a logarithmic scale. The evaluation will measure how long it takes to save the entire collected data available on the heap to file. We see that for every extra 1000 entries that have to be processed we will need 20 milliseconds.3 that we have a linear increase in time when we go from 1000 entries to 10.2) where entry size is variable and N is the number of entries to be stored on the heap.6. If we look at both of the graphs we can evaluate that saving up to roughly 1000 entries on the heap will impose very little extra overhead.000 entries which is natural.3. The amount of data that we are going to have to allocate on the heap is described in Equation 6.1: Aproximation of a GPS location with two adjacent locations. This will tell us whether or not we can eliminate file write overhead by saving a lot of entries at once.2. data to be gathered and we do not have to write after each time we get a new value. In Figure 6. In Figure 6. .2 however we can see that it is not a problem to have a large amount of available heap memory for the application that we can use.2. Since the evaluation will add data to the heap we will need to be able to allocate that amount of data.2.2. The overhead is the dominant factor and we have to add a lot of more entries before we can see any effect of that extra data. The write process for one entry takes roughly 20 milliseconds. The higher value for 10. Heapsize = entrysize ∗ N (6.1. CPU 37 Figure 6. These graphs indicate that on the logarithmic scale not much happen when going from 10 to 1000 entries.3 we can see the result of the evaluation on a linear scale from 1000 to 10. In section 6. We can also see in Figure 6.000 entries saved.

2: Time taken to write to file on a logarithmic scale 2500 2000 1500 Time (milliseconds) 1000 500 0 1000 2000 3000 4000 5000 6000 7000 Number of saved entries 8000 9000 10000 Figure 6.3: Time taken to write to file on a linear scale .38 CHAPTER 6. EVALUATION 1000 800 600 Time (milliseconds) 400 200 0 1 10 100 1000 Number of saved entries 10000 Figure 6.

meaning that it can only differentiate between whole numbers. But the parameters that indicate signal strength and signal quality example have precision that will affect the overall system overview if it is too low. so the fact that RSCP only has a precision of 1 unit is not as important as in the GSM case.6 this parameter tells us whether or not the specific cell is in the Active Set. Had we been able to acquire the parameter with a higher precision we would better be able to differentiate between base stations’ signal strength.g.2. In this section we will evaluate whether or not the data delivered from the subsystem and accessed through the API is valuable or not. USABILITY OF COLLECTED DATA 39 6. But the parameter could still be much more precise and if we compare it to other more precise measuring devices we can see that much is still to be desired. . 6. The precision that the API delivers however is adequate for determining a system overview. Moving on to Ec/No we have a precision of 0. As explained in section 2. A higher precision would be favorable since it would help us differentiate between different neighboring base stations. More extensive information regarding the neighbor cell state would allow us to have a better overview of the system. The lack of this differentiation data means that we can only see one member of the Active Set.5 units.6. For GSM.3 Usability of collected data In the previous sections we have evaluated the application to be able to deliver data at an adequate rate and that it is also has the potential to deliver even faster.3. Similarly for UMTS the RSCP parameter which indicates perceived signal strength also has a precision of 1.. Secondly we will look at the types of data that we have gathered and more interestingly at the data that we were not able to neither acquire nor access and what the implications of that will be. 6. the RxLev parameter which indicates perceived signal strength has a precision of 1. The GPS positioning module however is very capable and delivers precision at a satisfactory precision.3.3 the application suffers from a number of shortcomings. The Neighbor state parameter is one of the parameters that is inaccessible.2.1 Precision Not all of the parameters that are gathered have a precision. if it is a Monitored Neighbor or if it is a Detected Neighbor.2 Type As explained in section 5. We can acquire location updates with precision of up to 4 decimals which means that we can have location estimations in the magnitude of meters. signal quality. e. This is satisfactory. the Scrambling Code and ARFCN parameters which have fixed values.3. This means that we more accurately can distinguish between good and bad quality from the neighboring cells. As previously mentioned however WCDMA makes it decision based on Ec/No. First we will look into the precision of the data that we have gathered and see if it is adequate for depicting a good overview of the system. One of the most important of these is the inability of the API to access certain information from the hardware.

EVALUATION The other parameter that is inaccessible is the RxQual parameter which is described in section 2. But since GSM only has one active neighbor this is not a big of a problem as it had been if the signal quality indicator for WCDMA was unavailable. .5.40 CHAPTER 6. The lack of this parameter means that we cannot do active signal quality analysis for the active GSM neighbor. Estimations are still possible due to the fact that we only have one active neighbor.1. The main factor for determining which the active neighbor is the RxLev signal strength indicator but the RxQual parameter is usually correlated.

It retrieves data from both the cellular network and the GPS location which it presents through a GUI. The evaluation has shown that the collected data allows us to make a good estimate of the status of the network and allows us easily and rapidly create coverage maps for the network. The application as such is feasible for field use and can compete with other similar applications.1 Feasibility of application The application that has been created fills it original purpose. for example the ability to initiate and monitor data session for analysis. This enables the user to rapidly assess the situation of the cellular network wherever she is and also to later analyze the information with the help of a post processing tool such as RAT.2 Feasibility and usability of collected data The information gathered with the applications has been deemed feasible for its intended use. Furthermore. The application would also benefit in a more extensively developed GUI with more choices in graphs. a more extensive way of accessing the hardware would benefit the 41 . It complies adequately with most Symbian C++ programming paradigms and can be seen as a stable and secure application. but could benefit from both more accurate precision and more types of parameters. The application enjoys an edge however as it is easy to install and use. The application as such can be improved in a number of ways. It is an application that is easily used both independently and together with the intended PC software for post processing. 7. 7. The data is also useful for field engineers that need to gain a swift overview of the neighboring cells in order to locate a location of interest when for example maintenance is to be carried out.Chapter 7 Conclusions and future work 7.3 Future work The future work that still remains to be explored is quite extensive.

In recent days fourth generation cell planning and cell optimization has been a hot topic. The combination of calculated models of propagation using Okumura-Hata models and actual gathered data is also a topic that would be interesting to pursue. The application that I have created only uses its own data. The area of cell optimization is quite extensive and there are a lot of new things happening constantly. This could be optimized by creating a dynamic file format that adjusts to the current situation and only saves what it needs to save.3. .2 would be amendable the application could be used to create a better overview of the system. If the problems regarding precision and type discussed in section 6. This means that whether or not we have the same number of observed neighboring cells we will have the same file size.42 CHAPTER 7. and cell analysis tool like the application that I have developed would be very useful for these technologies as well. but all operators that would use this application would naturally have access to their own calculated propagation models used in initial cell planning. CONCLUSIONS AND FUTURE WORK gathering process greatly. [8] The application in its current design uses a static file format when saving the information to file.3.1 and 6. Whether or not cell analysis could benefit from interpolating the calculated data and the gathered data is topic that could be very interesting.

html. Helen Clemson. [6] ETSI. [4] Ericsson. Master’s thesis. Retrieved on July 12 2009. February 2009. http://lampwww. [3] Ericsson. [10] Takayuki Ito. multiplexing and multiple access on the radio path. 2005.References [1] Steve Babin. Technical Specification. Retrieved on July 12 2009.q. Technical Paper. and Alex docs/reference/android/telephony/PhoneStateIntentReceiver. utran overall description.telephony. 2005. 2006. and Tom´ aˇ s Novosad. [9] Google Inc. S60 programming: a tutorial guide. 2001. Achim Wacker.epfl. January 2009. Tems automatic field support tool. W-CDMA and cdma2000 for 3G mobile networks.en. Sarraf. Behavior modelling of wideband code division multiple access.cdt21. [14] Yi-Bing Lin and Imrich Chlamtac. Karim and resources/siryo4. 2002. [12] Jaana Laiho. 2001. Wiley-India. Digital cellular telecommunications system (phase 2+). 2nd edition: A Beginner’s Guide to Creating Symbian OS V9 Smartphone Applications in C++. Developing Software for Symbian OS. McGraw-Hill Professional. R. http://www. Wiley. Architectures.phonestateintentreceiver . Lule˚ a Tekniska Universitet. Radio network planning and optimisation for UMTS. Link¨ opings Universitet. android. Okumura . [8] Circuit Design Inc. [5] ETSI. [13] Gunilla Lestander and Joanna Sj¨ odin. Japanese cellular phone f.html.asp.hata curve. Gsm & wcdma seamless network. Master’s thesis. John Wiley and Sons. Retrieved on July 12 2009. [7] Jack Huynh and Mattias Gylin. Technical Specification. sdk. Reuben Edwards. Universal mobile telecommunications system (umts). [11] M. 2007. 43 Wireless and Mobile Network . White Paper.a. March 2006. Signal strength measurements in gsm tems mobiles. [2] Paul Coulton. cellphones. 2008.

Master’s info/sw. Capacity analysis in cdma systems using gis planning tools. [21] Nokia. Link¨ opings Universitet.symbian signed. [16] Michel Mouly and Marie-Bernadette Pautet. Retrieved on July 12 2009. Cell & Sys. http:// developer.small default stack size in s60 3rd References [15] Narcis Cardona Marcet and Andres Navarro Cadavid. and inter-operation with GSM. Symbian developer network .nokia. Wcdma network planning and optimization. 2007. [25] Moe Rahnema. Benchmarking of mobile network simulator with real network data. 2003. Carbide++. http: //wiki.c++/. Rat . The GSM System for Mobile Global positiong system standard positioning service signal analyzing tool. Impact of base station site and antenna configuration on capacity in wcdma cellular networks. Retrieved on July 12 2009. [27] APIS Technical Training. Wiley-IEEE. [23] Tero Ojanper¨ a and Ramjee Prasad. [18] GPS Navstar. [24] Qualcomm. . [28] Webconnect. [20] Nokia. http://www. 1992.webconnect. Kis000387 . Artech House. WCDMA: towards IP mobility and mobile Internet.system introduction. [17] Lars N¨ aslund. May 2006. 1996. [26] Symbian.symbian. Retrieved on July 9 2009. http://www. UMTS network planning. Tampere University of Technology. 2000.pdf. Symbian_OS_Basics_Workbook_v3_1_en. [19] Jarno Niemel¨ Code/Tools/IDEs/Carbide. Universidad Polit´ ecnica de Valencia.php/KIS000387. http://www. System ovewview gsm/dcs . Symbian os basics workbook. [22] Nokia. Retrieved on July 10 2009. 2007. Master’s thesis. Retrieved on July 12 2009.