10 views

Uploaded by Santiago Miño

save

You are on page 1of 24

**FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK
**

INSTITUT FÜR NACHRICHTENTECHNIK

LEHRSTUHL FÜR TELEKOMMUNIKATION

Analysis of the energy consumption of 3D localization algorithms

Mini Project

Author: Santiago Miño

Betreuer: Dipl. Ing. Jorge Juan Robles

Professor: Prof. Dr. Ing. Ralf Lehnert

Datum: 30.01.2013

SELBSTÄNDIGKEITERKLÄRUNG

Hiermit erklare ich, dass ich die am heutigen Tag beim Prufungsausschuss der Fakültat

Elektrotechnik und Informationstechnik eingereichte Mini Project zum Thema:

Analysis of the Energy Consumption of 3D Localization Algorithms

Vollkommen selbstandig von mir verfasst, und keine anderen als die angegebenen Quellen und

Hilfsmittel verwendet sowie Zitate kenntlich gemacht wurden.

Dresden, den 30.01.2013

Santiago Miño.

ABSTRACT

In an indoor scenario it could be necessary to know the position of an object. For this purpose, a

localization system could be implemented in an indoor Wireless Sensor Network. In this kind of

networks, sometimes there are devices that use batteries and therefore the energy consumption

must be reduced in order to extend its lifetime.

In this work, the execution time of nine position algorithms were measured, analyzed and

implemented in an 8-bit microprocessor. Knowing the time required to perform a certain task, it is

possible to estimate the energy consumption of it. Furthermore, in order to reduce the execution

time of the task, some optimizations in the code were carried out minimizing the number of

operations.

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

1

INDEX

1. INTRODUCTION………………………………………………………………………………………………………………….2

1.1 MOTIVATION……………………………………………………………………………………………………………….2

1.2 PROJECT DEFINITION…………………………………………………………………………………………………..2

2. BACKGROUND……………………………………………………………………………………………………………………2

2.1 LOCALIZATION ALGORITHMS……………………………………………………………………………………….2

2.2 HARDWARE RESOURCES……………………………………………………………………………………………..4

2.2.1 RADIO CONTROLLER BOARD – RCB231 v4.4......................................................4

2.2.2 SENSOR TERMINAL BOARD................................................................................4

2.3 TIMESTAMPS………………………………………………………………………………………………….......... ….5

3. MEASUREMENTS PROCEDURE…………………………………………………………………………………………..5

4. FUTURE WORKS……………………………………………………………………………………………………………….19

5. CONCLUSIONS………………………………………………………………………………………………………………….19

6. BIBLIOGRAPHY…………………………………………………………………………………………………………………21

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

2

1. INTRODUCTION

1.1 MOTIVATION

In many applications of Wireless Sensor Networks (WSN), for example in localization

systems, some devices (nodes) should use batteries. In these cases, it is advisable to

optimize the code in order to reduce the energy consumption of the devices and extend

the lifetime of the batteries.

One of the easiest ways to do this is selecting the functions which consume less time to

perform the same work. Thus, it is necessary to know the execution time of the tasks.

Furthermore, by knowing the execution time of different functions and the power

dissipation of the node when it is processing, it is possible to estimate the total energy

consumption required in the execution of the investigated tasks.

1.2 PROJECT DEFINITION

In this project, nine localization algorithms are implemented and their energy

consumption is analyzed. As described, one way to estimate the energy consumption of a

certain task is by knowing its execution time. This can be done using “timestamps” at the

beginning and the end of the execution of an algorithm.

The measurements are performed in the microcontroller of the sensor node that,

eventually, can be part of a network. The microcontroller has a timer with a resolution of

one ps, so this is the greater precision that we will obtain in our measurements.

2. BACKGROUND

2.1 LOCALIZATION ALGORITHMS

Localization algorithms require certain data to estimate the position of an unknown node.

For instance, the distance-based localization algorithms use the distance between two

nodes to calculate the coordinates of one node. Each localization algorithm has different

characteristics. Some are more complex and precise but consumes more time; while

others are simpler, but also more imprecise.

In a typical localization system we identify two types of nodes: fixed nodes, called anchors

and mobile nodes. In general, the number of anchors is higher than mobile nodes and its

position is known. Since anchors have a static position, they can have an external supply

and the energy consumption it is not a problem in this case. In the case of mobile nodes,

the energy consumption is a factor to take into account because we are forced to use

batteries and so we have to optimize their behavior.

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

3

The localization algorithms implemented in this work belong to the group of “distance

based” algorithms, i.e. that at first, it is necessary to know the distance between fixed and

mobile nodes.

Regardless of the algorithm that we are using, three stages in the estimation system can

be established, and they are:

- Communication or Discovery Phase: here the mobile node detects which

anchors are in transmission range and with which one it can work.

- Ranging: it represents the measurements of distance carried out by the mobile

node. For this purpose, different methods like RSSI (Receive Signal Strength

Indication), POA (Phase of Arrival), etc. can be used.

- Calculation: the calculations can be centralized or distributed. In a centralized

calculation, all the measurements of a node are sent to a central device to its

position estimation. Mobile nodes do not make any calculation and the

network traffic increases. On the other hand (distributed calculation), mobile

nodes estimates its own position reducing the traffic in the network. This is the

case treated in this work.

As already mentioned, nine 3D localization algorithms were implemented in the

microcontroller of a sensor node to estimate their execution time. The algorithms used

are:

- Weighted centroid.

- Standard Min-Max

- Extended Min-Max 1

- Extended Min-Max 2

- Extended Min-Max 3

- Extended Min-Max 4

- Multilateration

- Extended Kalman Filter

- Position Extended Kalman Filter

The number of necessary operations carried out by these algorithms was studied in a

previous work [1]. Here a review is given:

Weighted centroid and Standard Min-Max are perhaps the simplest. They only use basic

functions like addition, subtraction and very few multiplications and divisions.

The group of 4 Extended Min-Max [2] are similar to each other. The only difference is that

they use different “weights” to calculate the final position. Among them, Extended Min-

Max 1 and Extended Min-Max 2 are the most time-consuming due to the use of functions

like “sqrt” in the calculation of Euclidean distance. In the other hand (Extended Min-Max 3

and Extended Min-Max 4), Manhattan distances are used instead of Euclidean distance for

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

4

the calculation of the weights. The number of operations executed by Manhattan distance

is fewer than those necessary for the Euclidean distance.

Slightly more complex is the Multilateration algorithm, but does not consume much time,

since it use only basic functions.

Both Extended and Position Extended Kalman Filter [3] are clearly the most complex of all,

requiring the execution of a lot of operations.

2.2 HARDWARE RESOURCES

2.2.1 RADIO CONTROLLER BOARD - RCB231 v4.4

For the implementation of the code was used the RCB231 v4.4.0 [4]. This board from

Dresden Elektronik Company contains the 802.15.4 transceiver AT86RF231, which

operates at 2.4GHz, and the low-power 8-bit μC Atmega2561. This microcontroller also

works with a quartz at 16 MHz.

Figure 1: RCB231 v4.4.0 [4]

2.2.2 SENSOR TERMINAL BOARD

Along with that seen in 2.2.1, in this work we also use a Sensor Terminal Board from

Dresden Elektronik Company [5]. This platform can be used with all radio controller

boards. See figure 2.

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

5

Figure 2: Sensor Terminal Board [5]

Its main features are:

- On-board temperature sensor

- 32kB memory extension

- Serial interface (UART / 3.3 V digital)

- I2C bus

- External analog reference voltage

- Analog inputs

- Digital inputs/outputs

2.3 TIMESTAMPS

In this case, timestamps are like marks in the time domain. Usually, they are used when

we want to, for example, know the time difference between two events. It is a very

practical tool that served us well during all tests. The used microcontroller has a timer with

a resolution of 1 ps, which allows us to measure the execution time of the algorithms in a

very accurate way.

3. MEASUREMENT PROCEDURE

The measurement procedure is simple: we take a timestamp at the beginning and the end

of the algorithm or function we want to know its duration. Finally we calculate the

difference between these two timestamps:

timcstomp A → unknown timc ¡unction → timcstomp B

tuta| Junct|un t|me = timcstomp B -timcstomp A

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

6

After measuring the time, it is sent to a computer via the USB port. The computer uses a

terminal software to show the received information.

It is important to take into account, that timestamps also consumes time and this should

be considered. In a very simple test, this value can be found out:

timcstomp A → timcstomp B

tuta| t|mextamp t|me|µx] = timcstomp B - timcstomp A = 22|µx]

So 22 [ps] is the value obtained.

With the information about the execution time and the power dissipation of the

microcontroller when it is processing, we can estimate the energy consumption of the

executed task. In a previous work [6], the energy consumption of a similar node (RCB230

[7]) was measured in the main operation modes. Table 2 shows that.

Table 2: Energy consumption – Node RCB230 v3.2 [7]

As is known, energy consumption is directly proportional to time, so knowing the time

required, it is possible to indirectly estimate it. Considering that our node has a power

dissipation of 30.42 [mW] when it is executing a localization algorithm, the corresponding

energy consumption can be estimated by multiplying this value by the execution time. For

example, for an execution time of 20 [µs], the corresponding energy consumption will be:

Iotol cncrgy = 2u. 1u

-6

|s] x Su,42. 1u

-3

|w] = ó, û84. 1û

-7

|]] = óû8, 4|n]]

Know the execution time of basic operations in the microcontroller is the first step in the

estimation of the energy consumption. Doing that was possible to identify, for example,

that function “pow(X,n)” (that allows us to raise a number X to the nth power), consumes

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

7

more time than only “X

1

*X

2

*X

3

*…*X

n

”. In the implementation of the algorithm, the

operations were replaced or optimized considering that.

Figure 3

Average values [us] with a 95%

confidence interval:

Multiplication = 42,392 _ 0,374

Division = 85,562 _ 0,364

Pow = 41,362 _ 0,074

Square = 41,836 _ 0,0699

Sqrt = 84,892 _ 0,243

Fabs = 42,23 _ 0,08

Add = 41,081 _ 0,143

Sub = 39,72 _ 0,119

Table 1

Figure 3 show the time consumed by various functions. As can it see, different functions

use different times. For all cases, random values (X and Y) were used and the format of the

operations is as follows:

- Multiplication: X*X

- Division: X/Y

- Pow: pow(X,2) = X

2

- Square: square(X) = X

2

- Sqrt: sqrt(X) = √X

- Fabs: fabs(X*Y) = |X ∗ ¥|

0

0,5

1

1,5

2

2,5

3

Mult. Division Pow Square Sqrt Fabs Add Sub

E

n

e

r

g

y

c

o

n

s

u

m

p

t

i

o

n

[

u

J

]

Math functions

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

8

From here onwards, 500 samples for each position algorithm and for different number of

anchors were taken. Anchors are reference nodes that the mobile node uses for estimate

the position. The standard deviation and average of the taken samples are calculated with

95% confidence intervals. In this case, we have more than 30 samples which are

independent of each other. Thus, the confidence intervals can be estimated as follows:

X -z

u¡2

∗ S¡√n < p < X +z

u¡2

∗ S¡√n

where: n = number of samples.

X = average value of n samples.

S = standard deviation of n samples.

p = mean value of the population.

z

u¡2

= value that ensures a 95% confidence interval. In this case, this value is 1,96.

The execution time of the localization algorithms were investigated with different number

of anchors. The next results show this.

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

9

Figure 4 (a,b)

Average values [us] with a 95% confidence interval for

1 Anchor

Weighted-Centroid = 458,068 _ 0,507

Standard MinMax = 392,262 _ 0,903

Extended-MinMax1 = 2760,632 _ 2,135

Extended-MinMax2 = 2903,872 _ 1,819

Extended-MinMax3 = 2061,214 _ 1,588

Extended-MinMax4 = 2303,502 _ 2,103

Multilateration = 885,476 _ 0,669

ExtendedKalmanFilter = 54971,58 _ 3,289

Pos.ExtendedKalmanFilter = 222359,158 _ 39,611

Table 3

0

500

1000

1500

2000

2500

3000

3500

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

1 Anchor

0

50000

100000

150000

200000

250000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

1 Anchor (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

10

Figure 5 (a,b)

Average values [us] with a 95% confidence interval for

2 Anchors

Weighted-Centroid = 691,276 _ 1

Standard MinMax = 627,152 _ 3,691

Extended-MinMax1 = 4466,54 _ 6,009

Extended-MinMax2 = 4763,528 _ 5,576

Extended-MinMax3 = 3025,422 _ 4,140

Extended-MinMax4 = 3546,05 _ 5,372

Multilateration = 2236,146 _ 14,831

ExtendedKalmanFilter = 68134,934 _ 16,071

Pos.ExtendedKalmanFilter = 333284,132 _ 69,554

Table 4

0

1000

2000

3000

4000

5000

6000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

2 Anchors

0

50000

100000

150000

200000

250000

300000

350000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

2 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

11

Figure 6 (a,b)

Average values [us] with a 95% confidence interval for

3 Anchors

Weighted-Centroid = 923,612 _ 1,012

Standard MinMax = 846,818 _ 5,322

Extended-MinMax1 = 6140,508 _ 7,645

Extended-MinMax2 = 6590,232 _ 7,173

Extended-MinMax3 = 3968,094 _ 6,447

Extended-MinMax4 = 4761,08 _ 7,95

Multilateration = 4362,702 _ 32,678

ExtendedKalmanFilter = 82210,422 _ 303,692

Pos.ExtendedKalmanFilter = 428140,566 _ 4946,019

Table 5

0

1000

2000

3000

4000

5000

6000

7000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

3 Anchors

0

50000

100000

150000

200000

250000

300000

350000

400000

450000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

3 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

12

Figure 7 (a,b)

Average values [us] with a 95% confidence interval for

4 Anchors

Weighted-Centroid = 1154,974 _ 1,54

Standard MinMax = 1043,16 _ 6,913

Extended-MinMax1 = 7794,368 _ 8,404

Extended-MinMax2 = 8390,344 _ 9,368

Extended-MinMax3 = 4892,966 _ 8,098

Extended-MinMax4 = 5951,4 _ 9,228

Multilateration = 6752,598 _ 4,006

ExtendedKalmanFilter = 106186,904 _ 10,008

Pos.ExtendedKalmanFilter = 688288,206 _ 80,087

Table 6

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

4 Anchors

0

100000

200000

300000

400000

500000

600000

700000

800000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

4 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

13

Figure 8 (a,b)

Average values [us] with a 95% confidence interval for

5 Anchors

Weighted-Centroid = 1387,386 _ 1,58

Standard MinMax = 1242,308 _ 6,166

Extended-MinMax1 = 9438,518 _ 8,396

Extended-MinMax2 = 10178,926 _ 8,654

Extended-MinMax3 = 5816,836 _ 7,383

Extended-MinMax4 = 7140,492 _ 9,02

Multilateration = 8831,846 _ 5,579

ExtendedKalmanFilter = 131714,752 _ 9,21

Pos.ExtendedKalmanFilter = 955718,554 _ 112,129

Table 7

0

2000

4000

6000

8000

10000

12000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

5 Anchors

0

200000

400000

600000

800000

1000000

1200000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

5 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

14

Figure 9 (a,b)

Average values [us] with a 95% confidence interval for

6 Anchors

Weighted-Centroid = 1635,316 _ 2,417

Standard MinMax = 1446,91 _ 7,191

Extended-MinMax1 = 11177,96 _ 8,78

Extended-MinMax2 = 12072,028 _ 9,216

Extended-MinMax3 = 6798,366 _ 7,59

Extended-MinMax4 = 8397,038 _ 9,227

Multilateration = 10998,21 _ 7,833

ExtendedKalmanFilter = 162845,77 _ 13,155

Pos.ExtendedKalmanFilter = 1310152,7 _ 186,833

Table 8

0

2000

4000

6000

8000

10000

12000

14000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

6 Anchors

0

200000

400000

600000

800000

1000000

1200000

1400000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

6 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

15

Figure 10 (a,b)

Average values [us] with a 95% confidence interval for

7 Anchors

Weighted-Centroid = 1871,99 _ 2,038

Standard MinMax = 1637,818 _ 7,743

Extended-MinMax1 = 12830,56 _ 10,314

Extended-MinMax2 = 13868,332 _ 10,854

Extended-MinMax3 = 7719,794 _ 9,551

Extended-MinMax4 = 9585,454 _ 10,382

Multilateration = 13073,45 _ 8,838

ExtendedKalmanFilter = 200373,696 _ 14,482

Pos.ExtendedKalmanFilter = 1746182,138 _ 234,75

Table 9

0

2000

4000

6000

8000

10000

12000

14000

16000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

7 Anchors

0

200000

400000

600000

800000

1000000

1200000

1400000

1600000

1800000

2000000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

7 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

16

Figure 11 (a,b)

Average values [us] with a 95% confidence interval for

8 Anchors

Weighted-Centroid = 2109,33 _ 2,231

Standard MinMax = 1823,58 _ 6,728

Extended-MinMax1 = 14489,796 _ 10,057

Extended-MinMax2 = 15673,346 _ 9,974

Extended-MinMax3 = 8648,11 _ 7,778

Extended-MinMax4 = 10779,268 _ 9,236

Multilateration = 15172,422 _ 12,647

ExtendedKalmanFilter = 238909,804 _ 14,608

Pos.ExtendedKalmanFilter = 2286693,906 _ 253,479

Table 10

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

8 Anchors

0

500000

1000000

1500000

2000000

2500000

ExtendedKalmanFilter Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

8 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

17

Figure 12 (a,b)

Average values [us] with a 95% confidence interval for

9 Anchors

Weighted-Centroid = 2330,968 _ 2,448

Standard MinMax = 2003,974 _ 6,846

Extended-MinMax1 = 16029,21 _ 11,607

Weighted-MinMax2 = 17347,138 _ 11,268

Weighted-MinMax3 = 9506,028 _ 9,429

Weighted-MinMax4 = 11892,218 _ 10,776

Multilateration = 17116,386 _ 14,542

Pos.ExtendedKalmanFilter = 2868017,548 _ 482,601

Table 11

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

9 Anchors

0

500000

1000000

1500000

2000000

2500000

3000000

3500000

Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

9 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

18

Figure 13 (a,b)

Average values [us] with a 95% confidence interval for

10 Anchors

Weighted-Centroid = 2577,69 _ 2,768

Standard MinMax = 2185,338 _ 6,039

Weighted-MinMax1 = 17668,354 _ 8,912

Weighted-MinMax2 = 19129,076 _ 9,577

Weighted-MinMax3 = 10421,13 _ 8,283

Weighted-MinMax4 = 13069,546 _ 9,829

Multilateration = 19183,234 _ 16,294

Pos.ExtendedKalmanFilter = 3637160,65 _ 360,801

Table 12

0

5000

10000

15000

20000

25000

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

10 Anchors

0

500000

1000000

1500000

2000000

2500000

3000000

3500000

4000000

Pos.ExtendedKalmanFilter

A

v

e

r

a

g

e

t

i

m

e

[

u

s

]

10 Anchors (cont.)

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

19

As can be expected, as the number of anchors increases, so does the time. In all cases, the

error or deviation is very small. Weighted Centroid and Standard Min-Max are the

algorithms that consumes less time. That is because they only use simple functions and

simple algebra to obtain the result.

There is a big difference, between the above mentioned algorithms and the group of

Extended-MinMax. The main reason for this is simple: Extended-Minmax presents a

greater complexity of the code and the addition of functions and operations. In particular,

Extended-MinMax1 and Extended-MinMax2 are bigger than Extended-MinMax3 and

Extended-MinMax4. This is because the inclusion in the first two algorithms of the function

“sqrt” that, as can be seen in figure 3, consumes more time than the others.

Multilateration is the algorithm which grows faster as the number of anchors increases. At

the beginning, it has a duration similar to Weighted Centroid or Standard MinMax, but

with a greater number of anchors, for example 8, its duration is like Extended-MinMax1 or

Extenden-MinMax2.

Extended Kalman Filter and Position Extended Kalman Filter are certainly the most time

consuming and this is due to the large number of operations that this algorithms performs.

Even with one anchor, they reach levels never reached for the other algorithms. Position

Extended Kalman Filter is an iterative algorithm which executes a certain number of

iterations for calculating position estimation (in the implementation there are 15 iterations

for calculation). Therefore, this algorithm is the most expensive one in terms of time

consuming.

Figure 12 and figure 13 do not show the values for Extended Kalman Filter. During the

execution, these values could not be obtained because the node accused an error and

could not continue with measurements. This is due to an error in the code that should be

investigated in the future in detail.

4. FUTURE WORKS

It would be advantageous to extend these measurements to a greater number of

algorithms, as well as implement it in other nodes with other microcontrollers. Other

alternatives to optimize the code could be investigated and implemented. It could be also

useful, to know the total energy consumption in a position estimation. It means, not only

the consumption due to processing of the algorithm, but also related to the necessary

communication between the nodes.

5. CONCLUSIONS

Measuring the time execution of certain tasks in a microcontroller, it is an option to

indirectly estimate the energy consumption of them. In this work, time measurements

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

20

was taken and investigated to understand the behavior of different localization algorithms

and its total energy consumption.

Nine localization algorithms were analized with different number of anchors, confirming

that there is a direct relationship between this and the execution time of each algorithm.

We detect that the division and sqrt functions have a longer execution time (about factor

two) than multiplications. Another conclusion was that Weighted centroid and Standard

Min-Max are very low complexity algorithms. On the other hand, Position Extended

Kalman Filter has an execution time of about one second with five Anchors. Therefore,

due to that, it is not recommended to execute this algorithm on a sensor node.

SANTIAGO MIÑO TECHNISCHE UNIVERSITÄT DRESDEN

FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK

21

6. BIBLIOGRAPHY

[1]. Sergio Edesa: “Performance investigation of low-complexity localization algorithms in 3D

scenarios”, pages 29-34. Final Project, Chair of Telecommunications, Technische Universität

Dresden, Germany, 2012.

[2]. Jorge Juan Robles, Javier Supervía Pola, Ralf Lehnert: “Extended Min-Max Algorithm for

Position Estimation in Sensor Networks”, Workshop on Positioning and Navigation 2012

(WPNC 2012), Dresden.

[3]. Jaegeol Yim, Seunghwan Jeong, Kiyoung Gwon, Jaehun Joo: “Improvement of Kalman

filters for WLAN based indoor tracking”. Published in Journal Expert Systems with Applications,

Volume 37, pages 426-433, 2010.

[4]. Dresden Elektronik: “Radio Controller Board RCB231SMA mega256 V4.4.0”. Information

webpage available in https://shop.dresden-elektronik.de/referenz-designs/evaluierung-rcb/2-

4-ghz-evaluierung-rcb/radio-controller-board-rcb231sma-

mega256.html?___store=english&___from_store=deutsch. Last access January 2013.

[5]. Dresden Elektronik: “Sensor Terminal Board”. Information webpage available in

http://www.dresden-elektronik.de/funktechnik/products/boards-and-kits/development-

boards/sensor-terminal-board/. Last access January 2013.

[6]. Jorge Juan Robles, Sebastián Tromer, Mónica Quiroga, Ralf Lehnert: “Enabling Low-power

Localization for Mobile Sensor Nodes”, Published in International Conference on Indoor

Positioning and Indoor Navigation (IPIN), Zürich, Switzerland, 2010.

[7]. Datasheet available in http://www.dresden-

elektronik.de/funktechnik/uploads/media/RCB230-V3.2-DBT-en.pdf. Last access January 2013.

[8]. Batch Means Method. Information webpage available in

http://www.netlab.tkk.fi/opetus/s38148/s04/luennot/E_statanal_net.pdf. Last access January

2013.

- Handbuch SerDia2010 DeUploaded byIordan Adrian
- Manual_de_DE.pdfUploaded bynudape
- fx0nUploaded byypuntoenboca
- 5 Analyse Und Synthese Adaptiver FilterUploaded byquantumflight
- PCNEWS-6Uploaded byFranz Fiala
- Server AnlageUploaded byBarbaraNordmann
- 129675 an 01 de be Em 231 4ae 10vdcUploaded byslotviper
- ensoniq-fddUploaded bybobi123
- MMO_TE_QSGUploaded byPaul Albu
- PCNEWS-3Uploaded byFranz Fiala
- AN31 TwinCAT Profibus Achse Einrichten Nicht Interpolierend (1)Uploaded bySebastian Oprea
- MTiG 05 Hafner-wieser-kuehtreiberUploaded byMansoor Fayyaz
- OptimizerUploaded byservicer
- Rp6 m32 Manual DeUploaded byEdin Cerjakovic
- MareikePC.pdfUploaded byAnonymous rca3o5
- Abhishek LebenslaufUploaded byAbhishekBhau
- PGM-Platz_NCK_de.pdfUploaded bysnoopy354354
- SupportInfo-MFB 2014 InstallationUploaded byKosygin Leishangthem
- FX Series Hardware Manual.pdfUploaded byserege
- 2015-08-ChipUploaded byGeorge Vrynios
- Ersatzteile Fv761 45e761x1de-01Uploaded byJohn Nick
- Fortranskript TU BERLIN.mainUploaded byEng_2014
- ProjektbeschreibungUploaded byRené Rübner
- VDI 3814 Blatt-5 2010-03(2)Uploaded byIbrahim Rebhi
- VITRONIC VINSPEC Roboterpruefzelle Optische OberflaechenpruefungUploaded byalberto
- 751679-An-01-Ml-8 Z Drahterweiterung TERXON MX de en FrUploaded bygosha93
- E d Informatica C Sp SN 2016 Var Simulare LGEUploaded byMarcel Dragan
- AufträgeUploaded byEnko
- IADC_0306_deUploaded byschnitzelbube
- Europa Lehrmittel Kfz Lsungen PDFUploaded byJimmy