A Wavelet Based Neural Network for

advertisement
An Effective Method for GPS GDOP Clustering
using Ant Colony Optimization Algorithm
M. R. Mosavi
Associate Professor, Department of Electrical Engineering
Iran University of Science and Technology, Narmak, Tehran 16846-13114, Iran
Email: M_Mosavi@iust.ac.ir
Abstract: Satellite geometry, which represents the geometry locations of the GPS satellites as
seen by the receiver(s), plays a very important role in the total positioning accuracy. The stronger
the satellite geometry strength is, the higher the positioning accuracy obtained will be. As such,
the overall positioning accuracy of GPS is measured by the combined effect of the unmodeled
measurement errors and the effect of the satellite geometry. This paper presents satellites
geometry clustering for good navigation satellites subset selection. This approach is based on
clustering of the satellites Geometry Dilution of Precision (GDOP) factor using Ant Colony
Optimization (ACO) algorithm which is used newly in solving data-clustering problems and
developed from imitating the technique of real ants finding the shortest way from their nests and
food source. The proposed method use pheromone to evaluate individual colony’s iterative
result. Without matrix inversion required, the ACO-based approach is capable of evaluating all
subsets of satellites and hence reduces the computational burden. Simulation results show this
method is more efficient to converge upon the optimal value in the GPS GDOP clustering.
Keywords: GPS GDOP, Clustering, and Ant colony optimization
1. Introduction
The Global Positioning System (GPS) is a global navigation system set up by the U.S.
Department of Defence. It consists of 24 at least satellites orbiting the earth in 6 planes, five
control stations and user receiver equipment. These satellites transmit signals which are received
by the GPS receiver. By measuring the time of arrival of the signal, the user’s distance (range)
from each of the satellite can be calculated. Using the range to a minimum of 4 satellites, the user
position can be calculated in three dimensions using the following system of non-linear
equations:
pi  ( X  X )2  (Y  Y )2  ( Z  Z ) 2  b  ct
(1)
i
i
i
i
Where pi is pseudorange measurement to i  th satellite, ( X , Y , Z ) is user position (unknown),
( X i , Yi , Zi ) is position of the i  th satellite, b is the clock bias parameter of receiver; t j is
clock bias of satellite, and c is speed of light. Using these equations it is able to provide accurate
three-dimensional position and velocity information to users anywhere in the world [1].
The Geometric Dilution of Precision (GDOP) is a geometrically determined factor that describes
the effect of geometry on the relationship between measurement error and position determination
error. It is used to provide an indication of the quality of the solution. Some of the GPS receivers
may not be able to process all visible satellites due to limited number of channels. Consequently,
it is sometimes necessary to select the satellite subset that offers the optimal or acceptable
solutions. The optimal satellite subset is sometimes obtained by minimizing the GDOP factor.
1
The most straightforward approach for obtaining GDOP is to use matrix inversion to all
combinations and select the minimum one. However, the matrix inversion by computer presents
a computational burden to the navigation computer, especially when the number of satellites is
large [2].
The traditional supervised clustering techniques assume prior knowledge to be available for all
the thematic classes that are present in the considered dataset. On the contrary, unsupervised
clustering does not require predefined knowledge about the data. The main task of clustering
with unsupervised learning is to partition a given data set into groups (clusters) such that the data
points in a cluster are more similar to each other than points in different clusters [3]. We
implement an unsupervised clustering method using Ant Colony Optimization (ACO) algorithm
for GPS GDOP.
ACO algorithm is the simulation of cooperation course of real ant group. Each ant searches the
solution independently in the candidate solution space, meanwhile leaves some information on
the found solution. Ants leave more information on the solution with better performance, which
has more possibility to be selected. All the solutions have the same information on it in the
elementary period of the algorithm. With the progress of the computing, the better solution gets
more and more information. Therefore, the algorithm reaches the optimization or approximately
optimization solution [4]. Compared to other optimization algorithms such as Genetic Algorithm
(GA), ACO has searching capability of both local and global optimal through adjusting
parameters. It gives list of optimal points. ACO can escape from local optimal and obtains global
optimal. What's more, ACO's computing process is faster because it does not have complex
operators as aberrance and intercross [5].
The aim of this paper is solving GPS GDOP clustering problem using a new approach named
ACO. This paper is organized as follows. In section II and section III, ACO and its algorithm are
reviewed, respectively. Section IV presents ACO algorithm developed for GPS GDOP
clustering. The algorithm results using ACO are reported in section V. Finally, conclusions are
given in section VI.
2. Ant Colony Optimization
Ants can find the shortest path to food by laying a pheromone (chemical) trail as they walk.
Other ants follow the pheromone trail to food. Ants that happen to pick the shorter path will
create a strong trail of pheromone faster than the ones choosing a longer path. Since stronger
pheromone attracts ants better, more and more ants choose the shorter path until eventually all
ants have found the shortest path. Consider the case of three possible paths to the food source
with one shorter than the others. Ants choose each path with equal probability. Ants that went
and returned on the shortest path will cause it to have the most pheromone soonest. Consequently
new ants will select that path first and further reinforce the pheromone level on that path.
Eventually all the ants will follow the shortest path to the food. The first ACO algorithms were
designed to solve the traveling salesperson problem, because this problem closely resembles
finding the shortest path to a food source. Initial attempts at an ACO algorithm were not very
satisfying until the ACO algorithm was coupled with a local optimizer. One problem is
premature convergence to a less than optimal solution because too much virtual pheromone was
laid quickly. To avoid this stagnation, pheromone evaporation is implemented. In other words,
the pheromone associated with a solution disappears after a period of time [6].
2
3. ACO Algorithm
The aim of GPS GDOP clustering is to obtain optimal assignment of N satellites in one of the
K clusters where N is the number of satellites and K is the number of clusters. Artificial ants
used in algorithm are named as software ants or agent and number of agents expressed with R .
Ants start with empty solution strings and in the first iteration the elements of the pheromone
matrix are initialized to the same values. With the progress of iterations, the pheromone matrix is
updated depending upon the quality of solutions produced [7].
Each agent used in algorithm is defined with solution strings expressed with S of length N and
at start of the algorithm solution string of each element is empty. Each element of string
corresponds to one of the test samples and its value includes which cluster it will be assigned.
To construct a solution, the agent uses the pheromone trail information to allocate each element
of string S to an appropriate cluster label. At the start of the algorithm, the pheromone matrix 
is initialized to some small value  . Hence, at first iteration each element of solution string S
0
of each agent is assigned randomly to one of the K clusters.
The trail value,  ij at location (i, j ) represents the pheromone concentration of sample i
associated to the cluster j . So, for the problem of separating N samples into K clusters the size
pheromone matrix is N  K . Thus, each sample is associated with K pheromone concentrations.
The pheromone trail matrix evolves as we iterate. At any iteration level, each agent or software
ants will develop solutions showing the probability of each ant belonging to which cluster using
this pheromone matrix.
To generate a solution S , the agent selects cluster number for each element of string S by the
following way [7]:
Using probability q0 , cluster having the maximum pheromone concentration is chosen ( q0
being a priori defined number, 0  q0  1 , for example q0  0.98 ):
(i) First, to generate random numbers in the range [0,1] are r1, r2,, rN .
(ii) Second, if the random numbers are higher than the threshold q0  0.98 :
(1) If 0  ri   i1 , then S (i)  Cluster 1.
(2) If  i1  ri   i1   i2 , then S (i)  Cluster 2 .
…
K 1
  ij  ri  1, then S (i)  Cluster K .
j 1
(iii) Third, if the random numbers are less than q0  0.98 , choose the maximum number of
each test sample.
Each agent selects a cluster number with a probability value for each element of S string to form
its own solution string S . The quality of constructed solution string S is measured in terms of
the value of objective function for a given data-clustering problem. This objective function is
defined as the sum of squared Euclidian distances between each object and the center of
belonging cluster.
A given dataset of N objects {x1, x2 ,, xN } in R n dimensional space to be partitioned into K
clusters. The mathematical formulation of the data-clustering problem can be described as [7]:
(K) If
3
2
K N n
Min F (W , M )     wij xiv  m jv
(2)
j 1i 1v 1
Where xiv is a value of v  th attribute of i  th sample, M is a cluster center matrix of size
K  n , m jv is an average of the v  th attribute values of all samples in the cluster j , W is a
weight matrix of size N  K , wij is an associated weight of object xi with cluster j which can
be assigned as:
1 ; if object i is contained in cluster j
wij  

0 ; otherwise
Where:
K
 wij 1 ; i  1,, N and j  1,, K
j 1
The center of each cluster, m j can be obtained as:
(3)
(4)
N
 wij xiv
i
m jv  1
; j  1,, K and v  1,, n
(5)
N
 wij
i 1
Then, the elements of the population, namely agents are sorted increasingly by the objective
function values. Because, the lower objective function value, the higher fitness to the real
solution, namely, lower objective function values are more approximated to real solution values.
After generating the solutions of R agents, a local search is performed to further improve fitness
of these solutions. The pheromone matrix is then updated depending on the quality of solutions
produced by the agents. Then, the agents build improved solutions depending on the pheromone
matrix and the above steps are repeated for certain number of iterations. The iteration loop is
carried out until no further improvement in equation (2) is being made.
Most of existing ACO algorithms uses some local search procedures to develop the generated
solutions discovered by the software ants. Local search helps to generate better solutions, if the
heuristic information can not be discovered easily. Local search is applied on a few percent R
generated solutions.
A local search procedure is implemented on top L ( L  R ) solutions with highest fitness values
(lowest values of objective function). We altered the cluster number of each sample in the
solution string with certain threshold probability, pls a priori defined number in the range [0,1].
First, to generate random numbers in the range [0,1] are r1, r2,, rN . Second, if the random
numbers are less than the threshold probability pls , these elements have to be assigned to
different number. In the local search procedure, the objective function values of top L agents are
computed again. These solutions can be accepted only if there is an improvement on the fitness,
namely, if the newly computed objective function value is lower than the first computed value,
newly generated solution replaces the old one. The local search algorithm can be written as
follows [7]:
With local search probability threshold pls in [0,1], a neighbor of S k , k  1, 2,, L is generated
as:
4
(i) k  1 .
(ii) Let St be a temporary solution and assign St (i)  Sk (i) (for i  1,, N ).
(iii) For each element i of St , draw a random number r in [0,1]. If r  pls , an integer j in
the rang [1,K], such that Sk (i)  j is randomly selected and let St (i)  j .
(iv) Calculate cluster centers and weights associated with solution string St and find its
objective function value as Ft . If Ft is less than Fk , then Sk  St and Fk  Ft .
(v) k  k 1 . If k  L go to step (ii), else stop.
At the end of any iteration level each agent generates the solution using the information derived
from updated pheromone matrix. After the local search procedure, the pheromone trail matrix is
updated. Such a pheromone updating process reflects the usefulness of dynamic information
provided by software ants. The pheromone matrix used in ACO algorithm is a kind of adaptive
memory that contains information provided by the previously found superior solutions and is
updated at the end of the iteration. The pheromone updating process used in this algorithm
includes best L solutions discovered by R agents at iteration level t . This L agent mimics the
real ants’ pheromone deposition by assigning the values of solutions. The trail information is
updated using the following rule as [7]:
 (t  1)  (1   ) (t )  0.3 ijLocal Best  0.6 ijGlobal Best ; i  1, 2, , N and j  1, 2, , K (6)
ij
ij
Where  is a persistence or trail and lies between [0,1] and (1   ) is the evaporation rate.
Higher value of  suggests that the information gathered in the past iterations is forgotten faster.
An optimal solution is that solution which minimizes the objective function value. If the value of
best solution in memory is updated with the best solution value of the current iteration if it has a
lower objective function value than that of the best solution in memory, otherwise the best
solution in memory kept. This process explains that an iteration of the algorithm is finished.
Algorithm iterates these steps repeatedly until a certain number of iterations and solution having
lowest function value represents the optimal partitioning of objects of a given dataset into several
groups.
Summary of the ACO algorithm for clustering problem is as follows [8]:
(1) Generation of new R solutions by software ants using the modified pheromone trail
information available from previous iteration.
(2) Performing local search operation on the newly generated solutions.
(3) Updating pheromone trail matrix.
The flowchart of ACO algorithm developed for solving data-clustering problem and explained in
detail above is shown in Fig.1.
5
Fig.1: The flow chart of ACO algorithm developed for solving data-clustering problem
4. GPS GDOP Clustering using ACO Algorithm
Good satellite geometry is obtained when the satellites are spread out in the sky. In general, the
more spread out the satellites are the sky, the better the satellite geometry will be, and vice versa.
The satellite geometry effect can be measured by a single dimensionless number called the
Dilution of Precision (DOP). The lower the value of the DOP is, the better the geometric strength
will be, and vice versa. The DOP number is computed based on the relative receiver-satellite
geometry at any instance (i.e., it requires the availability of both the receiver and the satellite
coordinates). Approximate values for the coordinates are sufficient though, which means that the
DOP value can be determined without making any measurements. As a result of the relative
motion of the satellites and the receiver(s), the value of the DOP will change over time. The
changes in the DOP value, however, will generally be slow except in the following two cases: (1)
a satellite is rising or falling as seen by the user’s receiver, and (2) there is an obstruction
between the receiver and the satellite (e.g., when passing under a bridge).
In practice, various DOP forms are used, depending on the user’s need. For example, for the
general GPS positioning purposes, a user may be interested in examining the effect of the
satellite geometry on the quality of the resulting three-dimensional position (latitude, longitude,
6
and height). This could be done by examining the value of the Position DOP (PDOP). In other
words, PDOP represents the contribution of the satellite geometry to the three-dimensional
positioning precision. PDOP can be broken into two components: Horizontal DOP (HDOP) and
Vertical DOP (VDOP). The former represents the satellite geometry effect on the horizontal
component of the positioning accuracy, while the latter represents the satellite geometry effect on
the vertical component of the positioning accuracy. Because a GPS user can track only those
satellites above the horizon, VDOP will always be longer then HDOP. As a result, the GPS
height solution is expected to be less precise than the horizontal solution. The VDOP value could
be improved by supplementing GPS with other sensors, for example, the pseudolites. Other
commonly used DOP forms include the Time DOP (TDOP) and the Geometric DOP (GDOP).
GDOP represents the combined effect of the PDOP and the TDOP. The geometry matrix G is
given by [9]:
 (Cos( E1) * Sin ( Az1))
(Cos( E1) * Cos( Az1)) Sin ( E1) 1

(Cos( E 2) * Sin ( Az 2))
G
 (Cos( E 3) * Sin ( Az3))

(Cos( E 4) * Sin ( Az 4))

(Cos( E 2) * Cos( Az 2))
Sin ( E 2) 1
(Cos( E 3) * Cos( Az3))
Sin ( E 3) 1


(7)
(Cos( E 4) * Cos( Az 4)) Sin ( E 4) 1
Where E and Az are elevation and azimuth of satellite, respectively. The GDOP factor is
obtained as:
trace[adj (GT G)]
(8)
GDOP  trace(GT G)  1 
det(GT G)
The GDOP factor determines the magnification factor of the measurement noise that is translated
into the derived solution. The concept of GDOP is a powerful tool for GPS. All receivers use
some algorithm based on GDOP to select the best set of satellites to track among the group of up
to 11 satellites in view. Positioning accuracy can then be estimated as the ranging accuracy
multiplied by a dilution factor. This dilution factor (DOP) depends solely on geometry.
Typically, variations in geometry are far greater than variations in ranging accuracy for the
nominal satellite constellation. The GDOP concept also quantizes the effect when the nominal
satellites are not in view. The GDOP calculation for those satellites still being tracked will give
the multiplier on ranging accuracies to yield positioning accuracies [9]. Fig.2 shows ‘Good DOP’
and ‘Poor DOP’.
Fig.2: The geometry of the visible GPS constellation
7
Since GT G is a 4  4 matrix, it has four eigenvalues,  (i  1, 2, 3, 4) . It is known that the four
i
eigenvalues of (G T G )  1 will be  1 . Based on the fact that the trace of a matrix is equal to the
i
sum of its eigenvalues, equation (8) can be represented as [2]:
GDOP   1   1   1   1
(9)
1
2
3
4
The mapping is performed by defining the four variables:
f ( )          trace (GT G)
(10)
1
1
2
3
4
f ( )  2  2  2  2  trace[(GT G) 2 ]
(11)
2
1
2
3
4
f ( )  3  3  3  3  trace[(GT G) 3 ]
(12)
3
1
2
3
4
f ( )       det (GT G)
(13)
4
1 2 3 4
The GDOP can be viewed as a functional R4  R1 mapping from f directly to GDOP , i.e.,
GDOP  fn( f ) :
Inputs: ( x , x , x , x )T  ( f , f , f , f )T
1 2 3 4
1 2 3 4
Output: y  GDOP
The mapping from f to GDOP is highly non-linear and cannot be determined analytically, but
can be precisely clustered using the ACO algorithm. Fig.3 shows the block diagram of GPS
GDOP clustering using ACO algorithm.
Fig.3: The block diagram of GPS GDOP clustering using ACO algorithm
5. Simulations and Results
A DOP value of less than 2 is considered excellent-about as good as it gets, but it doesn’t happen
often, usually requiring a clear view of the sky all the way to the horizon. DOP values of 2 to 3
are considered very good. DOP values of 4 or below are frequently specified when equipment
accuracy capabilities are given. DOP values of 4 to 5 are considered fairly good and would
normally be acceptable for all but the highest levels of survey precision requirements. A DOP
value of 6 would be acceptable only in low precision conditions, such as in coarse positioning
and navigation. Position data generally should not be recorded when the DOP value exceeds 6.
8
The selection of the threshold dose not closely relate to the clustering algorithm parameters and
performance.
The GDOP classifier can be employed for selecting one of the acceptable subsets (e.g., one with
GDOP factor sufficiently small) of satellites for navigation use. In the present study, the ACO
classifier has three types of output based on the GDOP factors (the small, medium, and large
GDOP). Similarly, clustering into more groups is feasible based on the same philosophy.
With the aim of generating the optimal solutions of the presented ACO algorithm developed for
solving GPS GDOP clustering problem, an application program was written with “Microsoft
Visual C#.Net”. Number of clusters, agents, local search agents, iterations and initial pheromone
values, evaporation rate of pheromone and some values needed for the algorithm are listed in
Table 1.
Table 1: The parameters of ACO
Parameters
Value
3
K
10
R
2
L
1000
T
0.01

0

0.01
0.98
q
0
0.01
p
ls
The choice of the algorithm parameters is very important. In this paper, the proposed algorithm
parameters selection was based on the experimental results. It is seen that if a sufficiently large
number of iterations is applied, very good clustering can be achieved. The simulations results
show that correct clustering percentage of proposed method is more than %96.
The reference [2] classified GPS GDOP using four type neural networks. The proposed method
in our paper using ACO has better accuracy than the proposed models in reference [2], since
error of classification using ACO model is lower than other models.
6. Conclusions
In order to improve the performance of a GPS receiver, it is important to minimize GDOP. It is
also an important consideration to design a GPS receiver so that it can always receive signals
from four or more GPS satellites. Recent developments in the heuristic optimization techniques
are concentrated on natural and biological systems. The ACO is one of the most popular
optimization techniques in the area of swarm intelligence. The real power of ants resides in their
colony brain and pheromone-driven communication with in the colony. In this paper, a method
based on ACO algorithm was proposed for GPS GDOP clustering. Without matrix inversion
required, the ACO-based approach was capable of evaluating all subsets of satellites and hence
reduced the computational burden. Simulation results on the developed program demonstrated
that the proposed method was preferable and effectiveness, so that correct clustering percentage
of proposed method is more than %96.
9
Acknowledgment
This research was supported by Iran University of Science and Technology grants.
References:
[1] K. D. McDonald, “The Modernization of GPS: Plans, New Capabilities, and the Future
Relationship to Galileo”, Journal of Global Positioning System, Vol.1, No.1, pp.1-17, 2002.
[2] D. J. Jwo and C. C. Lai, “Neural Network-based GPS GDOP Approximation and
Classification”, Journal of GPS Solutions, Vol.11, No.1, pp.51-60, 2007.
[3] R. Xu and D. Wunsch, “Survey of Clustering Algorithms”, IEEE Transactions on Neural
Networks, Vol.16, No.3, pp.645-678, 2005.
[4] X. Zhang, H. Peng, and Q. Zheng, “A Novel Ant Colony Optimization Algorithm for
Clustering”, IEEE Conference on Signal Processing (ICSP 2006), 2006.
[5] W. Huang, J. Gou, and H. Wu, “An ACO-based Approach to Improve C-means Clustering
Algorithm”, IEEE Conference on Computational Intelligence for Modelling Control and
Automation, 2006.
[6] M. Dorigo and L. M. Gambardella, “Ant Colony System: A Cooperative Learning Approach
to the Traveling Salesman Problem”, IEEE Transactions on Evolutionary Computation,
Vol.1, No.1, pp.53-66, 1997.
[7] N. Kekec, N. Yumusak, and N. Celebi, “Data Mining and Clustering with Ant Colony
Optimization”, 5th Symposium on Intelligent Manufacturing Systems, pp.1178-1190, 2006.
[8] M. Dorigo and C. Blum, “Ant Colony Optimization Theory: A Survey”, Journal of
Theoretical Computer Sciences, Vol.344, pp.243-278, 2005.
[9] B. W. Parkinson and J. J. Spilker, “Global Positioning System: Theory and Applications”,
The American Institute of Aeronautics and Astronautics, 1996.
[10] R. Yarlagadda, I. Ali, N. Al-Dhahir, and J. Hershey, “GPS GDOP Metric”, IEE Proc.Radar, Sonar Navig., Vol.147, No.5, pp.259-264, 2000.
10
Download