You are on page 1of 24

TECHNISCHE UNIVERSITÄT DRESDEN

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.