Open access peer-reviewed chapter

Indoor Mobile Positioning Using Neural Networks and Fuzzy Logic Control

By Anatoly D. Khomonenko, Sergey E. Adadurov, Alexandr V. Krasnovidow and Pavel A. Novikov

Submitted: November 8th 2016Reviewed: February 21st 2017Published: August 30th 2017

DOI: 10.5772/68009

Downloaded: 334

Abstract

Indoor mobile navigation systems are becoming more prevalent in many areas (transport, public institutions, logistics, etc.). The interior navigation based on the access points, arranged according to the radio fingerprints, is becoming increasingly popular. The model of artificial neural networks (ANN) is often used as a mechanism for storing and processing radio fingerprints. The task of selection of the access point in WLAN network in the case of high user density is quite topical. Such selection must take into account not only the level of the signal received by the mobile device, but also a width in the dedicated channel bandwidth. The main issues related to the creation of program complex for the mobile indoors navigation using neural networks is discussed in the chapter as well as the method of access point selection based on analysis not only the signal level but also the other parameters. To solve this task, fuzzy logic is used.

Keywords

  • Wi-Fi radio network
  • neural network
  • mobile navigation indoor
  • navigation systems
  • learning algorithms
  • mobile devices 802.11k standard
  • the mobile subscribers
  • fuzzy logic
  • MATLAB
  • frame transmission time

1. Introduction

The modern world cannot exist without precise navigation systems. Satellite navigation systems such as Global Positioning System (GPS) and Global Navigation Satellite System (GLONASS) [1] are widely used in a variety of areas of activity, such as navigation transport, engineering, surveying, and other cellular communication. GPS receivers’ consumer level is set in almost all modern phones. In open areas, such receivers allow for positional accuracy in the region of 1–5 m.

At the same time, these receivers do not meet the existing demand to navigate indoors. In such circumstances, GPS does not work or provide location data with a very high error of about 100–150 m.

Navigation systems indoors can be applied in many fields. Including navigation inside large shopping malls, warehouses, or different systems, “smart home,” in which different home systems (heating, lighting, air conditioning, and so on) can be centrally managed in automatic mode.

In particular, obvious argument for the need for indoor navigation can serve as tasks of navigation in transportation systems, such as airports and railway stations [2]:

(A) For visitors: positioning; search check-in desks/offices/storage rooms and a cafe, parking, taxi, etc.; installation of the route, taking into account number of storeys of buildings; search colleagues inside the airport/train station, social activity; service based on knowledge of the position of the visitor (location-based service).

(B) For airports, railway stations, and tenants: an additional service to visitors; analyst extensive movements of visitors and staff; advertising opportunities geo contextual advertising (location-based advertising) airlines/shops/cafes, etc., as well as products/services; promotions based on the location of the visitor.

There are now possibilities to improve the methods and the practical use of mobile navigation indoors. Let us briefly consider the modern approaches to the solution of this task and proposals for justifying the choice of learning algorithms and neural networks of the individual parameters of the same interests.

Mobile navigation systems indoors are becoming more widespread in many areas (transport, public institutions, logistics, and others.). It is becoming popular navigation based on fingerprint radio access points Wi-Fi. As a mechanism for storing and processing the radio fingerprint is often considered a model of artificial neural networks (ANN). The chapter examines the main issues related to the creation of complex programs for mobile navigation indoors using neural networks, which are one of the parts of fuzzy logic. We justify the choice of learning algorithms ANN navigation mobile devices indoors.

The data for the neural network training in MATLAB taken from the file “train.txt” is used for functional testing of software navigation. To verify the performance of ANN training, the original file should be divided into two sets (training and testing).

Wireless local area networks 802.11k as precise navigation systems have become very popular for several reasons. They operate in the unlicensed frequency bounds and they need not in large time and cost for deployment. The appearance of vast number of mobile devices supporting Wi-Fi technology gives possibilities of free choice and cost saving for the various kinds of users. WLAN networks have a number of advantages over traditional wired networks.

  • Much easier and cheaper to deploy a local wireless network in the new location than a traditional network.

  • The subscriber does not have to be next to his desk or local network socket-outlet. He can move freely inside the area coverage.

However, the number of users working in the unlicensed frequency bounds increases day by day. In this context, a very important problem is the way by which the wireless device uses to select an access point to connect to the network. Now, the device selects the access point according to signal power. This way allows determining the nearest access point. In other words, currently used 802.11k standard is aimed at the implementation of load balancing of radio Wi-Fi networks. Nevertheless, the high level of the signal does not always mean high network bandwidth. Suppose, for example, that most of the notebooks operating in the certain conference halls connect to WLAN by using the access point which is above the entrance door. In such a case, the number of subscribers connected to it would be up to tens if not hundreds, while other access points would not be fully loaded. As a result, the network bandwidth per subscriber reduces to a significant degree that leads to network reduction of productivity of the network in whole. Hence, the task of selection of the access point in WLAN network in the case of high user density is quite topical. Such selection must take into account not only the level of the signal received by the mobile device, but also a width in the dedicated channel bandwidth that depends on the number of connected subscribers to the access point. In this chapter, we examined the method based on analysis of not only signal level but also other parameters. To solve this task, fuzzy logic is used in the chapter. Constructed membership functions and linguistic rules are examined. Structure of the developed model and simulation results are presented.

2. Indoor mobile positioning using neural networks

2.1. Characteristics of modern approach to navigation mobile

First, we note that the modern mobile devices contain a variety of different sensors and receivers. The main of them include:

  1. GPS.

  2. Wi-Fi, a radio signal operates at frequencies of 2.4 and 5 GHz.

  3. Bluetooth operates on the same frequencies.

  4. The accelerometer and gyroscope—inertial sensors measuring linear and angular acceleration.

  5. Magnetometer—a sensor that measures the intensity of magnetic fields.

  6. Other sensors—humidity, light, proximity, barometer, etc.

Sensors 1–5 are well represented in many of today’s mobile devices that are running operating systems iOS and Android. These systems provide programmatic access to the sensors through its own application program interfaces (API), and any application can receive data from the sensors (with certain insignificant limitations).

Currently, there are several ways to use the mobile navigation device.

  1. GPS (Global Positioning System) and GLONASS (Global Navigation Satellite System) [1]: these are navigation using satellites. Well suited for positioning in the open spaces. Because of the need to be in the field of view of at least three satellites, these are poorly suited for closed premises, as they greatly impair the satellite signal. The initial search for satellites might take few minutes.

  2. AGPS (Assisted GPS). Navigation using radio signals from cell towers. Typically it used in conjunction with GPS. It accelerates the initial determination of the coordinates by the fact that the use of data on the mobile device serving cell towers.

  3. Navigate using radio beacons operating on technology iBeacons (Bluetooth Low Energy) [3]. This is a relatively young technology, the impetus for the development of which will serve standard Bluetooth 4.0 (+) with low power consumption. Tracker is a chip with a radio module, which is a predetermined frequency radio, sends packets with information about themselves. The receiver, knowing the map of the location beacons and signal strength to the nearest of them, calculates their relative location.

  4. Navigation on the basis of fingerprints of radio access points Wi-Fi [4]. Such navigation systems are more exploratory in nature. Due to the relative novelty of this approach, ways to implement proven accurate navigation have not yet developed.

  5. Inertial navigation system [5]. Navigation is based on data from the inertial sensor device, which is constructed on the basis of the model orientation in space.

Comparative characteristics of the main approaches of navigation using mobile devices [2] are given in Table 1.

SystemDignityDisadvantages
GPSAverage precision
(5 m) Ease of use
Good compatibility
Inability
To work
Indoor
GSMEase of use
Good compatibility
Ease of use
Good compatibility
Wi-FiAverage
Accuracy
(5 m)
Work indoors
The need for network deployment
Limited compatibility
High power consumption
iBeaconHigh accuracy (1–2 m) Ease of use
Good compatibility
Low power consumption
The need to deploy
BLE-network

Table 1.

Comparative characteristics of approaches.

In addition to these approaches, following approaches are also included. In Ref. [6], the integration of Wi-Fi and an inertial navigation system is considered. In Refs. [7, 8], mobile navigation services and the use of technology OpenCellID to determine the location of mobile devices are studied.

The article [9] considered a relatively new approach to the positioning of mobile devices in the premises on the basis of two-dimensional barcodes. In Ref. [10], the model of context-aware computing (context-dependent browser) based on network proximity is considered. This mobile phone is considered as a proximity sensor and geo replaced positional information network proximity. An algorithm for calculating the trajectories of mobile networks on the basis of information about network proximity is also considered.

2.2. Rationale for navigation of mobile devices using neural networks

Employment of navigation system via radio fingerprint from the access points of Wi-Fi consists of two parts:

  1. Preparation of a database of known fingerprints radio with known coordinates associated with them.

  2. Getting new coordinates from the database on the new print of radio signals.

As a mechanism for storing and processing the radio fingerprint has considered a model of artificial neural networks (ANNs).

This approach is interesting for the following reasons:

  • The problem of determining the location based on a previously defined radio fingerprint can be viewed as a problem of classification of multidimensional data.

  • Main computational load of this method accounts for the learning process, which is performed only once and can be executed on an independent computer system.

  • Data on the surrounding Wi-Fi points can be supplemented by the data from other sources, such as Bluetooth LE beacons.

The possibilities of modern ANN are the subject of active research. The approach to the use of ANN to solve the above problem is considered in several publications, for example, Refs. [1012].

2.3. Characteristics of software navigation

Here examined a complex program [13, 14] to navigate through the Wi-Fi signals using a mobile phone. It consists of two components:

  1. Mobile application that

    1. collects data on the surrounding Wi-Fi access points;

    2. uses trained neural network to determine the current location of the mobile device based on the new data on Wi-Fi signals.

  2. Desktop application that

    1. prepares data radio prints for further training of the neural network;

    2. training and testing neural network.

As an implementation of a neural network, we used multilayer ANN provided free library FANN (Fast Artificial Neural Network Library). To train the ANN learning algorithm, Resilient Propagation (RProp) has been used [15].

Unlike standard algorithm Backprop, RProp uses only partial signs for adjusting the weighting coefficients. The algorithm uses the so-called “training periods” when the correction occurs after the presentation of the balance of the network of examples from the training set.

To determine the amount of correction using the following rule [15]:

Δij(t)={η+Δij(t),Ε(t)ωijΕ(t1)ωij>0ηΔij(t),Ε(t)ωijΕ(t1)ωij<0},E1
0<η<1<η+E2

If the partial derivative of the corresponding weight ωijhad changed its sign at the current step, it means that the latest update was great, and the algorithm passed a local minimum and therefore the value of change must be reduced by η and return the previous weight value: in other words, you must make ‘roll back’.

ωij(t)=ωij(t)Δij(t1).E3

If the sign of the partial derivative is not changed, it is necessary to increase the amount of compensation η+ to achieve a more rapid convergence. Fixing factors η and η+ can be dispensed with global settings of the neural network, which can also be seen as an advantage of the algorithm to the standard algorithm Backprop.

Recommended values are η = 0.5, η+ = 1.2, but there are no restrictions on the use of other values for these parameters.

To prevent too large or small weight values, the correction value limit from above the maximum Δmax and below the minimum Δmin value of the correction value, which default, respectively, shall equal 50 and 1.0E–6.

The initial values for all Δij are set to 0.1. Again, this should be seen only as a recommendation, and in the practical implementation it can specify a different value for the initialization.

The current implementation of the navigation software package is a simple one-dimensional classifier, which, by new radio-prints, is able to determine the room in which the mobile device is located.

2.4. Working with software navigation

Working with a program complex navigation is implemented using desktop and mobile software, and includes the following steps:

  1. Collection of data on radio-prints in the studied areas. The output of this stage is a set of files, each of which contains a set of vectors (matrix) measuring Wi-Fi signals points (for example, Table 2).

    In the first row, there are names of all the access points that were visible in the data collection process. For clarity, we have been selected to work with network names, rather than their mac address. Each line represents the measured signal strength to a point. A value 0 means that the point was not available at this time.

  2. Combine all the source files into one.

    The result is a common image with the measurements in all the studied areas which is shown in Table 3.

    The first column is stored name space in which the measurement was performed. Null values (0) are replaced by −100 (very weak signal).

    In addition, a file is created “names.txt,” which lists the names of all the networks in the same order in which they are placed in the file of training (step 4).

  3. Represented by map matching names with their premises of formal numerical representation:

    1. Cabinet [0] Room [0.5] Kitchen [1]

  4. On the basis of the contents of the files of the previous steps 2 and 3, create a file with the data for network training:

    1. 60 15 1

    2. −86.0 −100.0 −54.0 −69.0 −100.0 −100.0 −88.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0

    3. 0.0

    4. −89.0 −83.0 −56.0 −66.0 −100.0 −100.0 −91.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0

    5. 0.0

    6. −90.0 −71.0 −51.0 −67.0 −100.0 −100.0 −88.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0 −100.0

    7. 0.0

    8. The first line shall include: the number of hidden layer neurons, the number of neurons in the input layer and output layer.

    9. The following are a couple of lines:

    1. The input vector.

    2. The value that the National Assembly should be trained for this vector.

      The result of this step is to file “network,” which is a trained neural network in the library “FANN.” The network name is chosen at random.

      The following steps describe the workflow of software application that is running on a mobile device.

  5. A mobile application launches library “FANN” and passes the file to the trained neural network.

  6. Mobile application starts scanning the surrounding Wi-Fi hotspots. After the completion of the next iteration of the scanning application, an array of the currently available access points is received to which the device may try to connect. Each object of the array, among other things, contains in its structure the following two fields:

    1. Title.

    2. The strength of the signal to a predetermined point.

    With using the array of file names “names.txt” obtained in the second stage and the current array of visible access points built radio fingerprint, which, in essence, is a simple array of numbers. Create a radio footprint that includes the following steps:

    1. Create an array of numbers (float []) size which determine the number of elements in the array of names.

    2. Go through the array of names in the cycle:

      1. if the array access point is a point with the current name, the add-in radio signals strength to mark this point of the current iteration of the index;

      2. otherwise, add the current iteration index of the default value for the missing point that was made in step 2 (−100).

    3. At the output of iteration scanning radio fingerprint is obtained as a vector of values (−100, −50, −75, −100, …).

  7. The resulting vector is passed to the neural network, which returns the result vector (float []). Since the ANN has been trained on the basis of dimensional data, we are only interested in the first element of the resulting vector.

  8. The resulting value is compared with the data from the map space. In the version of the software complex in the map, closest value to the current value obtained from the network is searched. After finding, it displays the name of the current premises that corresponds to the measured radio-imprint.

GrimasDSL-2640UNETGEARSTERH76InterZet-at-homeInetBezPASUS 26
−860−54−6900−88
−89−83−56−6600−91

Table 2.

Set of vectors (matrix) measuring signals Wi-Fi points.

GrimasDSL-2640UNETGEARSTERH76InterZet-at-homeInetBezPASUS 26
Study−86−100−54−69−100−100−88
Study−89−83−56−66−100−100−91

Table 3.

Common image with the measurements in all the studied areas.

2.5. Training a neural network in MATLAB

The data for the neural network training in MATLAB are taken from the file “train.txt” and used for functional testing of software navigation. To verify the performance of ANN training, the original file should be divided into two sets (training and testing).

By analogy with [16], we make a comparative analysis of the main learning algorithms of the neural network used for the navigation of mobile applications for indoors, with position accuracy and complexity ratios depending on the number of neurons in the hidden layer. The corresponding results are shown in Table 4.

Number of neuronsTrainlmTrainscgTrainbr
MSEEpochs(s)MSEEpochs(s)MSEEpochs(s)
50.1112(0.1)0.0815(0.1)0.03592(25)
100.0616(0.1)0.0920(0.2)0.02700(20)
150.079(0.1)0.0513(0.2)0.013800(23)
200.0511(0.2)0.1314(0.2)0.015269(48)
300.136(0.2)0.1923(0.3)0.018889(120)
500.2313(0.2)0.2130(0.5)0.02483(187)

Table 4.

Characteristics of the complexity and accuracy of learning algorithms NA.

Table 4 uses the following symbols: trainlm—learning algorithm Levenberg-Markarth, trainscg—related gradient method scaled association, and trainbr—Bayesian regularization method. MSE—mean square error, epochs (s)—the number of training cycles, and in brackets the number of seconds.

Based on the analysis of Table 1, we can conclude that the optimal number of hidden layer neurons for a given set of source data is in the range 15–25. It showed the highest accuracy Bayesian regularization algorithm, but it is considerably more time-consuming compared with other algorithms. The optimal ratio of accuracy and convergence provides the Levenberg-Marquardt algorithm.

Note that low accuracy is common to all algorithms, which is associated with the original data. Probably, it reduces the dimension of the input vector (data used by Wi-Fi 15 points, most of which are available), and increases the total number of measurements. At the same time in the original data set of vector measurements corresponded to only three different rooms, so get enough accuracy.

3. Using fuzzy logic control for selection of the access point

3.1. Introduction

Wireless local area networks of 802.11k standards become very popular due to some reasons. They operate in the unlicensed frequency bounds and they need not require large time and cost for deployment. The appearance of vast number of mobile devices supporting Wi-Fi technology gives possibilities for free choice and cost saving for the various kinds of users. WLAN networks have a number of advantages over traditional wired networks.

  • Much easier and cheaper to deploy a local wireless network in the new location than with a traditional network.

  • The subscriber does not need to be next to his desk or local network socket. He can move freely inside the area coverage.

However, number of users working in the unlicensed frequency bounds increases day by day. In this context, a very important problem is the way by which the wireless devices are used to select an access point to connect to the network. Now device selects the access point according with signal power [17]. This way allows determining the nearest access point. In other words, currently used 802.11k standard is aimed at the implementation of load balancing of radio Wi-Fi networks. Nevertheless, the high level of the signal does not always mean high network bandwidth. Suppose, for example, that most notebooks operating in the certain conference hall connects to WLAN using access point which is above the entrance door. In such a case, the amount of subscribers connected to it would be to tens if not hundreds, while other access points would not be fully loaded. As a result the network bandwidth per subscriber reduces to a significant degree that leads to the network reduction of productivity of the network in whole. Hence, the task of selection of the access point in WLAN network in the case of high user density is quite topical. Such selection must take into account not only the level of the signal received by the mobile device, but also a width in the dedicated channel bandwidth that depends on the number of connected subscribers to the access point.

Further, examined the method based on analysis not only signal level but also other parameters. To solve this task, fuzzy logic is used (See Ref. [18, 19]). Constructing membership functions and linguistic rules are examined. Structure of the developed model and simulation results are presented.

3.2. Choice of access points for connecting a mobile device

Signal level and the bandwidth of a system are linked by the well-known Shannon formula, which allows determining the capacity of the data transmission system:

C=ΔF×log2(1+S/N).E4

The total bandwidth allocated in the range, is divided equally among all active subscribers [17]. If the length of the transmitted packet is L bits, one can determine the time required for transmission of a packet:

T(M,S/N)=L×MF×log2(1+S/N),E5

where ΔF = F/M is the network bandwidth, and S/N is signal/noise ratio at the receiver input and M is the number of subscribers already connected. Thus, the functional dependence between bandwidth and the number of connected subscribers is linear. Then the task of selecting the best access point to connect can be formulated as follows:

Find the value of function (5), the Tmax of which does not exceed a predetermined time with the following restrictions: S/N > P0 and ΔF ≥ ΔFmin, where P0 is some ratio threshold signal/noise at which the operation of mobile subscriber receiver is possible and ΔFmin is a minimum possible bandwidth width. In other words, the problem is reduced to finding such a pair of values (ΔF, S/N) for which the transmission time has the minimum possible value.

This problem can be solved by various methods:

  • Analytical methods that use differential and variational calculus.

  • Numerical methods which use prior information in order to find improved solutions using iterative algorithms.

  • Mathematical methods (linear and nonlinear programming).

In the case of choice of any method, the finding of a point of extremum of the considered function is usually required. The type of function (5) is shown in Figure 1.

Figure 1.

Dependence of the packet transmission time from the signal level and the number of subscribers.

Figure 1 shows that the function (5) has minimum values for various combinations of parameters and the number of connected subscribers M. Function (5) has no maximum that determines the above-mentioned formulation of the problem of choosing the access point. Table 5 shows the values of the function (5) calculated for various combinations of parameters and M.

Signal power, dbThe bandwidth width, hzThe transmission time, s
304E + 62.514E − 4
308E + 51.257E − 3
304.444E + 52.263E − 3

Table 5.

Values of the time of packet transmission for different ratios of parameters.

Analysis of Table 5 confirms that the high signal level does not always provide an acceptable transmission time. It's known for solve the problem of the selection the access point to connect mobile subscribers on the basis of function (5) using the above methods it is necessary and sufficient that the following conditions are met (as it's shown for instance in Ref. [20, 21]):

  1. Function (5) should be continuous and differentiable at the point of extremum.

  2. The Hessian matrix of function (5) must be negative definite (for a point of minimum).

Clearly, the condition 1 for the function (5) is performed. To simplify the analysis of the condition (2), it is convenient to consider function 1, taking into account that low values of transmission time are achieved with large bandwidth. Then, for the function (4), condition 2 changes to opposite. Condition 2 for the function (5) is not satisfied due to the fact that 2C/(ΔF)2=0, which implies that:

|2C(ΔF)22C(ΔF)(SN)2C(SF)(ΔF)2C(SN)2|=|01log2e(1+SN)1log2e(1+SN)(1log2e(1+SN))2|0.E6

It follows that the function in question is not concave. However, the requirement of convexity or concavity of the function is a serious restriction that is far from always performed in practical problems. This is why the concept of such functions is generalized by the introduction of pseudo-convex unimodal functions [21]. The f: XR function is called the pseudo-unimodal in the interim [a,b]X, if an arbitrary interval I*[a,b]such that the f function:

  • Strictly increasing in the interval [a, b];

  • Equals to some constant, min{f(c),f(d)}on the some interval I*;

  • Strictly decreasing in the interval [d, b].

The points c and d determined by the following way:

c=infxxI*;d=supxxI*.E7

In this case, the interval I* is the solution of the problem max{f(x):x[a,b]}. In the particular case if c = d, then I*={x0} and x = c = d, the f function is called unimodal. The example of unimodal function is shown in Figure 2.

Figure 2.

The example of unimodal function.

Then, if we set

a=[ΔFmin,P0];b=[ΔFmin,Pmax].E8

Here Pmax is some maximum possible value of S/N ratio, then unimodality of the function (4) and, consequently, function (5) derived from their definitions. Consequently, the optimization problem has a solution in the following formulation: find the minimum of function (4) in the interval (8). This solution can be found by any of the methods listed above. However, their use is associated with a large number of calculations (solution of the corresponding equations), or with a large amount of stored data, requiring constant modification (various search methods).

In Ref. [18], to solve above-mentioned problem is proposed to use the apparatus of fuzzy logic, free from above disadvantages. Fuzzy logic operators are very similar to conventional Boolean operators and allow simplified algorithms for solving this problem. Complicated mathematical modeling can be replaced by evaluation of membership functions and rules of fuzzy logic [22]. Various approaches to solving this type of problems are considered in Refs. [23, 24]. In Ref. [25] there is an example of controlling the operation of the charger using intelligent controller which applies various algorithms of fuzzy inference. One of the most powerful tools for solving such problems is the MATLAB system, which provides users a various species of software, including the visual ones. With the help of visual programming, the necessary model can be built, and then can run the simulation in program mode.

3.3. Model of algorithm of determination of the best access point

In accordance with the 802.11 standard, the mobile station scans the individual channels for the detection of the best signal from the access point. APs periodically send a Beacon signal in a broadcast mode. Mobile network station accepts these beacon signals and takes note of the relevant signal level. Thus, the received signal level actually characterizes the relative location of the subscriber and the access point. During this process, a mobile subscriber searches such access point. To determine whether channel is free, the well-known algorithm, which is named clear channel assessment (CCA), is used. Its essence lies in the measurement of the signal power at the antenna and determining the received signal strength (RSSI). If the received signal strength is below a certain threshold, then the channel is declared free, and the MAC layer receives the CTS status. If the power is above the threshold, the data transfer is delayed in accordance with the protocol rules. The standard provides another opportunity to determine the idle channel, which can be used either separately or together with the RSSI measurement—method of checking of the carrier. The most appropriate method to use depends on the level of interference in the work area. Various 802.11 standards use one of the five possible CCA modes:

  • solution that channel is free and is based on the detection of channel power which exceeds a certain threshold value;

  • the decision that the channel is free based on the detection of a carrier signal corresponding to the 802.11 standard;

  • carrier signal detection and discovering of power (combination of modes 1 and 2);

  • carrier signal detection with message that the ether is free, if neither signal is detected during 3.5 ms timeslot;

  • detection of the power corresponding to the increased transmission rate in a physical layer and carrier detection at mode 3, but with reference to the ERP.

802.11 MAC layer is responsible for the way in which the subscriber is connected to the access point. When a subscriber enters into the coverage area of one or more access points, it selects the access point based on signal power values and observed number of errors, selects one of them and connects thereto. Once the subscriber receives confirmation that it is accepted by the access point, it tunes to a radio channel in which it operates. From time to time, it checks all the channels to see if there is another point which provides access services of higher quality. If such an access point is found, then the subscriber connects to it and readjusts to its frequency.

In accordance with this principle, the diagrams of signal levels and levels of channel diagrams of signal levels and levels of channel congestion can be constructed for each access point. These diagrams look like shown in Figure 3.

Figure 3.

Diagrams of signal levels and levels of channel congestion.

Analysis of these diagrams and subject area makes it possible to apply fuzzy logic to make a decision on selecting the best access point to connect. As shown above, a signal power can be characterized through signal/noise ratio, and a congestion level of AP can be described with the help of number of connected subscribers. Then it becomes obvious that proposed model must have two input linguistic variables (S/N ratio and the degree of loading of the access point). As the set of terms of the first linguistic variable “signal/noise” the following set is used:

S/N = {‘weak’, ‘medium’, ‘high’}.E9

As the set of terms of the second linguistic variable “degree of loading” the following set is used:

NUMUSERS = {‘few’, ‘medium’, ‘many’}.E10

As the set of terms of the output linguistic variable the following set is used:

RESULT={‘isacandidateforconnection’,‘isnotacandidateforconnection’}E11

Since the algorithm Mamdami is used for fuzzy inference, the following methods of execution had been chosen for the stages of composition:

  1. To perform a logical conjunction in conditions of the fuzzy rules (And method), the minimum value (min) method was chosen;

  2. To perform a logical disjunction in conditions of the fuzzy rules (Or method), the maximum value (max) method was chosen;

  3. To perform a logical conclusion in the every of fuzzy rules (Implication), the minimum value (min) method was chosen;

  4. For aggregation of membership function values of each input variable in conclusions of fuzzy rules (Aggregation), the maximum (max) method was chosen;

  5. To perform defuzzification of output variables (Defuzzification), the method of center of gravity for a discrete set of values of the membership functions (centroid) was chosen.

In the process of fuzzy inference, it is necessary to select such an access point for which the convolution of the functions of the accessory of the signal/noise ratio and the degree of congestion of the access point give the best result. To implement the fuzzy inference, the creation of the rule base of fuzzy inference system is required. To implement the fuzzy inference, the creation of the rule base of fuzzy inference system is required. Such base of rules for the solution of discussed task looks like:

  • If the S/N ratio is weak and access point is lightly loaded (the number of users M is few), then the access point is not considered as a candidate for connection.

  • If the S/N ratio is weak and access point is moderately loaded (the number of users M is medium), then the access point is not considered as a candidate for connection.

  • If the S/N ratio is weak and access point is heavily loaded (the number of users M is many), then the access point is not considered as a candidate for connection.

  • If the S/N ratio is medium and access point is lightly loaded (the number of users M is few), then the access point is considered as a candidate for connection.

  • If the S/N ratio is medium and access point is moderately loaded (the number of users M is medium), then the access point is not considered as a candidate for connection.

  • If the S/N ratio is medium and access point is heavily loaded (the number of users M is many), then the access point is not considered as a candidate for connection.

  • If the S/N ratio is high and access point is lightly loaded (the number of users M is few), then the access point is considered as a candidate for connection.

  • If the S/N ratio is high and access point is moderately loaded (the number of users M is medium), then the access point is considered as a candidate for connection.

  • If the S/N ratio is high and access point is heavily loaded (the number of users M is many), then the access point is not considered as a candidate for connection.

The following notations are in use here to simplify the formalization of fuzzy productions:

  1. if (S/N is A1) and (Numusers is B1) then (Result is E1) (1);

  2. if (S/N is A1) and (Numusers is B2) then (Result is E1) (1);

  3. if (S/N is A1) and (Numusers is B3) then (Result is E1) (1);

  4. if (S/N is A2) and (Numusers is B1) then (Result is E2) (1);

  5. if (S/N is A2) and (Numusers is B2) then (Result is E1) (1);

  6. if (S/N is A2) and (Numusers is B3) then (Result is E1) (1);

  7. if (S/N is A3) and (Numusers is B1) then (Result is E2) (1);

  8. if (S/N is A3) and (Numusers is B2) then (Result is E2) (1);

  9. if (S/N is A3) and (Numusers is B3) then (Result is E1) (1).

A1 means the S/N ratio is weak, A2 means the S/N ratio is medium, A3 means the S/N ratio is high, B1 means the number of users is few, B2 means the number of users is medium, B3 means the number of users is many, E1 means that the access point is not a candidate for connection, E2 means that the access point is a candidate for connection. Thus, the connection to the access point occurs only when the access point is not overloaded and has an acceptable signal level. The numbers in round brackets mean the weight of rule (0 or 1). The next step in the construction of the model is to determine the membership functions of input and output variables. Kind of membership functions for the signal/noise ratio, the number of subscribers, and the output variable are shown in Figure 4.

Figure 4.

Membership functions for input and output variables.

For analyzing the adequacy of the developed fuzzy model, the surface fuzzy inference can be quite useful. It allows assessing the impact of changes in the values of the input fuzzy variables on the values of the output fuzzy variables. This surface is shown in Figure 5. A comparison of this figure with Figure 1 allows concluding that the nature of the surface of the fuzzy inference coincides in general with the frame transmission time dependent on the signal level and the number of subscribers. This confirms the adequacy of the proposed model.

Figure 5.

The surface fuzzy inference.

3.4. Simulation of the algorithm for determining the best access point

For checking the correctness and efficiency of the proposed algorithm, its styling is first carried out. MATLAB provides the ability to download a model developed with the help of visual aids into the MATLAB—program and perform simulation in program mode. The data structure of a software model is shown in Figure 6.

Figure 6.

The data structure of model.

Each access point is represented by the data structure containing the following data fields:

  • Index of the access point (its number in a vector of access points).

  • The current value of the signal level at that point.

  • The current number of connected subscribers at this point.

  • The current time of the frame transmission for this point.

At initialization of this model, these structures combine into a vector. Thus, the sequential number of structure in the vector imitates the Beacon signal. All other fields of structures are set to zero. Also, the vector of signal levels is forming. This vector simulates a signal power at which every access point radiates, and thereby, the location of subscriber is relative to access points in the moment of its connection. The signal levels are forming according with normal distribution and exponential distribution. This adequately reflects the real situation when connecting subscribers grouped in a small area, for example, when entering a room or in some corner of the room, as it is shown in Figure 7.

Figure 7.

The example of the subscriber’s location indoors.

Simulation process starts with the loading of model into the program. Further, the current values of signal level out of the vector of signal levels are moving into the fields of current values of the signal level in every access point. After this, the values of membership functions are calculated for every access point. Further, the values of membership functions are calculated for every access point and their maximum value is looked for. The access point for which this value is maximal, the value of the field current number of connected subscribers to this point is increased by 1. This simulates the RSSI level correction for the next simulation step. Furthermore, the current time of the frame transmission for this point is calculated according with function (5). This process is repeated for all the elements of the vector of signal levels. Thus, after the completion of simulation process, total loading and the frame transmission time in every point would be determined.

The modeling process is based on a method that was considered in Ref. [26]. In this case the sufficient characteristics are current values of congestion of access point and frame transmission time on every simulation step; the final characteristics are the distributions of load of access points, transmission time, mean value, and dispersion of the transmission time. For the confirmation of efficiency of the proposed algorithm, its result was compared with the result of simulation of classic, which is based on the measuring of maximal signal power. The results of the comparison of the analyzed algorithms are shown in Figure 8. In this picture, “Sample Model” means the model is based on the measuring of maximal signal power. This figure shows that the algorithm that uses fuzzy logic (the right-hand side of Figure 8), taking into account the current load on each access point, ensures a more even loading of the entire LAN as a whole. The frame transmission time for the second algorithm is approximately same for all access points (the dispersion is equal to 0.0799). For the first algorithm, the transmission time fluctuates strongly (the dispersion is equal to 0.3129). Hence, it follows that accounting the degree of congestion of access points increases the efficiency of the wireless LAN.

Figure 8.

The results of the comparison of the analyzed algorithms.

Developed in the framework of this chapter, MATLAB—the program cannot be used directly in some hardware for the following reasons:

  • Developed program is a model.

  • MATLAB—program runs in interpreted mode and cannot be loaded directly into the controller.

However, there are various possibilities to convert MatLab-program into equivalent program on one of the high-level programming languages. In particular, there is the possibility of constructing an equivalent program on high level language such as C# or C++. Such program can be installed on the controller or other device that will automatically determine the best access point to connect to the local network.

4. Conclusions

We have reviewed the advanced solutions for indoor navigation and briefly reviewed the program complex to navigate through radio fingerprints. Navigation software package uses the model ANN. In addition, by using the MATLAB performed rationale for the selection of ANN learning algorithm and determine the recommended number of neurons of the hidden layer for the considered number of Wi-Fi networks.

As a recommendation, to the use of this software system, one should take into account the importance of using the mac-address of an access point instead of its name because it is not unique. Emerged collision may disrupt the entire complex.

The general advantages of this approach include the fact that the software package can run on the existing infrastructure of Wi-Fi networks that are deployed in a variety of areas, such as residential buildings and shopping malls.

The disadvantages are a feature of this approach lie in the fact that before using it you must manually map the radio fingerprint.

Further studies, in our opinion, are advisable to continue in the following areas.

  • The implementation multivariate classifier for converting radio prints multidimensional coordinates (x, y, height).

  • Conducting research on the influence of other learning algorithms ANN (Quickprop, Batch, and Incremental) the speed and accuracy of navigation training.

  • Development of a method for reducing the dimensionality of the input vector radio fingerprint.

  • Improving the quality of navigation when combined with inertial navigation system.

  • The addition of processing signals from Bluetooth LE beacons to signals from Wi-Fi access points.

The task of selection of the access point in WLAN network in the case of high user density is quite topical. Such selection must take into account not only the level of the signal received by the mobile device, but also a width in the dedicated channel bandwidth that depends on the number of connected subscribers to the access point.

  • Uneven loading of access points in a wireless LAN tends to reduce the overall effectiveness of its work. This is manifested in the fact that the frame transmission time for the overloaded access point may increase significantly.

  • Connecting the mobile subscriber to the access point in accordance with the maximum received signal level leads to that some access points may be overloaded.

  • Accounting of degree of current workload of access points when a subscriber connects to them provides better balancing of total workload in the network.

  • To find the best access point for connecting a subscriber with account of its workload is necessary to solve the optimization task.

  • The most effective method for solving this task is to use the apparatus of fuzzy logic.

  • The developed model can be used in controllers or in embedded devices by converting into an executable program on high-level programming language.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Anatoly D. Khomonenko, Sergey E. Adadurov, Alexandr V. Krasnovidow and Pavel A. Novikov (August 30th 2017). Indoor Mobile Positioning Using Neural Networks and Fuzzy Logic Control, Modern Fuzzy Control Systems and Its Applications, S. Ramakrishnan, IntechOpen, DOI: 10.5772/68009. Available from:

Embed this chapter on your site Copy to clipboard

<iframe src="http://www.intechopen.com/embed/modern-fuzzy-control-systems-and-its-applications/indoor-mobile-positioning-using-neural-networks-and-fuzzy-logic-control" />

Embed this code snippet in the HTML of your website to show this chapter

chapter statistics

334total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

A Fuzzy Logic Approach for Separation Assurance and Collision Avoidance for Unmanned Aerial Systems

By Brandon Cook, Tim Arnett and Kelly Cohen

Related Book

First chapter

A Real-Time Speech Enhancement Front-End for Multi-Talker Reverberated Scenarios

By Rudy Rotili, Emanuele Principi, Stefano Squartini and Francesco Piazza

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More about us