An Application of Kalman Filtering and Artificial Neural Network with K-NN Position Detection Technique

RFID technology is one of the important technologies to determine the object locations. Distances are calculated with respect to calibration curves of RSSI amplitudes. The aim of this study is to determine the 2D position of mobile objects in the indoor environment. The importance of the work is to show that localization by using Artificial Neural Network plus Kalman Filtering is more accurate than using classical KNN method. An indoor wireless sensing network is established with strategically stationed RFID transmitter nodes and a mobile object with a RFID receiver node. A fingerprint map is generated and K-Nearest Neighbourhood algorithm (KNN) is deployed to calculate the object locations. Fingerprint coordinates and RSS values received at these coordinates are deployed to set up an Artificial Neural Network (ANN). This network is used to determine the unknown object locations by using RSS values received at these locations. The accuracy of object localization is found to be better with ANN technique than KNN technique. Object coordinates, determined with ANN technique, are subjected to Kalman filtering. The results show that localization accuracies are improved and localization error distances are reduced by 46% with the deployment of ANN + Kalman Filtering.


Introduction
In recent years, researchers have used RFID technology in location detection.This technology consists of wireless sensor nodes (WSN).Object locations are determined by employing EM signal strengths to/from WSNs in both indoors and outdoors.RFID systems have a rich data capacity, non-contact features, repetitive ability and durability.There are many active RFID systems discussed in the literature [1] [2] to determine the object locations.Two major methods are generally deployed in localization.One uses the mathematical modelling of the wireless channel [3].The other one uses the fingerprinting method [4].
In the first one, various EM signal parameters are measured such as angle of arrival (AOA), time of arrival (TOA) and time difference of arrival (TDOA).A propagation channel is generated based on these parameters and the object position is determined [5] [6].
In the second one, signal characteristics are different at different locations across the region of interest.Hence a different signal signature or fingerprint is generated at each location [7].This recorded fingerprint is stored in a fingerprint database.Elements of the database are compared with the object fingerprint by using pattern matching algorithms to provide an estimate of object location.
These two approaches have several problems such as multipath propagation, fading and variations in signal profile over time [8].These approaches generate errors in object's location.In this study, Kalman filtering [9] [10] is employed to reduce the initial RSS variations which are introduced due to environmental effects.A more stable and less object coordinate variation will be obtained with Kalman Filtering and the positioning errors will be reduced to give more accurate localization.
Initially, object positions are determined by using KNN algorithm with measured RSS values.In second stage, ANN technique is deployed to calculate object coordinates [11] [12].ANN will be trained with received RSS values at known fingerprint locations.Unknown object locations will be determined by using

Fingerprint System
Fingerprint localization technique is proposed in this study.Object location is estimated by employing KNN algorithm in a WLAN indoor environment.There are 2 phases in the technique.The first phase is the data collection and mea-Wireless Sensor Network surement offline phase while the second phase is the location estimation online phase [13].A block diagram of the localization system is presented in Figure 1.
Data collection offline phase is conducted in a rectangular shape indoor area with dimensions 12 m × 20 m.WSN transmitters [14], at the corners of the area are taken as the application points, (AP).A WSN receiver collects RSS values from transmitters at every grid points and sends them to a PC to be stored in a database of RSS values against grid positions.This data base is identified as fingerprint map of the indoor area.
In the online phase, real time sample of RSS measurements are collected from a WSN receiver on the object at unknown locations across the fingerprint map.
Sample RSS values are compared to those stored in the database.The theory of minimization of Euclidean distances [15], is deployed in this comparison.
Euclidean distance, d, is the signal amplitude distance between RSS values at a fingerprint point and RSS values at unknown object location.Nearest grid locations from the fingerprint database to the actual object RSS measurements can be detected by minimizing the Euclidean distance d, Equation ( 1), between them.
( ) where j is the number of APs and RSS is the RSS value from j th AP at i th grid location.
RSS is the object RSS measurement from j th AP at o th unknown object location.
 , where N is the maximum number of grid points.
Hence the unknown object, "o", location coordinates can be calculated by deploying weighted centroid localization algorithm expressed by Equation ( 2). ( where ( ) is the coordinates of k th number of nearest fingerprint points.
Similarly k d is the k th number of minimum Euclidean distance.

Kalman Filtering
Kalman Filtering (KF) is applied to reduce the localization errors [16].The object moves with a constant velocity across the test area.Kalman filter iteratively estimates the position of the object by using its previous position data and updates these estimates with new measurements.Mathematically, Kalman filter estimates the states of a linear system and it minimizes the variance of estimated error.
Let the initial state of a system be X 0 and initial error in estimation during process be P 0 .State equation of the system can be defined as where X k is the state matrix and contains position and velocity coordinates ( ) x y and ( ) ω is noise and it is assumed zero.u is control matrix.A and B are unity matrices, k is the time index.Process covariance matrix is defined as where Q k is the process noise.
The system behaves according to the state equation and there is a need for an estimator which gives an accurate estimate of the true state even if it cannot be measured directly.Mathematically, there is a need for a state estimate that varies from the true state as little as possible.Difference between true state and estimated state is defined by a quantity called Kalman Gain.This Kalman gain (K) is given as where R is sensor noise and H is unity matrices.Updated state with new measurement input Y k and Kalman gain can be defined as: where with C is unity matrix and Z is measurement noise.Error estimate during process becomes ( ) Finally output of updated state becomes X k and P k.An operational model of Kalman filtering is given in Figure 2.

State Equation
In this study, localization model of Kalman filter is obtained from the linear motion of a person walking with a constant velocity.Object position in the model is ( ) x y and velocity is ( ) , x y .Matrices in state Equation (1) can be defined as Therefore, the state equation X k becomes; The Kalman gain can be calculated by Equation ( 5) where H is unity matrix and R is observation error matrix.They are shown as Figure 2.
Where T ∆ is the sampling time step.a x and a y are the acceleration along x and y axis and equal to zero.
The error estimate during the process which is also termed as state process covariance matrix is defined in Equation (9).
where x σ and y σ are the process variations.
where z m is the electronic noise and assumed zero.
New adjusted state, in another word, new predicted state X k will be calculated with Equation (6).Process covariance matrix is updated with Equation ( 7) by using unity matrices I and H with Kalman gain.The new predicted state X k and new updated covariance matrix P k represent previous k-1 state in second round and the whole iteration is repeated once again.
The outputs are the updated state values which are presented in Figure 2.

Artificial Neural Networks
The second method introduced in this study to determine the mobile object's location is the Artificial Neural Network approach [17].
The approach is a nonlinear mapping from a set of input RSS values onto a set of two output variables representing the mobile object position coordinates (x, y).ANN based structure is constructed by using Multi-Layer Perception (MLP).
This network deploys the back propagation training of estimated errors.Errors propagate backwards from the output nodes to the inner nodes.Back propagation method is a supervised learning method and its model is given in Figure 3. Figure 3. Back-propagation model.
Feed forward architecture is employed with ANN.Network model with the back propagation method has the following characteristics in Table 1.

Results and Discussions
This   Location mean error, mean value of distance between the actual and estimated location, with KNN method is 0.98 m and with ANN method is 0.84 m.Similarly location median error, median value of distances between the actual and estimated locations, with KNN method is 0.91 m while with ANN method is 0.78 m.
Finally, standard deviation of error distances (SDE) with KNN is 0.32 m while with ANN is 0.23 m.These are presented as a bar chart in Figure 5.In conclusion; dynamic localization along a trajectory path with ANN method is more accurate than with KNN method.
Because the results show that unknown coordinates of the mobile person are calculated closer to actual coordinates with ANN method compare to KNN method.Furthermore estimated position variations are reduced with ANN method.
To increase the localization accuracy of the mobile person Kalman filtering is applied on the ( ) Location mean error with ANN + KF is 0.53 m, median error is 0.51 m and standard mean error is 0.12 m.These errors are also presented in Figure 5.It can be seen that error distances are reduced further and the estimated object coordinates approach towards the true positions.It can be concluded that the ANN method decreases the localization error distance by 14% while ANN + KF method decreases the localization error distance by 46%.

Conclusions
In In future studies, localization of moving persons in indoors will be researched by applying other artificial neural network techniques such as General Regres- their measured RSS values and trained multilayer perceptron neural network model (MLP).MLP utilizes a supervised learning technique called back propagation for training the neural network.In third stage, Kalman Filtering is employed to filter out the calculated object coordinate variations due to initial RSS fluctuations.Comparisons are carried out between object coordinates calculated with KNN, ANN and Kalman filtered ANN.The paper is organized as follows.In Section 2, a description of Fingerprint localization system is presented.Sections 3 and 4 give a comprehensive view about Kalman filtering.Implementation of Neural Network technique is discussed in Section 5. Results and discussions are presented in Sections 6 and conclusions are given in Section 7.

Figure 1 .
Figure 1.Block diagram of localization system.

σ
are the velocity variations of the process which are considered as zero.Measurement input is defined as: system with new measurements.The model characterizing the measurement input equation is given by ANN approach has two operational phases separately.They are training (learning) phase and real time estimation phase.In this study, there is a set of 4 RSS inputs applied to the input of the ANN during the training phase.In this phase, weights are iteratively adjusted to minimize the network performance function.During the real time estimation phase, RSS measurement at a specific object location is applied to the inputs of ANN.The outputs of the ANN are the estimated values of object location coordinates.
study is undertaken to compare the effects of Artificial Neural Network and Kalman Filtering with k-NN localization.Unknown object locations are determined with KNN and ANN techniques and an initial comparison is made between them.ANN technique has shown a higher positioning accuracy compared to KNN technique.Hence, the object coordinates which are calculated with ANN technique are subjected to a further stage of Kalman filtering to improve the positioning accuracy.Experimental test area has 240 fingerprint points with a spatial separation of 1 m. 4 WSN transmitters are placed at the 4 corners of the test area.A mobile person with a WSN receiver has moved along a trajectory track along the edges of the test area during the measurements.This trajectory track is formed by 57 locations with 1 m distance between two adjacent locations.Position of the mobile person is calculated at each location and recorded as the unknown object location.During the offline phase, a fingerprint database is constructed.This database consists of ( ) , x y grid coordinates against RSS values from 4 transmitters.During the online phase, RSS measurements at trajectory points are recorded.KNN algorithm is deployed and k number of nearest Euclidean distances and their corresponding fingerprint points are selected.Location of the person is estimated by employing the weighted centroid localization technique.As a result, a series of estimated location coordinates are obtained along the edges of the test area.These coordinates are displayed graphically in Figure 4. Location of the mobile person is also determined by deploying Artificial Neural Network.Fingerprint database, generated during offline phase, is used as the input and output training data for the MLP network structure.Sigmoid activation function is used between input and output layers.Inputs are the RSS values received from transmitters at every fingerprint point.( ) , x y coordinates of the fingerprint points are the related output ( ) , x y coordinates for the ANN.The network is trained with these known RSS values and their known ( ) , x y coordinates.Number of training iterations is taken as 3000.

Figure 4 .
Figure 4. Plots of mobile person's walking trajectory with KNN, ANN and ANN + KF methods.

,σ
x y position coordinates of the mobile person calculated with ANN method in time domain.The sampling time is set to T ∆ = 1 s.Process variations x σ and y σ are considered as (2.5) 2 and the velocity variations of the process, , are equal to zero due to the mobile person's constant walking speed.
this study, a dynamic localization technique is introduced along a trajectory in a closed indoor area.A mobile person has walked along a trajectory and RSS values were recorded.A fingerprint map and its database are constructed and unknown locations on the trajectory are estimated with well-known KNN method.ANN algorithm is also deployed along the trajectory and unknown locations are once more estimated.Kalman filtering is applied on the results of ANN algorithm and the accuracies of the mobile person's positions are improved.It can be concluded that Fingerprint mapping based on ANN algorithm combined with Kalman filtering produces excellent localization accuracies of around half a grid space indoors.