The Design and Implementation of Indoor Localization System Using Magnetic Field Based on Smartphone

Sufficient signal nodes are mostly required to implement indoor localization in mainstream research. Magnetic field take advantage of high precision, stable and reliability, and the reception of magnetic field signals is reliable and uncomplicated, it could be realized by geomagnetic sensor on smartphone, without external device. After the study of indoor positioning technologies, choose the geomagnetic field data as fingerprints to design an indoor localization system based on smartphone. A localization algorithm that appropriate geomagnetic matching is designed, and present filtering algorithm and algorithm for coordinate conversion. With the implement of plot geomagnetic fingerprints, the indoor positioning of smartphone without depending on external devices can be achieved. Finally, an indoor positioning system which is based on Android platform is successfully designed, through the experiments, proved the capability and effectiveness of indoor localization algorithm.


INTRODUCTION
With the popularity of intelligent terminals, location-based services (LBS) are rapidly developing and showing a broad prospect.But when using satellite and base stations for indoor positioning, affected by factors such as building blocks, multipath effect and non-line-of-sight transmission, positioning could not achieve satisfactory accuracy.In the study of indoor positioning technology, the study based on WLAN, Bluetooth and infrared ray are research focus today, but these technologies require a sufficient number of infrastructure, hinder the promotion of practical applications.Although the WIFI signal is widely present in the buildings, the WIFI Access Point is affected by signal attenuation, human block and multipath effects, which limit the accuracy of WIFI signal.Today's mobile devices are equipped with sensors such as gyroscopes, gravity sensors and geomagnetic sensors, which provide opportune conditions for the indoor localization using magnetic field.
At present, most of the researches in indoor localization using magnetic field are concentrated in geomagnetic matching algorithm and its simulation， there are less research on use smart devices for positioning.Xie studied several basic matching algorithms of geomagnetic matching technology such as MAD, MSD, NPROD and HD, and through simulation experiments for analysis and compare the matching accuracy, but his research is limited to simulation experiments (XIE, 2008); Subbu proposed an indoor positioning solution based on the classification of geomagnetic signals, made a detailed analysis of the geomagnetic signals on the smartphone, and present a dynamic time planning method to solve the user walking speed changes (Subbu, 2013).Xiong designs an indoor positioning system based on magnetic field, the performance of positioning is improved by replicating important particles and resampling low weight particles (Xiong, 2015).Both of their research focus more on the indoor magnetic field, lack of research on geomagnetic localization and related experiments.
In recent years, with the continuous development of mobile Internet, the researches of indoor localization using magnetic field are increasingly being recognized.A team from University of Oulu has developed a map application IndoorAtlas, based on magnetic field, delivered as a scalable cloud platform.In addition, research has been attached importance to the indoor localization mix multiple methods to achieve higher precision.Song applying the combined localization method of inertial navigation-assisted geomagnetic positioning to improve the indoor positioning accuracy, but its research is more inclined to use geomagnetism to assist the inertial navigation (Song,2015).Zhang proposed a hybrid indoor positioning method with RFID and magnetic field and do a simulation experiment (Zhang,2015).Shu present Magicol, an indoor localization and tracking system that embraces the local disturbances of the geomagnetic field, Magicol incorporates WiFi signals to achieve much improved positioning accuracy, and propose a compliant-walking method for location database construction that drastically simplifies the site survey effort (Shu,2015).This paper uses geomagnetic signals as position fingerprints, proposed filtering algorithm and geomagnetic matching algorithm for geomagnetic signals, designed a system architecture for indoor real-time localization on smart phone and realized it.This system can achieve high precision in indoor localization through smart phone, without external devices.At last, design and proceed a real experiment to analysis and verify the effectiveness of the system.

POSITIONING PRINCIPLE
The geomagnetic field in different areas (within a certain range) of the Earth's surface is different, and this difference also has the same characteristics in smaller areas such as buildings.This difference represents that geomagnetic field in different regions are distinct from the other regions, with this feature, through the collection of geomagnetic data fingerprint that unique to other locations to implement indoor localization.Essence of indoor localization based on geomagnetic field is the geomagnetic matching, usually realized by measuring correlation degree of training sequence and any subgraph in baseline, called correlation analysis (Deng,2012).Geomagnetic positioning method can be divided into two stages: off-line training and online matching, the specific process is given below.

Figure 1. Flow chart of Indoor localization based on geomagnetic field
The main content of the off-line training is to generate geomagnetic fingerprints.To achieve it, it is necessary to collect the geomagnetic signal at the reference point in the given region, and the geomagnetic reference point set on the map needs to match its actual position.When collecting data, it's necessary to measure a point several times to reduce the impact of equipment form and measurement error, and use the filter algorithm to achieve the purpose of improving accuracy.
On the basis of the geomagnetic fingerprints at the off-line training stage, online matching is designed for real time positioning.Therefore, design the appropriate geomagnetic matching algorithm to calculate the result using the geomagnetic fingerprints and the value that the smart phone collects the geomagnetic signal at the current location and return, regard the result as the location result.So, it's important to select appropriate point in the given region to generate geomagnetic fingerprints because there is a tight link with the positioning accuracy.
Indoor localization system can be divided into following parts: the measuring module, the data processing module, the geomagnetic matching module and the display module, just like Figure2 shows.

Figure2 the schematic diagram of indoor localization system
The measuring module collects the geomagnetic signals of the current location through the mobile device at the time of data preacquisition and positioning; the data processing module is responsible for preprocessing the collected data, such as using the filtering algorithm and other methods to reduce the error; the geomagnetic matching module is responsible for operation when receiving the current geomagnetic signal from smart phone, and return the positioning result; the display module mainly displays the map and the position of the collection, the positioning interface and the display of the positioning result when the data is collected.

ALGORITHM DESIGN
One of the keys to indoor geomagnetic positioning system is design appropriate geomagnetic matching algorithm and data processing algorithm.The appropriate data processing algorithm can improve the uniqueness of geomagnetic signal in geomagnetic fingerprints, and reduce or even eliminate the deviation that from equipment, sensors and other factors, which can speed up the convergence rate of geomagnetic positioning as a result.The appropriate positioning algorithm helps to improve the positioning accuracy.

Data Processing Algorithm
Due to the impact of external environment, error of the sensor itself and impact of mobile devices, geomagnetic signal is doped with noise signals, filtering algorithm is used to reduce or remove the amount of interference in the geomagnetic data, such as fluctuating point caused by sudden jitter and tilt when the smart phone is in the process of collecting data, which will affect the positioning accuracy.Filtering algorithm of difference is to eliminate fluctuating point in geomagnetic data.Also, use the median filter to smooth the geomagnetic signal data, the theory of median filtering is based on the ranking theory, it replaces the signal values of a series of successive signals with the median of all the signal values in the neighbourhood (Ye,1997).So that the effects of random impulse noise in the semaphore are reduced effectively.So, the use of median filter can be a good protection of the original signal value, and can be a good elimination of random pulse noise interference in the meantime.
The fluxgate magnetometer has high resolution and good robustness (Pan,2005), but in the measurement process, the threeaxis geomagnetic sensor of the fluxgate magnetometer can not be exactly the same as the three directions of horizontal threedimensional, three measuring shafts in fluxgate magnetometer usually has deviation with the standard horizontal threedimensional coordinate system.So, geomagnetic data also need to be decomposed and adjusted to unified in the standard level of three-dimensional coordinate system, and use the geomagnetic data after the above-mentioned processing as reference.
When the smart phone collected the geomagnetic signal, it collected the the data of direction sensor at the same time.The coordinate transformation of the geomagnetic data is assisted by the data of direction sensor.Following steps show how to transform coordinate: (8) After coordinate transformation above, use result as geomagnetic fingerprint for subsequent operations.

Algorithm of Geomagnetic Localization
Geomagnetic matching is essentially using the established geomagnetic vector information compared with real-time acquisition of geomagnetic or geomagnetic characteristics in accordance with certain man-made methods and guidelines, calculate the similarity or correlation between the two, so as to get the result of location information, the key lies in the selection of geomagnetic fingerprints and the selection of matching algorithms, following is an algorithm designed for indoor geomagnetic localization.Euclidean distance positioning method is a deterministic matching algorithm, after coordinate transformation for data that smart phone collect, get the data used to locate.And geomagnetic vector map can be expressed as Equation( 9):

Experimental Design
In order to verify the performance of system proposed in this paper, following experiment was designed.Experimental site is Information Department Library of Wuhan University in Wuhan, the architectural design is shown below.The choice of library as the experimental site is because the library has a detailed design, can accurately obtain the design information of each room, which is useful for accurately calculating the accuracy of positioning, and the library shelves neatly placed, is conducive to select the positioning reference point.

Figure4 architectural designs
As mentioned earlier in the analysis of geomagnetic positioning, when the mobile device changes morphology in the same position, such as swing left and right or swing up and down, the data collected by the sensor will also change, Although the direction sensor can record the value of the device morphology change, but the accuracy of the data is limited, it is not enough to eliminate the error by some king of processing algorithm.So, by using the track map to reduce device morphology change, and ultimately achieve the purpose of reducing the error.First, set the user's travel route the room, walking route includes all the reference points.Then, along the trajectory, collect the data of geomagnetism sensor and direction sensor at each reference point, multiple collect at each point.Fig5 shows the scene of the collected data: Figure5 Data collection process After collecting all the sensor data at all reference points, use a personal computer to set up the server and store geomagnetic fingerprint on the server side.Do data processing in the serverside, processing steps include: coordinate conversion, median filtering and difference filtering, as described above.Finally, the processing results are stored as geomagnetic fingerprints on the server side.Fig6 is a schematic diagram of a geomagnetic fingerprint on a server.
Figure6 schematic diagram of geomagnetic fingerprint

Indoor Positioning Experiment
We install positioning application on GT-I9508 from Samsung, its magnetic sensor is YAS532 Magnetic from Yamaha and its accelerometer is K330 3-axis Accelerometer from STMicroelectronics.The smartphone establishes a connection with the server through the network, through the socket to communicate.Starting from the set starting point, the smart phone with the geomagnetic positioning program installed walking along the trajectory.At each reference point, click on the positioning button on the screen to locate, the smart phone will send the data to the server through Internet, once receive data, the server processing data and do calculation, and the result of the positioning algorithm results will be returned to the smart phone as the result of positioning.When the result is received, it is displayed on the screen.Record whether the positioning result is the current reference point.Fig7 shows a scene when positioning experiment is performed at a one reference point on the track.Here we do experiments at 15 reference points, repeat the location at each point 4 times, a total of 60 results were recorded, of which 53 were correctly positioned to the reference point, the accuracy rate is 86%.The table1shows the successful use of geomagnetic data to achieve the indoor positioning.The accuracy rate is obtained is obtained by calculating the records of all reference points, which record whether the result of positioning is consistent with the current reference point.In addition, you can see in the case of good network, positioning speed can meet the real-time requirements.

SUMMARY
This paper designs an indoor localization system using magnetic field, and a matching algorithm and data processing algorithm for geomagnetic positioning are designed.The experimental results confirm the feasibility of geomagnetic positioning, also, the effect of geomagnetic localization algorithm and data processing algorithm proposed in this paper has also been verified.Geomagnetic information is collected in advance to establish geomagnetic fingerprints, when the smart phone is in the area, through the sensor to collect data and to get the location information in real-time.Although it has not yet fully addressed the impact of morphological change, in areas where the satellite or base station failed to cover, It's still a good alternative.In the meantime, indoor localization using geomagnetic field enrich the way of indoor positioning technology, or choices.And further, if we can combine geomagnetic positioning with some other indoor positioning technology such as WIFI, RFID or Bluetooth, etc., to achieve a hybrid positioning, integrated their own characteristics, to integrate their own characteristics to achieve a hybrid positioning, it can effectively improve the positioning accuracy and promote the development of practical applications.

Figure7
Figure7 Positioning experiment After all the reference points on the trajectory map have been positioned, get the positioning results shown in the table below: Name Value Accuracy rate 86% 1m 1ms 2ms positioning accuracy Time of positioning calculation Time of network transmission Table1.Geomagnetic positioning experiment results