60
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’

A Novel SemiDefinite-Based Localization System

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Novel SemiDefinite-Based Localization System

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’

Page 2: A Novel SemiDefinite-Based Localization System

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.

Page 3: A Novel SemiDefinite-Based Localization System

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 

Page 4: A Novel SemiDefinite-Based Localization System

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 

Page 5: A Novel SemiDefinite-Based Localization System

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 

Page 6: A Novel SemiDefinite-Based Localization System

vii

LIST OF TABLES

Table 4.1. Time Consumption Comparisons .................................................................... 29 

Page 7: A Novel SemiDefinite-Based Localization System

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

Page 8: A Novel SemiDefinite-Based Localization System

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

Page 9: A Novel SemiDefinite-Based Localization System

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.

Page 10: A Novel SemiDefinite-Based Localization System

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.

Page 11: A Novel SemiDefinite-Based Localization System

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

Page 12: A Novel SemiDefinite-Based Localization System

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

Page 13: A Novel SemiDefinite-Based Localization System

7

sensor nodes providing other environmental information. In conclusion, from a practical

view, indoor localization systems provide many benefits for a range of domains.

Page 14: A Novel SemiDefinite-Based Localization System

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,

Page 15: A Novel SemiDefinite-Based Localization System

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.

Page 16: A Novel SemiDefinite-Based Localization System

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

Page 17: A Novel SemiDefinite-Based Localization System

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.

Page 18: A Novel SemiDefinite-Based Localization System

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.

Page 19: A Novel SemiDefinite-Based Localization System

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.

Page 20: A Novel SemiDefinite-Based Localization System

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.

Page 21: A Novel SemiDefinite-Based Localization System

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.

Page 22: A Novel SemiDefinite-Based Localization System

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.

Page 23: A Novel SemiDefinite-Based Localization System

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.

Page 24: A Novel SemiDefinite-Based Localization System

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

Page 25: A Novel SemiDefinite-Based Localization System

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

Page 26: A Novel SemiDefinite-Based Localization System

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

Page 27: A Novel SemiDefinite-Based Localization System

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.

Page 28: A Novel SemiDefinite-Based Localization System

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.

Page 29: A Novel SemiDefinite-Based Localization System

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

Page 30: A Novel SemiDefinite-Based Localization System

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.

Page 31: A Novel SemiDefinite-Based Localization System

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.

Page 32: A Novel SemiDefinite-Based Localization System

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

Page 33: A Novel SemiDefinite-Based Localization System

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.

Page 34: A Novel SemiDefinite-Based Localization System

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

Page 35: A Novel SemiDefinite-Based Localization System

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

Page 36: A Novel SemiDefinite-Based Localization System

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.

Page 37: A Novel SemiDefinite-Based Localization System

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

Page 38: A Novel SemiDefinite-Based Localization System

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.

Page 39: A Novel SemiDefinite-Based Localization System

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

Page 40: A Novel SemiDefinite-Based Localization System

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

Page 41: A Novel SemiDefinite-Based Localization System

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.

Page 42: A Novel SemiDefinite-Based Localization System

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.

Page 43: A Novel SemiDefinite-Based Localization System

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’

Page 44: A Novel SemiDefinite-Based Localization System

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%.

Page 45: A Novel SemiDefinite-Based Localization System

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

Page 46: A Novel SemiDefinite-Based Localization System

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.

Page 47: A Novel SemiDefinite-Based Localization System

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.

Page 48: A Novel SemiDefinite-Based Localization System

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.

Page 49: A Novel SemiDefinite-Based Localization System

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.

Page 50: A Novel SemiDefinite-Based Localization System

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).

Page 51: A Novel SemiDefinite-Based Localization System

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;

Page 52: A Novel SemiDefinite-Based Localization System

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]);

Page 53: A Novel SemiDefinite-Based Localization System

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);

Page 54: A Novel SemiDefinite-Based Localization System

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

Page 55: A Novel SemiDefinite-Based Localization System

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;

Page 56: A Novel SemiDefinite-Based Localization System

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

Page 57: A Novel SemiDefinite-Based Localization System

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

Page 58: A Novel SemiDefinite-Based Localization System

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

Page 59: A Novel SemiDefinite-Based Localization System

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');

Page 60: A Novel SemiDefinite-Based Localization System

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