Adaptive green wireless sensor networks Bernard...

101
Bernard Imschoot Adaptive green wireless sensor networks Academiejaar 2012-2013 Faculteit Ingenieurswetenschappen en Architectuur Voorzitter: prof. dr. ir. Daniël De Zutter Vakgroep Informatietechnologie Master in de ingenieurswetenschappen: elektrotechniek Masterproef ingediend tot het behalen van de academische graad van Begeleiders: ir. Pieter De Mil, Peter Ruckebusch Promotor: prof. dr. ir. Ingrid Moerman

Transcript of Adaptive green wireless sensor networks Bernard...

Page 1: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Bernard Imschoot

Adaptive green wireless sensor networks

Academiejaar 2012-2013Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. dr. ir. Daniël De ZutterVakgroep Informatietechnologie

Master in de ingenieurswetenschappen: elektrotechniekMasterproef ingediend tot het behalen van de academische graad van

Begeleiders: ir. Pieter De Mil, Peter RuckebuschPromotor: prof. dr. ir. Ingrid Moerman

Page 2: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar
Page 3: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Bernard Imschoot

Adaptive green wireless sensor networks

Academiejaar 2012-2013Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. dr. ir. Daniël De ZutterVakgroep Informatietechnologie

Master in de ingenieurswetenschappen: elektrotechniekMasterproef ingediend tot het behalen van de academische graad van

Begeleiders: ir. Pieter De Mil, Peter RuckebuschPromotor: prof. dr. ir. Ingrid Moerman

Page 4: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Adaptive Green Wireless Sensor NetworksBernard Imschoot

Supervisor(s): Ingrid Moerman, Pieter De Mil, Peter Ruckebusch

Abstract— Power management algorithms are used to modify the loadprofile of sensor nodes in green wireless sensor networks to fit the harvest-ing profile. Two different algorithms were developed: a reactive algorithmthat maximizes the performance while ensuring energy-neutral operationand a proactive algorithm that maximizes performance but allows the nodeto shut down when no energy is harvested, this required the developmentof a fast discovery mechanism. The reactive algorithm detects the dailyand seasonal trend of the harvesting profile, the proactive algorithm detectsfluctuations during the day but requires the use of a small primary energybuffer.

Keywords— Energy harvesting, wireless sensor networks, self-learning,power management, discovery.

I. INTRODUCTION

THE operation of green wireless sensor networks is con-strained by the energy-harvesting source: the amount of

energy that is collected from the environment varies in time andin space. Therefore, power management systems are needed toadapt the variable load profile of the sensor node to the variableharvesting profile of the ambient source. These systems consistof energy buffers and power management algorithms. The en-ergy buffers are used to store excess energy for later use. Powermanagement algorithms take the harvesting profile as input, andhave the load profile of the sensor node as output. The objectiveis to maximize the performance of the sensor node. To achievethis goal, the algorithm needs to know the exact future harvest-ing profile [1]. Because this information is not available, powermanagement algorithms follow a specific outline: (1) estimatethe future harvesting profile; (2) solve the optimization problemwith the predicted harvesting profile as input and finally; (3)take corrective measures to solve prediction errors. In this arti-cle two approaches are discussed: (1) a reactive algorithm thatmaximizes performance and ensures energy-neutral operation,and (2) a proactive algorithm that maximizes performance andallows the node to shut down when no energy is harvested. Forthe latter approach, a fast discovery mechanism is required.

II. ALGORITHMS

A. Measurement Support

The sensor nodes considered in this article consist of anMSP430 microcontroller, a CC2520 low-power radio, sensorsand a power supply system. The power supply system underconsideration consists of an ultracapacitor that is charged byan ambient source. The voltage across the ultracapacitor is setdirectly on the sensor node, therefore it is restricted to 3.2V.The sensor node uses the microcontroller to measure the supplyvoltage, which is an indirect indication of the amount of energystored on the capacitor. This approach is very simple and doesnot require special measurement hardware, but has several dis-advantages: (1) the supply voltage varies slowly (note that it isproportional to C−1, with C the capacitor size); (2) measuring

the voltage level comes at a power penalty; and (3) the maxi-mum measurable voltage is 3.0V whereas the maximum supplyvoltage is 3.2V. The algorithms use the same interpretation ofthe measured voltage levels. If the measured voltage is 3.0V, thesupply voltage is in the range from 3.0V to 3.2V and the algo-rithm can decide to increase the performance. If the measuredvoltage is below 3.0V, the supply voltage is lower than 3.0V andthe algorithm will decide to decrease the performance.

B. Reactive Algorithm

The reactive algorithm has two objectives: maximize perfor-mance and ensure energy-neutral operation. To achieve thisgoal, a time window of 24 hours is used: energy-neutrality isa requirement for periods of 24 hours. Note that the duration ofthe window corresponds to one diurnal cycle of solar energy.The window is divided into 24 slots of one hour each. Theslots are chosen large because (1) energy-neutrality requires alarge capacitor, meaning that the supply voltage varies slowlyand (2) the amount of harvested solar energy is expected to beapproximately constant for slot durations of one hour. For eachslot, three variables are used: the optimal performance level, thesuccess count and the current performance level. The successcount indicates the number of consecutive performance levelsthat could be achieved. The objective of the algorithm is to findan achievable performance level for each slot. The performanceis adapted by using a three-level hierarchy. Each level adds tothe learning capabilities of the node:

Reactive level: when the measured voltage is lower than3.0V, the performance is immediately decreased to the minimumperformance level. Also, the success count of the slot becomeszero.

Deliberative level: this is executed at the end of each win-dow: the current performance level of all slots is adapted. Theperformance is decreased when the succeeding slot is unsuc-cessful (count equals zero), and can only be increased when theconsidered slot and its successor are both successful. This mech-anism ensures that energy is transferred from successful slots tounsuccessful slots to achieve that all slots are successful afterthe next window. The optimal performance level is lowered ifthe performance level was not achievable (success count is zero)and the success count is increased by one.

Reflective level: this is needed to adapt to seasonal varia-tions and determine the operation of the deliberative level. Theincrease used by the deliberative level is determined as half ofthe difference between the optimal performance level and thecurrent performance level. If the success count is seven (cor-responding to one week), the optimal performance level is in-creased.

Page 5: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

C. Proactive Algorithm

The proactive algorithm tries to maximize the performance. Itdoes not guarantee energy-neutral operation: the node is allowedto shut down at night, when no energy is harvested. This impliesthat the energy buffer needs to be recharged every morning. Tomake this process not too lengthy the capacitor size should bechosen small. The node measures the supply voltage every sec-ond and uses this information to immediately adapt the perfor-mance. The performance adaptation uses the following rules:(1) if the measured voltage is lower than 2.9V, a fluctuation isdetected and the performance is adapted to the minimum perfor-mance level; (2) if the measured voltage is lower than 3.0V (buthigher than 2.9V), the performance is decreased by one unit (forexample 1Hz); and (3) if the measured voltage is 3.0V the per-formance level is made twice as high. The proactive algorithmuses an asymmetrical performance adaptation mechanism: in-creasing the performance is done faster than decreasing the per-formance (except when a fluctuation is detected), this is neces-sary to prevent the performance level from having an unstablebehavior. Also, detecting fluctuations is important because thesmall capacitor size implies that the node can not be poweredfor lengthy periods using the energy stored in the capacitor.

D. Discovery Mechanism

Because the discovery process needs to be repeated daily inthe proactive algorithm, it is of major importance that nodes areable to discover other nodes in their communication range veryquickly. Also, each node should be able to start the discoveryprocess. These goals are achieved by using a distributed dis-covery mechanism that sends discovery requests in bursts and atrandom times. The burstiness is decreased and the randomnessis increased when the voltage drops below 3.0V.

III. TEST RESULTS

A. Reactive Algorithm

A simulation of seven days was done. Figure 1 (c) showsthat the supply voltage during the day is at the maximum level:the node adopts a performance level (inverse of the period) thatallows it to store energy in the buffer to power the node at night.The node uses a close approximation of the optimal performancelevel after 4-7 executions of the deliberative level. Fluctuationshave no influence because an estimate of the average harvesterbehavior is used.

Fig. 1. Average harvester profile, period and supply voltage profile for thereactive algorithm after a simulation of 7 days with a capacitor of 110F anda solar panel area of 17.4cm2.

B. Proactive Algorithm

Simulations were done using an artificial harvesting profile(harvested current is 2.6mA, except for 40s when nothing is har-vested, followed by 4s in which 70mA is harvested) to show allproperties. The results of the test are shown in figure 2. Notethe asymmetrical performance (inverse of the period) adaptationused by the algorithm. The voltage (fig. 2(a)) is kept around3.0V, when this is not possible the performance (fig. 2(b)) isdecreased.

Fig. 2. Supply voltage profile and period with which the radio is turned on forthe proactive algorithm for a capacitor of 100mF.

C. Discovery Mechanism

Figure 3 shows how the discovery mechanism adapts theburstiness and the randomness of the period with which the radiois turned on. The sensor node increases the randomness whenthe burstiness is decreased and vice versa. Tests showed that thediscovery finished within seconds after two nodes became ac-tive (meaning that the energy buffer is charged), this is becausenodes start the discovery process at the highest burstiness.

Fig. 3. Adapting burstiness and randomness of the period with which the radiois turned on for the discovery mechanism for a capacitor size of 100mF anda solar panel area of 17.4cm2.

IV. CONCLUSION

Test results show that the algorithms have the desired behav-ior. The algorithms are able to adapt the performance of the sen-sor nodes to the harvesting profile. However, the estimate of theharvesting profile made by the reactive algorithm is rough, thisis mainly caused by the limited information (the supply voltage).And, the proactive algorithm can not cope with lengthy fluctu-ations because small capacitors are used. This could be solvedby using a secondary storage element that is used as a back-upfor the primary storage element.

REFERENCES

[1] A. Kansal, J. Hsu, S. Zahedi, M. B. Srivastava, Power Management in En-ergy Harvesting Sensor Networks, ACM Trans. on Embedded ComputingSystem, vol. 6, no. 4, article 32, 2007.

Page 6: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Adaptieve Groene Draadloze Sensor NetwerkenBernard Imschoot

Supervisor(s): Ingrid Moerman, Pieter De Mil, Peter Ruckebusch

Abstract— In groene draadloze sensor netwerken worden power man-agement algoritmen gebruikt om het energieverbruik van sensor nodes aante passen aan de hoeveelheid energie die opgehaald wordt uit groene en-ergiebronnen. Twee algoritmen werden ontwikkeld: een reactief algoritmedat de performantie maximaliseert en energie-neutraliteit garandeert, eneen proactief algoritme dat de performantie maximaliseert en toelaat datde node uitvalt wanneer de energiebron geen energie levert. Het reactiefalgoritme is in staat om trends te detecteren in de hoeveelheid opgehaaldeenergie. Het proactief algoritme is in staat om ogenblikkelijke fluctuatieste detecteren, maar voor een goede werking moet het buffer klein zijn.Daarom is in de praktijk een secundair buffer nodig.

Keywords— Groene energie, draadloze sensor netwerken, zelf-lerend,power management, discovery.

I. INLEIDING

DE werking van groene draadloze sensor netwerken isbeperkt door de energiebron: de hoeveelheid energie die

opgehaald wordt uit de omgeving varieert in tijd en ruimte.Daarom zijn power management systemen nodig die het profielvan het energieverbruik van de node aanpassen aan de variabelehoeveelheid energie die opgehaald wordt uit de omgeving. Dezesystemen bestaan uit energie buffers en power management al-goritmen. De energie buffers zijn nodig om energie overschottenop te slaan voor later gebruik. Power management algoritmenhebben het profiel van de hoeveelheid opgehaalde energie alsinput en hebben het profiel van het energieverbruik van de nodeals output. Het doel is de maximalisatie van de performantievan de sensor node. Om dit te realiseren, moet het algoritme hetvolledige toekomstige profiel van de opgehaalde energie kennen[1]. Omdat deze informatie niet beschikbaar is, volgen powermanagement algoritmen een specifiek patroon: (1) maak eenschatting van het toekomstige profiel van de opgehaalde energie;(2) los het optimalisatieprobleem op met het voorspelde profielals input en uiteindelijk; (3) neem corrigerende maatregelen omfouten in de voorspelling op te lossen. De voorgestelde algorit-men verschillen van deze uit eerder onderzoek door de aanpakdie gebruikt is voor het monitoren van de hoeveelheid beschik-bare energie.

II. ALGORITMES

A. Metingen

De sensor nodes die gebruikt worden in dit artikel bestaanuit een MSP430 microcontroller, een CC2520 laag-vermogenradio, sensoren en een subsysteem om de node te voorzien vanenergie. Dit laatste systeem bestaat in de opstelling uit een ultra-capaciteit die opgeladen wordt door een groene energiebron. Despanning over de ultracapaciteit wordt rechtstreeks op de sensornode gezet, waardoor de maximale spanning beperkt is tot 3.2V.De sensor node gebruikt de microcontroller om de voedingss-panning te meten. De voedingsspanning is een indirecte aan-wijzing over de hoeveelheid energie die opgeslagen is op de ca-paciteit. De aanpak is zeer eenvoudig, maar heeft enkel nadelen:

(1) de voedingsspanning varieert traag (merk op dat de spanningevenredig is met C−1, waarbij C de grootte van de capaciteitis); (2) de spanningsmeting gaat gepaard met energieverbruik;en (3) de maximaal meetbare spanning is 3.0V, maar de maxi-male voedingsspanning is 3.2V. De algoritmen gebruiken alle-bei dezelfde interpretatie van het gemeten spanningsniveau. Alsde gemeten spanning 3.0V is, ligt de voedingsspanning tussen3.0V en 3.2V. Het algoritme kan beslissen om de performantiete verhogen. Als de gemeten spanning lager is dan 3.0V, is devoedingsspanning ook lager dan 3.0V. Het algoritme zal de per-formantie verlagen.

B. Reactief Algoritme

Het reactief algoritme heeft twee doelen: het maximaliserenvan de performantie en het garanderen van een energie-neutralewerking van de node. Om deze doelen te bereiken wordt eentijdsvenster van 24 uur gebruikt: energie-neutraliteit is vereistvoor periodes van 24 uur. Het tijdsvenster wordt opgedeeld in24 sloten van elk 1 uur. De sloten worden groot gekozen omdat(1) de energie-neutraliteit een grote capaciteit vereist, dit im-pliceert dat de spanning traag varieert en (2) er wordt veron-dersteld dat de hoeveelheid zonne-energie benaderd kan wordendoor een constante voor periodes van 1 uur. Voor elk slot wordendrie variabelen gebruikt: het optimale performantie niveau, eenteller die het aantal opeenvolgende succesvolle keuzes bijhoudten het huidige performantie niveau. Het doel van het algoritmeis het vinden van een haalbaar performantie niveau voor elk slot.De performantie wordt aangepast door een hierarchisch mecha-nisme dat werkt met drie niveaus. Elk niveau voegt kennis overde groene energiebron toe:

Reactief niveau: wanneer de gemeten spanning onder 3.0Vzakt, wordt de performantie onmiddelijk aangepast naar hetminimale performantieniveau. De teller wordt op nul gezet.

Deliberatief niveau: dit niveau wordt op het einde van hetvenster uitgevoerd voor alle sloten. Het performantieniveauwordt verlaagd als het volgende slot niet succesvol was, en hetkan enkel verhoogd worden als het slot en zijn opvolger suc-cesvol waren. Dit mechanisme zorgt dat energie van een suc-cesvol slot wordt opgeslaan voor een onsuccesvol slot, zodatin het volgende venster alle sloten succesvol zijn. Het opti-male performantieniveau wordt verlaagd als het huidige perfor-mantieniveau niet haalbaar was.

Reflectief niveau: op dit niveau wordt de performantieaangepast aan de seizoenstrend en wordt de werking van hetdeliberatief niveau gecontroleerd. De toename die in dat niveaugebruikt wordt, wordt bepaald als de helft van het verschil tussenhet optimale performantie niveau en het huidige performantieniveau. Als de teller op zeven staat, wordt het optimale perfor-mantie niveau verhoogd.

Page 7: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

C. Proactive Algorithm

Het proactieve algoritme heeft als doel de maximalisatie vande performantie. Het garandeert geen energie-neutrale werking:de node mag uitvallen als geen energie opgehaald wordt. Dit im-pliceert dat het energiebuffer elke ochtend herladen moet wor-den. Opdat dit proces niet te lang duurt, moet de capaciteit vol-doende klein gekozen worden. De node meet de voedingsspan-ning elke seconde en gebruikt deze informatie om onmiddelijkde performantie aan te passen. Dit gebeurt volgens deze regels:(1) als de gemeten spanning lager is dan 2.9V, is een fluctuatiegedetecteerd en wordt de performantie aangepast naar het mini-male niveau; (2) als de spanning tussen 2.9V en 3.0V ligt, wordtde performantie verlaagd met 1 eenheid (bijvoorbeeld 1Hz); en(3) als de gemeten spanning gelijk is aan 3.0V wordt de per-formantie verdubbeld. Het proactief algoritme doet dus eenasymmetrische performantie aanpassing: de performantie neemtsneller toe dan dan ze afneemt, dit is nodig om te voorkomen dathet performantieniveau schommelt. Voorts is het detecteren vanfluctuaties belangrijk omdat de kleine capaciteit impliceert datde node niet voor lange tijd gevoed kan worden door het buffer.

D. Discovery Mechanisme

Omdat het discovery proces voor het proactief algoritmedagelijks herhaald moet worden, is het belangrijk dat nodes instaat zijn om snel andere nodes in hun communicatie bereik teontdekken. Bovendien moet elke node in staat zijn om het dis-covery proces op te starten. Om deze redenen wordt een gedis-tribueerd discovery mechanisme gebruikt dat requests verstuurdin bursts en op random tijden. Na het versturen van een request,luistert de node voor de radio afgezet wordt. Wanneer de geme-ten spanning onder 3.0V zakt, wordt het buffer opgeladen, wordtde burstiness verlaagd en wordt de randomness verhoogd.

III. TEST RESULTATEN

A. Reactief Algoritme

Een simulatie van 7 dagen werd uitgevoerd. Figuur 1 (c) toontdat de voedingsspanning doorheen de dag maximaal is, wat wilzeggen dat de node een performantieniveau (inverse van de pe-riode, figuur 1 (b)) gebruikt dat toelaat om het buffer volledigop te laden voor de nacht. Na 4-7 dagen gebruikt de node eenperformantieniveau dicht bij het optimale niveau. Fluctuatieshebben geen invloed, omdat het algoritme een schatting van hetgemiddelde gebruikt voor elk slot van een uur.

Fig. 1. Uitgemiddeld harvester profiel, periode en voedingsspanning voor hetreactief algoritme na een simulatie van 7 dagen met een capaciteit van 110Fen een zonnepaneel van 17.4cm2.

B. Proactief Algoritme

Simulaties werden uitgevoerd met een artificieel harvesterprofiel (de harvester stroom is 2.6mA, behalve voor een periodevan 40s waarin niets geharvested wordt, gevolgd door 4s waarin70mA geharvested wordt). Figuur 2 toont de resultaten. De per-formantie (inverse van de periode) aanpassing verloopt op eenasymmetrische manier. De voedingsspanning blijft rond 3.0V:wanneer dit niet mogelijk is, wordt de performantie verlaagd.

Fig. 2. Voedingsspanning en periode waarmee de radio aangezet wordt door hetproactief algoritme voor een capaciteit van 100mF.

C. Discovery Mechanism

Figuur 3 toont hoe het discovery mechanisme de bustiness enrandomness van de periode waarmee de radio wordt aangezet.Merk op dat de randomness toeneemt als de burstiness afneemten vice versa. Testen tonen dat het discovery proces beeindigdwordt binnen enkele seconden nadat twee nodes actief zijn. Ditis vooral te danken aan het feit dat een node bij het opstartenrequests verstuurd met de hoogste burstiness.

Fig. 3. Aanpassen van de burstiness en de randomness van de periode waarmeede radio wordt aangezet door het discovery mechanisme voor een capaciteitvan 100mF en een zonnepaneel van 17.4cm2.

IV. CONCLUSIES

Test resultaten tonen dat de algoritmes de gewenste perfor-mantie hebben. De algoritmes passen de performantie van desensor node aan aan het profiel van de opgehaalde energie.Maar, de schatting door het reactief algoritme is ruw. Dit komtvooral doordat beperkte informatie over de energiebron wordtgebruikt. En, het proactief algoritme is niet in staat om omte gaan met langdurige fluctuaties, omdat een kleine capaciteitgebruikt moet worden. Dit kan opgelost worden door een se-cundair opslagelement te gebruiken dat gebruikt wordt als back-up voor het primaire opslagelement.

REFERENCES

[1] A. Kansal, J. Hsu, S. Zahedi, M. B. Srivastava, Power Management in En-ergy Harvesting Sensor Networks, ACM Trans. on Embedded ComputingSystem, vol. 6, no. 4, article 32, 2007.

Page 8: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Preface

This thesis was chosen because of my interest in wireless sensor networks, an interest that

was effectuated by following a course on wireless and broadband access networks. It was

also chosen because of my interest in green energy. I believe sustainable technologies are

absolutely necessary to be able to retain our western living standards without compromising

our future.

This thesis would not have been possible without the aid of my two supervisors: Pieter De

Mil and Peter Ruckebusch. They always offered advise and took the time to listen to my

(sometimes silly) problems. I would also like to thank Bart Jooris and Pieter Becue for all

the effort they have put into solving my testbed issues.

I would also like to thank, in no specific order, my promoter prof. dr. ir. Ingrid Moerman,

because following her course motivated me for this thesis. Tim Herinck, Matthias Feys and

Jeroen Vankelecom, because pushing on from early in the morning until 3 at night would

not have been as fun alone. And last but not least, my family and friends.

viii

Page 9: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

The author gives permission to make this master dissertation available for consultation

and to copy parts of this master dissertation for personal use. In the case of any other

use, the limitations of the copyright have to be respected, in particular with regard to the

obligation to state expressly the source when quoting results from this master dissertation.

De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en

delen van de masterproef te kopieren voor persoonlijk gebruik. Elk ander gebruik valt onder

de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting

de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef.

3 June, 2013

Page 10: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Adaptive Green

Wireless Sensor Networksby

Bernard Imschoot

Promotor: Prof. Dr. Ir. I. Moerman

Mentors: Ir. P. De Mil, P. Ruckebusch

Thesis submitted to obtain the degree of

Master of Science in Electrical Engineering

Department of Information Technology

Chairman: Prof. Dr. Ir. D. De Zutter

Faculty of Engineering and Architecture

Ghent University

Academic year 2012-2013

Overview

The operation of green wireless sensor networks is constrained by the energy-harvestingsource: the amount of energy that is collected from the environment varies in time andspace. Therefore, power management algorithms are needed to adapt the variable loadprofile of the sensor node to the variable harvesting profile of the ambient source. Inthis dissertation, two power management algorithms are presented. Also, algorithms thatgovern the operation of the sensor node at the MAC layer will be discussed. These algo-rithsm include discovery, synchronization and performance negotiation mechanisms. Thepresented algorithms are tested on the Wilab2 testbed of the University of Ghent. To maketesting possible, a harvester emulation method is developed.

Keywords

Energy harvesting, wireless sensor networks, self-learning, power management, MAC layer.

Page 11: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Contents

Abstract: English iv

Abstract: Nederlands vi

Preface viii

Overview x

Table of Contents xi

1 Introduction 1

1.1 Wireless Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Thesis Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Literature 4

2.1 Harvesting Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Energy-Harvesting Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Power Management Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.1 Energy Prediction Methods . . . . . . . . . . . . . . . . . . . . . . 18

2.3.2 Load Profile Adaptation . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.3 Measurement Support . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 Algorithms 29

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2 Post-Boot Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3 Discovery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.4 Synchronization and Negotation . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4.1 Clock Drift Compensation . . . . . . . . . . . . . . . . . . . . . . . 39

3.4.2 Timestamp Propagation . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4.3 Negotiating Performance . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5 Power Management Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 47

xi

Page 12: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

CONTENTS CONTENTS

3.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5.2 Reactive Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.5.3 Proactive Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.6 Steady State Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4 Experiments 56

4.1 Testbed Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.2 Dimensioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.3 Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.4 Power Management Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 73

4.4.1 Reactive Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.4.2 Proactive Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5 Conclusions and Future Work 80

5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Bibliography 84

List of Figures 86

List of Tables 88

xii

Page 13: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Chapter 1

Introduction

1.1 Wireless Sensor Networks

A wireless sensor network (WSN) consists of spatially distributed self-organizing sensor

nodes that coopereatively monitor physical or environmental conditions at various locations

and report their monitoring information to a sink. The sensor nodes that make up a WSN

typically are cheap, unreliable and energy-constrained devices. Sensor nodes are mostly

densely deployed. They consist of four subsystems:

A computing subsystem: it consists of a microprocessor and memory unit. It is

responsible for the control of the sensor and execution of communication protocols.

A communication subsystem: it consists of a short range radio used for wireless

communication with neighboring nodes. Radios can operate under the transmit,

receive, idle and sleep mode.

A sensing subsystem: it consists of one or more sensors and it links the node to the

outside world. A sensor measures a physical quantity and converts it to a signal

which can be read by an observer or by an instrument.

A power supply subsystem.

Wireless sensor networks are useful to monitor inaccessible locations, areas that need high

density monitoring and monitoring in situations where rapid deployment is necessary (such

as disaster areas). Applications can be divided into two groups: applications that require

periodic measurements and applications that react on events. Application fields include

military, environment and habitat, health, industry, etc.

1

Page 14: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

1.2. THESIS OBJECTIVES CHAPTER 1. INTRODUCTION

1.2 Thesis Objectives

Current generations of wireless sensor networks are battery powered, so lifetime is the

major design issue. Typically, a battery powered sensor node can operate for several years

before the battery has to be replaced. The need for replacement makes battery powered

wireless sensor networks difficult and costly to maintain. Therefore, powering sensor nodes

by harvesting energy from ambient sources is an important research topic. Harvesting holds

the promise of wireless sensor networks that can operate unattended for years. Also, toxic

waste (because of battery disposal) is reduced. Thus, energy-harvesting wireless sensor

networks are a truly green solution.

However, ambient sources only provide low output currents, so energy usage is still very

constrained. Also, the amount of harvested energy fluctuates in time and space. This

causes the major design issue to shift from maximizing the lifetime of the sensor node

while guaranteeing some performance level to maximizing the performance level while

guaranteeing that the node on average consumes the same amount of energy as it collects

from the environment. The operation of such a node is called energy neutral. If more

energy is consumed than the amount of energy that is harvested, the operation is called

energy negative. And if more energy is harvested than the amount that is consumed, the

operation is called energy positive. The performance of a network is typically defined as

the frequency with which measurement data is reported to the sink.

This thesis has two major objectives:

Develop a test setup that can be used to emulate different harvesting technologies

and simulate a network in which all nodes can use a different harvesting technology

and/or have different harvesting opportunities.

Develop algorithms that adapt the performance of the sensor node based on the nodes

harvesting opportunities. The focus is on Media Access Control (MAC) layer algo-

rithms (discovery, synchronization and power management), higher layer algorithms

(starting from the routing layer) fall out of the scope of this thesis. The algorithms

should function with any harvesting technology.

2

Page 15: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

1.3. THESIS STRUCTURE CHAPTER 1. INTRODUCTION

1.3 Thesis Structure

Chapter 1: Introduction

This chapter gives an overview of wireless sensor networks, it explains how this thesis is

situated in WSN research, and it gives an overview of the thesis objectives.

Chapter 2: Literature

This chapter gives a detailed overview of research towards energy-harvesting wireless sen-

sor networks. It consists of three parts. The first part, harvesting theory, provides a de-

tailed discussion of problems associated with energy harvesting. The second part, energy-

harvesting nodes, discusses the hardware archicture needed for energy harvesting: it dis-

cusses a general architecture that has been deduced from the architectures used in state-

of-the-art solutions. The third part, power management algorithms, discusses algorithms

for energy-harvesting nodes, the focus is on power management algorithms.

Chapter 3: Algorithms

This chapter discusses the MAC layer algorithms. Algorithms for discovery, power man-

agement, synchronization and negotiation are presented. Also, the operation of an energy-

harvesting node and the interaction of the algorithms is discussed.

Chapter 4: Experiments

In this chapter the test setup and the experiments are discussed. The experiments are

targeted at solar energy as the ambient source used by the energy-harvesting sensor nodes.

The operation of the algorithms discussed in chapter 3 are tested.

Chapter 5: Conclusions

In this chapter conclusions about energy harvesting and the MAC layer algorithms are

made. Also, future work and possible improvements are discussed.

3

Page 16: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Chapter 2

Literature

This chapter gives an overview of problems and their solutions associated to energy-

harvesting. It also provides a detailed introduction of the most important energy-harvesting

concepts. This chapter is organized in three sections:

Harvesting Theory: the main differences with battery-powered sensor networks, the

objectives of power management systems, a classification and overview of different

harvesting sources.

Energy-Harvesting Nodes: the hardware architecture of energy-harvesting nodes and

a detailed discussion for systems that use solar energy or RF energy.

Power Management Algorithms: the general structure of power management algo-

rithms and a detailed discussion of several solutions with a focus on solar energy.

4

Page 17: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.1. HARVESTING THEORY CHAPTER 2. LITERATURE

2.1 Harvesting Theory

An energy-harvesting node draws its energy from the environment. A key difference from

the energy in battery-powered devices is that this energy source is potentially infinite,

meaning that there is no limit on the amount of energy that can be consumed by the node.

However, there is a limit on the maximum rate at which energy can be consumed and the

harvested energy availability varies in time and space in an undeterministic manner.

Power management is an important concern in sensor networks, the available energy should

be used as efficient as possible. In battery-powered devices, the power management design

goals are to minimize the energy consumption (and thus maximize the battery lifetime)

while guaranteeing some performance requirements. In an energy-harvesting context, the

power management system has two goals [1]:

Energy-neutral operation: the amount of energy consumed by the node equals the

amount of energy harvested by the node when averaged out over a large timespan.

Battery-powered devices have an energy-negative operation, because they only con-

sume energy.

Maximum performance: while ensuring energy-neutral operation, the network should

maximize the performance level. Note that in battery-powered systems the perfor-

mance level is a restriction, not an objective.

To achieve these goals, a power management system is added between the harvesting source

and the load. The power management system must adapt the harvesting profile to the load

profile and vice versa. This can be seen in figure 2.1.

Figure 2.1: General model of energy-harvesting systems.

5

Page 18: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.1. HARVESTING THEORY CHAPTER 2. LITERATURE

Harvesting sources or ambient sources include amongst others solar energy, RF energy,

mechanical energy and chemical energy. Energy is extracted from the environment by

using a transducer. This could be a solar panel, an antenna, a wind turbine, a piezo-electric

transducer or something else. The energy output varies in time and space, depending on

environmental conditions, which are often out of the control of the system designer. In a

distributed system, multiple harvesting sources may be used at multiple nodes at different

locations.

The harvested energy is used to power the load. The load consists of the microcontroller,

memory, radio and sensors of the sensor node. The load profile varies in time.

To be able to support the energy needs of a variable load from a variable energy-harvesting

source, a power management system is needed. The power management system matches

the power supply levels from the harvesting source to the consumption levels of the load.

There are two ways in which the load requirements may be fulfilled. One is the use of an

energy buffer, this is a hardware solution. The other is modifying the load consumption

profile, this is a software solution. Neither of these approaches alone is sufficient, since the

load profile can not be modified arbitrarily and energy storage technologies have nonideal

behavior which leads to energy loss.

Energy sources can be classified into four types [1]:

Uncontrolled but predictable: it can not be controlled to yield energy at desired

times, but its behavior can be modeled to predict the expected availability at a given

time within some error margin. An example is solar energy.

Uncontrollable and unpredictable: it can not be controlled to yield energy at desired

times and its behavior is very complex which makes it hard to predict the availability

within an acceptable error margin. An example is energy from vibrations in an indoor

environment (for this ambient source the prediction is so complex it is impractical to

use).

Partially controllable: energy generation is influenced by the designer or the user,

but it is not fully deterministic. An example is RF harvesting: typical setups use an

RF energy source and multiple harvesting nodes. The amount of energy generated

by the source is controlled by the designer, but the amount of energy extracted by

the nodes also depends on RF propagation characteristics.

Fully controllable: energy can be generated when desired. An example is a battery.

6

Page 19: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.1. HARVESTING THEORY CHAPTER 2. LITERATURE

Research is focused on the first and third type [1]. This is because power management

systems always use some kind of prediction algorithm to estimate the amount of harvested

energy. Energy sources of type two would need another approach, however no methods

were found in literature. For energy sources of the last type the algorithms used in battery

powered systems can be used.

Another important characteristic of ambient sources is the average amount of energy that

can be harvested. Figure 2.2 shows the power densities of the most common harvesting

sources. Solar energy is the most promising ambient source, even with conversion effi-

ciencies of solar panels that lie between 10% and 20%. Therefore, solar energy is the

preferred ambient source for most applications, other ambient sources can only be used

for applications with low performance requirements (when performance is defined as the

frequency with which a node can transmit data). The research towards wireless sensor

networks powered by solar energy is focused on power management algorithms, whereas

the research towards other ambient sources focuses on hardware solutions to achieve higher

conversion efficiencies. Because of this, the focus in this thesis is on solar energy.

Figure 2.2: Power densities of harvesting sources.

7

Page 20: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

2.2 Energy-Harvesting Nodes

In this section the hardware architecture of energy-harvesting nodes is presented. First,

a general architecture is discussed, followed by a detailed discussion for solar energy and

RF energy. The general architecture is based on the architectures found in state-of-the-art

solutions.

Figure 2.3 shows the general architecture of an energy-harvesting sensor node. Some

important remarks:

Some components can be omitted. Whether a component is present or not depends

on its energy consumption. Analysis of the gain of each component is necessary to

decide if it should be used. Each component improves the overall behavior of the

power management system, but no real-life component is 100% efficient.

The presented architecture is valid for all ambient sources, meaning that components

with the same black-box functionality are present. However, the hardware imple-

mentation can be different for different ambient sources to maximize the amount of

harvested energy.

The operation of an energy-harvesting sensor node is managed by a power management

algorithm. The power management algorithm is used to adapt the load profile, or in other

words it decides the energy consumption of the node. To do this, it needs information about

the amount of available energy (feedback from the storage elements) and information about

the amount of consumed energy (feedback from the load). Based on this information, it

decides which energy source to use (directly from the ambient source or from one of the

storage elements). It also decides whether energy should be transferred from the primary

storage element to the secondary storage element (see further) and it could also reconfigure

the input regulator.

Before discussing power management algorithms in detail, the functionality of each com-

ponent in figure 2.3 and its implementation for solar energy and RF energy are presented.

Transducer

The transducer collects energy from the environment and converts it to electrical power.

The most important characteristic of this component is the conversion efficiency.

8

Page 21: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Figure 2.3: Hardware architecture of energy-harvesting sensor nodes.

Photovoltaic Cells

Photovoltaic cells or PV cells are used to collect solar energy. A PV cell consists of a

semiconductor pn-junction. Incident light generates an electrical current. A solar panel

is characterized by its responsivity Rd which relates the output current Iout to the input

power Pin:

Iout = RdPin

The responsivity Rd depends on the semiconductor material. Some common semiconduc-

tors and their responsivity are shown in table 2.1 [2]. Note that this is the main factor in

the overall efficiency of solar harvesting systems (10%-20%).

Semiconductor Responsivity (A/W)

Si 0.4-0.6

Ge 0.5-0.7

InGaAs 0.6-0.9

Table 2.1: Responsivity of semiconductors

9

Page 22: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Figure 2.4: (a) The equivalent electrical model, and (b) the I-V and P-V graphs, of a

generic solar cell.

The equivalent electrical model along with the I-V and P-V graphs of a generic solar cell is

shown in figure 2.4. The diode models the pn-junction. The parallel resistance Rp models

the leakage current at the junction. The series resistance Rs models the ohmic contacts of

the conductors with the silicon [3].

Antenna

Antennas are used to collect RF energy. Most RF powering systems comprise an RF

broadcaster and an RF energy harvester. The RF harvester is placed in the near-field

region of the RF broadcaster. This implies that the field can be considered as an alternating

magnetic or electric field. Thus, these systems most often use capacitive or inductive

coupling to obtain the power. The most widely used antennas are coils (inductive coupling).

The power PAV that an antenna can deliver to a matched load depends on the power density

S and the effective area Ae of the antenna:

PAV = SAe

The equivalent electrical model of an antenna is shown in figure 2.5. An antenna can

be represented by an AC voltage source with a series impedance. The series impedance

comprises the radiation resistance Rs, the loss resistance Rloss and a reactive impedance

Xant. The radiation resistance models the power that is used for transmitting or receiving

10

Page 23: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Figure 2.5: Equivalent electrical model of a generic antenna.

an electromagnetic wave. The loss resistance models the resistance (and the skin effect)

of the elements that form the antenna, it can be neglected at low frequencies. Finally, the

reactive impedance is mainly determined by the antenna design: inductive for loop shaped

antennas, capacitive for patch antennas [4].

Others

Mechanical energy can be converted into electrical power by using the electrostatic, piezo-

electric or electromagnetic mechanism. An innovative mechanical harvesting system is the

wind flutter system proposed by Fei Fei, John D. Mai and Wen Jung Li [5]. It consists of

two parts: a wind belt that converts wind flows into mechanical vibrations and an electro-

magnetic resonant device consisting of two coils and a permanent magnet. Thermal energy

can be converted to electrical energy by thermoelectric or pyroelectric transducers.

Input Regulator

The operating point (combination of voltage V and current I) of the transducer depends on

the load experienced by the transducer. The input regulator is used to make sure that the

operating point of the transducer meets the operational constraints of the energy storage

element (voltage limits, current limits). It is also used to force the transducer to operate

with an operating point that maximizes the amount of harvested energy [3,6].

The input regulator will always consume part of the energy. If it can be omitted, upon

designing the system it should be considered to not use an input regulator. The input

regulator will only be discussed for solar energy and RF energy systems.

Solar Energy

An input regulator for solar energy harvesting will force the solar panel to operate at the

Maximum Power Point (MPP). Because the P-V curve (and the I-V) curve of a solar cell

11

Page 24: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Figure 2.6: (a) A direct-coupled circuit, and (b) a block diagram of a node equipped

with an MPPT.

depends on irradiance and temperature, the MPP depends on irradiance and temperature

[3]. Three input regulators are used in combination with solar cells [3,7]:

Direct-coupled circuits: these use a blocking diode to avoid the discharge of the

storage element. The working point of the solar cell is fixed by the voltage drop over

the diode and the storage unit voltage. The system only occasionally works at the

MPP because the working point varies because of the dependence of Vstorage. The

behavior can be improved by using a DC-DC converter between the solar panel and

the direct-coupled circuit. The DC-DC converter fixex the input voltage, the output

voltage follows the voltage of the storage element. See figure 2.6 (a).

MPPT circuits: MPP tracker (MPPT) circuits include a DC-DC converter and an

MPPT control algorithm. The MPPT control algorithm matches the output of the

solar cell to the energy storage element and forces the solar panel to work at the

MPP regardless of load, irradiance or temperature. It is important to note that the

MPPT circuit consumes energy, this energy consumption should be lower than the

energy gain achieved by tracking the MPP. See figure 2.6 (b).

LOCV circuits: the Linear Open Circuit Voltage (LOCV) method estimates the

MPP voltage VMPP from a linear fit of the open circuit voltage VOC of the solar cell.

Literature shows that VMPP and VOC are related by:

VMPP = aVOC + b

Direct-coupled circuits have efficiencies that are typically between 60% and 90%. The

efficiency of MPPT circuits can exceed 90%, which makes MPPT circuits a very popular

12

Page 25: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

solution. Even higher efficiencies can be achieved using the LOCV method, but imple-

menting this is costly.

RF Energy

The input regulator for harvesting RF energy has three purposes [4]:

Impedance matching: the received power is maximal when the antenna sees an

impedance at its terminals that is the conjugate of its own impedance. To match the

impedance three matching configurations are used: a transformer, a shunt inductor

or an LC network. See figure 2.7 (a).

Rectifying: a rectifier circuit provides a DC output voltage at the ensuing load. Three

circuits are used for rectifying: a diode, a diode bridge or a voltage multiplier rectifier.

All of these circuits are broadband. See figure 2.7 (b) for a hardware implementation

of a single diode rectifier.

Filtering: the rectifying diodes indroduce harmonics in the signal. These harmonics

can reduce the peak amplitude of the received signal if they could flow back to the

antenna. Thus, low pass filters are used to prevent this.

Figure 2.7: (a) Electrical model of an antenna with impedance matching circuit, and (b)

a hardware implementation of a rectifier circuit.

13

Page 26: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Storage Elements

Energy harvesters are always used in combination with storage elements. Storage elements

are used to store excess energy when more energy is collected from the environment than

can be consumed by the load at that moment. As can be seen in figure 2.3, the load is

either powered by the ambient source or by a storage element.

Batteries

Batteries extract electrical power from a chemical reaction. The equivalent electrical model

is shown in figure 2.8 (a). Batteries are classified as either primary or secondary. Primary

batteries can not be recharged, but they have better properties than secondary batteries.

The batteries used in combination with ambient sources are secondary batteries. The most

common secondary batteries and their properties are listed in table 2.2. CCCV stands for

Constant-Current Constant-Voltage, a sloped discharge profile means that the supply volt-

age drops if the battery is discharged (see figure 2.8 (b)) [6,8]. Note that the CCCV charge

method implies that an input regulator is needed. Also note that primary batteries gener-

ally do not have a sloped discharge profile and the leakage (or self-discharge) is lower.

Figure 2.8: (a) Zero-order electrical model of battery, and (b) voltage discharge profiles

for the most common types of primary batteries.

14

Page 27: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Li-ion Li polymer NiMH

Internal impedance Z (mΩ) 30-1000’s 40-1000’s 50-1000’s

Discharge profile Sloped Sloped Sloped

Recommended charge method CCCV CCCV CCCV

Self-discharge (% per month) 2 2.5 15-25

Number of cycles 500-1000 300-500 300-500

Table 2.2: Characteristics of the most common secondary batteries.

Supercapacitors

Supercapacitors, also ultracapacitors, feature activated carbon electrodes that have very

large surface areas and are separated by distances as short as the molecular range. These

characteristics enable higher capacities per unit area than that of regular capacitors. The

equivalent first-order electrical model is shown in figure 2.9 (a). RC models the series

resistance, Rleak models the supercapacitor leakage current. More complex models use

several RC branches in parallel, as can be seen in figure 2.9 (b). The extra RC branches

model longer time constants. Thus, fully charging or discharging an ultracapacitor might

take days. Therefore, supercapacitors should be combined with a charging circuit and a

discharging circuit (these fall in the category of input and output regulators). The main

characteristics are shown in table 2.3 [6,8].

Capacity Units of mF - hundreds of F

Series resistance Units of mΩ - tens of Ω

Leakage Units or tens of µA

Discharge profile Linear

Number of cycles 100000’s

Table 2.3: Properties of supercapacitors.

Hybrid

Secondary batteries have low leakage and a low number of cycles, ultracapacitors have

high leakage and a high number of cycles. This makes hybrid systems with ultracapaci-

tors as primary storage element and secondary batteries as secondary storage element the

preferred solution for powering sensor nodes. The secondary storage element can be either

be charged by the harvesting source or by the primary storage element. Most often, the

latter is preferred because the primary storage element is a stable energy source. Thus,

no additional hardware is needed. The power management algorithm decides when energy

15

Page 28: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.2. ENERGY-HARVESTING NODES CHAPTER 2. LITERATURE

Figure 2.9: (a) First-order electrical model of an supercapacitor, and (b) third-order

electrical model of an supercapacitor.

can be transferred from the primary buffer to the secondary buffer (see figure 1.2). The

charging control system is implemented in software, because a hardware solution consumes

(more) power [9,10].

Capacity

The most important design parameter of the storage element is the amount of energy that

can be stored. An overview of commonly used storage elements can be seen in table 2.4

[6,8].

Battery Capacity (mAh) Voltage (V)

ML 2016 Lithium (Maxell) 25 3

GP17AAAH2X NiMH (GP) 170 2.4

NP FE1 Lithium-ion (Energizer) 450 3.6

Lithium-polymer (Varta) 550 3.7

GP130AAM NiMH (GP) 1300 1.2

Table 2.4: Nominal capacity and voltage of common storage elements.

Output Regulator

An output regulator can be used to condition the output of the energy storage to meet

the operational voltage range of the load and to monitor the discharge rate of the storage

element. Typically, a DC-DC converter is used.

16

Page 29: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

2.3 Power Management Algorithms

Power management algorithms for energy-harvesting wireless sensor networks are used to

adapt the load profile to the energy harvesting profile. Recall from section 2.1 covering

harvesting theory that such an algorithm has two objectives [1]:

Energy-neutral operation: the amount of energy consumed by the node equals the

amount of energy harvested by the node when averaged out over a large timespan.

Maximum performance: while ensuring energy-neutral operation, the network should

maximize the performance level.

This is an optimization problem in which the performance needs to be maximized with

energy-neutrality as a constraint. The input of this problem is the complete energy har-

vesting profile, the output is the complete load profile of the energy-harvesting sensor node.

So, maximizing performance corresponds to changing the load profile of the node. There

are two strategies to adapt the load profile: duty cycling and scheduling of tasks.

To achieve the aforementioned goals and solve the optimization problem, all power man-

agement algorithms follow the same outline:

1. Estimate the harvesting profile.

2. Solve the optimization problem using the estimated profile as input.

3. Adapt the load profile to the actual harvesting profile and solve prediction errors.

There are two variations to this scheme: some algorithms use the last step to improve the

prediction model and decrease the prediction error. These are closed-loop systems. Other

systems are open loops and do not use the last step to learn about the ambient source

[1,9].

To solve the optimization problem knowledge about the (future) energy harvesting profile

is required. Exact knowledge about this profile is not available, but for predictable sources

a prediction method can be used to get an estimation. This is the reason that research

focuses on uncontrollable but predictable sources and that unpredictable sources are not

investigated. Depending on the type of system (open or closed loop) a model of the ambient

source or a prediction algorithm is used.

17

Page 30: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

The prediction is used as an input to the optimization problem. Thus, the resulting load

profile is optimal for the predicted harvesting profile. But, it is not necessarily optimal for

the actual harvesting profile. Therefore, a measurement system is used that measures the

actual amount of available energy. Using this knowledge the load profile can be adapted

to the actual harvesting situation.

It should be noted that the adaptation of the estimated load profile always implies a non-

optimal use of the energy. Thus, a good energy prediction method is of major importance

for a good power management algorithm.

2.3.1 Energy Prediction Methods

Energy prediction methods fall into either one of two categories. The first category includes

methods that track past energy harvesting profiles to predict the future energy harvesting

profile. Methods in the second category use a model of the ambient source and possibly

measurements of environmental characteristics to calculate the future energy harvesting

profile. A method from both categories will be discussed.

EWMA Filter

An Exponentially Weighted Moving Average (EWMA) filter uses a historical summary

of the actual energy harvesting profile to predict the future energy harvesting profile. A

typical approach uses a window size of 24 hours which is divided in Nw time slots. For

example, one could use time slots with a duration of 30 minutes, yielding Nw = 48 [1].

For each time slot, an estimate of the energy harvested in the time slot is maintained. The

value of this estimate is updated at the end of the time slot by using a measurement value.

It is calculated using the following formula in which α is a weight factor:

xnew = αxold + (1− α)xmeas with 0 < α < 1

In this formula xnew is the new estimate, xold is the previous estimate and xmeas is the

measured amount of harvested energy. Some interesting properties of this approach:

No knowledge about the ambient source is required.

The use of time slots exploits the diurnal cycle of ambient sources such as solar

energy.

18

Page 31: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

Because the parameter α is smaller than 1, old estimates become progressively less

important. This helps the method adapt to seasonal variations. Smaller values of

α correspond to a more reactive prediction method, because xmeas becomes more

important.

To choose the parameter α, backforecasting is used. This method uses a set of historical

data. This set is divided into two parts: the out-of-sample set and the in-sample set. The

in-sample test and the EWMA filter are used to generate a prediction of the out-of-sample

set. The parameter α that minimizes the prediction error between the out-of-sample set

and its prediction is chosen. The backforecasting technique can be done statically (before

deploying the power management algorithm) or dynamically (during the deployment of

the power management algorithm) [11].

An example of an EWMA filter can be seen in figure 2.10. The data set is the daily

average solar irradiance for a period of 30 days. The filter is initialized by taking the two

first measurement values as xold and xmeas. This can also be seen as an example of the

backforecasting technique (with the two first measurements in the in-sample set and all

others in the out-of-sample set).

Figure 2.10: EWMA prediction method for α = 0.5.

More complex prediction methods use more than one variable to summarize the historical

data [12].

19

Page 32: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

Solar Radiation Models

Astronomical Model

With an astronomical model, solar radiation is estimated using parameters that affect the

angle between the sunlight and the solar panel. If the angle of sunlight from the normal

to the solar panel is θ, the effective sunlight incident on the panel is proportional to cos(θ)

[9].

The angle θ depends on the inclination θp of the solar panel, the orientation φp of the solar

panel, the latitude L, time of day t and day of the year n. Figure 2.11 shows cos(θ) for

May, 12th in Ghent.

Figure 2.11: Astronomical model of solar energy for May, 12th in Ghent with θp = 0.0,

φp = 0.0.

The astronomical model gives a good estimate under ideal conditions: clear weather and

no obstructions. Also note that it should be scaled by using measurement data. By using

measurements of weather, local obstructions and air quality the estimate can be improved.

Obstructed Astronomical Model

The obstructed astronomical model is only valid for stationary obstructions. The start

point of the obstructed astronomical model is the estimate R1(t, n) of the astronomical

model at time t and day n. Using measurements M(t, n) of the solar radiation, it is

possible to calculate a scaling factor S. This scaling factor is used to match the estimate

20

Page 33: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

R1(t, n) to the measurements:

M(t, n) = SR1(t, n)

To completely match the initial estimate from the astronomical model to the measurements,

an obstruction factor Ob(t, n) is introduced. This obstruction factor estimates the radiation

loss due to obstructions [9]:

R2(t, n) = SR1(t, n)(1−Ob(t, n))

Weather Effect and Air Quality Model

To account for weather effects, two indicators of air pollution can be used: atmospheric

turbidity and horizontal visibility. Atmospheric turbidity is the ratio of solar irradiance

degraded by atmospheric gases (ozone, water, aerosols and others) to the extraterrestrial

solar irradiance. Aerosols and other particles in the atmosphere cause sunlight to be

scattered. Turbidity is highly correlated to solar radiation, but measurements are not

readily available. Because of this lack of data, turbidity is not used to estimate solar

radiation.

Instead of turbidity, another indicator of air pollution can be used: the horizontal visi-

bility. Horizontal visibility is the distance one can see horizontally. Measurements of the

horizontal visibility are taken at airfields. Finally, the cloud condition (percentage of the

sky covered by clouds) can also be used to estimate solar radiation [9].

21

Page 34: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

2.3.2 Load Profile Adaptation

There are two main strategies for adapting the load profile of the energy-harvesting sensor

node. The first and most popular strategy is the adaptation of the duty cycle. The second

strategy is adapting the scheduling of tasks.

Duty Cycle Methods

As mentioned earlier in this section, an energy-harvesting sensor node will try to maximize

performance while ensuring an energy-neutral state. To achieve both goals, algorithms

scale the performance. A very popular scaling technique is duty cycling between two

power consumption modes of the node. A duty cycle is the percentage of time that the

node is in the high power mode. The high power consumption is the consumption of the

radio in its active state, the low power consumption is that of the node when the radio

is turned off. It is important to node that duty cycling is a simplification of the reality,

because there are typically much more than two power consumption modes. The duty cycle

methods found in literature, use prediction models of the harvesting source (see section

2.3.1) and models of the power consumption of the sensor node. When both models are

defined, the algorithm tries to find an optimal fit of the power consumption profile with

the energy harvesting profile.

Utility Model

In determining the correct strategy to adjust the duty cycle, a model is needed for how

the application performance is affected by it. In general, the utility U as a function of the

duty cycle D is given by the following function [1]:

U(D) =

0 D < Dmin

k1 + k2D Dmin ≤ D ≤ Dmax

k3 D > Dmax

The parameters Dmin, Dmax and ki are determined by the application. Note that this

general utility function has a linear profile between a minimum and maximum duty cycle.

Optimization Problem

The goal of the optimization problem is to maximize the utility to the user by adapting

the duty cycle D. The algorithm could either try to maximize the instantaneous utility

or the average utility. The first approach implies a high computational complexity. The

latter implies an inefficient energy usage because energy needs to be stored in a non-ideal

22

Page 35: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

buffer. Therefore, duty cycling algorithms use an intermediate approach. Typically, the

duty cycling adaptation is carried out over a window that is divided into Nw time slots of

equal duration ∆T . It is required that the node achieves an energy-neutral state over the

complete time window, in every time slot the operation of the node should be maximized

to prevent energy-loss because of the use of a non-ideal energy buffer. For each time slot i

(i ∈ 1, ..., Nw), the node uses the following variables [1]:

Ps(i): the amount of harvested power, this is assumed to be constant over the slot

duration. To obtain this variable, a measurement system is required.

Pc: the power consumption of the load when in active mode, the sleep mode power

is approximated by zero. This variable depends on the properties of the sensor node

and more specifically, the low power radio.

D(i): the duty cycle in slot i. The power consumption in slot i equals D(i)Pc. Note

that it is assumed that the low power consumption of the node is neglegible.

B(i): the amount of energy stored in the buffer at the start of slot i. The buffer is not

ideal, meaning that energy is lost. The buffer inefficiency is modeled by a parameter

η (with η ∈ [0, 1]).

The energy used from the buffer can be written as:

B(i)−B(i+ 1) = ∆TD(i)[Pc − Ps(i)]+ − η∆TPs(i)[1−D(i)]− η∆TD(i)[Ps(i)− Pc]

+

The rectifier function [x]+ is given by:

[x]+ =

1 x ≥ 0

0 x < 0

In the above equation, the first term on the right-hand side measures the energy drawn

from the buffer when Pc is higher than Ps(i) (note that it is zero otherwise). The second

term measures the energy lost from the buffer due to leakage, the third term measures the

energy lost from the buffer due to leakage when Ps(i) is higher than Pc.

The energy neutrality condition requires that the amount of energy stored in the buffer at

the end of Nw slots is at least the amount of energy stored in the buffer at the start of the

first slot. Also, to prevent energy loss due to the non-ideal buffer, the energy consumption

should follow the harvesting profile as closely as possible. If the energy harvesting profile

23

Page 36: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

is exactly known for the window of size Nw, the following optimization problem has to be

solved:

Maximize:

Nw∑i=1

D(i)

Subject to:

B(i)−B(i+ 1) = ∆TD(i)[Pc−Ps(i)]+− η∆TPs(i)[1−D(i)]− η∆TD(i)[Ps(i)−Pc]

+

B(1) = B0

B(Nw + 1) ≥ B0

D(i) ≥ Dmin ∀i ∈ 1, ..., Nw

D(i) ≤ Dmax ∀i ∈ 1, ..., Nw

A simple low-complexity solution that approximates the optimal solution is given by the

following approach. For time slots where more power is harvested than the power con-

sumption in the active mode, the duty cycle is initialized as Dmax. For all other time slots

the initial duty cycle is Dmin. It is very likely that the initial duty cycle assignment is not

optimal or not even feasible. Therefore, adjustments are necessary:

Energy is underallocated: the most efficient way to allocate the excess energy is to

assign the highest possible duty cycle to the slots with the smallest D(i) values. If

there is excess energy after allocating Dmax to all slots, this energy can be allocated

arbitrarily. There is no effect on the utility to the user.

Energy is overallocated. The duty cycle of slots with a duty cycle Dmax are uniformly

decreased until the energy allocation is feasible. If the duty cycle has to be decreased

belowDmin, the utility for the user is zero. In this case it is better to decrease the

duty cycle for some slots to zero.

Practical Implementation

To solve the optimization problem, exact knowledge about the energy harvesting profile

during the next Nw time slots is required. This knowledge is not available, but one of the

prediction methods can be used to estimate the harvesting profile. The estimation is used

as input to the optimization problem.

24

Page 37: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

Ideally, the time window and the number of slots Nw used in the optimization problem

is infinite. However, this is not feasible. Therefore, the window is chosen such that the

system is expected to be energy neutral over the duration of the window size. Typically, 24

hours is chosen because this corresponds to one diurnal cycle of solar energy. The duration

of one slot is chosen as one hour or half an hour depending on the desired granularity.

A second problem is that the energy allocation calculated by solving the optimization

problem is optimal for the estimated profile. This means that the node is in an energy

neutral state after Nw time slots. But the profile used to calculate the energy allocation

is an estimate. Thus, it could happen that the node is in an energy-positive or an energy-

negative state after Nw time slots. To prevent this, a dynamic duty cycle adaptation

method is used.

The dynamic duty cycle adaptation method uses measurements of the actual power level

Pactual(i) to check whether more or less energy was harvested than estimated. There are

two scenarios:

The current duty cycle is too high: lower the duty cycle of future slots. The slots

with the highest duty cycles are lowered first.

The current duty cycle is too low: increase the duty cycle of future slots. The slots

with the lowest duty cycles will be increased first.

More details of this algorithm can be found in Power Management in Energy Harvesting

Sensor Networks [1]. Similar algorithms are described in A Simple Asymptotically Optimal

Energy Allocation and Routing Scheme in Rechargeable Sensor Networks [13].

25

Page 38: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

Scheduling Methods

Scheduling algorithms differ from duty cycle methods in two aspects. First of all, duty

cycling only takes the power consumption of radio transmission into account. Reschedul-

ing algorithms also take the power consumption of actuation, sensing and complex data

processing into account. Secondly, a scheduling algorithm reschedules tasks depending on

their energy need and their priority. The algorithms found in the literature give certain

tasks a higher priority than other tasks. Beside this, tasks can be divided into smaller

subtasks with an energy consumption that is more manageable given the amount of avail-

able energy. Tasks and subtasks do not have hard deadlines. They are executed with

the highest possible performance, but there are no guarantees (duty cycling methods use

a utility model). The general model of a rescheduling algorithm is shown in figure 2.12. [12]

Figure 2.12: Management unit from a scheduling algorithm.

Different types of tasks are stored into their respective queues. The selector component

selects tasks from the three queues and stores them in the system queue. The tasks that are

selected by the selector component are determined based on priority, application objectives,

energy consumption of the task and memory availability. The task executor will execute

tasks from the system queue whenever energy is available. The executor can split tasks

into subtasks (which it can execute or store in the respective queue). The executor can

26

Page 39: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

also trigger new tasks when a task is completed. For example, when enough measurement

data is collected the executor could trigger a transmit task.

From the previous discussion, it becomes obvious that the selector component schedules

tasks. Scheduling tasks in a wireless sensor network can follow three distinct patterns:

Act-Process-Send: this is the most general pattern.

Act-Send: this is useful when real-time data streaming is needed.

Multiple Act-Process-Send: multiple measurement values are transmitted in one

packet.

More elaborate discussions about scheduling algorithms can be found in Management of

Solar Harvested Energy in Actuation-based and Event-triggered Systems [12], and DEOS:

Dynamic Energy-Oriented Scheduling for Sustainable Wireless Sensor Networks [14].

27

Page 40: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

2.3. POWER MANAGEMENT ALGORITHMS CHAPTER 2. LITERATURE

2.3.3 Measurement Support

Any power management algorithm needs information about the amount of available energy.

There are three measurements that can be required by a power management algorithm [1]:

The average amount of harvested energy.

The variability of the energy supply.

The amount of harvested energy as a function of time.

If a secondary battery or a capacitor is used as storage element, their sloped voltage

discharge profile can be used to obtain measurements. If the buffer level at times t1 and t2

are Eb(t1) and Eb(t2) respectively and the energy consumption profile is Pc(t), the amount

of extracted energy Ee between t1 and t2 is given by:

Ee = [Eb(t2)− Eb(t1) +

t2∫t1

Pc(t)]+

For both storage elements this is not a good approach:

The change in buffer voltage is too small to yield reliable results, unless t1 and t2 are

chosen far apart.

If t1 and t2 are far apart, little information about variability and the time dependent

behavior of the ambient source is available.

The energy consumption is not always accurately known.

A better method to estimate the energy input is to measure the current flowing out of the

harvesting source and its voltage. All test setups found in the literature use this approach

[1, 9, 10, 12].

28

Page 41: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Chapter 3

Algorithms

3.1 Overview

In a green context, each sensor node is powered by an ambient source. Power is collected

and converted to electrical power by means of a transducer. To be able to cope with periods

in which no energy is harvested and to cope with fluctuations in the amount of harvested

energy, part of the harvested energy is stored in an energy buffer. This energy buffer

could be a capacitor or a battery. Usually a capacitor is preferred, because the number

of charge/discharge cycles is much higher for a capacitor. Hybrid combinations are also

used very often, because the good properties of batteries (low leakage) and capacitors (high

number of cycles) can be combined.

In this chapter, the algorithms that govern the operation of the energy-harvesting sensor

nodes at the MAC layer are discussed. The algorithms are tested on RM090 sensor nodes

that are powered by a simulated ambient source. The RM090 sensor node consists of an

MSP430 microcontroller, a CC2520 radio and sensors. The MSP430 microcontroller boots

when the supply voltage is 2.2V, the maximum supply voltage is limited to 3.2V. The

storage element is a capacitor, the capacitor voltage is directly set on the sensor node. So,

the maximum capacitor voltage is also 3.2V. Details of the testbed setup can be found in

chapter 4.

The presented algorithms need to take the harvesting opportunities of the sensor node into

account. It is important to note that this is where the algorithms differ from those found

in literature. All existing solutions to harvesting problems use exact knowledge about the

amount of power that can be harvested. However, as discussed in chapter 2, this requires

special measurement hardware. The measurement technique used by the algorithms in this

29

Page 42: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.1. OVERVIEW CHAPTER 3. ALGORITHMS

Figure 3.1: Operation of the sensor node and interaction of the algorithms.

chapter does not require special hardware, but this also implies that less information about

the harvester is available to the algorithms. The technique is discussed in section 3.2.

The node operation consists of three phases: the post-boot phase, the discovery phase and

the steady state phase. During the post-boot phase, the capacitor is charged from 2.2V to

3.2V and the node makes an initial estimate about the harvester. In the discovery phase,

the node tries to find other nodes in its communication range. And, in the steady state

phase the node collects sensor data and sends data packets. Figure 3.1 shows an overview

of the three phases and the interaction of the algorithms. Note that the post-boot phase

and the steady state phase can coexist. The main functionality of the algorithms:

Harvester Estimation: estimate the rate of harvesting energy.

Discovery: the node tries to discover neighboring nodes.

Timestamp Propagation: inter-subnetwork synchronization.

Clock Drift Compensation: intra-(sub)network synchronization.

Performance Negotiation: negotiate about performance with neighbors.

Power Management: optimize performance while maintaining energy-neutrality.

Application: sending data measurements.

30

Page 43: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.1. OVERVIEW CHAPTER 3. ALGORITHMS

Figure 3.2: Packets used by the algorithms.

Figure 3.2 shows the different packets and their content. The usage of each field is sum-

marized below, but will become clear in the following sections.

Adapted IEEE 802.15.4 MAC header.

Discovery request: starts a discovery process. Contains initialization information for

the performance negotiation.

Discovery acknowledgement: ends a discovery process. Contains initialization infor-

mation for the performance negotiation and information for the timestamp propaga-

tion.

Negotiation information: not a packet (only transmitted as part of a discovery ac-

knowledgement or a data packet), contains information for the performance negoti-

ation and the timestamp propagation.

Data packet: contains measurement data and performance negotiation information.

The discovery count (shown in the data packet) is a variable that stores the number of

nodes with which the node finished a discovery procedure (see section 3.3).

31

Page 44: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.2. POST-BOOT PHASE CHAPTER 3. ALGORITHMS

3.2 Post-Boot Phase

The MSP430 microcontroller of the RM090 sensor node boots when the supply voltage

equals 2.2V. The maximum allowed supply voltage is 3.2V. So, there is a 1.0V gap between

the minimum and the maximum supply voltage. In the setup, a capacitor is used to power

the sensor node. A property of capacitors is the linear relation between charge and voltage,

combining this with the definition of electrical current gives the following formula in which

I is the output current of the harvester averaged over the time period ∆T .

Iharv,avg =∆Q

∆T= C

∆V

∆T

The microcontroller of the sensor node is capable of measuring its supply voltage by en-

abling voltage measurements on the ADC12 module. The ADC12 module compares the

supply voltage to a reference voltage of either 1.5V or 2.5V. The comparison is done by

applying a resistive divider to the supply voltage. With a reference voltage of 2.5V it is

possible to measure voltages between 2.2V and 3.25V with an accuracy of 1.221mV. If a

reference voltage of 1.5V is used, voltages between 2.2V and 3.0V can be measured with

an accuracy of 0.7326mV. However, all voltages exceeding 3.0V are mapped to 3.0V. The

algorithm uses a reference voltage of 1.5V, because the resistive divider consumes more

energy when a reference voltage of 2.5V is used.

As soon as the supply voltage equals 2.2V, the node starts measuring the supply voltage.

A measurement point is taken every second and compared to the maximum measurable

value of 3.0V. The amount of time ∆T needed to increase the voltage from 2.2V to 3.0V

and the above formula can be used to estimate the average output current of the harvester.

Iharv,avg =0.8C

∆T

Some remarks have to be made about this estimation result:

It is not the actual average harvesting rate. Part of the harvested energy is used to

power the MSP430 microcontroller. Therefore, the estimate gives an idea about the

amount of energy that is available to the radio.

The implementation uses a discretized time axis, with a granularity of seconds. This

means that the harvesting rate could be underestimated: the voltage across the

capacitor terminals could be higher when the sensor node measures 3.0V.

32

Page 45: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.2. POST-BOOT PHASE CHAPTER 3. ALGORITHMS

Figure 3.3: The post-boot phase.

The formula estimates the average harvesting rate. Therefore, it uses a linear ap-

proximation of the actual harvestion profile.

The capacitor size has to be known.

Because a reference voltage of 1.5V is used, the time needed to increase the voltage from

3.0V to 3.2V needs to be estimated. It is estimated as ∆T/4. When the node has waited

for this additional period of time, it initializes the radio and enters the discovery phase.

The post-boot phase is not entered again (see figure 3.1). The post-boot phase is shown

in figure 3.3.

33

Page 46: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.3. DISCOVERY PHASE CHAPTER 3. ALGORITHMS

3.3 Discovery Phase

General Operation

Discovery or bootstrapping is the process in which a node finds other nodes in its com-

munication range. To achieve this goal, nodes send discovery requests. If a node receives

a discovery request, it immediately sends a discovery acknowledgement. This finishes the

discovery. The discovery procedure could be implemented in two ways:

Distributed algorithm: each node turns on the radio at random times to send a

discovery request and listen for 8ms. After listening for 8ms, the radio is put into

sleep mode for a random amount of time.

Centralized algorithm: the discovery happens hop-by-hop. The sink starts by sending

requests at random times, which are received by nodes one hop away. As soon as

these are discovered, they start sending requests at random times to nodes two hops

from the sink. This continues until all nodes are discovered.

Note that other centralized discovery algorithms are possible, but typically a mechanism

is used in which one node sends discovery requests and another node listens for discovery

requests. In a distributed algorithm, each node sends and listens. The discovery procedure

has to be distributed for several reasons:

Each node has different harvesting opportunities. The frequency with which discovery

requests are sent, depends on the amount of energy that is available to the node (see

power management strategy). Also, the duration of the discovery procedure depends

on the frequency with which discovery requests are sent. If not a lot of energy is

available, the discovery could take a lot of time. Therefore, as soon as a node can

start the discovery procedure, it should start the discovery procedure. Otherwise,

the discovery could be a lengthy process. Therefore, all nodes are required to operate

autonomously, because each node needs to be able to start the discovery procedure.

In a centralized algorithm, not all nodes can operate independently.

In centralized systems, such as master-slave architectures, some nodes are required to

consume more energy than others. In a distributed algorithm each node can decide

its own energy consumption because there are no other nodes that depend on its

operation.

34

Page 47: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.3. DISCOVERY PHASE CHAPTER 3. ALGORITHMS

Figure 3.4: The discovery procedure.

When listening, the node could receive a discovery acknowledgement, a data packet, a

discovery request or nothing. Further actions depend on the received packet, as can be seen

in figure 3.4. Notice that a node that finishes a discovery procedure, enters the steady state

phase. Also notice that a node that receives a discovery acknowledgement synchronizes

with the node that sends the discovery acknowledgement. The synchronization mechanism

will be described in detail in section 3.4.

The smart discovery procedure is entered when the node receives a packet that was not

designated for the node. This happens when the node has found another node in its

communication range but the latter node is still unaware of its presence. Instead of sending

a new discovery request at a random time, the node will send a discovery request when

the other node is listening. The information necessary for this procedure can be found in

the received packet (see section 3.4.3). Using this approach it is almost certain that the

discovery procedure will be finished after sending another discovery request.

35

Page 48: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.3. DISCOVERY PHASE CHAPTER 3. ALGORITHMS

Network Construction Strategy

Each node maintains a variable during the discovery process: the discovery count. This

variable indicates the number of nodes with which this node completed a discovery proce-

dure. A node that sends or receives a discovery acknowledgement increments its discovery

count by one. Each node will execute the discovery process until its discovery count equals

a predefined number. This number depends on the type of network that needs to be con-

structed. For a line topology each node needs to discover two nodes, for a binary tree

topology each node needs to discover three nodes, etc. An example of the construction of

a line network and a binary network is shown in figure 3.5. Some important remarks:

Without discovery count, nodes could be isolated from the network even if they

discovered another node.

When the node finishes its first discovery process, it enters the steady state phase

and starts a 100ms periodic timer. But, it also restarts the discovery process until it

discovered a sufficient amount of neighbors. Therefore, the discovery phase and the

steady state phase can coexist (see figure 3.1). Nodes in the steady state phase keep

listening for discovery requests and edge nodes always run a discovery procedure (see

figure 3.5). This allows other nodes to enter the network.

This network construction strategy comes with two important implications. First, loops

are not allowed. So, a loop detection algorithm is necessary. Loop detection algorithms are

considered higher layer than MAC layer and will not be discussed. Secondly, the specific

topology of the network is not controlled. It is possible to enforce the architecture to take

on a specific form (line topology, binary tree or something else) but it is not possible to

specify which nodes should communicate with each other, which node is the sink and which

nodes are edge nodes. This is determined by a routing algorithm.

Power Management Strategy

Discovery is a statistical process: discovery requests are sent at random times because

nodes do not know when other nodes are receiving. Also, if the sleep period of the radio

is too long compared to the active period of the radio, the discovery process could take a

lot of time. This is not desired. Therefore, discovery requests are sent in bursts.

The rate at which the node harvests energy from the environment could be much lower

than the rate at which the discovery process consumes energy. In this scenario, the node

36

Page 49: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.3. DISCOVERY PHASE CHAPTER 3. ALGORITHMS

Figure 3.5: (a) constructing a line topology, and (b) constructing a binary tree topology.

37

Page 50: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.3. DISCOVERY PHASE CHAPTER 3. ALGORITHMS

consumes energy stored in the energy buffer to be able to send discovery requests in bursts.

Thus, it could deplete the energy buffer, causing the node to shut down. To prevent this,

the node pauses the execution of the discovery procedure when the supply voltage drops

below 3.0V. Note that if the rate at which the discovery process consumes energy is too

large, the node will be inactive more often than not because it needs to restore the energy

buffer. To avoid this, the burstiness and the randomness of sending discovery requests

needs to be modified. If the burstiness is decreased (meaning that the average time between

consecutive requests is lowered), the randomness is increased. This is done to ensure that

discovery requests have the same spreading for all bursts.

The complete power management strategy for the discovery procedure is outlined in algo-

rithm 1. Note that the capacitor is always recharged for the same amount of time. The

amount of time is based on the post-boot phase.

Algorithm 1 Power management strategy for the discovery procedure.

1: function Power Management Discovery

2: p = 20; . Initial period is 20ms

3: s = 0; . Number of sent requests in the burst

4: while not finished do . Discovery not finished

5: v = MeasureVoltage(); . Measure supply voltage

6: if v == 3.0 then

7: r = GetRandom();

8: Wait(p+r%p); . Time in ms

9: SendRequest(); . Could finish discovery, see figure 3.4

10: s = s+1;

11: if s == 100 then

12: p = max(20,p2); . Increase burstiness, decrease randomness

13: s = 0; . Number of sent requests in the new burst

14: end if

15: else

16: p = 2p; . Decrease burstiness, increase randomness

17: s = 0; . Number of sent requests in the new burst

18: Wait(∆T4

) . Recharge capacitor, see section 3.2 for ∆T

19: end if

20: end while

21: end function

38

Page 51: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

3.4 Synchronization and Negotation

Synchronization means that nodes have to adjust their sleep cycle to the sleep cycles of

the nodes with which they communicate. A node needs to know when other nodes will

send packets, so that it can turn on its radio to receive those packets. Conversely, it needs

to make sure that other nodes know when it will send packets. To achieve these goals,

three fields of the packets are used: the fixed slot count, the proposal slot count and the

timestamp. The synchronization starts as soon as a node discovers another node. There

are three synchronization mechanisms: clock drift compensation, time stamp propagation

and negotiating performance.

3.4.1 Clock Drift Compensation

When a node enters the steady state phase, it starts a 100ms periodic timer. The timer is

a software timer and the drift of this timer can cause the nodes to desynchronize. As will

be explained in the steady state section, the radio can only be active (transmit or receive

mode) when the timer expires. This means that a node will turn on its radio to send or

receive when the timestamp of the timer is zero. Thus, a node that receives a packet from

another node implicitly knows that the timestamp of the sender is zero. The node checks

its own timestamp Tnow and compensates the difference by starting a single shot timer of

duration T :

T = 100− Tnow

When the single shot timer expires, the node will start a new 100ms periodic timer. Note

that the timer used has a 1ms resolution. This implies that clock drifts smaller than

1ms can not be compensated by using this technique. Also note that the implementation

differs slightly, because sending and receiving does not happen immediately when the timer

expires.

3.4.2 Timestamp Propagation

A node starts the discovery process as soon as it finishes the post-boot phase, irrespective

of other nodes. This implies that a discovery process could be running in different parts

of the network, leading to isolated subnetworks. Nodes within the same subnetwork are

39

Page 52: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

Figure 3.6: Timestamp propagation to achieve a globally synchronized network.

synchronized, but nodes in different subnetworks are not. Figure 3.6 shows the initial situ-

ation and the timestamp propagation mechanism. The discovery acknowledgement packet

contains a timestamp variable (see figure 3.2). The node that sends the acknowledgement

takes a timestamp of its 100ms periodic timer (a value between 0 and 100), this is trans-

mitted to the receiving node. This node will immediately adapt its own periodic timer,

using the same mechanism as the one used for clock drift compensation. It also stores

the timestamp in memory and sends it at a later time to the nodes with which it had

already synchronized (the timestamp is not forwarded to the original timestamp sender).

Note that this means that one node is synchronized with the two subnetworks until it has

propagated the timestamp. A node that receives a data packet containing a timestamp

will follow the same procedure.

When a node has not discovered any other node, it does not have a 100ms timer yet. In

this case, it will propagate a zero timestamp if it acknowledges a discovery request.

40

Page 53: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

3.4.3 Negotiating Performance

General Operation

The performance of a node is defined as the frequency (or conversely the period) with which

it turns on its radio to transmit or receive data packets. The key performance determinator

is the amount of energy that is available to the sensor node. Based on this, the node

calculates the minimum period that can be used to turn on the radio while remaining

in an energy-neutral state. Note that this calculation is done by the power management

algorithm (see section 3.5). However, the node can not adopt this performance level without

further consideration. After all, the node is part of a network and has to communicate

with its neighbors. Therefore, it has to advertise its performance level to its neighboring

nodes. And, the node has to find out if its neighboring nodes can facilitate its performance

level. Because, adopting a performance level that can not be achieved by the neighboring

nodes, implies that the node is wasting energy. Thus, nodes have to negotiate about their

performance.

Figure 3.7: General operation of the performance negotiation algorithm.

41

Page 54: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

Figure 3.7 shows the general operation of the negotiation algorithm for two nodes. As can

be seen from the figure, the performance negotiation algorithm uses information from the

power management algorithm and the neighboring nodes. The information from the power

management algorithm (which can be interpreted as an interface to the ambient source)

is locally available, the information from the neighboring nodes is sent by the neighboring

nodes over the network. This is done by piggybacking the necessary information to the

data packets. The information is stored in two separate lists: the wanted-by-me list for the

information derived from the power management algorithm, and the wanted-from-me list

for the information from the neighboring nodes. Based on the information in these lists,

the node will decide its performance. This performance is advertised to the neighboring

nodes and stored in a fixed list used by the steady state phase. Thus, a node still decides

its own performance. But it bases the decision on its own harvesting opportunities and

the performance limitations of its neighbors.

Note that nodes piggyback their complete wanted-by-me list to the data packet, receiving

nodes select the relevant information and store it in their wanted-from-me lists (meaning

that the content of the wanted-by-me list from node A/B and the wanted-from-me list from

node B/A do not contain the same information). Conversely, a node only communicates

its own negotiation decision and not its complete fixed list. Also note that the nodes base

their negotiation decision on the power management information of all their communicating

nodes, not on the actual performance levels of the communicating nodes. This ensures that

under-performing nodes are shielded from the rest of the network by the node with which

they communicate (so their effect is limited to one hop at the MAC layer).

Detailed Operation

When the node enters the steady state phase, a 100ms periodic timer is started. A 100ms

period is called a slot. The performance level of the node is expressed as the number of slots

between successive active states of the radio (transmitting or receiving). The algorithm

does not make a distinction between transmitting and receiving. Before explaining the

details and implementation of the performance negotiation algorithm, some concepts are

necessary:

A fixed count is the result of a negotiation process. It is expressed as a number of

100ms slots. Each node uses the performance negotiation algorithm to calculate a

fixed count. The fixed count is broadcasted. The node interprets the fixed count

(that it calculated itself) as a slot in which it will send a data packet. Conversely,

42

Page 55: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

neigboring nodes interpret received fixed counts as slots in which they will receive a

data packet.

A proposal count is the start of a negotiation process. It is expressed as a number

of 100ms slots. Each node uses the performance negotiation algorithm to calculate

proposal counts for all its neighboring nodes. The proposal counts are broadcasted.

The node interpretes proposal counts (that it calculated itself) as slots in which it

wants to receive data packets from its neighboring nodes. Conversely, the neighboring

nodes interpret a received proposal count as the slot in which the node wants the

neighbor to send a data packet.

The wanted-by-me list contains the proposal counts calculated by the node.

The wanted-from-me list contains the proposal counts received by the node that are

designated for the node.

The fixed list contains the result of the performance negotiation process of this node

and all its neighboring nodes. Thus, it indicates when the node has to send a data

packet (calculated fixed count) and when it has to receive a data packet (received

fixed counts). This list is used during the steady state phase.

The basic period is a period determined by the power management algorithm. It

is expressed as the number of 100ms slots before the node can turn on its radio

(to receive or transmit). This period guarantees that the operation of the node is

energy-neutral.

When a node sends a data packet (see figure 3.2), it piggybacks the fixed count and

the proposal counts that it calculated using the performance negotiation algorithm. The

proposal counts are copied from the wanted-by-me list. So, every time a node sends a data

packet it finalizes the negotiation process for the slot in which it will send (by sending a

fixed count) and it participates in the negotiation process for the send slots of other nodes

(by sending proposal counts). When an node receives a data packet, it extracts two pieces

of information from it: the fixed count from the sender and the proposal count designated

for this node. It stores the fixed count in the fixed list and the proposal count in the

wanted-from-me list.

Each node determines its fixed count as the maximum from the counts stored in the wanted-

from-me list and its own preferred fixed count. The latter one is calculated as (N+1) times

43

Page 56: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

the basic period, with N the number of neighbors. Note that this implies that each node

wants to receive a data packet (including negotiation information) from all its neighbors

before it sends a data packet itself. However, this does not mean that the node will receive

N packets between consecutive transmissions.

The content stored in the wanted-from-me list is dependent on the content stored in the

wanted-by-me lists from the neighboring nodes. The proposal counts in the wanted-by-me

lists are multiples of the basic period of the respective nodes. Ideally, the lowest proposal

counts are assigned to the highest performing nodes. Therefore, a mechanism is needed

that allows the node to estimate the performance of its neighboring nodes.

The first and obvious solution would be that a node calculates the basic period from

a neighboring node by subtracting the proposal slots that are piggybacked to the data

packet. However, this is not a good mechanism because the fixed slot of the neighboring

node depends on the harvesting opportunities of its neighboring nodes (nodes that are two

hops away). Thus, it could be that a neighboring node seemingly is better than another

neighboring node, but it is not. Instead of using this information, the node will sort the

fixed counts from its neighboring nodes and use the same order to assign proposal counts.

During the steady state phase, the information stored in the fixed list is decremented by

one every time the 100ms timer expires (see further). Therefore, the negotiation process

and the steady state phase store seperate fixed lists in memory. This is necessary because

the decrementing of the fixed counts will not be equal for all fixed counts (decrementing

starts when a fixed count is received, this is different for different counts). Note that the

sorted fixed list is not shown in figure 3.7 (for simplicity).

This negotiation mechanism implies that each node will adapt its performance to the lowest

performing neighboring node. However, the node shields the lowest performing node from

nodes that are one hop further. This is because the broadcasted information used in the

negotiation process of other nodes is the wanted-by-me list. The wanted-by-me list only

depends on the harvesting opportunities of the sender, not on its actual performance level

which also depends on its neighboring nodes.

Another important remark is that the negotiation process starts in the discovery phase.

The discovery request and the discovery acknowledgement contain a fixed count. The fixed

count is initialized to a high value (what is considered high, depends on the application),

to not force the acknowledging node to turn on its radio before it has harvested enough

energy to do so.

44

Page 57: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

A final imporant remark is that nodes that communicate with the same node, can decide

to use the same 100ms slot to transmit a packet. This would cause collisions. To avoid

collisions, each node uses a different offset within the 100ms slot based on its node id. For

each 100ms slot, there are 5 possible offsets (multiples of 20ms) that can be mapped on the

node id. Note that this offset has to be taken into account when compensating for the clock

drift (see section 3.4.1). Also note that this mechanism can be seen as a Time Division

Multiple Access (TDMA) scheme with slot sizes of 20ms and a superframe of 100ms.

Example For Three Nodes

Figure 3.8 shows an example of the performance negotiation algorithm for three nodes.

Node A communicates with node B, node B communicates with node A and C, and node

C communicates with node B. Node A is the least performant of the three, but the operation

of node C is not affected by this, because it is shielded from node A by node B. The example

shows ten 100ms slots.

The example is initialized in figure 3.8 (a): all fixed slots are already defined except for

the last one. Node B sends a data packet. It piggybacks negotiation information to the

data packet: proposal counts for node A and node C, and the fixed count indicating the

slot in which node B will send its next data packet. Node A and node C extract the

information that is designated for them from the data packet and store the information in

their wanted-from-me lists. They also extract the fixed count and store it in their fixed

lists. In figure 3.8 (b), node C sends a data packet. It decides its next fixed count based

on its own basic period and the information in the wanted-from-me list. The information

in the wanted-from-me list is empty, note that this is because node B has assigned the

lowest proposal count to node C (based on the sorted fixed list). Therefore, node C can

independently decide the next slot in which it will send its next packet. This information

is sent to node B, which uses the information to adapt its fixed list and its wanted-from-me

list. In figure 3.8 (c), node A sends a data packet, it determines the new fixed count as

the maximum of the count calculated using its basic period and the count stored in the

wanted-from-me list. This information is sent to node B, that adapts its fixed list and its

wanted-from-me list. Figure 3.8 (d) shows the same functionality.

Some important remarks:

Node B shields node C from node A, but this comes at a power penalty: node B has

to turn on the radio more often than it would based on its basic period. Unless this

45

Page 58: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.4. SYNCHRONIZATION AND NEGOTATION CHAPTER 3. ALGORITHMS

causes node B to shut down, it should not pose a problem because the power man-

agement algorithm can decrease the performance level of node B (which influences

the wanted-by-me list and could force node C to transmit at a lower frequency).

Each node was able to determine the fixed count independently, note that this will

not be the case for node B when it decides its next fixed count.

Figure 3.8: Example of the performance negotiation algorithm for three nodes.

46

Page 59: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

3.5 Power Management Algorithms

3.5.1 Introduction

Power management algorithms are at the core of any energy-constrained system. In the

context of energy-harvesting wireless sensor networks, they are used to adapt the load

profile of the sensor node to the harvesting profile. The objective is to maximize the

performance. This is an optimization problem that has the harvesting profile as input and

a load profile as output. The presented methods adapt the load profile by changing the

period with which the node turns on the radio to transmit or receive.

Power management algorithms need knowledge about the actual harvesting profile. Knowl-

edge is obtained by measuring the supply voltage of the microcontroller. This indirect in-

formation about the harvesting profile is used by the algorithms to adapt the performance.

For testing, an RM090 sensor node is used. The supply voltage lies between 2.2V and

3.2V. Details of how the supply voltage is measured can be found in section 3.2. Note that

the measured voltage level is proportional to C−1, with C the capacitor size. Because the

amount of consumed energy and the amount of harvested energy is low, the voltage varies

slowly.

Two different types of algorithms are presented: reactive and proactive algorithms. The

objective of the reactive algorithm is that the operation of the node is energy-neutral. The

objective of the proactive algorithm is to track the harvesting profile as closely as possible.

Both algorithms try to maximize the performance of the sensor node.

The presented algorithms are closed loop, meaning that they use the voltage measurements

as input for the prediction of the available amount of energy. The current performance

level is an indicator of the energy consumption of the node, the voltage measurement

indicates whether this performance level was feasible or not. If it was not feasible, the

prediction mechanism assumes that the current performance level will not be feasible in

the future. Therefore, the performance level will be decreased. If it was feasible, the

prediction mechanism assumes that the current performance level will be feasible in the

future. It could also assume that a higher performance level will be feasible. Thus, the

performance level either remains the same or is increased. Note that one of the presented

algorithms uses more historic information than the current voltage measurement, but the

discussion remains valid.

47

Page 60: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

3.5.2 Reactive Algorithm

General Principles

The objective of the reactive algorithm is to maximize the performance of the node while

ensuring energy-neutral operation. This means that on average the node consumes the

amount of energy that is harvested. To be able to ensure energy-neutral operation, the

capacitor size has to be chosen sufficiently large to cope with periods in which no energy

is harvested. However, using a large capacitor implies that the information about the

harvesting source, the measured supply voltage, varies slowly.

Figure 3.9 shows how the measured voltage is interpreted by the algorithm. The maximum

measurable voltage is 3.0V, but the capacitor voltage could be higher. Therefore, if the

measured voltage is 3.0V, the performance level can be increased. The node can also

decide to keep the current performance level. If the measured voltage is lower than 3.0V,

the performance is scaled down. Figure 3.8 also shows that the nodes use two energy

buffers. Energy buffers are necessary for two reasons. First, the node is able to estimate the

average amount of harvested energy, or the envelope of the harvesting profile. It is not able

to estimate fluctuations caused by the undeterministic behavior of ambient sources. Note

that this is especially the case because of the considered setup and harvester measurement

mechanism. Secondly, energy buffers are needed to make sure that the node can be active

when no energy is harvested. Therefore, a fluctuation buffer from 2.9V to 3.0V and a

normal energy buffer are used. The fluctuation buffer prevents that the performance is

scaled down when a voltage drop is caused by a fluctuation in the amount of harvested

energy that could not be predicted. Note that the voltage level is only allowed to be in

the range from 2.9V to 3.0V for a short period of time.

The reactive algorithm uses a time window of 24 hours. A window of 24 hours is chosen

because this corresponds to the diurnal cycle of solar energy. The window is divided

into 24 power management slots of one hour each. For each power management slot, the

algorithm decides the performance level. Dividing the window into power management

slots guarantees that the performance level of the node follows the diurnal cycle of the

ambient source. The node should have a higher performance level in power management

slots where more energy is harvested. Note that the complete algorithm uses two types of

slots: power management slots of one hour used by the power management algorithm and

steady state slots of 100ms. The steady state slots will be referred to as slots (these are

also the slots used in previous sections).

48

Page 61: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

Figure 3.9: Interpretation of voltage levels.

For each power management slot, three variables are stored in memory:

Period: sleep time between active states of the radio. This is expressed as a number

of 100ms periods. This is the basic period used by the performance negotiation

algorithm.

Success count: number of windows (of 24 hours) that the period was successful.

Optimal period: the target performance level of the node for this power management

slot.

A period is succesful when the measured voltage level does not drop below 3.0V (note that

the fluctuation buffer is an exception). The algorithm consists of three levels.

Level 1: reactive, immediate response to failure.

Level 2: deliberative, adapt the performance of power management slots.

Level 3: reflective, control the deliberative level.

49

Page 62: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

Note that each level has a different degree of responsivity to failures. When a new power

management slot starts, the node will use the period stored in memory for this power

management slot in the performance negotiation algorithm.

Initialization

The power management algorithm starts when the steady state phase is entered. Initially,

the only knowledge about the ambient source is the information gathered during the post-

boot phase. So, since there is no viable reason to use different periods for different power

management slots, all power management slots are initialized to period T:

T =Qconsumption,avg

Iharv,avg

Note that this should be expressed in ms, and that it should be divided by 100ms to express

it as a number of 100ms periods. The success count for all power management slots is

initialized to one, because otherwise the performance would be downscaled immediately

(see further). All optimal periods are initialized to the maximum performance level required

by the application.

Reactive Level

The MSP430 measures the supply voltage every second. If the voltage drops below 3.0V,

the reactive level is triggered. The success count is put to zero, but the period stored in

memory is not changed. Note that when the node updates its negotiation lists, it checks

the value of the success count. If this is zero, it will use the maximum period allowed by

the application. If it is larger than zero, it uses the period stored in memory for this power

management slot.

Downscaling performance to the maximum period is a severe action. It is justified because

the reactive algorithm uses power management slots of one hour. If the failure happens

at the end of the power management slot, downscaling the performance to the maximum

period does not have a lot of effect on the overall performance. If the failure happens at

the beginning of the power management slot, downscaling the performance this much is

necessary because otherwise the node could shut down. Also, the maximum performance

level allows building up the amount of energy stored in the buffer, so that the next power

management slot is not affected. For this reason, no information about the exact moment

of failure is used.

50

Page 63: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

Two important remarks:

The adaptation is immediate and the period is always increased. With other words:

the reactive level always downscales performance.

Downscaling the performance to the maximum period is a severe action. Therefore,

the algorithm uses a fluctuation buffer. If the voltage drops below 2.9V, the perfor-

mance is adapted immediately (as outlined above). However, if the voltage is in the

range from 2.9V to 3.0V (the fluctuation buffer), the node waits one period before

it adapts the performance. If after one period, the voltage is still in the range from

2.9V to 3.0V, performance is adapated.

Deliberative Level

Every 24 hours, the deliberative level is executed. The deliberative level uses information

from the reactive level to adapt the period and the optimal period stored in memory for

each power management slot. The deliberative level uses two considerations:

If the success count is zero, not enough energy was available in that power manage-

ment slot. So, energy from the previous power management slot has to be stored

for usage during the current power management slot. Therefore, the periods of the

current power management slot and the previous power management slot are the

double period from the previous power management slot (see algorithm 2). For the

power management slot in which a failure occured, the optimal period becomes the

failed period. Also, the success count becomes one.

If the success count is larger than zero and the next power management slot was also

successful, the period is lowered. The decrease is determined by the reflective level.

Note that the decrease can be zero. The success count is incremented by one.

The pseudo-code for the deliberative level is shown in algorithm 2. Note that the first

step is finding a successful period, this is because a successful period is required to change

the period of an unsuccessful one. Also note that it is necessary to adapt two power

management slots at once when a failure occurs, because energy-neutrality for the window

is required, not for every individual slot. Therefore, power management slots need to be

linked.

51

Page 64: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

Algorithm 2 Deliberative level of the reactive power management algorithm.

1: function Deliberative

2: start = -1;

3: for i = 1:24 do . Adapting starts with successful slot

4: if slot[i].successCount > 0 then

5: start = i;

6: break;

7: end if

8: end for

9: if start 6= -1 then

10: for i = start:24+start do

11: if slot[i%24].successCount > 0 then . Slot successful

12: if slot[(i+1)%24].successCount == 0 then . Next slot unsuccessful

13: slot[i%24].period = 2∗slot[i%24].period;

14: else . Next slot successful

15: slot[i%24].period = slot[i%24].period - dreflective;

16: end if

17: else . Slot unsuccessful

18: slot[i%24].optimalPeriod = slot[i%24].period;

19: slot[i%24].period = slot[(i-1)%24].period;

20: if slot[(i+1)%24].successCount == 0 then . Next slot unsuccessful

21: slot[i%24].period = 2∗slot[i%24].period;

22: end if

23: end if

24: slot[i%24].successCount++;

25: end for

26: else

27: for i = start:24+start do

28: slot[i%24].optimalPeriod = slot[i%24].period;

29: slot[i%24].period = maxPeriod;

30: slot[i%24].successCount = 1;

31: end for

32: end if

33: end function

52

Page 65: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

Reflective Level

The reflective level determines the decrease used by the deliberative level and adapts the

optimal period. The decrease is calculated as:

d = [1/2 ∗ (Tcurrent − Toptimal)]+

In this formula, [x]+ takes the ceil of the float. Initially, Tminimal is chosen as the minimal

period allowed by the application. It is updated by two mechanisms:

It is updated by the deliberative level to the last unsuccesful period. This is done,

because an unsuccesful period can be seen as an upperbound. This mechanims only

decreases the optimal performance.

To make sure that seasonal variatons are possible, it should be possible to decrease

the minimal period. This is only made possible when the current period is equal to

the minimal period. In that case, when the success count equals 7 (corresponding

to one week), the optimal period is decreased by using the same formula as the one

above. Toptimal is now defined as the maximum performance level allowed by the

application. For the implementation, this is 100ms because this is the granularity of

the steady state periodic timer (see further).

3.5.3 Proactive Algorithm

The objective of the proactive algorithm is to track the harvesting profile as closely as

possible. This implies that the node is allowed to shut down when not enough energy is

available. Therefore, the operation of the node is not required to be energy-neutral. In

the case of solar energy harvesting (for which this algorithm is designed) the node should

be active during the day and will be inactive at night. This means that the energy buffer

has to be recharged every morning. Therefore, the storage element should be chosen small.

Consequently, the node does not have a large buffer to cope with fluctuations. So, the

following two requirements are chosen for the proactive algorithm:

It should be able to downscale performance very quickly, to prevent shutting down

when less energy is harvested than expected.

It should be albe to upscale performance very quickly.

53

Page 66: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.5. POWER MANAGEMENT ALGORITHMS CHAPTER 3. ALGORITHMS

The proactive algorithm uses one variable: the period. It is updated as soon as a voltage

measurement point is taken (meaning every second). Note that one second could be small

compared to the period. This would cause problems, because the period would be updated

before energy is consumed by the radio. However, tests showed that it is possible to send

much more frequently using solar energy harvesting in a proactive scheme (see chapter 4).

Therefore, the steady state slot size was adapted to 50ms.

The initialization is the same as the one for the reactive algorithm. The update mechanism

used by the proactive algorithm is shown in algorithm 4. The performance is downscaled

slower than it is upscaled. This is done to prevent the performance level from fluctuating

between a high and a low level. However, because the algorithm uses no memory (except

for the last used period) the performance could go up and down.

Algorithm 3 The proactive power management algorithm.

1: function Proactive

2: v = MeasureVoltage; . Measure supply voltage

3: if v < 2.9 then

4: period = maxPeriod;

5: else if v < 3.0 then

6: period = min(maxPeriod,period + 1);

7: else

8: period = 0.5∗period;

9: end if

10: end function

54

Page 67: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

3.6. STEADY STATE PHASE CHAPTER 3. ALGORITHMS

3.6 Steady State Phase

The steady state phase is entered as soon as a node discovers another node. The node

will start a 100ms periodic timer. The period of 100ms defines the maximum performance

level of the nodes. When the periodic timer expires, the node will decrease the fixed counts

stored in the fixed list and the proposal counts stored in the wanted-from-me list. When

the value of a fixed count equals zero, the node will turn on the radio to transmit a packet

or listen for 4ms. The action depends on which fixed count equals zero. If the fixed count

corresponds to a neighboring node, the node will receive a packet. Otherwise, the node

sends a packet itself. Note that the performance negotiation algorithm is executed every

time the own fixed count equals zero. An overview is shown in figure 3.10. Note that the

node also executes the synchronization mechanisms.

Figure 3.10: The steady state phase.

The discovery phase and the steady state phase can coexist. The only adaptation that is

done to cope with this, is that the steady state phase has priority over the discovery phase.

Thus, if a node wants to send a discovery request and a data packet at the same time, the

discovery request is cancelled. The power management algorithm should be able to handle

the extra consumption during the steady state phase because of the discovery.

55

Page 68: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Chapter 4

Experiments

All experiments have been conducted on the Wilab2 testbed of the University of Ghent.

This testbed is located above a clean room in Zwijnaarde in a pseudo-shielded environment:

there is no human presence and almost no external interference. Nine nodes are equipped

with an Environment Emulator (EE) and therefore suitable for testing the algorithms from

chapter 3.

Every node location contains a Zotac embedded PC, an Environment Emulator and an

RM090 sensor node. The Zotac embedded PC can be used for many purposes. In this

thesis, it is used to control and monitor the sensor network experiments. The EE is

designed to emulate different environmental scenarios. It can disconnect the USB power

from the sensor node and power it with its own voltage supply. In this thesis the EE is used

to emulate different harvester scenarios. The harvester emulation determines the voltage

supply of the RM090 sensor node. Finally, the RM090 sensor node has an MSP430F5437

microcontroller and a CC2520 low-power radio.

Another important property of the Wilab2 testbed is that is managed by the OMF frame-

work. OMF is a generic framework for controlling and managing networking testbeds.

OMF provides a domain-specific language, OEDL, which allows the experimenter to:

Describe the resources and their configuration.

Describe the applications used in an experiment and the measurements needed from

them.

Describe the tasks to perform during and experiment, together with the time or event

that triggers them.

56

Page 69: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

CHAPTER 4. EXPERIMENTS

So, the input of OMF is an experiment described with OEDL. OMF deploys and configures

the experiment on the testbed based on this description. It controls the execution of the

experiment and collects data from the experiment which is stored in a database for later

analysis.

The OMF system architecture is shown in figure 4.1. The most important component from

a user’s perspective is the Experiment Controller (EC). A user submits the experiment

description to the EC, which starts the execution.

Figure 4.1: OMF system architecture.

First, the testbed setup will be discussed. Then the tests to evaluate the performance of

the algorithms from previous chapters will be discussed.

57

Page 70: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

4.1 Testbed Setup

Harvester Emulation

The algorithms are tested with emulated energy harvesters. The general model of an

energy-harvesting sensor node is discussed in chapter 2, the model is also shown in figure

4.2. The emulated model (figure 4.3), used for the experiments, differs in several aspects:

The Environment Emulator can disconnect the USB power from the sensor node and

power it with its own voltage source. This voltage source is an emulated capacitor

of which the size can be specified by the user. Because there is only one EE for

each node, only one storage element can be emulated. There is no need for a charge

control component.

The sensor node can only be powered from the EE (either by the USB or by the

emulated capacitor), thus all energy has to be stored in the emulated capacitor first.

The transducer and input regulator are simulated as one component.

There is no output regulator: the voltage across the emulated capacitor is set directly

on the sensor node.

Figure 4.2: Hardware architecture of energy-harvesting sensor nodes.

58

Page 71: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

Figure 4.3 shows the simplified model that is used for the experiments and the lay-out on

the testbed. Some important remarks:

The ambient source, the transducer and the input regulator are simulated on the

Experiment Controller by executing a ruby script. The simulation is based on two

input files: one that describes the characteristics of the energy-harvesting sensor node

and one that contains solar irradiance measurement data.

The primary buffer is emulated on the Environment Emulator, it is a capacitor with

a size that is configured by the user in the node configuration file.

The load is the RM090 sensor node, it runs a TinyOS application and the power

management algorithm.

Figure 4.3: Testbed and experiment setup.

59

Page 72: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

To simulate the ambient source, measurement data is used. Outdoor solar irradiance

measurements are readily available from the Solar Radiation Research Laboratory (SRRL)

associated to the National Renewable Energy Laboratory (NREL). There is a measurement

point for every minute of every day. The laboratory is located in Golden, Colorado at

6000 ft. above sea level. Conditions for solar energy harvesting are ideal: the measured

irradiance values are much higher than what could be achieved in Ghent. A solar panel of

area 1m2 and efficiency 20% is expected to harvest 440kWh per year in central Colorado.

A similar panel in Southern England only yields 175kWh per year [15, 16].

The Experiment Controller runs a Ruby script to convert the irradiance measurements to

an output current of a simulated transducer. The ruby script uses two files as input: a file

describing the configuration of the harvesting system and a file containing the measure-

ment data. The configuration can be modified by the user, table 4.1 shows the parameters

with their default value. The efficiency is chosen low (5%) to compensate for the high

measurement values. The electrical power is calculated using 3V.

Parameter Default value

Solar panel inclination θ 0.0 radians

Solar panel area [m2] see further

Responsivity [A/W] 0.5

Efficiency harvesting system 0.05

Leakage current [mA] 0.001

Table 4.1: Testbed and experiment setup.

The algorithm to convert the solar irradiance measurements to a transducer output current

takes five steps. Note that this still has to be converted to mA.

1. Read an irradiance value Imeas from the measurement file, this is expressed in W/m2.

2. Calculate the effective irradiance by multiplying with the cosine of the solar panel

inclination: Ieff = cos(θ) ∗ Imeas. This is expressed in W/m2.

3. Take the solar panel area A into account: Pincident = Ieff ∗ A. This results in the

total incident power Pincident and is expressed in W .

4. Take the efficiency η into account: Pout = η ∗ Pincident, this is expressed in W .

5. Convert to a current at 3V: Iout = Pout

3− Ileakage

1000. This is expressed in A.

60

Page 73: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

Experiment Flow

The Experiment Controller runs an OEDL experiment description to control the complete

execution of the experiment, the description has three major parts:

Describing the resources used by the experiment, their configuration and the appli-

cations that are used.

Describing the tasks to be performed during the experiment, and the times or events

that trigger them.

Describing the measurements that need to be collected.

The energy-harvesting nodes that are used in the experiment can be found in the topology

configuration file. The configuration of each node depends on the content of the node

configuration file (as described in the section on harvester emulation). All nodes run the

same TinyOS application.

The OEDL experiment description defines the actions that need to be performed to run the

experiment. The basic experiment flow can be seen in figure 4.4. The actual experiment

flow differs a little: at the beginning and the end of the experiment any active samplers

are shut down. This has no influence on the execution of the experiment but is needed to

ensure that future experiments are not affected by previous ones.

As can be seen in figure 4.4, the experiment description uses three message types:

Set GPIO Pin Status: this message is used to choose how the Environment Emulator

powers the sensor node.

Streamer: this message is used to configure the emulated capacitor on the Environ-

ment Emulator and charge it with the harvester current.

Sampler: this message is used to describe what measurements are needed.

Solar Measurement Data

Figures 4.5 to 4.7 show the measurement data that is used throughout the experiments.

All graphs have been generated by executing the simulation script described earlier with

the default parameters and a solar panel area of 17.4cm2.

61

Page 74: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

Figure 4.4: Experiment flow.

The first graph shows four days during the period from November 14th until December 14th.

Note that November 24th is a bad day. All other days show similar behavior, although it

is obvious that there is a lot of fluctuation throughout the day.

Figure 4.5: Harvester output current for a solar panel with area 17.4cm2.

62

Page 75: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.1. TESTBED SETUP CHAPTER 4. EXPERIMENTS

Figure 4.6: Daily average harvester output current and seasonal trend for a solar panel

with area 17.4cm2, period 14/11 until 14/12.

Figure 4.6 shows the average transducer current in the period from November 14th until

December 14th. There is a lot of fluctuation from one day to another. There are two

exceptionally bad days: data shows that bad days do not occur very often, but if they do

they are clustered. To cope with these days, the node will need a sufficiently large buffer.

The figure also shows the seasonal trend. This data is used for testing.

Figure 4.7: Typical seasonal harvester output current for a solar panel with area 17.4cm2.

63

Page 76: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.2. DIMENSIONING CHAPTER 4. EXPERIMENTS

4.2 Dimensioning

Solar panel area and capacitor size are correlated, because the combination of both de-

termines the amount of energy that is available to the node. However, they are not in-

terchangeable. The solar panel area determines the amount of instantaneous harvested

energy along with the maximum amount of energy that can be harvested by the sensor

node. The capacitor size determines the amount of energy that can be stored by the sen-

sor node. Energy needs to be stored to be able to cope with fluctuations in the amount

of harvested energy and to keep the node operational when no energy is harvested for a

prolonged period.

Solar Panel Area

The minimal solar panel area is determined by requiring that, on average, a sufficient

amount of energy is harvested to be able to keep the node active at all times. Therefore,

it is necessary to study the energy consumption of the energy-harvesting sensor node. The

current consumption of the MSP430 microcontroller and the CC2520 radio is given in the

following table. The measured consumption values are relatively high. As discussed in

chapter 2, the ADC12 component of the MSP430 is configured to measure the supply volt-

age of the microcontroller. To achieve this, a resistive load is applied to the voltage supply.

This resistive load causes the high measured energy consumption.

Parameter Nominal value Measured value

MSP430 Active Mode 2.2mA 2.2 - 2.6mA

CC2520 Receive 22.3mA 24.27mA

CC2520 Transmit 33.6mA 30mA

Table 4.2: Nominal and measured current consumption.

A graph of the current consumption of the sensor node while charging the capacitor can be

seen in figure 4.8. This figure has been generated with measurement data from November

14th starting at 5 a.m., a solar panel area of 17.4cm2 and a capacitor of 100mF. The initial

capacitor voltage is 0.85V. The sensor node boots at 2.2V and runs a TinyOS application

that periodically measures the supply voltage. This application has been chosen because

it is the basic activity of the sensor node in all algorithms. Therefore, it determines the

minimal consumption of the sensor node.

64

Page 77: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.2. DIMENSIONING CHAPTER 4. EXPERIMENTS

Figure 4.8: Supply voltage and current consumption during the charging process of the

capacitor. Capacitor size is 100mF, solar panel area is 17.4cm2.

As can be seen in figure 4.8, the supply voltage increases as the solar panel harvests energy.

The figure also shows that the node consumes a non-neglegible amount of energy before

the supply voltage is 2.2V. We are unable to explain this current consumption: the sensor

node boots at 2.2V and shows no activity before the voltage reaches 2.2V.

So, the node consumes a minimum current of 2.2mA when it is active. A solar panel area

of 12.75cm2 (all other parameters are default) delivers a daily average output current of

2.2mA for the period of November 14th to December 14th. For testing, solar panel areas

of 13.5cm2 (average output current 2.3mA) and 17.4cm2 (average output current 2.9mA)

are used. In literature areas of approximately 30.0cm2 are used [9, 10]. Note that the used

harvester system parameters correspond to an ideal setup (the solar panel inclination is

0.0 radians), this explains the difference.

Capacitor Size

The amount of energy that can be stored for later use depends on the capacitor size.

Storing energy is necessary to cope with fluctuations in the amount of harvested energy

caused by the undeterministic nature of the ambient source. It is also needed to keep

the node operational when no energy is harvested (contrary to fluctuations this can be

predicted by the sensor node). The capacitor dimensioning depends on the objectives of

the power management algorithms.

65

Page 78: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.2. DIMENSIONING CHAPTER 4. EXPERIMENTS

Reactive Algorithm

The objective of the reactive algorithm is to keep the node in an energy-neutral state:

the node should operate perpetually. Therefore, the capacitor needs to store a sufficient

amount of energy to power the node when no energy is harvested. Recall from the section

on harvester emulation that the capacitor voltage is directly set on the RM090 node. Thus,

the maximum capacitor voltage is 3.2V. Because the node does not operate when the supply

voltage is below 2.2V, the useful amount of charge is 1.0C.

Because the minimum current consumption of the node is 2.2mA, the capacitor size needs

to be larger than 95F if there are 12 dark hours. Note that to be able to sustain the

minimum performance level (determined by the application), the capacitor size needs to

be exceed 95F. Also note that the performance level used by the reactive algorithm is only

reduced to the minimum allowed performance level if the supply voltage drops below 3.0V.

Proactive Algorithm

The objective of the proactive algorithm is to achieve the maximum performance level that

is achievable with the instantaneous amount of harvested energy. Energy-neutrality is not

a requirement. This implies that the node will shut down when no energy is harvested

and needs to recharge the capacitor every morning. Therefore, two considerations are used

for dimensioning the capacitor. First, the time required to charge the capacitor should be

low (because the node only executes the application after finishing the post-boot phase).

Secondly, the capacitor needs to be able to store a sufficient amount of energy to be able

to cope with fluctuations.

The duration of charging the capacitor depends on four factors: the initial charge of the

capacitor, the size of the capacitor, the solar panel area and the harvesting profile. All

tests executed for this section start at 5 a.m. on November 14th. The harvesting profile is

shown in figure 4.9. The initial charge of the capacitor is chosen as 0.85C, corresponding to

0.85V. This is chosen, because the node consumes no energy below this voltage level (see

figure 4.8). So, the capacitor depletes until this voltage level, after which it is recharged by

the harvester. Figure 4.10 shows the time required to charge the capacitor as a function of

capacitor size when a solar panel area of 17.4cm2 is used. The results have been obtained

for nodes that run a simple application: the supply voltage is measured every second, the

radio is turned off. Note that this application has the same load profile as the algorithm

in the post-boot phase. Figure 4.10 shows three voltage levels: 2.2V (the boot voltage),

66

Page 79: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.2. DIMENSIONING CHAPTER 4. EXPERIMENTS

Figure 4.9: Harvested current on November 14th.

3.0V (the maximum voltage level that can be measured by the application) and 3.2V

(the maximum supply voltage of the sensor node). Figure 4.10 also shows the discretized

duration of the post-boot phase. This is the time needed to charge the capacitor from 2.2V

to 3.0V. This duration is measured by the application. Note that the application uses a

discretized time axis with a resolution of 1s, thus the actual charging duration is ceiled to

the closest second. The voltage and current profile while charging are shown in figure 4.8.

Figure 4.10: Top time needed to charge a capacitor of different sizes with a solar panel

area of 17.4cm2, and Bottom discretized duration of the post-boot phase.

67

Page 80: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.2. DIMENSIONING CHAPTER 4. EXPERIMENTS

Figure 4.11 shows how long the sensor node can be active (MSP430 in active mode, radio

turned off) when it draws energy from a fully charged capacitor. The amount of charge

in the energy buffer is calculated as 1.0C. The energy consumption in the active mode

is 2.2mA. For further tests, capacitors of size 50mF, 100mF and 200mF will be used.

Capacitors smaller than 20mF discharge to quickly, meaning that they do not cope well

with fluctuations in the amount of harvested energy. Capacitors larger than 200mF need

too much time to charge.

Figure 4.11: Time needed to discharge a fully charged capacitor.

68

Page 81: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.3. DISCOVERY CHAPTER 4. EXPERIMENTS

4.3 Discovery

The quality metric for evaluating the discovery mechanism is the time required to discover

another node. The energy consumption is of less importance because the use of an ambient

source implies that the consumed energy can be restored, and the discovery mechanims

uses a power management strategy to limit the energy consumption.

The discovery process is a statistical process: the time intervals between sending two

consecutive discovery requests are generated by a pseudorandom number generator. The

sequence of random numbers depends on the initial seed, which is the node ID. Further-

more, a modulo operation is used to map the random numbers to a value in the interval

[0,20]. Because of these two factors, the random sequence does not vary a lot from one

test to another: the variation is not sufficient to do a statistical analysis of the results.

However, because all results are very similar, the conclusions are valid. The test results

were obtained by executing the discovery procedure on some nodes and use a sniffer that

receives all discovery requests.

Solar Energy

The discovery mechanism was tested using two nodes for all combinations of two different

solar panel areas (13.5cm2 and 17.4cm2) and three different capacitor sizes (50mF, 100mF

and 200mF). The tests were repeated using different nodes, to change the sequence of

random numbers used by the discovery. Also, the harvesting profiles were chosen such that

the nodes booted at different times, with a maximal difference of one hour. For all tests,

the discovery process finished within 0.8s after both nodes started the discovery procedure.

These results can be explained by the following observation. Sensor nodes send discovery

requests in bursts, until the measured voltage drops below 3.0V. The duration of a burst

depends on the amount of energy stored in the capacitor (between 3.0V and 3.2V), the

harvesting rate and the energy consumption of the discovery process. Using the current

consumption values listed in table 4.2, one instance of the discovery procedure (sending

a request and listening for 8ms) consumes approximately 250µC. An instance of the dis-

covery procedure is executed every 20-40ms. So, this corresponds to an average current

consumption between 8.45mA and 14.7mA (including the 2.2mA current consumption of

the microcontroller). Figure 4.9 shows that the solar panel of area 17.4cm2 delivers the

required current from 9 a.m. until 15 p.m. So, due to the diurnal cycle of solar energy the

current levels are high enough to execute the discovery procedure continuously.

69

Page 82: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.3. DISCOVERY CHAPTER 4. EXPERIMENTS

Figure 4.12: Current consumption and random transmit times for the discovery proce-

dure.

Figure 4.12 shows the current consumption of a node executing the discovery procedure.

The highest peaks occur when the radio is in an active state (sending a discovery request

and listening). The lower peaks correspond to measuring the supply voltage of the MSP430.

Before sending a discovery request, the node checks the supply voltage. If the supply

voltage is lower than 3.0V, the node will not send a discovery request (this situation is not

shown in the figure). Notice that the node sends requests at random times. The discovery

procedure ends when a node sends a discovery request while another node has the radio

in receive mode.

Constant Harvester

To see how the discovery mechanism handles low harvester currents, tests were done with

constant harvesters that deliver 4mA, 6mA, 8mA and 10mA for two capacitor sizes (50mF

and 100mF). Just as in the solar energy tests, nodes booted at different times with a

maximum difference of one hour.

When both nodes boot at the same time, the results are similar to those in the solar

energy tests. This was expected, because the duration of the discovery process is not

long enough to deplete the energy stored in the capacitor between 3.0V and 3.2V. Thus,

because the energy stored in the energy buffer is sufficient, the time needed to complete

the discovery does not depend on the harvesting opportunities of the node. Note that

70

Page 83: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.3. DISCOVERY CHAPTER 4. EXPERIMENTS

Figure 4.13: Adapting burstiness and randomness of sending discovery requests.

choosing the capacitor (much) smaller than 50mF could cause the energy buffer to be

depleted. However, as explained in a previous section 50mF is a lower bound for the

capacitor size. Therefore, no tests were conducted with smaller capacitors.

When both nodes do not boot at the same time, the discovery process becomes slower.

It finishes between 1s and 3s after both nodes started the discovery depending on the

harvesting opportunities of the node that boots first. The node that boots first adapts

the burstiness of sending discovery requests before the other node starts the discovery

procedure (the time between booting has to be sufficiently large). Thus, in this scenario

one node sends discovery requests very frequently (when the discovery procedure starts

a node sends requests every 20-40ms regardless of its harvesting opportunities) while the

other node has its radio in sleep mode for longer periods. It is thanks to the node that

boots last that the discovery procedure finishes quickly.

The adaptation of the burstiness of sending discovery requests can be seen in figure 4.13.

It shows the two adaptation mechanisms: increasing and decreasing the burstiness. The

burstiness is increased when the node could successfully send 100 discovery requests (note

that it can not be increased beyond sending every 20-40ms), it is decreased when the

voltage drops below 3.0V. The figure partially shows some very large peaks. These occur

whenever the voltage drops below 3.0V and correspond to recharging the capacitor for 1s.

Figure 4.13 also shows that the randomness increases when the burstiness decreases.

71

Page 84: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.3. DISCOVERY CHAPTER 4. EXPERIMENTS

A final note on the discovery mechanism and the radio used by the sensor nodes: the

experiment data showed that sometimes both nodes have sent discovery requests within

less than 1ms from each other. However, this did not result in finishing the discovery

phase. This can be explained by the radio TX/RX turnaround time.

72

Page 85: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

4.4 Power Management Algorithms

The power management algorithms are evaluated on individual nodes. This is necessary

because adding the network aspect implies that the performance of a node depends on

the performance of other nodes, and not only on its harvesting opportunities (due to the

performance negotiation mechanism). The nodes only execute the post-boot phase, after

which they enter the steady state phase. In the steady state phase, the nodes turn on the

radio with a period determined by the power management algorithm. When the node is

turned on, the node transmits a data packet and listens for 8ms. Transmitting a packet

makes it possible to calculate the rate at which a node turns on its radio by analysing the

sniffer reports. Listening for 8ms ensures that the energy consumption is high, the node

consumes approximately 250µC when the radio is turned on.

4.4.1 Reactive Algorithm

The reactive algorithm is not tested on the Wilab2 testbed, because a simulation would

require several days. Instead, the reactive algorithm is simulated by Matlab scripts. The

scripts use the same solar irradiance measurements that were used for the other tests. The

solar panel area is 17.4cm2. The energy consumption of the node is 2.2mA and turning

on the radio consumes 250µC. A discretized time axis with a resolution of 100ms is used.

The minimum performance level of the node is chosen as 20 minutes.

The capacitor size is chosen as 110F. As discussed in section 4.2, the capacitor size should

be at least 95F to keep the node active when no energy is harvested for 12 hours. The

capacitor is chosen larger than 95F for two reasons. First, the node consumes at least

250µC every 20 minutes (in addition to the constant consumption of 2.2mA). Secondly,

the performance is only scaled down when the voltage drops below 3.0V. Because of these

two reasons, the capacitor size is chosen as 110F.

Figure 4.14 shows the supply voltage and the period after a simulation of 7 days (from

November 14th until November 21th). The period is the actual period used by the sensor

node (not the variable that is adapted by the deliberative level (see section 3.5.2). It also

shows the average harvesting profile over the period of the simulation. As can be seen,

the maximum period is used during the night, during the day the sensor node turns on

the radio every 84.3s or every 0.4s (the average period is 803.6s). Therefore, it can be

concluded that the load profile follows the harvesting profile. Note that turning on the

radio every 0.4s corresponds to the maximum performance level that is possible on the 7th

73

Page 86: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

Figure 4.14: Average harvesting profile, period and supply voltage for the reactive algo-

rithm after a simulation of 7 days started on November 14th, with a capacitor of size 110F

and a solar panel area of 17.4cm2.

day of the simulation, because the simulation was initialized with a period of 20s. Figure

4.14 also shows that the voltage drops below 3.0V at night and that the lowest voltage

level is slightly higher than 2.2V. During the day, the voltage level is 3.2V. The following

remarks can be made:

The algorithm stores the maximum amount of energy on the capacitor during the day

and uses the excess energy to achieve the high performance level. So, the performance

of the algorithm is restricted by the amount of energy that can be stored on the

capacitor. The performance during the day is constant, because the performance

level is increased/decreased in the same way for all hours during the day, because

their success count always has the same value. Note that this is not the case for the

slot from 10 a.m. until 11 a.m. (see further).

The algorithm reports that all power management slots from 19 p.m. until 10 a.m.

have failed. Note however that the performance in the slot from 18 p.m. until 19

p.m. is adapted to the minimum performance level.

74

Page 87: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

Figure 4.15: Evolution of the period used by the reactive algorithm from November 14th

until November 17th, with a capacitor of size 110F and a solar panel area of 17.4cm2.

Figure 4.15 shows the period profiles for the first 4 days of the simulation. The profile of

the first day differs from the others, because it uses the initial period of 20s for each hour,

the reactive level adapts the performance when the voltage drops below 3.0V. It can be

seen that the performance during the day is increased by a factor of 2 every day.

Figure 4.15 also shows that the performance level was not achieved on the 15th (and

the 16th) from 10 a.m. until 11 a.m. On the 17th the algorithm found an achievable

performance level, at this point the performance level is adapted to a low performance

level (the period is 604.4s), because the algorithm recursively decreases the performance

level for all consecutive slots that were unsuccesful (in this case, the algorithm starts with

the slot from 20 p.m. and recursively lowers the performance level until it reaches 10 a.m.).

The next day (not shown in the figure) the performance level for the slot from 10 a.m.

until 11 a.m. is increased. This process continues, and the 7th day the node turns on the

radio every 84.3s. Note that the performance increase is attenuated when the performance

level approaches the optimal performance level (see section 3.5.2). The slots at the end of

the day (before 20 p.m.) progressively get a lower performance level, because energy needs

to be transferred to the next slots, to try to make these successful.

When using larger capacitors, the node is able to store more energy during the day. This

enables the node to adopt a high performance level in the evening. Thus, only the slots

in the morning have a low performance. This is the desired behavior, because energy is

75

Page 88: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

Figure 4.16: Average harvesting profile, period and supply voltage for the reactive algo-

rithm after a simulation of 7 days started on November 14th, with a capacitor of size 200F

and a solar panel area of 13.5cm2.

consumed close in time to the moment when it was harvested. This is shown in figure 4.16

for a capacitor of size 200F and a solar panel area of 13.5cm2 after a simulation of 7 days

starting on November 14th. Note that this effect can also be achieved by increasing the

maximum allowed voltage across the capacitor, this can be done when an output regulator

is added to the energy-harvesting sensor node architecture.

76

Page 89: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

4.4.2 Proactive Algorithm

The test setup consists of two nodes: one node that executes the power management

algorithm and one sniffer node. The sniffer node receives all the packets sent by the other

node. The sniffer node records the time of receiving a packet. These are used for the

analysis. Tests were done using solar energy and some a predesigned harvester profile. As

before, the solar energy tests were done using two different solar panel areas (13.5cm2 and

17.4cm2) and three different capacitor sizes (50mF, 100mF and 200mF).

Solar Energy

The proactive algorithm uses the duration of the post-boot phase (see figure 4.10) to es-

timate the average harvested current. Figure 4.17 shows a compariosn of the harvested

current and the estimate made by the algorithm for a solar panel of 17.4cm2. As can be

seen, the harvested current is always underestimated and the estimate is only accurate for

large capacitors. Both observations can be explained by the 1s time resolution that the

algorithm uses to do the voltage measurements. When the actual duration of the post-boot

phase is small compared to 1s, the estimation error is larger. Also, the actual duration

is ceiled to the closest second. The estimate determines the behavior of the sensor node

when it enters the steady state phase.

Figure 4.17: Estimated and actual harvested current (including 2.2mA to power the

microcontroller).

77

Page 90: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

Figure 4.18: Top voltage profile, and Bottom period between active states of the radio

for a solar panel area of 13.5cm2 and a capacitor size of 100mF.

At its maximum performance level, the node turns on the radio every 50ms. So, if the

output current of the harvesting system exceeds 7mA, the node can continuously operate

at the maximum performance level. Figure 4.17 shows that a node with a solar panel area

of 17.4cm2 starts the steady state phase at the maximum performance level. Due to the

diurnal cycle of solar energy, the maximum performance level can be sustained until the

evening. In the evening the node shuts down. Note that the excess energy (above 7mA)

harvested during the day is wasted, because it can not be stored for later use (the capacitor

voltage is limited to 3.2V). Testing with solar panel areas of 13.5cm2 showed that the nodes

also use the maximum performance level when entering the steady state phase. However,

less energy is harvested on average and therefore, there are more periods in which the node

scales down the performance.

Figure 4.18 shows the behavior of the node when the amount of harvested energy drops.

As can be seen the node uses a high performance level, but the harvester is not able to

sustain this. This causes the supply voltage to drop from 3.2V to 3.0V. At this point, the

node decreases the performance (or conversely, increases the period with which the radio

is turned on). Each time the performance is decreased, the node is able to store part of the

harvested energy in the capacitor. Note that the possible periods are multiples of 50ms,

because a 50ms periodic timer is used for the steady state operation. Also note from the

figure, that the ADC converter is not completely accurate.

78

Page 91: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

4.4. POWER MANAGEMENT ALGORITHMS CHAPTER 4. EXPERIMENTS

Artificial Harvester Profile

The objective of the proactive algorithm is that the node is able to survive fluctuations in

the amount of harvested energy, with a small capacitor. The capacitor needs to be small

to achieve a short post-boot phase (this also depends on the solar panel area). Also, the

performance should be increased immediately after a fluctuation. To test this, a harvester

profile was designed for testing with a capacitor of 100mF: 2.6mA continuously, 0mA for

40 seconds, 70mA for 4 seconds, 2.6mA continuously. The period of 40 seconds was chosen

based on figure 4.11: a capacitor of 100mF can power the node for 49 seconds. It was

chosen lower, because of the minimum performance level used for the test (2 seconds was

chosen, to be able to see all the properties of the proactive algorithm). The results are

shown in figure 4.18.

Figure 4.19: Top voltage profile, and Bottom period between active states of the radio

for a capacitor size of 100mF.

Figure 4.19 shows all properties of the proactive algorithm. Increasing and decreasing the

performance is an asymmetrical process: performance is increased much faster than it is

decreased, this is shown by the difference in the slope when the period increases and when

it decreases. Note that it is necessary to make one of the two processes fast (see chapter

3), but that making both fast would cause very large fluctuations in the performance level.

A second important characteristic is that the performance is scaled down quickly when the

node measures a voltage level below 2.9V: the period is adapted to its maximum value. A

third important characteristic is that the algorithm tries to keep the voltage level at 3.0V.

79

Page 92: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Chapter 5

Conclusions and Future Work

5.1 Conclusions

Power management algorithms are at the core of any energy-constrained system. In the

case of energy-harvesting, they are needed to adapt the load profile of the sensor node to

the energy-harvesting profile with performance maximization as the main objective. In

this thesis, two power management algorithms were discussed: a reactive algorithm and a

proactive algorithm.

The algorithms were tested using solar energy. As discussed in section 2.1, solar energy

has the highest power densities among all common ambient sources. Tests showed that the

amount of harvested energy during the day is sufficiently high to sustain very high perfor-

mance levels (see sections 4.3 and 4.4). Some tests were done using artificial harvesting

profiles, these tests showed that the algorithms perform well for other harvesting profiles

than that of solar energy.

Measurement Support

Both algorithms use the same strategy to obtain information about the harvester: the

supply voltage of the sensor node is measured by the microcontroller. The advantage of

this strategy is that no additional hardware is necessary, which makes this solution suitable

for almost all sensor nodes. However it also has several disadvantages:

As mentioned in section 2.3.3, the supply voltage varies slowly (proportional to

C−1, with C the capacitor size) because energy is harvested and consumed in small

amounts.

80

Page 93: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

5.1. CONCLUSIONS CHAPTER 5. CONCLUSIONS AND FUTURE WORK

The information is limited by the accuracy of the voltage measurements, the maxi-

mum measurable voltage level is 3.0V (see section 3.2).

Measuring the voltage level comes at a power penalty (see section 3.2 and section

4.2).

Reactive Algorithm

The reactive algorithm allows nodes to cope with prolonged periods in which no energy is

harvested, assuming that the hardware design is carefully chosen. Some other remarks:

Fluctuations have no influence on the performance of the node because the algorithm

uses an estimate of the average amount of harvested energy. This implies that the

performance is not decreased, but it is also not increased by fluctuations.

The test setup considered throughout this thesis uses an ultracapacitor with a voltage

restriction of 3.2V. The sensor node has to waste energy harvested during the day

because it can not be stored in the ultracapacitor. This problem can be solved by

increasing the capacitor size (see section 4.4.1) or by using an output regulator and

allowing higher voltages across the capacitor terminals.

The algorithm adapts the performance by considering two power management slots

at each stage of the performance adaptation process (see section 3.5.2), this causes

the node to adopt a high performance level as long as possible and not to equally

distribute the performance (see section 4.4.1). This is good because energy is used

closer in time to the moment when it was harvested (implying lower loss due to

leakage).

Proactive Algorithm

The proactive algorithm adapts the performance of the nodes accurately to the harvesting

profile. However, the proactive algorithm allows nodes to shut down when no energy is

harvested. Therefore, the energy buffer has to be restored each morning. This requires

that the node uses a small capacitor, which implies that the node can not cope with larger

fluctuations in the amount of harvested energy. Note that the tests (see section 4.4.2) were

executed using excellent solar measurement data (see section 4.1) that was collected in an

environment without obstructions. Consequently, this problem did not occur in the tests.

This problem could be solved by adding a secondary buffer to the architecture: this could

be a secondary battery (low leakage) that is recharged during the day using part of the

81

Page 94: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

5.1. CONCLUSIONS CHAPTER 5. CONCLUSIONS AND FUTURE WORK

harvested energy. Note that the primary buffer should still be chosen large enough to cope

with most of the fluctuations, because a secondary battery can only be recharged 100-500

times (see section 2.2, table 2.2). Note that this would require that the proactive algorithm

is adapted, because now it would also need to recharge the secondary buffer.

Discovery Algorithm

The discovery algorithm is of major importance for nodes running the proactive algorithm,

because these nodes need to recharge their capacitor every day. This implies that these

nodes also need to rediscover neighboring nodes in their communication range. This re-

quires a fast discovery algorithm. The discovery algorithm presented in this thesis performs

very well, because it exploits the fact that the amount of energy that can be harvested

from ambient sources is unlimited. Note that the power management strategy used by the

discovery algorithm could be used as a stand-alone power management algorithm, if the

randomness is removed (see section 3.3). Conversely, the proactive algorithm could be used

as the power management strategy for the discovery mechanism, if randomness is added.

82

Page 95: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

5.2. FUTURE WORK CHAPTER 5. CONCLUSIONS AND FUTURE WORK

5.2 Future Work

The algorithms were tested using solar measurement data. They were also tested using

artificial harvester profiles. These last tests indicated that the algorithms are also suitable

for other harvesting sources than solar energy. However, tests using real measurement data

need to be performed.

In this thesis, algorithms for the MAC layer were presented. The proposed algorithms are

all distributed, because it is required that each node can start the wireless sensor network

independent of other nodes. Therefore, it is required that higher layer algorithms are

also distributed. Another requirement is that they are fast, this is necessary for the good

operation of the proactive algorithm.

83

Page 96: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

Bibliography

[1] A. Kansal, J. Hsu, S. Zahedi, and M. B. Srivastava, “Power Management in Energy

Harvesting Sensor Networks,” ACM Trans. on Embedded Computing System, vol. 6, no.

4, article 32, 2007.

[2] G. P. Agraval, Fiber-Optic Communication Systems, Fourth Edition, John Wiley &

Sons (2010),128-135.

[3] M.T. Penella-Lopez, M. Gasulla-Forner, Powering Autonomous Sensors, Springer Sci-

ence + Business Media (2011), 81-123.

[4] M.T. Penella-Lopez, M. Gasulla-Forner, Powering Autonomous Sensors, Springer Sci-

ence + Business Media (2011), 125-134.

[5] F. Fei, J. D. Mai, and W. J. Li, “A wind-flutter energy converter for powering wireless

sensors,” Sensors and Actuators A: Physical, 2011.

[6] A. Nasiri, S. A. Zabalawi, and G. Mandic, “Indoor Power Harvesting Using Photovoltaic

Cells for Low-Power Applications,” IEEE Trans. Ind. Electron., vol. 56, no. 11, pp.4502

-4509, 2009.

[7] H. Yua, and Q. Yue, “Indoor Light Energy Harvesting System for Energy-aware Wireless

Sensor Node”, International Conference on Future Energy, Environment, and Materials,

2012.

[8] M.T. Penella-Lopez, M. Gasulla-Forner, Powering Autonomous Sensors, Springer Sci-

ence + Business Media (2011), 41-80.

[9] J. Jeong, and D. Culler, “Predicting the Long-Term Behavior of a Micro-Solar Power

System,” ACM Transactions on Embedded Computing Systems, vol. 11, no. 2, pp. 35:1 -

35:38, 2012.

84

Page 97: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

5.2. FUTURE WORK CHAPTER 5. CONCLUSIONS AND FUTURE WORK

[10] X. Jiang, J. Polastre, and D. Culler, “Perpetual Environmentally Powered Sensor

Networks”, Proceedings of the 4th international symposium on Information processing in

sensor networks, 2005.

[11] R. Van Landeghem, P. Vansteenwegen, F. Van den broecke, “Inleiding tot Bedrijfs- en

Productiebeheer”, 2008.

[12] C. Bergonzini, B. Lee, J. R. Piorno, and T. S. Rosing, “Management of Solar Harvested

Energy in Actuation-based and Event-triggered Systems,” Energy Harvesting Workshop,

2009.

[13] S. Chen, P. Sinha, N.B. Shroff, and J. Changhee, “A simple asymptotically optimal

energy allocation and routing scheme in rechargeable sensor networks,” In INFOCOM

2012.

[14] T. Zhu, A. Mohaisen, Y. Ping, and D. Towsley, “DEOS: Dynamic Energy-Oriented

Scheduling for Sustainable Wireless Sensor Networks.” In INFOCOM, 2012.

[15] http://www.nrel.gov/midc/srrl_bms/, 14 December 2012.

[16] http://www.inference.phy.cam.ac.uk/withouthotair/c6/page_40.shtml, 8 May

2013.

85

Page 98: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

List of Figures

2.1 General model of energy-harvesting systems. . . . . . . . . . . . . . . . . . 5

2.2 Power densities of harvesting sources. . . . . . . . . . . . . . . . . . . . . . 7

2.3 Hardware architecture of energy-harvesting sensor nodes. . . . . . . . . . . 9

2.4 Photovoltaic cell: electrical model and I-V graphs. . . . . . . . . . . . . . . 10

2.5 Equivalent electrical model of a generic antenna. . . . . . . . . . . . . . . . 11

2.6 Input regulators for solar energy harvesting systems. . . . . . . . . . . . . 12

2.7 Input regulator for RF energy harvesting systems. . . . . . . . . . . . . . . 13

2.8 Electrical model and discharge profile of batteries. . . . . . . . . . . . . . . 14

2.9 Electrical models of supercapacitors. . . . . . . . . . . . . . . . . . . . . . 16

2.10 EWMA prediction method . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.11 Astronomical model of solar energy . . . . . . . . . . . . . . . . . . . . . . 20

2.12 Management unit from a scheduling algorithm. . . . . . . . . . . . . . . . . 26

3.1 Operation of the sensor node and interaction of the algorithms. . . . . . . 30

3.2 Packets used by the algorithms. . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3 The post-boot phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 The discovery procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.5 Network construction strategy. . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.6 Timestamp propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.7 Performance negotiation algorithm. . . . . . . . . . . . . . . . . . . . . . . 41

3.8 Performance negotiation algorithm. . . . . . . . . . . . . . . . . . . . . . . 46

3.9 Interpretation of voltage levels. . . . . . . . . . . . . . . . . . . . . . . . . 49

3.10 The steady state phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.1 OMF system architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.2 Hardware architecture of energy-harvesting sensor nodes. . . . . . . . . . . 58

4.3 Testbed and experiment setup. . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.4 Experiment flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

86

Page 99: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

LIST OF FIGURES LIST OF FIGURES

4.5 Harvester output current. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.6 Average harvester output current and seasonal trend. . . . . . . . . . . . . 63

4.7 Seasonal harvester output current. . . . . . . . . . . . . . . . . . . . . . . . 63

4.8 Supply voltage and current consumption during the charging of a capacitor. 65

4.9 Harvested current on November 14th. . . . . . . . . . . . . . . . . . . . . . 67

4.10 Charging duration and discretized duration of the post-boot phase. . . . . 67

4.11 Time needed to discharge a fully charged capacitor. . . . . . . . . . . . . . 68

4.12 Current consumption and randomness of the discovery procedure. . . . . . 70

4.13 Adapting burstiness and randomness of sending discovery requests. . . . . 71

4.14 Reactive algorithm: simulation result after 7 days. . . . . . . . . . . . . . . 74

4.15 Evolution of the period used by the reactive algorithm. . . . . . . . . . . . 75

4.16 Reactive algorithm: simulation result after 7 days. . . . . . . . . . . . . . . 76

4.17 Estimated and actual harvested current. . . . . . . . . . . . . . . . . . . . 77

4.18 Proactive algorithm: results for solar energy. . . . . . . . . . . . . . . . . . 78

4.19 Proactive algorithm: results for an artificial harvesting profile. . . . . . . . 79

87

Page 100: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar

List of Tables

2.1 Responsivity of semiconductors . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Characteristics of the most common secondary batteries. . . . . . . . . . . 15

2.3 Properties of supercapacitors. . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4 Nominal capacity and voltage of common storage elements. . . . . . . . . . 16

4.1 Testbed and experiment setup. . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.2 Nominal and measured current consumption. . . . . . . . . . . . . . . . . . 64

88

Page 101: Adaptive green wireless sensor networks Bernard Imschootlib.ugent.be/fulltxt/RUG01/002/033/268/RUG01-002033268_2013_000… · Adaptive green wireless sensor networks Academiejaar