Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
ii
ABSTRACT
This research project focuses on localization in Wireless Sensor Networks (WSN).
State-of-the-art localization research and approaches have been thoroughly reviewed to
illustrate the challenges imposed by inaccurate distance measurements and noisy
backgrounds. Location awareness and distance estimation cannot be underestimated in
WSN especially for indoor applications. Compared to existing localization approaches,
the SemiDefinite Programming (SDP) approach delivers accurate distance measurements
even in hostile backgrounds. In this project, three different SDP models, namely Full
SemiDefinite Programming (FSDP), Edge-based SemiDefinite Programming (ESDP),
and ESDP with Noise Factor are investigated and their performances have been evaluated
by computer simulations using different metrics including radio range, anchor number,
noise factor, and global error rate. In addition and based on SDP, three novel localization
schemes, namely Flexible-Anchor, Flexible-Radio-Range, and Magnified-Range, are
proposed. The new schemes allow indoor systems to survive even in hostile
environments. The Flexible-Anchor scheme addresses the case when an anchor
malfunctions due to an external force, which is typical for extreme environments.
Flexible-Anchor ensures the existence of alternate nodes that can guarantee an
undisrupted operation in the event of such node failure. The Flexible-Radio-Range
scheme is designed for the situation when some transmitter nodes fail to cover an
intended area. In that case, connectivity of the system may be reduced dramatically. This
can lead to poor accuracy of position estimation or even disable the whole system. Using
Flexible-Radio-Range, the connectivity of the system is maintained by controlling nodes’
iii
transmission range. Compared to the other two schemes, Magnified-Range is mainly for
normal situations. It is based on the fact that anchors are special nodes that suffer less
from energy constraints. Therefore, it is possible to magnify their radio range without
impacting the energy consumption of the network. Magnified-Range differentiates
between the radio range of anchors and regular sensor nodes. Undoubtedly, Magnified-
Range still works well under extreme situations. Performance evaluation and simulation
results have shown that the three schemes offer robust localization even in a hostile
situation. In fact, the proposed schemes improve localization accuracy by at least 20%.
Future research will focus on three main challenges, namely 3-D simulations, hybrid
localization systems, and real-life demonstrations.
iv
TABLE OF CONTENTS
ABSTRACT........................................................................................................................ ii
TABLE OF CONTENTS................................................................................................... iv
LIST OF FIGURES ........................................................................................................... vi
LIST OF TABLES............................................................................................................ vii
1. BACKGROUND AND RATIONALE.......................................................................... 1
1.1 Localization Schemes .................................................................................... 1
1.2 State-of-the-Art Indoor Localization Systems ............................................... 4
1.3 Advantages of WSN in Indoor Localization Systems ................................... 5
1.4 Applications of Indoor Localization Systems................................................ 6
2. NARRATIVE ................................................................................................................ 8
2.1 Sensor Localization Models........................................................................... 8
2.2 Principle of SDP .......................................................................................... 11
2.3 Advantages of SDP...................................................................................... 11
3. RESEARCH METHODOLOGY AND CONTRIBUTION........................................ 13
4. SIMULATION AND ANALYSIS .............................................................................. 17
4.1 Simulation Platform..................................................................................... 17
4.2 Error Estimations ......................................................................................... 18
4.3 Simulation Results and Analysis ................................................................. 19
4.3.1 FSDP Simulator Design and Performance Evaluation ................ 19
4.3.2 ESDP Simulator Design and Performance Evaluation ................ 25
4.3.3 FSDP vs. ESDP............................................................................ 28
5. PROPOSED LOCALIZATION SCHEMES ............................................................... 31
v
5.1 Flexible-Anchor Scheme ............................................................................. 32
5.2 Flexible-Radio-Range Scheme .................................................................... 35
5.3 Magnified-Range Scheme............................................................................ 37
6. FUTURE WORK......................................................................................................... 39
7. CONCLUSION............................................................................................................ 41
BIBLIOGRAPHY AND REFERENCES......................................................................... 43
APPENDIX A – FSDP SIMULATOR SOURCE CODE ................................................ 45
APPENDIX B – ESDP SIMULATOR SOURCE CODE ................................................ 49
vi
LIST OF FIGURES
Figure 3.1 Project Methodology ....................................................................................... 14
Figure 4.1 FSDP Simulation 1 .......................................................................................... 20
Figure 4.2 FSDP Simulation 2 .......................................................................................... 21
Figure 4.3 FSDP Simulation 3 .......................................................................................... 21
Figure 4.4 FSDP Simulation 4 .......................................................................................... 23
Figure 4.5 FSDP Simulation 5 .......................................................................................... 23
Figure 4.6 FSDP Simulation 6 .......................................................................................... 24
Figure 4.7 Relationship among Radio Range, Number of Anchor and RMSD................ 25
Figure 4.8 ESDP Simulation 1.......................................................................................... 26
Figure 4.9 ESDP Simulation 2.......................................................................................... 26
Figure 4.10 Relationship Among Noise Factor, Radio Range and RMSD ...................... 27
Figure 4.11 Border Pattern................................................................................................ 28
Figure 4.12 ESDP vs. FSDP ............................................................................................. 29
Figure 5.1 Flexible-Anchor Scheme................................................................................. 33
Figure 5.2 Flexible-Anchor Scheme Simulation 1 ........................................................... 34
Figure 5.3 Flexible-Anchor Scheme Simulation 2 ........................................................... 35
Figure 5.4 Flexible-Radio-Range Scheme........................................................................ 36
Figure 5.5 Flexible-Radio-Range Scheme Simulation 1 .................................................. 37
Figure 5.6 Flexible-Radio-Range Scheme Simulation 2 .................................................. 37
Figure 5.7 Magnified-Range Scheme Simulation............................................................. 38
vii
LIST OF TABLES
Table 4.1. Time Consumption Comparisons .................................................................... 29
1
1. BACKGROUND AND RATIONALE
For the past few years, localization has become an indispensable factor of
wireless sensor networks especially in tracking systems and environment monitoring. A
typical sensor network consists of a large number of sensors, which are densely deployed
in a given geographical area. Sensor nodes collect local environmental information and
physical phenomena and collaboratively form a communication network. For many
wireless sensor networks (WSN) applications, such as habitat monitoring, it is necessary
to describe where the critical events occur. To obtain the location of sensor nodes, one
can equip lightweight GPS receivers on all sensors but this significantly increases
network cost. A possible solution is to allow a few sensors to carry GPS and design
algorithm to estimate the position of other sensors using range and bearing information
between neighbor nodes [Savvides 2001] [Niculescu 2001] [Shang 2003]. However, this
option will not work in indoor environments since GPS receivers cannot reliably operate
in such conditions. Moreover, GPS is a costly solution for WSN localization systems.
Therefore, this raises the need for a GPS-free localization system that can efficiently
satisfy the indoor requirements. For better understanding of GPS-free localization,
general localization schemes for a WSN are discussed in the following section.
1.1 Localization Schemes
Localization schemes can be classified into two categories: range-based schemes
and range-free schemes. Range-based schemes use range measurements to calculate
position information. Time of Arrival (TOA) is used widely as a method of distance
2
estimation using propagation time of different kinds of signals. “GPS is a most basic
localization system of TOA” [Wellenhoff 1997]. The disadvantage of GPS is that it is
costly and may not be suitable for some applications. To use a GPS system, the GPS
receivers require the installation of expensive and energy-demanding hardware to
rigorously synchronize with at least four satellites. Nonetheless, GPS systems do not
work in certain settings, such as indoor and underwater environments. This is due to the
fact that satellite signals not being able to go through buildings and seawater.
Another widely used range-based scheme is Time Difference of Arrival (TDOA).
“TDOA measures range information using time difference between two kinds of signals,
such as Radio Frequency (RF) and ultrasound” [Bahl 2000]. “Cricket” [Cricket 2009] is
one of the existing commercial TDOA localization systems. Compared to TOA, TDOA
does not need to precisely synchronize all equipment clocks. However, like TOA, it still
needs expensive and power consuming hardware to emit two different kinds of signals.
Hence, it is less fitting for low-power sensor network application. In addition, the average
propagation distance of ultrasound, which is around 15-25 feet, is too short to satisfy
large-scale application. This brings many limitations to deploy a real TDOA-based
application.
To complement TDOA and TOA schemes, “Angle of Arrival (AOA)” [Niculescu
2003] has been developed to provide the two schemes with more accurate range
information. The idea of AOA is to allow the sensor nodes to estimate the angles between
neighbors for calculating the position result. However, like TOA and TDOA, AOA still
requires costly hardware to estimate the angles.
It is clear that the majority of range-based schemes rely on accurate range
3
measurements. These measurements are easily affected by background noise. Therefore,
how to conquer the impacts caused by noise is currently a hot area in WSN localization
research.
Compared to range-based, the range-free schemes are more suitable for cost-
effective situations. “Range-free estimates the location of sensor nodes either by
exploiting the radio connectivity information among neighboring nodes, or by exploiting
the sensing capabilities that each sensor node possesses” [Stoleru 2007]. In [Bulusu
2000], a centroid algorithm was used in this work. Based on the number of received
beacons broadcasted by anchors, a centroid model was established to calculate the
positions of target sensor nodes.
Another outstanding solution of range-free is “DV-HOP” [Niculescu 2003]. This
work uses hop-count, the average distance per hop at each node, to compute the
approximate position for the sensor nodes. Based on DV-HOP, the Amorphous
Positioning algorithm [Nagpla 1999] has been proposed, which uses offline hop-distance
estimations and neighbor information exchange to improve the accuracy of the position
results.
Compared to the range-based scheme, the cost of equipment is cheaper and the
physical factors have less impact on these algorithms. However, the crude result may not
be the desired position information. Therefore, if those systems use range-free
localization schemes, they may not generate accurate location results. Such schemes will
only fit applications that do not require precise accuracy.
4
1.2 State-of-the-Art Indoor Localization Systems
Recently, many companies and academic research institutes have focused on
developing a robust real-time indoor localization system. Many existing systems and
approaches have shown good potential to resolve the problem of calculating the position
of sensor nodes. Ekahau Real Time Location Systems (RTLS) [Ekahau RTLS 2009] is
one example of commercial indoor localization systems. It is a fully automated system
that continually monitors the location of assets or personnel on a campus area. It does this
in real-time delivering information to authorized users via the corporate network through
application software using application programming interfaces. EIRISTM Local
Positioning System [ELPAS 2001] is another commercial example, which is used widely
in hospital and office buildings. To use this system, employees and portable equipment
were issued personalized tags, which transmit IRFID signals (Infra Red and Radio
Frequency Identification). These signals are processed and transmitted over the network
to an NT server, then, the client software displays online information of participants’
location.
Another type of localization systems uses the combination of RF and ultrasound
technologies to establish differential time of arrival to calculate the distances between
pairs of sensor nodes, such as “Cricket” [Cricket 2009]. Other types use specialized
hardware such as infrared cameras or ultrasound transmitters to help calculate positions.
“Active Badge” [Want 1992] and “Active Bat” [Ward 1997] belong to this category.
“Easyliving” [Krumm 2000] is a good example of multiple infrared cameras used to
detect location.
5
“Radio signal strength was used widely to detect location, such as Localization by
Wireless Ethernet” [Ladd 2002]. This method belongs to a range-free location scheme.
Therefore, this type of localization has unconquerable limitations in certain situations as
discussed in the aforementioned.
1.3 Advantages of WSN in Indoor Localization Systems
A number of RF-based systems have been proposed based on IEEE 802.11[Bahl
2000] and other wireless technologies. However, nowadays, most RF-based existing
approaches use a powerful infrastructure. In situations such as fire, earthquake, or other
disasters, power, networking, and other services may be disabled. Even if power is
guaranteed by emergency equipment, it is impractical to use current approaches when
some important RF equipment fail.
Wireless sensor networks can offer significant advantages for indoor localization
system design. First, by using RF to communicate with other nodes and using a battery as
its power source, it is very convenient to deploy the sensor nodes indoor to cover any
type of shape or space. Moreover, power issues at a disaster time should not be a problem
to this system. Second, WSN devices not only provide position data, but also report other
relevant data, such as temperature, light as well as sound of the indoor environment.
Third, sensor nodes can be protected by special cases, which will make them work in
some extreme environments, such as in the situation of fire accidents or water leaking. In
addition, if the sensor nodes are well deployed according to a proper localization
approach, the system may not depend on the information provided by certain sensor
6
nodes. This should allow WSNs to make the real application work in extreme situations
possible. However, designing a proper localization approach is greatly challenging.
1.4 Applications of Indoor Localization Systems
There are a wide variety of applications that benefit from localization systems.
For example, indoor localization can be used as a navigation system for blind people. In
fact, in every university, there are some blind students. For those students, it might be
hard to navigate or find a certain classroom in a building. Using an indoor localization
system, the students can get their position and routing information using audio receivers.
Undoubtedly, it also can serve blind people in other situations.
Also, it can be used as a navigation system for firefighters. When buildings catch
fire, the inside of the buildings might be dark and smoky. Therefore, it is vitally
important to provide an efficient way to help firefighters to find certain rooms to save
people or some treasures. We can use this indoor location system to help them reach this
aim. Since all sensors are protected by special cases and use batteries for power, those
sensors may still work in fire or other dangerous situations. Moreover, when firefighters
are inside of the building, it is very important to know their positions and whether they
are safe or not. Since, sensors can detect temperature, light and other factors, we maybe
able to better understand the situation of firefighters. We can also provide them a safer
route through the fire.
The system can be used to provide indoor routing information for robot or
unmanned vehicles. In addition, we can also equip these systems to work as mobile
7
sensor nodes providing other environmental information. In conclusion, from a practical
view, indoor localization systems provide many benefits for a range of domains.
8
2. NARRATIVE
As mentioned earlier, due to physical limitations and noisy backgrounds, most
range-based schemes do not offer an acceptable level of quality. To conquer those
limitations, our proposed indoor localization system uses SemiDefinite Programming
(SDP) as its localization core. The SemiDefinite Programming approach has proved to
provide quality estimations even in extremely noisy backgrounds. In addition, it does not
depend on special sensor nodes to generate the position results.
2.1 Sensor Localization Models
It will be helpful to first introduce some math notations. The trace of a given
matrix A, denoted by Trace (A), is the sum of the entries on the main diagonal of A. We
use I, e and 0 to denote the identity matrix, the vector of all ones and the vector of all
zeros, whose dimensions will be clear in the context. The inner product of two vectors p
and q is denoted by . The 2-norm of a vector x, denoted by , is defined
by . A positive SemiDefinite matrix X is represented by .
In [Biswas 2006], the mathematical model of the sensor localization problem is
described as follow. “There are n distinct sensor points in Rd whose localizations are to
be determined, and other m fixed points (called anchor points) whose localizations are
known as a1, a2,…, am. The Euclidean distance between the ith and jth sensor points is
known if (i, j) ∈ Nx, and the distance between the ith sensor and kth anchor point is
known if (i, k) ∈ Na. Usually,
9
and , where rd is a fixed parameter called radio range. The
network localization problem is to find vector for all i = 1, 2,…, n such that
(2.1) [Biswas 2006]
Unfortunately, this problem is, in general, hard to solve even for d = 1. In 2004, the
relaxation model of this math model was represented by a standard Full SemiDefinite
Programming (FSDP) model, which is shown in formula Eq. (2.2). (For simplicity, they
restrict d = 2 in the following description.)
(SDP) minimize subject to (2.2) [Biswas 2006]
Here is the 2-dimensional identity matrix, 0 is a vector matrix of all zeros, and is the
vector of all zeros except a 1 at the i-th position. If a solution to Eq. (2.2)
is of rank 2, or equivalently, , then is a solution to the
sensor network localization problem. Here, Z is a (n + 2) symmetric matrix.
But this model does not deal with the noise factor; it just gets the feasible
solutions for the sensor localization problem. In 2005, a noise factor based SDP model
Eq. (2.3) had been developed by Dr. Ye’s research group.
10
(2.3) [Biswas 2006]
Using this model, even with its worst case scenario of inaccurate results affected by noise
factor, this mathematical model still generates relatively accurate distance estimations
even in a noisy background.
However, the FSDP model requires very long time to resolve large-scale position
problems. For example, it takes more than 6 minutes to resolve a 400 sensor node
problem. In this case, tracking applications and real-time systems are impossible to use
this approach. Therefore, in 2006, Edge-based SemiDefinite Programming (ESDP) model
Eq. (2.4) has been developed to reduce time complexity of FSDP.
(SDP) minimize subject to (2.4) [Biswas 2006]
€
(0; ei − e j )(0; ei − e j )T • Z = dij
2, ∀(i, j)∈ Nx
(−ak; ei)(−ak; ei)T • Z = d ik
2, ∀(i, k)∈ Na
Z(1,2,i, j ),(1,2,i, j ) 0, ∀(i, j)∈ Nx
The only difference between FSDP and ESDP is the last constraint. The last
constraint of ESDP only needs every four by four matrix to be a SemiDefinite matrix. On
the other hand, FSDP works with a (n + 2) by (n + 2) matrix. ESDP will be much faster
€
min eij + fik∑s.t. eij ≥ (0; ei − e j )(0; ei − e j )
T • Z − dij2, ∀(i, j)∈ Nx
eij ≥ dij2 − (0; ei − e j )(0; ei − e j )
T • Z, ∀(i, j)∈ Nx
fik ≥ (−ak; ei)(−ak; ei)T • Z − d ik
2, ∀(i, k)∈ Na fik ≥ d ik
2 − (−ak; ei)(−ak; ei)T • Z, ∀(i, k)∈ Na
Z(1:2,1:2) = I2
Z 0, ∀(i, j)∈ Nx
11
in resolving large-scale wireless sensor networks. Simulation results have proved this
conclusion [Wang 2006].
All mathematical model simulations and performance evaluation will be shown in
the next section.
2.2 Principle of SDP
To use SDP, two types of data need to be collected. They are the accurate
positions of anchors and the partial pair-wise distance measurements between some of the
sensor nodes and the distances between sensor and anchor nodes.
SDP uses these two types of data to compute the position of every sensor node in
the WSN. In practice, the number of anchors is at least three; however, more anchors can
generate more accurate position results. Nonetheless, more anchors imply more cost.
Therefore, how to deploy a limited number of anchors to generate accurate position
results is a challenging issue in designing this localization system. According to [Biswas
2006], if all sensor nodes can connect to any anchor nodes, directly or indirectly, the
solution for SDP must be bounded. Therefore, appropriate radio range should be adjusted
depending on different situations in order to make sure all sensor nodes can connect to at
least one anchor directly or indirectly.
2.3 Advantages of SDP
In [Biswas 2006], it is mentioned that various techniques have been developed to
address measurement uncertainties. Most of these methods are based on minimizing some
global error functions, which can be different depending on the model of uncertainty.
12
According to the type of optimization model being formulated, the characteristics and
computation complexity vary. “Existing algorithms have limited success, even for small
problem sizes” [More 1997]. Moreover, in the real world, all the distance measurements
inevitably have noises. Using this noisy distance information, we cannot get satisfactory
results. However, SDP had been proved that it could generate accurate results even in
extremely noisy backgrounds. More importantly, there is no special node(s) in the SDP
approach. Hence, even if some of the nodes were destroyed, the localization system will
still work and continue to generate relatively accurate results.
13
3. RESEARCH METHODOLOGY AND CONTRIBUTION
As stated in the aforementioned, different SDP models have been investigated and
studied thoroughly by Dr. Ye’s research team [Biswas 2004][Wang 2006][Biswas 2006].
In their research, numerous simulations have been carried out and the results illustrated
that the SDP approach can generate relatively accurate position results, even in a noisy
background, to reach the requirements of a real application [Wang 2006]. Since Dr. Ye
research focused on the theoretical aspects, their simulations do not reflect some
important practical issues such as power consumption and operating under hostile
conditions. In other words, their research does not focus on how to use the SDP approach
in a real-life environment. It is clear that there is a need for further research on how to
build a real application based on SDP. More importantly, some features of the SDP
approach are not shown by their simulations; this is significant in practically deploying
sensor nodes. Therefore, our research exploits the characteristics and features of the SDP
approach using our own customized simulators. These features are not only valuable in
building a robust and efficient indoor localization system, but also will help in the
development of some novel schemes that can handle hostile situations.
The methodology of this research project is shown in Figure 3.1.
14
Figure 3.1 Project Methodology
There are seven main tasks in this research project.
1) Studying SDP: This research project is based on the SDP approach, thus, it is
extremely important to thoroughly study SDP, especially the Full SemiDefinite
Programming model (FSDP) and Edge-based SemiDefinite Programming model (ESDP).
The differences of these two SDP models need to be investigated. Moreover, how to
reduce the impact of noise using an appropriate SDP model is another significant task.
15
2) Building a simulator: Based on the results of the SDP model study, our own
SDP simulator is built. An imperative component of our simulator is the SeDuMi SDP
solver.
3) Analyzing real application requirements: As mentioned before, the original
SDP research did not focus on illustrating how to use the SDP approach in real
applications. Therefore, applying the SDP approach to real applications is a major goal in
this project. Our proposed indoor localization system is able to work well in hostile
situations, such as earthquakes or fire accidents. Therefore, what factors affect the system
under extreme situations need to be carefully investigated. Also, sensory hardware
limitations need to be determined. The details of this part are discussed in Section 5.
4) Designing simulations: Based on our simulator’s features and the requirements
of real applications, three main simulations have been designed for finding the significant
features of the SDP approach. First, FSDP simulations show the performance and
features of the FSDP model. Second, ESDP simulations illustrate how ESDP is able to
generate accurate position results even in a noisy background. Third, FSDP vs. ESDP
simulations depict the difference between the two models.
5) Analyzing simulation results: Based on designed simulations, we try to find
important features of FSDP and ESDP model. During this process, some interesting
findings have been identified including how number of anchors, radio range and noise
factor affect the final results. The analysis and relationship among number of anchors,
radio range and noise factor are discussed in section 4.
16
6) Exploiting SDP features: According to simulation results and their analysis,
three observations about SDP features have been summarized. Also, a border pattern was
found. Further details can be found in Section 4.
7) Designing novel localization schemes: A major goal of this research project is
to develop our own localization schemes. As shown in Figure 3.1, this process mainly
depends on the requirements of the real application and the features of the SDP approach.
The novel scheme design focused on how to guarantee that the proposed localization
system would be able to generate relatively accurate position results even in an extreme
situation. A troublesome challenge under extreme situations is that some sensor nodes
may fail leading the system to be paralyzed. The details of these novel schemes are
described in Section 5.
17
4. SIMULATION AND ANALYSIS
Based on the three SDP models mentioned above, we developed a customized
FSDP and ESDP simulators. The FSDP simulator uses formula (2) as its mathematical
model. The ESDP simulator uses formulas (3), (4) as a math model. The difference
between these two simulators is not only in using different math models, but also noise
factor consideration. The FSDP simulator is concerned with the noise factor, while the
ESDP takes noise into consideration.
Using the simulation results, we aim at answering the following questions.
• How do FSDP and ESDP compare on the aspects of result accuracy and
time consumption under the same conditions?
• What factors impact the final position results?
• What relationships potentially exist among those factors?
• What features can be found from those simulations to guide our real
application deployment?
4.1 Simulation Platform
All the following simulations were carried out using SeDuMi 1.1 SDP Solver of
Matlab2007b on a Mac Book Pro laptop with 2GB 667 MHz DDR2 SDRAM and 2.16
GHz Inter Core 2 Duo.
18
4.2 Error Estimations
In the simulations, three different methods have been used to estimate errors:
error, Root Mean Square Deviation (RMSD) and individual trace. These errors often
occur in real applications either due to lack of information or the existence of noise, and
are often difficult to detect since the true location of sensors is unknown.
• Error: It is the distance between the actual position and the estimated
position.
• Root Mean Square Deviation (RMSD): It measures the accuracy of the
estimated positions {xi : I = 1, …, n}. The formula is shown in Eq. (4.1).
(4.1)
where, n is the number of target sensor nodes
is the true position of the ith sensor node
is the estimated position of the ith sensor node
This method does not work in real-life settings, since the true positions of
sensor nodes are not known. However, it is very valuable in simulations.
Lower RMSD means the global error is smaller.
• Individual trace: When relaxing (1) to SDP model, it needs to change
into . This inequality is equivalent to .
Thus, represents the co-variance matrix of xi, i = 1, …, n. Individual
trace , which is also the variance of . It helps detect possible
19
distance errors and the outliers of estimated position results in real application
[Bitwise 2006].
4.3 Simulation Results and Analysis
Simulations were performed on a network of a defined number of sensor nodes
randomly deployed in a square area of size 1 x 1 centered at the origin. The distances
between the nodes were calculated using our simulator. To simulate real applications, we
also assign a radio range for every simulation. If the distance between paired nodes is less
than a given radio range between [0, 1], a random error is added to it. The formula is
shown in Eq. (4.2).
€
dij = dij × (1 + randn(1) *noisefactor) (4.2)
where, the noise factor is a given number between [0, 1] and
randn(1) was a standard normal random variable.
In FSDP simulations, the noise factor was not a concern. Therefore, in all FSDP
simulations, only accurate distance was used. For controlling the maximum distance data
obtained from each node, another parameter, namely degree, has been used. Normally, it
is set between 7 to 12. In real applications, a lesser degree set will save sensor nodes’
power, but will reduce accuracy.
4.3.1 FSDP Simulator Design and Performance Evaluation The following simulation results are from the FSDP simulator. For each
simulation result, we used a different number of Anchors (A_Num), different number of
Target Sensors (TS_Num), different radio range (RR), but used the same degree, which
20
was set to 7 to simulate real situations, where a sensor node is allow to connect to at most
seven other nodes in order to save energy.
In the following simulation results, the right side charts are the position results. In
these charts, the red squares indicate the position of anchors. The green circles present
the true position of target sensor nodes. The blue asterisks mean the estimated target
sensor nodes’ position. The blue lines between green circles and blue asterisks present
the distance between true positions and estimated positions. The red lines between red
squares mean the boards composed by anchors.
The left charts are the error estimates. In these charts, the red squares represent
individual traces. The blue circles mean errors. FSDP is simulated as shown in Figure
4.1, Figure 4.2 and Figure 4.3.
Condition: A_Num = 3; TS_Num = 30; RR = 0.4; RMSD = 2.096e-007
Figure 4.1 FSDP Simulation 1
21
Condition: A_Num = 3; TS_Num = 30; RR = 0.3 RMSD = 0.268
Figure 4.2 FSDP Simulation 2
Condition: A_Num = 4; TS_Num = 30; RR = 0.3 RMSD = 0.083
Figure 4.3 FSDP Simulation 3
Analysis: Figure 4.1 shows the simulation results from the FSDP simulator. In the right
chart, all the estimated sensor nodes’ positions are almost exact to the actual positions. In
addition, the left chart shows that the errors for all estimated positions are almost 0. The
magnitude of individual traces is 10-4, which is an extremely small error for each
estimated position. Therefore, the results of FSDP are highly accurate.
22
Figure 4.1 and Figure 4.2 show different accuracy. The main different condition
between these two simulations is the radio range. A significant note can be seen easily in
Figure 4.2; all target sensors that are far from the anchor nodes have a higher opportunity
to get inaccurate estimated positions. This is due to the fact that they may not connect to
any anchor node, even indirectly. In the third simulation, Figure 4.3, the fourth anchor
was deployed to increase the probability that those target sensor nodes connect to at least
one anchor. Thus, the accuracy is higher than the cases in Figure 4.1 and 4.2. The RMSD
was reduced significantly from 0.268 to 0.083.
Observation 1: In real-life application, all sensor nodes should connect to at least one
anchor node directly or indirectly to guarantee acceptable accuracy.
To reach this aim, there are two alternative methods. The first is increasing the
number of target sensors. Although it is not practical for indoor localization, it will be a
good idea for large-scale outdoor GPS-free localization applications. The simulation of
this idea has been illustrated in Figure 4.4 and Figure 4.5. Figure 4.5 added 10 more
randomly deployed target sensor nodes than those deployed in Figure 4.4. It is clear that
the simulation that used more target sensor nodes achieved more accurate position
results. It significantly improved the RMSD from 0.162 to 0.039.
23
Condition: A_Num = 3; TS_Num = 30; RR = 0.3 RMSD = 0.162
Figure 4.4 FSDP Simulation 4
Condition: A_Num = 3; TS_Num = 40; RR = 0.3 RMSD = 0.039
Figure 4.5 FSDP Simulation 5
The second method is using Magnified-Range anchor nodes. It will be useful for a
situation with a small number of target sensor nodes. The idea of this method is to
enlarge the radio range of anchor in order to guarantee the connection. This idea is more
24
valuable for underwater localization systems. The simulations of this idea are shown in
Figure 4.6. The different condition for the two simulations is that the right chart has a
larger anchor radio range. The results illustrated that the one with a larger anchor radio
range outperform the one with a smaller radio range by 20% in better accurate.
Anchor# = 4; Senor# = 50; noise factor = 0.05 Anchor# = 4; Senor# = 50; noise factor = 0.05 Senor signal range = 0.3 Senor signal range = 0.3 Anchor signal range = 0.3 Anchor signal range = 0.5 RMSD = 0.124 RMSD = 0.098
Figure 4.6 FSDP Simulation 6
From the above simulations, we can see there may be a potential relationship
among radio range, number of anchors and RMDS. After many simulation runs, Figure
4.7 shows the relationship among the three factors. The chart illustrated that when radio
range is increasing and more anchors are used in the system, the accuracy of the system
increases.
25
Condition: TS_Num = 50
Figure 4.7 Relationship among Radio Range, Number of Anchor and RMSD
4.3.2 ESDP Simulator Design and Performance Evaluation
In fact, many existing localization approaches do not show a potential to conquer
the noise factor’s impacts. Nevertheless, it was proven that the SDP approach could
generate relatively accurate results even in the presence of noise [Biswas 2004][Wang
2006][Biswas 2006].
The simulations based on ESDP are shown in Figure 4.8 and Figure 4.9. In both
charts, noise factor is considered.
26
Condition: A_Num = 4; TS_Num = 50; RR = 0.3 RSMD = 0.076 Noise factor = 0.05
Figure 4.8 ESDP Simulation 1
Condition: A_Num = 4; TS_Num = 50; RR = 0.3 RSMD = 0.1268 Noise factor = 0.15
Figure 4.9 ESDP Simulation 2
Analysis: The simulation in Figure 4.9 used the same conditions as in Figure 8 except for
a larger noise factor. From the two charts, the one using a smaller noise factor generated a
more accurate result. The Noise factor has big impact on distance measures in real-life
applications. A larger noise factor usually contributes for a higher error. Therefore, if
27
more accurate distance measures can be obtained, the system will generate a more
accurate result. Although background noise factor is very hard to conquer, some methods
still help reduce the impact caused by the noise factor such as the statistics methods.
Figure 4.10 indicates that RSMD increases when noise factor increases and the
radio range is reduced.
Condition: TS_Num = 50, A_Num = 6 Figure 4.10 Relationship Among Noise Factor, Radio Range and RMSD
During our numerous simulations, an interesting finding has been identified.
Figure 4.11 shows an interesting pattern called the border pattern.
28
Condition; A_Num = 5, TS_Num = 95, RR = 0.3 Condition: A_Num = 5, TS_Num = 95, RR = 0.4 Noise factor = 0.1 RMSD = 0.09042 Noise factor = 0.1 RMSD = 0.0682
Figure 4.11 Border Pattern
The two charts were generated using different conditions. All the target sensor
nodes outside the border, formed by outer anchors, had larger error than those inside the
border. This pattern provides insights on how to deploy anchor nodes in real
applications. According to this finding, in real applications, some anchors should be
deployed on the border of the monitor area to guarantee the system can generate more
accurate position results.
4.3.3 FSDP vs. ESDP
The performance of FSDP and ESDP was evaluated and shown using the
discussed simulations. Despite the fact that FSDP outperformed ESDP on most of the
simulations, ESDP still offers a major advantage over FSDP. The following simulations
were used to show the difference between these two models. The two simulations shown
in Figure 4.12 compare the two models’ performance under the same conditions. As
shown, the global error on the left chart (i.e. generated by FSDP) is smaller than that of
29
ESDP by 102 magnitude. Nonetheless, both of them are accurate enough for most of real-
life applications.
RSMD = 2.514e-006 RSMD = 2.432e-004
Condition: A_Num = 4; TS_Num = 50 Radio Range = 0.3; Noise Factor = 0 Figure 4.12 ESDP vs. FSDP
Observation 2: FSDP generates more accurate position results than ESDP.
Table 4.1. Time Consumption Comparisons
Problem # TS_num A_num RR FSDP time (Sec) ESDPtime (Sec)
1 50 4 0.4 1.39 1.55
2 100 5 0.3 4.83 1.18
3 200 5 0.25 34.94 10.5
4 400 10 0.2 367.43 20.3
5 800 20 0.12 * 44.67
6 1600 40 0.07 * 129.68
30
Observation 3: ESDP is much faster than FSDP in resolving large-scale problem.
The reason for this conclusion is that one of the FSDP model’s constraints
requires the solution matrix Z to be SemiDefinite. However, in ESDP model, the
constraints only require the four by four sub matrix to be SemiDefinite
instead of requiring the whole solution matrix being a SemiDefinite matrix. Table 4.1
shows the time needed to resolve same size problems using the two models; ESDP vs.
FSDP. It is clear that ESDP is much faster than FSDP when resolving large-scale position
problems. Due to this feature, ESDP makes large-scale real-time applications possible.
31
5. PROPOSED LOCALIZATION SCHEMES
Recently, many proposed indoor localization approaches have been developed.
However, very few of them can work in extreme situations, such as fire accidents and
earthquakes. This is because that most of the existing approaches and algorithms are
dependent on certain important communication equipment or sensor nodes. If the
equipment or sensor nodes were broken, the whole system would be paralyzed.
Therefore, a design of an indoor localization system, which can work under extreme
situations, is vitally significant.
The design of a localization system based on the SDP approach needs to address
two key problems.
• How to guarantee there will be enough anchors working in extreme situations.
• How to increase or even maintain system connectivity under extreme
conditions.
To resolve these two problems and to make the SDP approach work in both, the
normal situation and hostile extreme situation, the system needs to have a special sensor
node besides the anchor and target sensors. This special node is called transmitting
sensor. This kind of sensor nodes does not initially know their own position coordinates.
In addition, their positions are not important to the system and end-users do not care
about their location as well. Yet, a transmitting sensor node is an important addition to
the localization system. It provides two key functions addressing the two major
challenges discussed above:
a. It can change into a temporary anchor. Under hostile situations, the original
32
anchor nodes may be destroyed. In this case, some transmitting sensor nodes
maybe able to switch to temporary anchor nodes to guarantee there will be
enough anchors in the system to provide relatively accurate results. The details
are described in Section 5.1.
b. It could maintain the connectivity of the system. In extreme conditions and due to
the failure of some sensor nodes, the intended area may not be covered by enough
sensor nodes. This can lead to the connectivity dropping dramatically or even
disabling the whole system. In this case, they are able to increase their radio range
to temporarily maintain or even increase the connectivity of the intended area.
The details are discussed in Section 5.2.
5.1 Flexible-Anchor Scheme
In [Wang 2006], to guarantee the SDP approach generates relatively accurate
position results, the minimum number of anchor nodes should be three and target sensor
nodes should connect to at least one anchor directly or indirectly. Moreover, a system
with more anchors, which are deployed appropriately, will generate more accurate
results.
In real applications, the anchors may be fixed on a ceiling, wall or floor. When in
fire accidents or other disasters, those anchors may not work even if they were projected
by special cases. If the number of anchors is less than three, the localization system will
not work anymore. In addition, if the anchor number decreases, in some certain intended
area, the sensor nodes cannot connect to any anchor even if indirectly. In this case, the
system could not guarantee to generate relatively accurate results.
33
To handle this situation, the Flexible-Anchor scheme is used. The main idea of
the Flexible-Anchor scheme is to change the transmitter sensor nodes that are near the
original anchor to be new anchors when the system is in extreme situations. Therefore,
even if the original anchor nodes failed, the system still maintains enough anchor nodes.
Since all sensor nodes can detect sound, light, temperature and other physical factors,
when an extreme situation happens, at least one of those factors will be changed
dramatically. This will trigger the use of the Flexible-Anchor scheme.
The idea of Flexible-Anchor scheme was illustrated in Figure 5.1. It showed the three
red transmitting sensor nodes would change to new anchors when the extreme situation
happened.
Figure 5.1 Flexible-Anchor Scheme
34
Figure 5.2 and Figure 5.3 show the simulation of Flexible-Anchor scheme. To
simulate a real situation, we assume that the anchor at (0, 0.4) has failed.
Correspondingly, in Figure 5.3, the original anchor (0, 0.4) was deleted and three original
transmitters were changed into new anchors. As we can see, the RSMD of these two
simulations is reduced from 0.1147 to 0.024. Moreover, the simulation results also
indicate that simulation with new anchors had a more accurate position result.
Condition: A_Num = 4, ST_Num = 30, RR = 0.4, RSMD = 0.1147 Noise factor = 0.1
Figure 5.2 Flexible-Anchor Scheme Simulation 1
35
Condition: A_Num = 6, ST_Num = 27, RR = 0.4, RSMD = 0.024 Noise factor = 0.1
Figure 5.3 Flexible-Anchor Scheme Simulation 2
5.2 Flexible-Radio-Range Scheme
Energy is a very limited resource for most sensor nodes. A larger radio range
leads to consuming more power. Therefore, the majority of sensor nodes use small radio
range to save energy in normal situations. When the system is in extreme situations, some
transmitting sensor nodes may be destroyed. In that case, the connectivity of the whole
system may be dropped dramatically. In the worse situations, it may make the
localization system disabled.
A solution to this problem is the Flexible-Radio-Range scheme. The main idea of
this scheme is that all transmitting sensor nodes increase their RF power to enlarge their
radio range in order to maintain or increase the connectivity when extreme situations
happen. The trigger of this scheme is same as the Flexible-Anchor scheme. Figure 5.4
illustrates the idea of Flexible-Radio-Range scheme.
36
Figure 5.4 Flexible-Radio-Range Scheme
The idea of Flexible-Radio-Range scheme can also be shown in Figure 4.1 and
Figure 4.2. However, both simulations are generated by the FSDP simulator. To simulate
the real environment, noise factor cannot be ignored. Two ESDP-based simulations are
shown in Figure 5.5 and Figure 5.6. In Figure 5.6, the black cycles represent broken
sensor nodes. The results show that the network with larger radio range (Figure 5.6)
generates more accurate results even in the situation that some sensor nodes are broken
proving the concept of the Flexible-Radio-Range scheme.
37
Condition: A_Num = 4, ST_Num = 40, RR = 0.3, RSMD = 0.0643 Noise factor = 0.1
Figure 5.5 Flexible-Radio-Range Scheme Simulation 1
Condition: A_Num = 4, ST_Num = 34, RR = 0.45, RSMD = 0.022 Noise factor = 0.1
Figure 5.6 Flexible-Radio-Range Scheme Simulation 2
5.3 Magnified-Range Scheme
The straightforward solution to increase connectivity is to increase all sensors’
38
radio range. However, as mentioned above, this will lead to highly increased power
consumption. Thus, it will reduce the system’s lifetime. In most systems, anchors are
special nodes that suffer less from energy constraints. Therefore, it is possible to only
magnify anchors’ radio range. In this case, all sensor nodes will have a better opportunity
to connect to anchors directly or indirectly. Hence, enlarged anchors’ radio range will
improve the probability of achieving better results. This scheme is called Magnified-
Range scheme. To prove this scheme works well under noisy situations, the following
simulations were carried out using the FSDP simulator.
Anchor RR = 0.3 RMSD = 0.124 Anchor RR = 0.5 RMSD = 0.098
Condition: A_Num = 4, ST_Num = 50, Sensor RR = 0.3, Noise factor = 0.05 Figure 5.7 Magnified-Range Scheme Simulation
The noise factor of the two simulations was set to 0.05. The left chart of Figure
5.7 uses the same signal range for both: sensor nodes and anchors. The right chart uses
0.3 as the sensor signal range and 0.5 as the anchor signal range. The simulation results
show that the enlarged signal range improved the accuracy by around 20%.
39
6. FUTURE WORK
We currently focus on 2-D simulations to test the performance of our proposed
designs. However, real applications usually work in 3-D environments. Therefore, our
next research step will focus on developing 3-D simulators. Moreover, the following
challenges will be further investigated.
First, how to measure more accurate distances between pairs of sensor nodes?
Due to the impact of noisy indoor environments, it is extremely hard to obtain precise
distance measurements. However, it maybe possible to provide more accurate distance
using other measure schemes, this will improve the accuracy of the SDP approach.
Moreover, it will help other localization schemes work better.
Second, energy efficient routing protocols are needed in such settings. Power
issue is almost vitally important to any kind of WSN applications. Power efficiency will
bring many benefits to WSN systems, such as increasing the life time of system. For our
localization system, the efficient routing protocol will make real-time tracking possible.
Therefore, an energy-efficient routing protocol will be investigated.
Third is combining other localization approaches with SDP to provide a more
robust and more accurate localization system. Nowadays, many research groups and
institutes focus on developing more efficient and more accurate localization algorithms
and approaches. Many of them have been proved to generate better accuracy than some
of the existing alternatives. However, any localization approach has its own limitations. It
may be possible to combine two or more different approaches compensating their
weaknesses. In our future research, Multidimensional Scaling (MDS) [Shang
40
2003][Shang 2004] will be investigated. We will try to find a possible way to combine
MDS with the SDP approach in order to generate a hybrid localization scheme. In that
case, the new combined scheme should fit more applications, such as underwater and
underground WSN localization applications.
Fourth, real-life experiments will be conducted. We plan to use MicaZ sensor kits
to test our designed system. Real-life demonstrations will be very valuable in testing our
hybrid scheme. In fact, real sensor devices may even bring more challenges to our
designed system and open the door for further research.
41
7. CONCLUSION
This project proposes a novel localization system based on SemiDefinite
Programming. The design did not only focus on normal situations, but also on hostile and
extreme situations. In this research project, two simulators based on the SDP approach,
namely FSDP and ESDP, have been developed. Our performance evaluation showed that
compared to other localization algorithms, SDP offers accurate results with few anchors
even in a very noisy background. According to numerous simulation results, three
factors, which affect the accuracy of position results, were identified. Moreover, the
relationships between RMSD and those factors have been illustrated.
Based on SDP, three novel schemes, Flexible-Anchor, Flexible-Radio-Range and
Magnified-Range, were proposed and developed to fit different hostile situations.
Flexible-Anchor is mainly for the situation in which original anchors fail under extreme
situations. In that case, some neighboring nodes switch to an anchor state to guarantee the
existence of enough anchors in the network. Flexible-Radio-Range is useful when the
connectivity of the system is impacted by external events. Using Flexible-Radio-Range
guarantees the connectivity of the system by increasing the radio range of certain nodes.
Compared to the other two schemes, Magnified-Range is mainly for normal situations. It
is based on the fact that anchors are special nodes that suffer less from energy constraints.
Therefore, it is possible to magnify their radio range without impacting the energy
consumption of the network. Magnified-Range differentiates between the radio range of
anchors and regular sensor nodes. Undoubtedly, Magnified-Range still works well under
extreme situations. Performance evaluations of these three schemes proved their concepts
achieving relatively accurate position results.
42
Future work and research activities were discussed. 3-D simulations will be one
of the most important research tasks for the next step of our research. In fact, most real-
life localization applications work in 3-D environments. They should have the ability to
handle 3-D data, even if the system just provides 2-D position results. Other future
research activities address challenges such as accurate distance measures, power-efficient
routing protocols, hybrid localization schemes, and real-life demonstrations.
43
BIBLIOGRAPHY AND REFERENCES
[Bahl 2000] Bahl, P. and Padmanabhan, V. RADAR: An In-Building RF-based User Location and Tracking System. Proceedings of IEEE INFOCOM, Tel Aviv, Israel, Mar 26-30 2000.
[Biswas 2004] Biswas, P. and Ye, Y.Y. Semidefinite programming for ad hoc wireless
sensor network localization. Proceedings of the third international symposium on Information processing in sensor networks, April 2004, (46-54).
[Biswas 2006] Biswas, P. Liang, C. Wang, C. and Ye, Y. Y. Semidefinite programming
based algorithms for sensor network localization. ACM New York, NY, USA, May 2006, pp.188- 220.
[Bulusu 2000] Bulusu, N. and Estrin, D. GPS-less Low Cost Outdoor Localization for
Very Small Devices. IEEE Personal Communications Magazine, October 2000, 7(5): 28-34.
[Chandrasekhar 2006] Chandrasekhar, V. and Seah, W. An Area Localization Scheme for
Underwater Sensor Networks. Proceedings of the IEEE OCEANS Asia Pacific Conference, Singapore, May 16-19, 2006.
[Cricket 2009] xbow. Homepage. Available from www.xbow.com/ (visited Mar. 23,
2009) [Dong 2007] Dong, B. and Schendel, E. A novel data handling integration bus for
wireless sensor networks. CCSC, USA, April 2008. [Ekahau 2009] Ekahau Real Time Location Systems (RTLS). Home page. Available
from www.ekahua.com/ (visited June. 10, 2009). [ELPAS 2001] Visonictech. Homepage. Availabe from www.visonictech.com/ (visited
May, 20, 2009). [Krumm 2000] Krumm, J. Multi-camera multi-person tracking for Easy Living. 3rd IEEE
Int’l Workshop on Visual Surveillance, Piscataway, NJ, 2000, pages 3-10. [Ladd 2002] Ladd, A. M. Bekris, K. E. Marceau, G. Rudys, A. Kavraki, L. E. and
Wallach, D. S. Robotics-based location sensing using wireless Ethernet. Technical Report TR02-393, Rice University, Department of Computer Science, 2002.
[More 1997] More, J. and Wu, Z. Global continuation for distance geometry problems.
SIAM J. Optim., 1997, vol. 7, pp. 814-836.
44
[Nagpal 1999] Nagpal, R. Organizing a Global Coordinate System from Local
Information on an Amorphous Computer. A.I. Memo 1666, MIT A.I. Laboratory, August 1999.
[Niculescu 2001] Niculescu, D. and Nath, B. Ad hoc positioning system (APS). in Proc.
IEEE Global Telecommunications Conf., USA, 2001. [Niculescu 2003] Niculescu, D. and Nath, B. Ad Hoc Postioning System (APS) Using
AOA. Proceedings of IEEE INFOCOM, San Francisco, CA, USA, Apr 1-3 2003. [Savvides 2001] Savvides, A. Han, C. C. and Srivastava, M. Dynamic fine-grained
localization in ad hoc networks of sensors. in MobiCom’01, July 2001. [Shang 2003] Shang, Y. Ruml, W. Zhang, Y. and Fromherz, M.P.J. Localization from
Mere Connectivity. Proc. of ACM MobiHoc, Annapolis, MD, June 2003, pp. 201- 212.
[Shang 2004] Shang, Y. Ruml, W. and Zhang, Y. Improved MDS-Based Localization.
Proc. IEEE Infocom, Hong Kong, China, March 2004, pp. 2640-2651. [So 2005] So, A.M.-C. and Ye, Y. Theory of semidefinite programming relaxation for
sensor network localization. SODA 05: Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms, 2005, pp. 405-414.
[Stoleru 2007] Stoleru, R. He, T. and Stankovic, J. A. Secure Localization and Time
synchronization for Wireless Sensor and Ad Hoc Networks. Springer US, 2007 [Want 1992] Want, R. Hopper, A. and Falcao, V. Gibbons J., The active badge location
system. Technical Report 92.1, ORL, 24a Trumpington Street, Cambridge CB2 1QA, 1992.
[Wang 2006] Wang, Z. Zheng, S. Boyd, S. and Ye, Y.Y. Further Relaxations of the SDP
Approach to Sensor Network Localization. 2006. [Wellenhoff 1997] Wellenhoff, B. H. Lichtenegger, H. and Collins, J. Clobal Positions
System: Theory and Practice. Fourth Edition. Springer Verlag, 1997. [WhereNet 2008] WhereNet. Homepage. Available from www.widata.com/ (visited Feb.
20, 2008).
45
APPENDIX A – FSDP SIMULATOR SOURCE CODE
%% **************************************************************** %Function x = SDP(PP,anchor_num,total_num,radio_range,nf,degree) %PP : 2xn matrix representing all point on 2D %total_num : the number of total points %anchor_num : the number of anchor points; the first m colums of PP %radio_range: the radio range %nf : noisy factor %degree : the limit on the number of edges connected to any sensor % %Author : Bo Dong %DATE : Mar, 2009 %% **************************************************************** function x = F_SDP(PP, Anchor_num, total_num, radio_range, nf, degree) clc clear K; format long; pars.eps = 5.e-3; Anchor = PP(:, 1 : Anchor_num); Sensor_x = PP(:, Anchor_num + 1 : total_num); %sensor's position Sensor_num = total_num - Anchor_num; %sensor number %the 2xtotal_num position matrix the first anchor_num colums are the %postion of sensors; The last sensor_num colums are sensor's postion %PP = [Sensor_x, Anchor]; %Sensor_x is the true position of the sensors %Anchor is the position of the anchors disp('Calculating the distances information'); D_ss = sparse(Sensor_num, Sensor_num); number = 0; label = sparse(Sensor_num, Sensor_num); %dd = sparse(Sensor_num + Anchor_num, Sensor_num + Anchor_num); flag = zeros(Sensor_num, 1); a = Sensor_x'* Sensor_x; for i = 1:1:Sensor_num - 1 for j = i+1:1:Sensor_num d = sqrt(a(i, i) + a(j,j) - 2*a(i,j)); if d < radio_range && flag(i) < (degree + 3) && flag(j) < degree flag(i) = flag(i) + 1; flag(j) = flag(j) + 1; d = d * max(0, 1 + nf * randn(1)); %dd(i, j) = d; D_ss(i, j) = d^2;
46
number = number + 1; %the order of the sensor nodes label(i, j) = number; %record the order of the sensor nodes end end end label = label + label'; clear flag %Generate the know distances between anchors and sensors D_as = sparse(Anchor_num, Sensor_num); number_as = 0; label_as = sparse(Anchor_num, Sensor_num); for k = 1:Anchor_num for j = 1:Sensor_num d = norm(Anchor(:,k) - Sensor_x(:,j), 2); if d < radio_range d = d * max(0,1 + nf * randn(1)); %dd(j, sensor_num + 1) = d; D_as(k, j) = d^2; number_as = number_as + 1; label_as(k, j) = number_as; end end end %Setting up A,b,c for SDP solver disp('Set up A,b,c for Sedmui SDP solver'); tic %A in SDP standard form A = sparse((Sensor_num + 2)^2, number + number_as + 3); b = zeros(1,1); %b in SDP standard form count = 4; temp = sparse(1, Sensor_num + 2); %the first three constraints for I2 z00 = sparse([1 0 sparse(1,Sensor_num)]); z01 = sparse([0 1 sparse(1,Sensor_num)]); z02 = sparse([1 1 sparse(1,Sensor_num)]); A(:,1) = vec(sparse(z00'*z00)); A(:,2) = vec(sparse(z01'*z01)); A(:,3) = vec(sparse(z02'*z02)); b(1:3,1) = sparse([1 1 2]); %set (0;ei - ej)*(0;ei - ej)' dot Z = dij^2 for i = 1:Sensor_num - 1 for j = i + 1:Sensor_num if label(i, j) %set(0;ei-ej) temp(1, 1:j + 2) = sparse([sparse(1,2) sparse(1,i - 1) 1 sparse(1, j - i - 1) -1]);
47
A(:,count) = vec(temp' * temp); temp = sparse(1, Sensor_num + 2); b(count,1) = D_ss(i,j); count = count + 1; end end end %clear D_ss; %set (ak;ei)*(ak;ei)' dot Z = dik^2 temp = sparse(1, Sensor_num + 2); for i = 1:1:Sensor_num for j = 1:1:Sensor_num if label(i, j) for k = 1:1:Anchor_num if label_as(k, i) temp(1,1:i + 2) = sparse([-Anchor(1, k) -Anchor(2, k) sparse(1, i - 1) 1]); A(:,count) = vec(temp'*temp); temp = sparse(1, Sensor_num + 2); b(count,1) = D_as(k, i); count = count + 1; end end break; end end end %clear D_as label_as; %set c c = sparse(1, Sensor_num + 2); c = vec(c'*c); tic clear K K.s = Sensor_num + 2; pars.stepdif = 0; x = sedumi(A,b,c,K); time_SDP = toc %clear A b c; %Get the Sensors' position data from x Sensor_M = mat(x); Sensor_Pos = zeros(2, Sensor_num); Y = zeros(Sensor_num, Sensor_num); for i = 1:1:Sensor_num Sensor_Pos(1,i) = Sensor_M(1, i + 2); Sensor_Pos(2,i) = Sensor_M(2, i + 2); Y(i,:) = Sensor_M(i + 2,3:Sensor_num + 2); end %calculate Y-x'*x; Z = Y - Sensor_Pos'*Sensor_Pos; z = diag(Z);
48
clear Z clear Y %Calculate the true error deviation error_d = zeros(Sensor_num,1); for i = 1:1:Sensor_num error_d(i) = norm(Sensor_x(:,i) - Sensor_Pos(:,i),2); end %calculate RMSD for final results error = 0; for i = 1:1:Sensor_num temp = norm(Sensor_x(:,i) - Sensor_Pos(:,i),2); error = error + temp^2; end error = sqrt(error); RMSD = error/sqrt(Sensor_num) % Calculate the true error deviation error = zeros (Sensor_num, 1); for i = 1:1:Sensor_num error(i) = norm(Sensor_x(:,1) - Sensor_Pos(:,1),2); end figure(1) plot(error_d,'bo'); hold on plot(sqrt(z), 'rs'); hold on %Draw the locations of the anchors and the sensors figure(2) %Anchors for i = 1:1:Anchor_num plot(Anchor(1,i),Anchor(2,i),'s','MarkerEdgeColor','k',... 'MarkerFaceColor','r'); hold on; end %True sensor locations for i = 1:1:Sensor_num plot(Sensor_x(1,i), Sensor_x(2,i),'og'); hold on; end %Estimated sensor locations for i = 1:1:Sensor_num hold on; plot(Sensor_Pos(1,i), Sensor_Pos(2,i),'*b'); hold on; line([Sensor_x(1,i),Sensor_Pos(1,i)], [Sensor_x(2,i),Sensor_Pos(2,i)]); end hold off
49
APPENDIX B – ESDP SIMULATOR SOURCE CODE
%% **************************************************************** %Function x = SDP(PP,anchor_num,total_num,radio_range,nf,degree) %PP : 2xn matrix representing all point on 2D %m : the number of total points %n : the number of anchor points; the first m colums of PP %r : the radio range of sensor nodes %r : the radio range of anchor nodes %nf : noisy factor %degree : the limit on the number of edges connected to any sensor % %Author : Bo Dong %DATE : Mar, 2009 function [RMSD, PP,dd,m,r,nf,Xiter] = ESDP_test(PP,m,n,r,ra,nf,degree) clear K; format long; original_PP=PP; Anchor=PP(:,1:m); X_t=PP(:,m+1:n); n=n-m; pars.eps=5.e-3; PP=[X_t Anchor]; % degree: the limit on the number of edges connected to any sensor point, %X_t is 2xn matrix to store all sensors' position disp('Generate the known distances information'); D_ss = sparse(n,n); number = 0; %number of nighbors total_num = 0; %number of total nighbors %the sequence of the sensor pairs label = sparse(n,n); %the distance from sensor to sensor and sensor(1 to n) to anchor(n+1 to m) dd = sparse(n+m, n+m); flag = zeros(n, 1); a = X_t'*X_t; for i = 1:1:n-1 for j = i+1:1:n d = sqrt(a(i,i) + a(j, j) - 2 * a(i,j)); if d < r && flag(i) < (degree + 3)&& flag(j) < degree flag(i) = flag(i) + 1; flag(j) = flag(j) + 1;
50
d = d*max(0, 1+nf*randn(1)); dd(i,j) = d; D_ss(i,j) = d^2; number = number + 1; label(i,j) = number; end end end label = label + label'; clear flag %Generate the known distances between anchors and sensors D_as = sparse(m, n); number_as = 0; label_as = sparse(m, n); for i = 1:m; for j = 1:n %calculate the distance between sensor(j) and anchor(i) d = norm(Anchor(:,i) - X_t(:,j),2); if d < ra d = d*max(0, 1 + nf*randn(1)); dd(j,n+i) = d; D_as(i,j) = d^2; number_as = number_as + 1; label_as(i,j) = number_as; end end end % the second part: set up A,b,c for SDP solver disp('Set up data format for SDP solver'); A = sparse(1,19*number+3*number_as); b = zeros(1,1); counting = 1; for i = 1:n-1 for j = i+1:n if label(i,j) ii=counting; jj=16*label(i,j)+3*number+3*number_as; A(ii:ii+4,jj-15:jj)=... sparse([1 sparse(1,15);0 1 sparse(1,14);... sparse(1,5) 1 sparse(1,10);sparse(1,10) 1 -1 0 0 -1 1;... sparse(1,10) 1 -1 0 0 -1 1]); jj=3*label(i,j); A(ii+3:ii+4,jj-2:jj)=sparse([-1 1 0;1 0 -1]); b(ii:ii+4,1)=[1;0;1;D_ss(i,j);D_ss(i,j)]; counting = counting+5; end end end
51
clear D_ss; % the third part: continue set up A,b,c for SDP solver for i = 1:1:n for j = 1:1:n if label(i,j) for k = 1:1:m if label_as(k,i) ii=counting; if j<i jj=16*label(i,j)+3*number+3*number_as; A(ii:ii+1,jj-13:jj-5)=... sparse([-2*Anchor(1,k) 0 0 0 -2*Anchor(2,k) 0 0 0 1;... -2*Anchor(1,k) 0 0 0 -2*Anchor(2,k) 0 0 0 1]); jj=3*number+3*label_as(k,i); A(ii:ii+1,jj-2:jj)=sparse([-1 1 0;1 0 -1]); end if j>i jj=16*label(i,j)+3*number+3*number_as; A(ii:ii+1,jj-13:jj)=... sparse([0 -2*Anchor(1,k) sparse(1,3) -2*Anchor(2,k) sparse(1,7) 1;... -2*Anchor(1,k) sparse(1,3) -2*Anchor(2,k) sparse(1,3) 1 sparse(1,5)]); jj=3*number+3*label_as(k,i); A(ii:ii+1,jj-2:jj)=sparse([-1 1 0;1 0 -1]); end b(ii:ii+1,1)=(D_as(k,i)-Anchor(1,k)^2-Anchor(2,k)^2)*ones(2,1); counting = counting+2; end end break; end end end %clear D_as label_as; % Next set up the linking constraints temp = counting; for i = 1:n flag = 0; for j = 1:n if label(i,j) if ~flag flag = 1; f = j; continue; end
52
ii=counting; if f<i jj=16*label(i,f)+3*number+3*number_as; A(ii:ii+2,jj-13:jj-5)=sparse([sparse(1,8) 1;... sparse(1,4) 1 sparse(1,4);... 1 sparse(1,8)]); else jj=16*label(i,f)+3*number+3*number_as; A(ii:ii+2,jj-12:jj)=sparse([sparse(1,12) 1;... sparse(1,4) 1 sparse(1,8);... 1 sparse(1,12)]); end if j<i jj=16*label(i,j)+3*number+3*number_as; A(ii:ii+2,jj-13:jj-5)=sparse([sparse(1,8) -1;... sparse(1,4) -1 sparse(1,4);... -1 sparse(1,8)]); else jj=16*label(i,j)+3*number+3*number_as; A(ii:ii+2,jj-12:jj)=sparse([sparse(1,12) -1;... sparse(1,4) -1 sparse(1,8);... -1 sparse(1,12)]); end counting = counting+3; end end end b(temp:counting-1)=0; %mequal = counting-1 c = sparse(19*number+3*number_as,1); for i = 1:1:number+number_as c(3*i-2) = 1; end % Run sedumi to solve the SDP problem clear K K.l = 3*number+3*number_as; K.s = 4*ones(1,number); pars.stepdif=0; disp('Run the SDP solver'); tic [x,y]= sedumi(A,b,c,K,pars); time_ESDP = toc connectivity = number / n %clear A b c % Here we construct Y and X from the SDP output
53
disp('Construct sensor locations from the output of the SDP solver'); Y = sparse(n,n); Xiter=zeros(2,n); for i = 1:1:n for j = 1:1:n if label(i,j)>0 jj=16*label(i,j)+3*number+3*number_as; if j>i Xiter(:,i) = [x(jj-12);x(jj-8)]; %Y(i+2,1:2) = [x(jj-3) x(jj-2)]; Y(i,i) = x(jj); else Xiter(:,i) = [x(jj-13);x(jj-9)]; %Y(i+2,1:2) = [x(jj-7) x(jj-6)]; Y(i,i) = x(jj-5); end end end end for i = 1:1:n for j = i+1:1:n if label(i,j)>0 jj=16*label(i,j)+3*number+3*number_as; Y(i,j) = x(jj-4); %Y(j+2,i+2) = x(jj-1); end end end %clear x label % Draw the locations of the anchors and the sensors figure(1) % Anchors for i = 1:1:m plot(Anchor(1,i),Anchor(2,i),'s','MarkerEdgeColor','k',... 'MarkerFaceColor','r'); hold on; % if i < m - 1 % line([Anchor(1,i),Anchor(1,i+1)],[Anchor(2,i),Anchor(2,i+1)],... % 'LineStyle','-','Color','r'); % hold on; % elseif i == m - 1 % line([Anchor(1,i),Anchor(1,1)],[Anchor(2,i),Anchor(2,1)],... % 'LineStyle','-','Color','r'); % hold on; % end end % True sensor locations for i = 1:1:n plot(X_t(1,i),X_t(2,i),'og');
54
hold on; end % Estimated sensor locations for i = 1:n hold on; plot(Xiter(1,i),Xiter(2,i),'*b'); hold on; line([X_t(1,i),Xiter(1,i)],[X_t(2,i),Xiter(2,i)]); end hold off %Calculate traces for error predictions Z = Y-Xiter'*Xiter; z = diag(Z); %clear Z %clear Y % Calculate the true error deviation error_d = zeros(n,1); for i = 1:1:n error_d(i) = norm(X_t(:,i)-Xiter(1:2,i)); end %calculate RMSD for fianl results error = 0; for i = 1:1:n temp = norm(X_t(:,i) - Xiter(1:2,i)); error = error + temp^2; end RMSD = sqrt(error/n) % Plot the traces and true errors figure(2) plot(error_d,'bo'); hold on plot(sqrt(z),'rs'); hold off