appendix a: wireless sensor development platforms978-1-4471-6374-9/1.pdf · appendix a: wireless...

37
Appendix A: Wireless Sensor Development Platforms Benny Lo and Guang-Zhong Yang A.1 Introduction The development of BSN has been facilitated by the rapid advances in Wireless Sensor Networks (WSNs) in recent years. BSN harnesses several allied technolo- gies that underpin the development of pervasive sensing for healthcare, wellbeing, sports and other applications that require “ubiquitous” and “pervasive” monitoring of physical, physiological and biochemical parameters in any environment and without activity restriction and behaviour modification. Key to the development of BSN are technologies that address miniaturised biosensor design, suitable for both wearable and implantable devices, biocompatibility and materials to ensure long-term deployment, low-power wireless communication, integrated circuits and systems, power scavenging techniques from the body, autonomic sensing and standards and integration. Major technical hurdles of BSNs are related to continu- ous sensing and monitoring, requiring long-term stability of the sensors and low-power operation, also necessitating bio-inspired design (e.g., bio-inspired mix-signal ASIC) and power scavenging techniques ultimately for battery-less oper- ation. For device level inter-connectivity, BSNs can be wired (e.g., interconnecting with smart fabric) or wireless (making use of common wireless sensor networks and standards. Since the introduction of the concept of WSN, a large number of development platforms have been introduced [1, 2]. As shown in Fig. A.1, there are nearly 120 new WSN platforms introduced since 1998. The number of new platforms introduced peaked in 2004–2007 and remained relatively static 2008 onwards. The reason for the decline is largely due to the maturing of the sensing platforms B. Lo • G.-Z. Yang, PhD (*) The Hamlyn Centre, Imperial College London, London SW7 2BY, UK e-mail: [email protected] G.-Z. Yang (ed.), Body Sensor Networks, DOI 10.1007/978-1-4471-6374-9, © Springer-Verlag London 2014 527

Upload: vuonghanh

Post on 18-May-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Appendix A: Wireless Sensor Development

Platforms

Benny Lo and Guang-Zhong Yang

A.1 Introduction

The development of BSN has been facilitated by the rapid advances in WirelessSensor Networks (WSNs) in recent years. BSN harnesses several allied technolo-

gies that underpin the development of pervasive sensing for healthcare, wellbeing,

sports and other applications that require “ubiquitous” and “pervasive” monitoring

of physical, physiological and biochemical parameters in any environment and

without activity restriction and behaviour modification. Key to the development

of BSN are technologies that address miniaturised biosensor design, suitable for

both wearable and implantable devices, biocompatibility and materials to ensure

long-term deployment, low-power wireless communication, integrated circuits and

systems, power scavenging techniques from the body, autonomic sensing and

standards and integration. Major technical hurdles of BSNs are related to continu-

ous sensing and monitoring, requiring long-term stability of the sensors and

low-power operation, also necessitating bio-inspired design (e.g., bio-inspired

mix-signal ASIC) and power scavenging techniques ultimately for battery-less oper-

ation. For device level inter-connectivity, BSNs can be wired (e.g., interconnecting

with smart fabric) or wireless (making use of common wireless sensor networks and

standards.

Since the introduction of the concept of WSN, a large number of development

platforms have been introduced [1, 2]. As shown in Fig. A.1, there are nearly

120 new WSN platforms introduced since 1998. The number of new platforms

introduced peaked in 2004–2007 and remained relatively static 2008 onwards.

The reason for the decline is largely due to the maturing of the sensing platforms

B. Lo • G.-Z. Yang, PhD (*)

The Hamlyn Centre, Imperial College London, London SW7 2BY, UK

e-mail: [email protected]

G.-Z. Yang (ed.), Body Sensor Networks, DOI 10.1007/978-1-4471-6374-9,© Springer-Verlag London 2014

527

and the increasing number of commercially available platforms. This is apparent by

comparing the trend of the platforms designed for research purposes and those

commercial platforms as shown in Fig. A.1.

A more detailed list of WSN platforms is provided in Table A.1. It must be

pointed out that this table is by no means exhaustive and unintentional omission is

likely. The general design and requirements for BSNs can be different from typical

WSN applications. However, many of the WSN development platforms have been

adapted or directly adopted for wearable BSN applications. For implantable appli-

cations, bespoke electronics and new ASIC designed are used due to stringent

power and resource constraints. After the introduction of dedicated BSN platforms,

such as the BSN node [3, 4], Pluto [5], Shimmer [6], purposely built platforms have

been used in BSN research. This appendix outlines the system architecture of

common WSN platforms and provides an overview of some of the main hardware

components involved.

A.2 System Architecture

The system architectures of all WSN development platforms are relatively similar,

and they mainly consist of the following components:

• Processor – the computer of the sensor node

• Wireless Communication – the wireless link between sensor nodes

• Memory – external storage for sensor readings or program images

140

120

100

80

60

40

20

01998 1999 2000 2001 2002 2003 2004 2005

Year2006 2007 2008 2009 2010 2011 2012

Commerically Available

Research Oriented

WSN Platforms

Number of WSN Platforms Introduced

Nu

mb

er o

f P

latf

orm

s In

tro

du

ced

Fig. A.1 Number of new WSN hardware platforms introduced in recent years

528 B. Lo and G.-Z. Yang

Table

A.1

Wirelesssensornetwork

developmentplatform

s

Platform

sCPU

Clock

(MHz)

RAM/Flash/

EEPROM

Radio

transceiver

BW

(bps)

Freq.

(MHz)

OS

Year

Organisation

WeC

Atm

elAT90LS8535

4512/8

K/32K

RFM

TR1000

10k

916.5

TinyOS

1998

UCBerkeley

AWAIRS1

IntelStrongArm

SA1100

59–206

1M/4

MConexantRDSSS9M

100k

900

MicroC/OS

1999

Rockwell

Micromote

Atm

elAT90S8535

Atm

elAT90LS2343

4 10

512/8

K/32K

128/2

k

RFM

TR1000

10k

916.5

TinyOS

1999

UCBerkeley

Rene1

Atm

elAT90LS8535

4512/8

K/32K

RFM

TR1000

10k

916.5

TinyOS

1999

UCBerkeley

Rene2

Atm

elAtm

ega163

81K/16K/32K

RFM

TR1000

10k

916.5

TinyOS

2000

UCBerkeley

uAMPS

StrongARM

SA1100

206

16M/512K

(ROM)

National

LMX3162

1M

2,450

uOS(eCOS

microkernel)

2000

MIT

BTnodea

bAtm

elAtm

ega128L

84K/128K/4

KZV4002BT/TI(Chipcon)

CC1000

1M

2,400

TinyOS

2001

ETH

Zurich

38.4

k868

Dot

Atm

elAtm

ega163

81K/16K/32K

RFM

TR1000

10k

916.5

TinyOS

2001

UCBerkeley

RSCWIN

SDECSA1100

206

1M/4

MRDSSS9M

100k

900

2001

Rockwell

SpotON

DragonballEZ

16

2M/2

MRFM

TR1000

10k

916.5

2001

University

of

Washington/

Intel

Smart-itsb

(Lancaster)

Microchip

PIC18F252

83K/48K/64K

Radiometrix

64k

433

Smart-its

2001

Lancaster

Smart-its(Teco)

Atm

elATMega103L

44K/128K

EricssonBT

1M

2,400

Smart-its

2001

University

of

Karlsruh

CENSMedusa

MK2

Atm

elATMega128L

Atm

elAT91FR4081

40

136K/1

MRFM

10k

916

Palos

2002

UCLA

iBadge

Atm

elAtm

ega103L

64K/128K

EricssonBT

1M

2,400

Palos

2002

UCLA

Mica

Atm

elAtm

ega128L

44K/128K/512K

RFM

TR1000

40k

916.5

TinyOS

2002

UCBerkeley

iMote1

ZeevoZV4002(A

RM)

12–48

64K/512K

ZeevoBT

720k

2,400

TinyOS

2003

Intel

Mica2

ab[10,11]

Atm

elAtm

ega128L

84K/128K/512K

TI(Chipcon)CC1000

38.4

k900

TinyOS

2003

UCBerkeley/

Crossbow

Mica2Dotab

Atm

elAtm

ega128L

44K/128K/512K

TI(Chipcon)CC1000

38.4

k900

TinyOS

2003

UCBerkeley/

Crossbow

MantisNymph

Atm

elAtm

ega128L

44K/128K/512K

TI(Chipcon)CC1000

38.4

k900

Mantis

2003

UColorado

RFRAIN

TI(Chipcon)CC1010

3–24

2K/32K

TI(Chipcon)CC1010

76.8

k0.3–1,000

RFRAIN

Libraries

2003

MIT

(continued)

Table

A.1

(continued)

Platform

sCPU

Clock

(MHz)

RAM/Flash/

EEPROM

Radio

transceiver

BW

(bps)

Freq.

(MHz)

OS

Year

Organisation

U3

Microchip

PIC18F452

0.031–8

1K/32K/256

CDC-TR-02B

100k

315

Pavenet

2003

UTokyo

AquisGrain

Atm

elAtm

ega128L

44K/128K/512K

TI(Chipcon)CC2420

250k

2,400

–2004

PhilipsResearch

BEAN

TIMSP430F149

82K/60K/512K

TI(Chipcon)CC1000

76.8

k0.3–1,000

YATOS

2004

UniversidadeFed-

eral

deMinas

Gerais

BSN

nodev2b[3,4]

TIMSP430F149

82K/60K/512K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2004

ImperialCollege

London/

Sensixa

CIT

sensornode

Microchip

PIC16F877

20

368/8

KNordic

nRF903

76.8

k868

TinyOS

2004

Cork

Institute

of

Technology

DSYS25ab

Atm

elAtm

ega128

44K/128K

Nordic

nRF2401

1M

2,400

TinyOS

2004

UCC

eXtrem

eScale

Mote

(XSM)

Atm

elATmega128L

84K/128K

TI(Chipcon)CC1000

76.8

k433

TinyOS

2004

Ohio

State

Uand

Crossbow

Fleck

1

Fleck

2

Atm

elAtm

ega128

44K/128K/512K

Nordic

nRF903

76.8

k902–928

TinyOS

2004

CSIRO

MicaZ

ab

Atm

elAtm

ega128L

84K/128K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2004

Crossbow

MITes

bNordic

nRF24E1

16

512/4

KNordic

nRF24E1

1M

2,400

–2004

MIT

Parasitic

SiliconC8051F311

25

1.2

k/16k

BlueR

adiosBR-C11A

1M

2,400

2004

MIT

Particle2/29a

Microchip

PIC

18F6720

20

4K128K/512K

RFM

TR1001

125k

868.35

Smart-its

2004

Lancaster/Univer-

sity

of

Karlsruhe

Pluto

b[5]

TIMSP430F149

84K/60K/512K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2004

Harvard

ProSpeckzb

Cypress

CY8C2764

12

256/16K

TI(Chipcon)CC2420

250k

2,400

Speckle

net

2004

University

of

Edinburgh

Spec

8-bitAVR-likeRISC

core

4–8

3K

FSKTransm

itter

100k

TinyOS

2004

UCBerkeley

Telosab

TIMSP430F149

82K/60K/512K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2004

UCBerkeley/

Sentilla

(Moteiv)

Ember

RFmodulea

Atm

elAtm

ega128L

84K/128K

Ember

2420

250k

2,400

EmberNet

2005

Ember

EnOcean

TCM120

Microchip

PIC18F452

10

1.5

K/32K/256

InfineonTDA

5200

120k

868

TinyOS

2005

HelmutSchmidt

University

eyesIFXv2b

TIMSP430F1611

810K/48K

InfineonTDA5250

64k

868

TinyOS

2005

TUBerlin

Hogthrob

Atm

elAtm

ega128L

XilinxSpartan3

XC3S400

8 48

4K/128K

56K

Nordic

nRF2401

1M

2,400

2005

Technical

Univer-

sity

of

Denmark

iMote2

IntelPXA271

13–104

256K/32M

TI(Chipcon)CC2420

250k

2,400

TinyOS

2005

Intel

MediM

eshb

TIMSP430F1611

810K/48K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2005

ChineseUniversity

ofHongKong

Mullea

Renesas

M16C/62P

10

31K/384K/2

MMitsumiWMLC46AHR

2.178M

2,400

Mulle

2005

Eistec

RISE

TI(Chipcon)CC1010

EM

3–24

2K/32K

TI(Chipcon)CC1010EM

76.8

k0.3–1,000

TinyOS

2005

UCRiverside

ScatterWeb

ESB

TIMSP430F149

82K/60K

RFM

TR1001

115.2

k868

TinyOS/Contiki

2005

Freie

Universitat

Berlin

Stack

bSiliconC8051F206

25

1K/8

KRFM

TR1000

115.2

k916

2005

MIT

Solarbiscuit

Microchip

PIC

18LF452

7.3728

1K/32K

TI(Chipcon)CC1000

76.8

k315

2005

TheUniversity

of

Tokyo

Tmote

sky/TelosB

ab[12]

TIMSP430F1611

810K/48K/1

MTI(Chipcon)CC2420

250k

2,400

TinyOS

2005

UCBerkeley/

Sentilla

(Moteiv)

XYZsensornode

OKIML67Q500x

(ARM/THUMB)

1.8–57.6

4K/256K/512K

TI(Chipcon)CC2420

250k

2,400

SOS

2005

Yale

Antab

TIMSP430F1232

8256/8

KNordic

nRF24AP1

1M

2,400

Ant

2006

Dynastream

Inno-

vationInc.

BTnoderev3ab[13]

AtemlATmega128L

84K/128K/4

KZV4002BT/TI(Chipcon)

CC1000

1M

2,400

BTnut

TinyOS

2006

ETH

Zurich/Artof

Technology

38.4

k868

Cookies

AnalogDevice

ADuC841

XilinxXC3S200

Spartan3

16

48

4K/62K

234K

ConnectBlue

OEMSPA13i

1M

2,400

2006

Universidad

Politecnicade

Madrid

DSRPN

TIOMAP5912

TMS320C55x

192

200

250K

128K

340

2006

ChineseAcadem

y

ofScience

(continued)

Table

A.1

(continued)

Platform

sCPU

Clock

(MHz)

RAM/Flash/

EEPROM

Radio

transceiver

BW

(bps)

Freq.

(MHz)

OS

Year

Organisation

e-Watch

b[14]

PhilipsLPC2106

ARM7TDMI

60

64K/128K

SMARTM

Bluetooth

1M

2,400

2006

Carnegie

Mellon

University

IECAS

SiliconC8051F121

100

84K/128K

TI(Chipcon)CC2420

250k

2,400

2006

Institute

ofElec-

tronicsChinese

Academ

yof

Science

LEAP

IntelPXA255

400

128M/64M/

192M

TI(Chipcon)CC2420

Atheros5006XS

250k

2,400

LEAPsoftware

fram

ework

2006

UCLA

20M

2,437

Nano-Q

plus

Atm

elATmegal28

84K/128K

TI(Chipcon)CC2420

250k

2,400

Nano-Q

plusOS

2006

ETRIKorea

SENTIO

Atm

elAtm

ega128L

84K/128K

TI(Chipcon)CC2420

250k

2,400

2006

Mid

Sweden

University

Shim

mer

b[6]

TIMSP430F1611

810K/48K/2G

TI(Chipcon)CC2420

MitsumiWML-C46N

250k

2,400

TinyOS

2006

Intel

2.178M

2,400

Tinynode584a

TIMSP430F1611

810K/48K/512K

Sem

tech

XE1205

152k

868/902

TinyOS

2006

EPFL/Tinynode

TUTWSNb

Microchip

PIC18LF4620

10

4K/64K/1

KNordic

nRF905

50k

433/868/

915

2006

Tam

pereUniver-

sity

of

Technology

TyndallMoteb

Atm

elAtm

ega128L

84K/128K/32K

Nordic

nRF2401

1M

2,400

TinyOS

2006

Tyndall

ubER-Badgeb

[15]

TIMSP430F149

84K/60K/256M

TI(Chipcon)CC1010

76.8

k0.3–1,000

2006

MIT

uPart0140ilmta

Microchip

rfPIC16F675

464/1

KMicrochip

rfPIC16F675

19.2

k868

Smart-it

2006

University

of

Karlsruh

ZN1

Renesas

H8S/2218

4–24

128K/128K

(ROM)

TI(Chipcon)CC2420

250k

2,400

2006

Hitachi

AVRraven

aAtm

elAtM

ega1284p

Atm

elATmega3290p

20

128K/16K/256K

Atm

elAT86RF230

250k

2,400

Atm

elStudio

2008

Atm

el

FireFly

Atm

elATmega1281

16

8K/128K/2G

TI(Chipcon)CC2420

250k

2,400

Nano-RK

2007

Carnegie

Mellon

University

Fleck

3Atm

elAtm

ega128L

84K/128K/1

MNordic

nRF905

50k

433/868/

915

TinyOS

2007

CSIRO

GWNode[16]

Microchip

PIC18LF8722

40

128K/64K/1

KBiM

110k

173

2007

Southam

pton

iSense

ab

Jennic

JN5148

4–32

128K/512K

802.15.4

250k

2,400

iSense

2007

coalesenses

JN5121ab

OpenRSIC1000

16

96K/64K

IEEE802.15.4

250k

2,400

JenNet/Jenie

2007

Jennic

mPlatform

b[17]

TIMSP430F1611

OKIML67Q5003

XC2C512

CoolRunner-II

CPLD

8 60

32–200

10K/48K

32K/512K

TI(Chipcon)CC2420

250k

2,400

mPlatform

2007

Microsoft

NeoMotea(EcoWizard)

Atm

elATMega128L

84K/128K

TI(Chipcon)CC2420

250k

2,400

2007

MEMSIC

(Cross-

bow)/

Sumitomo

Precision

NWSPb

Altera EP2C20F256C7N

500

26K

National

LMX9830

1M

2,400

eCos

2007

Nokia

Power

meter

WSN

TI(Chipcon)CC1010

3–24

2K/32K

TI(Chipcon)CC1010

76.8

k0.3–1,000

2007

University

ofNew

South

Wales

Sydney

S-M

ote

TI(Chipcon)CC2430

32

8K/128K

TI(Chipcon)CC2430

250k

2,400

RETOS

2007

YonseiUniversity

Korea

SunSPOTab[18]

ARM920T

180

512K/4

MTI(Chipcon)CC2420

250k

2,400

JavaJ2ME

2007

Orcale(Sun)

Tmote

miniab

TIMSP430F1611

810K/48K/1024K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2007

Sentilla(M

oteiv)

WeB

ee3b

TI(Chipcon)CC2431

16

8K/128K

TI(Chipcon)CC2430/

CC2431

250k

2,400

2007

LucerneUniversity

ofApplied

Sciences

ZigBita

Atm

elATmega1281V

16

8K/128K

Atm

elAT86RF230RF

250k

2,400

ZigBitDevelop-

ment

Kit/TinyOS

2007

MeshNetics

ArduinoBTab

Atm

elATmega328

16

2K/32K/1

KBluegigaWT11i

3M

2,400

ArduinoID

E/Java

2008

Arduino

BSN

nodev3ab[19]

TIMSP430F1611

810K/48K/4

MTI(Chipcon)CC2420

250k

2,400

TinyOS/BSNOS

2008

ImperialCollege

London/

Sensixa

(continued)

Table

A.1

(continued)

Platform

sCPU

Clock

(MHz)

RAM/Flash/

EEPROM

Radio

transceiver

BW

(bps)

Freq.

(MHz)

OS

Year

Organisation

DalianWSN

LPC2138

30

32K/512K

TI(Chipcon)CC2420

250k

2,400

2008

DalianUniversity

ofTechnology

EPIC

mote

TIMSP430F1611

810K/48K/512K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2008

UCBerkeley

MASN

Ember

EM250

(XAP2b)

12

5K/128K

Ember

EM250

250k

2,400

TinyOS

2008

RochesterInstitute

ofTechnology

Shim

mer

1.3

ab

TIMSP430F1611

810K/48K/2G

TI(Chipcon)CC2420

RovingNetworksRN-42

(Bluetooth)

250k

2,400

TinyOS

2008

Shim

mer

3M

2,400

WBSNb

TIMSP430F1611

810K/48K/124K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2008

QueenMary’s

Uni-

versity

of

London

Fem

toNode

Fem

toJava

56

0.5

KTI(Chipcon)CC2420

250k

2,400

API-Wireless

2009

UniversidadeFed-

eral

doRio

GrandedoSul

iCubes

SiliconC8051F320

25

2K/16K

TI(Chipcon)CC2500

500k

2,400

Over

TheAir

Programmed

(OTAP)

2009

Technical

Univer-

sity

ofCrete

Kmote-B

aTIMSP430F1611

810K/48K/512K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2009

INETCH

Co./

TinyOSMall

PowWow

–CAIRN

TIMSP430F1612

85K/55K

TI(Chipcon)CC2420

250k

2,400

PowWow

2009

Inria

SenseNodea

TIMSP430F1611

810K/48K/1024K

TI(Chipcon)CC2420

250k

2,400

TinyOS

2009

Genet

Sensium

ab

Toumaz

Sensium

TZ1030

164k

Toumaz

Sensium

TZ1030

50k

928

Toumaz

Shim

mer

2ab

TIMSP430F1611

810K/48K/2G

TI(Chipcon)CC2420

RovingnetworksRN-42

(Bluetooth)

250k

2,400

TinyOS

2009

Shim

mer

3M

2,400

T-nodea

Atm

elATMega128L

84K/128K

TI(Chipcon)CC1000

38.4

k868

SOWNet

2009

SOWNet

Technologies

Tem

po3.1

b[20]

TIMSP430F1611

810K/48K

RovingNetworksRN-41

(Bluetooth)

1M

2,400

TEMPOS

2009

University

of

Virginia

WeB

ee3G

TI(Chipcon)CC2430

16

8K/128K

TI(Chipcon)CC2430

250k

2,400

2009

LucerneUniversity

ofApplied

Sciences

Egs

Atm

elSAM3U

96

52K/256K

TI(Chipcon)CC2520

WML-C46

250k

2,400

2010

Harbin

Institute

of

Technology

2.178M

2,400

ENSb

TIMSP430F2410

16

4K/56K

TI(Chipcon)CC2420

250k

2,400

ENSNetwork

software

2010

University

of

Edinburgh

G-nodea

TIMSP430F2418

16

8K/116K/1

MTI(Chipcon)CC1101

1.2

k868/915

SOWNet

2010

SOWNet

Technologies

IndriyaCS-03A14a

Atm

elATMega128L

84K/128K

XBee

250k

2,400

TinyOS

2010

Indrion

RecoNode

XilinxVirtex-4

FX20

450

128M/

TI(Chipcon)CC2520

250k

2,400

RTOS/TinyOS

2010

University

of

Denver

Shim

mer

2Rab

TIMSP430F1611

810K/48K/2G

TI(Chipcon)CC2420

RovingNetworksRN-42

(Bluetooth)

250k

2,400

TinyOS

2010

Shim

mer

3M

2,400

VE209-STVEmesha

TIMSP430

16

512B/8

KSem

tech

SX1211/SX1231

50k

902

2010

Virtual

Extension

XBee-PRO

ZBab

Freescale

HCS08

50.33

2K/32K

ZigBee

250k

2,400

XBee

SDK

2010

DigiInternational

Z1a

TIMSP430F2617

16

8K/92K

TI(Chipcon)CC2420

250k

2,400

TinyOS/ContikiOS

2010

Zolertia

AS-X

M1000a

TIMSP430F2618

16

8K/116K/1024K

TI(Chipcon)CC2420

250k

2,400

TinyOS/ContikiOS

2011

Advanticsys

Indriya_

DP_01A11a

TIMSP430F2618

16

8K/116K

TI(Chipcon)CC2520

250k

2,400

TinyOS

2011

Indrion

Indriya_

DP_03A20a

Atm

elATMega128L

84K/128K

GainSpan

GS1011M

1M

2,400

TinyOS

2011

Indrion

IRIS

aAtm

elATmega1281

16

8K/128K/512K

Atm

elAT86RF230

250k

2,400

Mote

Works/Mote

Runner

2011

MEMSIC

(Crossbow)

Libelium

Waspmoteab

Atm

elATMega1281

88K/128K/2GB

XBee

module

250/230/

230k

2,400/900/

848

Libelium

(Over

the

Air)OTA

2011

Libelium

LOTUSa

NXPLPC1758

100

64K/512k/64M

Atm

elAT86RF231

250k

2,400

FreeRTOS/

TinyOS/M

ote

Runner

2011

MEMSIC

(Crossbow)

MTM-CM5000-M

SPa

MTM-CM3000-M

SPa

TIMSP430F1611

810K/48K/1024K

TI(Chipcon)CC2420

250k

2,400

TinyOS/ContikiOS

2011

Advanticsys

MTM-CM3300-M

SPa

MTM-CM4000-M

SPa

Preon32a

ARM

Cortex-M

372

64K/256K

Atm

elAT86RF231

2M

2,400

Java

2011

Virtenio

WiSMote

Dev

aTIMSP430F5437

816K/256K/1

MTI(Chipcon)CC2520

250k

2,400

Contiki

2011

AragoSystem

s

(continued)

Table

A.1

(continued)

Platform

sCPU

Clock

(MHz)

RAM/Flash/

EEPROM

Radio

transceiver

BW

(bps)

Freq.

(MHz)

OS

Year

Organisation

CoSeN

/MantaroBlocksa

Atm

elATmega32A4

32

4K/32K/1

KAtm

elAT86RF231

250k

2,400

Atm

elStudio

2012

UMBC/M

antaro

FireFly3

Atm

el ATmega128RFA1

16

16K/128K/4

KAtm

elATmega128RFA1

250k

2,400

Nano-RK

2012

Carnegie

Mellon

University

M12modulea

Freescale

MC13224v

(ARM7)

26

96K/128K

Freescale

MC13224v

(802.15.4)

250k

2,400

ContikiOS

2012

RedWire

panStampa

Atm

elAtm

ega328p

82K/32K/1

KTI(Chipcon)CC1101

1.2

k868/915

panStamp

2012

panStamp

WiSMote

minia

Atm

el ATmega128RFA2

16

16K/128K/4

KAtm

elATmega128RFA2

2M

2,400

Contiki

2012

AragoSystem

s

aCommercially

available

platform

sbDesigned

orusedforBSNapplication

• Sensor Interface – interface with sensors and other devices

• Power Supply – the power source of the sensor node

A.2.1 Processor

Most WSN platforms are based on COTS (Commercial Off-The-Shelf) components,

and the development of WSN depends extensively on the rapid advances of

microprocessors. The majority of the WSN platforms use 8-bit or 16-bit RISC

processors, such as the Atmel ATmega and Texas Instruments’ (TI) MSP430

microcontrollers, due to their low power design, integrated multi-sensor interfaces

and widely available developing tools. More recently, some platforms have started

to use the ARM Cortex processors due to an increase in computational power of the

sensor nodes.

A.2.2 Wireless Communication

Wireless communication is the most power-demanding component of WSNs. This

often accounts for more than 50 % of the overall power budget of a sensor node [7].

Parallel to the development of micro-power radio transceivers, such as the Pico radio

[8], existing research in WSNs has been focused on developing energy-efficient

protocols and routing strategies. The three main components of wireless communi-

cation include the radio transceiver, antenna, and communication protocols.

A.2.2.1 Radio Transceiver

Among different radio transceivers, the TI (Chipcon) CC2420 is the most popular

of the IEEE 802.15.4 chipsets used in the WSN platforms. Since the introduction of

SoC (System on a Chip) by integrating both microcontroller and radio transceiver

onto a single chip (e.g., Nordic nRF24E1 and ATmega128FEA1), new WSN

platforms are increasingly using bespoke SoC chipsets to minimise the footprint

and reduce the overall size of the sensor node.

A.2.2.2 Antenna

For WSN and BSN, antenna design is important, although the majority of the

current WSN platforms use COTS antennas. Among these, the ceramic antennas

are most commonly used in WSN platforms due to their small footprints

and consistent signal quality for mass production. For BSNs, particularly for

implantable applications, miniaturised antenna design remains a key research

topic, as mentioned in earlier chapters of this book.

Appendix A: Wireless Sensor Development Platforms 537

A.2.2.3 Communication Protocol

Depending on the hardware and the operating systems used, early WSN platforms

mainly relied on proprietary communication protocols. The introduction of the

IEEE 802.15.4 standard enables the standardisation of communication between

WSN platforms. Many recent WSN platforms have adopted this standard as the

basis for their wireless communication protocol. Examples of this include Telos,

MicaZ, Pluto, iMote2, Tmote sky, XYZ node, ProSpeckz and the BSN node.

Due to the broad range of WSN applications, the 802.15.4 standard defines only

the MAC and physical layers of the communication protocol. This enables the

design of application-specific protocols. For example, Zigbee is built based on the

802.15.4 standard and is designed to ease the inter-operation between different

devices. Zigbee specifies all the protocol layers required for forming a wireless

network and it also provides an interface for application development.

As mentioned in Chap. 5, although Zigbee is designed for low power sensor

communication and enables interoperability, the power consumption of Zigbee is

still relatively high for BSN applications. Following the release of the Bluetooth

Low Energy (Bluetooth SMART) and the standardisation of IEEE 802.15.6, it is

envisaged that new BSN platforms will increasingly rely on these new communi-

cation protocols, whereas WSN applications will remain to use 802.15.4 and

Zigbee protocols.

A.2.3 Memory

Since limited Random Access Memory (RAM) is provided by MCUs, most WSN

platforms are designed with an external flash memory or Electrically ErasableProgrammable Read-Only Memory (EEPROM). Due to the non-volatile nature of

the EEPROM, it is used in most embedded systems for storing configuration infor-

mation because it does not require power to retain the stored data. It is also used as an

immediate storage for sensor readings. For instance, in order to perform feature

extraction or filtering of the sampled data, the EEPROM can be used as a processing

buffer for these algorithms. Another use of the EEPROM is for storing program

images. In addition to EEPROM, some WSN platforms have designed with a micro-

SD card interface for data logging. Although micro-SD card consumes more power

than EEPROM, the large storage capacity is ideal for long-term data logging.

A.2.4 Sensor Interface

To enable practical application development, most WSN platforms offer analogue

and digital sensor interfaces.

538 B. Lo and G.-Z. Yang

A.2.4.1 Analogue Interface

Sensors such as simple photo resistors and thermistors, or more complex gyro-

scope and condenser microphones, generally provide analogue readings. Most

WSN or wearable BSN platforms are equipped with ADC interfaces for data

sampling and acquisition. For instance, the Atmel Atmega128L MCU has an

eight-channel 10-bit ADC that can sample at a rate up to 15.4 ksps (kilo-samplesper second), whereas the TI MSP430 microcontroller has a 12-bit ADC, which

provides a higher precision than that of the Atmel processor. In addition to ADCs,

some platforms are equipped with Digital-to-Analogue Converter (DAC) for

controlling sensors or actuators.

A.2.4.2 Digital Interface

Since analogue readings are prone to voltage drift caused by the depletion of the

battery power, sensors such as the 9-axis inertial motion unit MPU-9150 [9] provide

direct digital readings. As sensor data is relatively small in size, serial communi-

cation is mainly used for interfacing with digital sensors, and the three most

commonly used serial communication protocols are I2C, SPI and UART.

A.2.4.3 Integrated Sensors

To ease application development, many WSN or wearable BSN platforms have

built-in sensors such as humidity, temperature, inertial, magnetic and photo sensors.

With integrated sensor board design, the hardware platform can be made more

compact and immune to noise induced by cables and connectors. However, inte-

grating sensors on the hardware platforms can limit the general use of the platforms

as different applications may have varying sensor requirements.

A.2.5 Power Supply

Currently, power supply is the main determining factor for the size and lifetime of

the WSN or BSN hardware. Similar to mobile phones, the battery or alternative

power source is often the largest single component of these sensor nodes. To

miniaturise the sensor nodes, a number of alternatives have been proposed. With

recent advances in power harvesting technologies, it has been demonstrated that

WSN sensor nodes can be powered by motion, temperature gradient, inductive

coupling and other alternatives. However, batteries still remain the main source of

power for current WSN or wearable BSN platforms. Among different battery

technologies, Lithium-ion or Lithium Polymer batteries are the most popular choice

Appendix A: Wireless Sensor Development Platforms 539

for sensor hardware because of their high power density. Although zinc-air batteries

have a higher energy capacity than that of Lithium batteries, the high rate of power

drains from the current radio transceivers limits the direct use of zinc-air battery for

BSN applications. To simplify sensor deployment, most WSN platforms have

integrated batteries. As discussed in earlier chapters of this book, the development

of new power scavenging techniques coupled with ultra-low power BSN designs

could provide significant improvements in BSN design in future years.

A.3 Conclusions

In this chapter, we have outlined the common WSN and wearable BSN develop-

ment platforms that have emerged in recent years. Although many of the WSN

hardware platforms can be adapted for BSN applications, due to the specific

requirements and constraints imposed by BSNs, a number of dedicated platforms

have been proposed for BSN research and development. As the BSN platform

technologies mature, recent research has been increasingly focused on the devel-

opment of optimised BSN platforms for both wearable and implantable applica-

tions. Many of them are entering into routine clinical use, thus realising the original

goal of the BSN in supporting pervasive health monitoring, early detection and

personalised treatment of diseases.

References

1. (2004). WsLAN summary: WP1000 – state of the art. Available: http://www.sintef.no/units/informatics/projects/wslan/WP1000-summary.pdf

2. M. Weiser, “Hot topics: ubiquitous computing,” Computer, vol. 26, pp. 71–72, Oct 1993 1993.

3. J. W. Ng, B. P. Lo, O. Wells, M. Sloman, N. Peters, A. Darzi, C. Toumazou, and G.-Z. Yang,

“Ubiquitous monitoring environment for wearable and implantable sensors (UbiMon),”

in International Conference on Ubiquitous Computing (Ubicomp), 2004.4. B. Lo, S. Thiemjarus, R. King, and G.-Z. Yang, “Body sensor network-a wireless sensor

platform for pervasive healthcare monitoring,” in The 3rd International Conference onPervasive Computing, 2005, pp. 77–80.

5. V. Shnayder, B.-r. Chen, K. Lorincz, T. R. F. Jones, and M. Welsh, “Sensor networks

for medical care,” in Conference On Embedded Networked Sensor Systems: Proceedings ofthe 3 rd international conference on Embedded networked sensor systems, 2005, pp. 314–314.

6. B. Kuris and T. Dishongh. (2006, SHIMMER - Sensing Health with Intelligence, Modularity,

Mobility, and Experimental Reusability Available: http://www.snm.ethz.ch/snmwiki/pub/

uploads/Projects/SHIMMER_HWGuide_REV1P3.pdf

7. V. Shnayder, M. Hempstead, B. Chen, G. W. Allen, and M. Welsh, “Simulating the power

consumption of large-scale sensor network applications,” in the Second ACM Conference onEmbedded Networked Sensor Systems, Baltimore, MD, 2004, pp. 188–200.

8. M. J. Ammer, M. Sheets, T. Karalar, M. Kuulusa, and J. Rabaey, “A low-energy chip-set for

wireless intercom,” in the Annual ACM IEEE Design Automation Conference, Anaheim, CA,

2003, pp. 916–919.

540 B. Lo and G.-Z. Yang

9. (2012). Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking™ Devices.Available: http://www.invensense.com/mems/gyro/nineaxis.html

10. K. Mechitov, W. Kim, G. Agha, and T. Nagayama, “High-frequency distributed sensing

for structure monitoring,” in Proc. First Intl. Workshop on Networked Sensing Systems(INSS 04), 2004.

11. J. Jeong, S. Kim, and A. Broad, “Network reprogramming,” University of California atBerkeley, Berkeley, CA, USA, 2003.

12. G. Werner-Allen, K. Lorincz, M. Ruiz, O. Marcillo, J. Johnson, J. Lees, and M. Welsh,

“Deploying a wireless sensor network on an active volcano,” Internet Computing, IEEE,vol. 10, pp. 18–25, 2006.

13. J. Beutel, “Fast-prototyping Using the BTnode Platform,” in Design, Automation and Test inEurope, 2006. DATE ’06. Proceedings, 2006, pp. 1–6.

14. U. Maurer, A. Rowe, A. Smailagic, and D. P. Siewiorek, “eWatch: a wearable sensor and

notification platform,” in Wearable and Implantable Body Sensor Networks, 2006. BSN 2006.International Workshop on, 2006, pp. 4 pp.-145.

15. M. Laibowitz, J. Gips, R. AyIward, A. Pentland, and J. A. Paradiso, “A sensor network for

social dynamics,” in Information Processing in Sensor Networks, 2006. IPSN 2006. The FifthInternational Conference on, 2006, pp. 483–491.

16. A. Elsaify, P. Padhy, K. Martinez, and G. Zou, “GWMAC- A TDMA Based MAC Protocol for

a Glacial Sensor Network,” presented at the 4th ACM PE-WASUN 2007, 2007.

17. D. Lymberopoulos, N. B. Priyantha, and F. Zhao, “mPlatform: a reconfigurable architecture

and efficient data sharing mechanism for modular sensor nodes,” in Information Processing inSensor Networks, 2007. IPSN 2007. 6th International Symposium on, 2007, pp. 128–137.

18. R. B. Smith, “SPOTWorld and the Sun SPOT,” in Information Processing in Sensor Networks,2007. IPSN 2007. 6th International Symposium on, 2007, pp. 565–566.

19. J. Andersen, B. Lo, and Y. Guang-Zhong, “Experimental platform for usability testing

of secure medical sensor network protocols,” in Medical Devices and Biosensors, 2008.ISSS-MDBS 2008. 5th International Summer School and Symposium on, 2008, pp. 179–182.

20. A. T. Barth, M. A. Hanson, H. C. Powell, and J. Lach, “TEMPO 3.1: A Body Area Sensor

Network Platform for Continuous Movement Assessment,” in Wearable and ImplantableBody Sensor Networks, 2009. BSN 2009. Sixth International Workshop on, 2009, pp. 71–76.

Appendix A: Wireless Sensor Development Platforms 541

Appendix B: BSN Software and Development

Tools

Joshua Ellul, Benny Lo, and Guang-Zhong Yang

B.1 Introduction

Practical applications of Body Sensor Networks (BSN) give rise to programming

challenges that are not present in traditional computing systems. The typical

memory resources available on sensor nodes are extremely limited, typically

equipped with tens of kilobytes of program space and 10 KB of volatile memory.

Therefore, algorithm developers must ensure that memory is not used imprudently.

More challengingly, typical applications impose prolonged lifetimes, whilst sensor

nodes are deployed with extremely limited power resources. Therefore, software

developers must ensure that algorithms are highly efficient and that the processor

and any peripheral hardware are put into sleep modes as much as possible. Sensor

nodes are required to communicate with other nodes in order to relay sensed

information or to send updates or configuration messages into the network. There-

fore, nodes usually cannot sleep indefinitely and are required to follow wakeup

schedules so that they can communicate in predetermined communication win-

dows. Further programming complexity is increased due to internal clock drift

which sensor nodes are prone to, and therefore clocks must be corrected to

accommodate for such drift typically done using time synchronisation techniques.

The complexity does not end there; the wireless medium over which sensor nodes

communicate only allows one node to communicate at a time (within the same

transmission range). Therefore, Medium Access Control (MAC) protocols must be

implemented to avoid wireless collisions. Also, sensor networks aim to maximise

lifetime by optimising the route taken from sensor nodes to base stations to

consume the least amount of energy. A plethora of MAC and routing protocols

J. Ellul • B. Lo • G.-Z. Yang, PhD (*)

The Hamlyn Centre, Imperial College London, London SW7 2BY, UK

e-mail: [email protected]

G.-Z. Yang (ed.), Body Sensor Networks, DOI 10.1007/978-1-4471-6374-9,© Springer-Verlag London 2014

543

have been proposed that focus on different aspects including scalability,

dynamicity, responsiveness and density amongst other attributes.

The challenges that face sensor node application programming also stem from

the low level embedded programming expertise required. Wireless sensor nodes

typically comprise of a microcontroller, a wireless transceiver, a number of sensors

and other peripherals such as additional flash storage. Drivers must be implemented

for each hardware peripheral which typically communicate over SPI or I2C using a

strict communication protocol often involving low level registers. Such hardware

devices often utilise General Purpose Input/Output (GPIO) pins for status updates,

which are in turn wired up to microcontroller interrupts. Moreover, substantial

internal microcontroller peripherals are wired to interrupts. Thus, knowledge and

programming experience of interrupt based systems is required to program such

low level embedded systems.

Sensor node applications are predominantly developed in C or flavours of C such

as nesC [1]. Therefore, development challenges also include those faced by tradi-

tional low-level systems developed in C, including allocation and deallocation of

memory by the programmer, as well as no type safety mechanisms. The most

popular sensor network operating system, TinyOS, allows developers to code

applications in nesC which exposes an event based programming paradigm. The

abstraction layers provided are very low, and, as noted by [2], “it is often difficult toimplement even simple programs.”

As described above, the development learning curve for sensor networks is steep.

Higher-level languages providing higher abstractions can be used to lower the learning

curve substantially. Higher-level abstractions can help by hiding the lower-level

embedded systems and sensor networks specific requirements. Nodes can be put to

sleep automatically by underlying drivers; default routing and MAC protocols can be

used and swapped without the higher level developer having to change any code in

relation to this; drivers for different hardware peripherals can be used and then exposed

to thehigher level languagebyabstracting the communicationprotocols, interrupts and

register access. However, in using a higher-level language such as Java, the developer

is also relieved of memory management since this will be taken care of by a garbage

collector. Implicit type safety also ensures that the programmerwill not incorrectly cast

types. More so, the majority of the available workforce is already familiar with high

level languages, such as Java. Therefore, the gradient of the learning curve can be

drastically decreased be removing the requirement to learn a new language. It has been

shown that higher level languages such as Java provide a more efficient development

and maintenance environment compared to lower level languages such as C [3].

Therefore, by using a higher-level language, the development and maintenance costs

of BSNs can be reduced, and thus increase the successful adoption of such technology.

B.2 BSN Requirements and Issues

BSNs consist of a number of sensor nodes that can sense the environment, process

the sensed data and transmit (and receive) the processed data for an extended period

of time. The requirements and challenges inherent in a BSN can directly influence

544 J. Ellul et al.

programmability. Therefore, the main requirements and issues of BSNs will be

described here with a focus on how they affect ease of programming.

Body sensor nodes are most often equipped with a limited energy source and are

usually expected to operate for an extended period of time. A primary requirement

of BSNs lies in the fact that they are deployed in environments monitored in an

unobtrusive manner. This relies on miniaturisation of nodes and therefore battery

size, which in turn requires an energy efficient system. In order to meet the expected

lifetime, and given the limited battery source, the system must be as energy-

efficient as possible. This involves ensuring that the wireless transceiver, sensors

and any other devices are only used and turned on when they are required. This

becomes more complex when considering other aspects including MAC protocols,

routing protocols and time synchronisation amongst other factors. Programmers are

commonly required to explicitly turn different hardware components on and off,

and even in to different sleep modes. Such fine-grained control of hardware is often

intimidating to programmers since they are not familiar with such low level fine-

grained control. Computational efficiency on the other hand is often considered to

be of minor importance and therefore cheaper, more energy-efficient (and slower)

processors than those used in larger platforms can be used. However, computational

efficiency is often discarded without considering the impact it may have on quality

of service and energy expenditure. Computational inefficiency can impact energy

expenditure both directly and indirectly [4]. Therefore, programming environments

should be both as energy and computationally efficient as possible without requir-

ing extensive effort from the system developer.

Body sensor nodes communicate with each other over the same physical, wireless

medium. Therefore, protocols and overall system implementation must be able to

scale with the network size and limited bandwidth. Developers typically have to cater

for such low-level intrinsic properties when really, they should concentrate their

effort on application requirements. In addition to the work involved in deploying a

BSN, one must also keep in mind that like other computing platforms, sensor nodes

may be required to be updated from time to time due to various reasons including bug

fixes, new application requirements and even complete retasking of a network.

Therefore, software reconfiguration and reprogrammability is essential, however

this is often left up to the developer to implement.

The underlying theme from the above is that the low level internals of BSNs is

more often than not left up to application developers to implement, when really they

should be focusing on the application specific requirements. It was for this reason that

a new operating system was designed to facilitate ease of programming for BSNs.

B.3 Operating Systems for BSNs

The first task required to implement a BSN application is to choose an operating

system. The choice of operating systems will also greatly affect many aspects of the

development life cycle. Table B.1 provides a development-centric comparison of

Appendix B: BSN Software and Development Tools 545

popular operating systems typically used traditional for wireless sensor networks

and a new operating system specifically proposed for ease of development of BSNs.

The programming language and Application Programming Interface (API) are

prime factors that determine ease of developing applications. TinyOS [5] is a

popular operating system for wireless sensor networks. Applications are written

in nesC [1], an event-driven, component-based language. Although, the event-

based paradigm does couple well with microcontroller based interrupts, event

handling is non-trivial for those beginning programming. Also, the requirement to

learn a new programming language for only BSN development is unfavourable.

Contiki [6] and MANTIS OS [7] require applications to be programmed in

C. Although C is the primary language of choice for embedded systems devel-

opers, it does not provide high level abstractions that would be sufficient for

novice programmers. LiteOS [8] provides a UNIX-like operating system abstrac-

tions and requires applications to be programmed in LiteC++. The operating

systems provide extensive support for different platforms, networking protocols

and other low-level features which are useful to those conducting research in the

low-level wireless sensor networks field, however the abstraction provided is still

Table B.1 Operating systems for BSNs

Operating

system

Programming

paradigm Pros Cons

BSNOS Java Easy to use Not suitable for complex net-

working protocol research or

implementationSingle-threaded High-level programming

language

Currently only supports the BSN

platformIntegrated development

environment

TinyOS nesC Supports many hardware

platforms

Requires learning a new pro-

gramming languageEvent driven, TOS

thread support can

be added

Extensive code available Even simple applications can be

hard to implement

Does not support the BSN plat-

form out-of-the-box

Contiki C Supports many hardware

platforms

Requires C programming

experienceEvent driven and

protothread support Extensive code available Does not support the BSN plat-

form out-of-the-box

Mantis OS C Supports several

platforms

Requires C Programming

experienceMulti-threaded

Does not support the BSN plat-

form out-of-the-box

LiteOS LiteC++ Supports several

platforms

Does not support the BSN plat-

form out-of-the-boxEvents and multi-

threaded Easy to use

546 J. Ellul et al.

too low for non-electronics and computer scientists. BSNOS [9] is an operating

system targeted specifically to facilitate ease of programming for BSNs and is

further described in the next section.

B.4 BSNOS – An Operating System for BSN

Operating systems developed for wireless sensor networks and bare metal coding

have been popular choices for developing body sensor node applications. Expert

knowledge of C and embedded programming has thus been required to create BSN

applications, which even highly experienced programmers still find as a challeng-

ing task. Application deployment, and therefore data collection is usually therefore

delayed due to few such expert programmers being available.

BSNs face different challenges and are prone to different requirements than that

of traditional wireless sensor networks. WSN environments are typically much

larger than that of the body. Also, the human body is geometrically the same to

other body deployments (unlike environments where wireless sensor networks are

used). Thus, BSNs require networks of smaller sizes with known locations for node

placement. A BSN does not tend to change in size. A nodes placement on a body is

unlikely to move, although the body is. Body sensor nodes do not require long-

range communication and more often than not can communicate directly with all

other nodes. Therefore, body sensor networks do not require the complex MAC and

routing protocols, which are a primary requirement for most wireless sensor

networks.

A smaller sized network implies that BSNs are relieved from scalability issues

usually prone to larger networks. However, smaller sized networks also means that

nodes cannot rely on neighbouring nodes for redundancy. Therefore, BSN appli-

cations are required to be more robust and resilient to noise and errors. More so,

long sleep periods are a luxury that typical body sensor networks do not have since

if an event is missed it could be vital. Short sleep times in turn affect the lifetime of

the sensor node, which is already a challenge due to constrained battery sizes. That

said, most body sensor network deployments do not require extended lifetimes

since they are usually deployed temporarily to analyse or detect specific conditions

or applications.

BSNOS [9] is an operating system specifically targeted to the challenges and

requirements of BSNs with focus on ease of development for early stage pro-

grammers as well as scientists from other fields of research. Most wireless sensor

networks programming tools require C programming as a means of development.

BSNOS on the other hand, exposes a Java programming environment to lower

the learning curve required to develop BSN applications. To facilitate an

efficient execution platform, a run-time compiler similar to [10] is used in

BSNOS. Figure B.1 presents an overview of the BSNOS main components and

development tools.

Appendix B: BSN Software and Development Tools 547

User applications sit at the top of the software stack. The applications are loaded

on top of the BSNOS kernel, which is the main operating system component. The

BSNOS kernel is comprised of five main subcomponents. At the core of the kernel

lies the Scheduler. The Scheduler is responsible for scheduling execution of timers,

threads and events. Body sensor networks may require updates and bug fixes

occasionally. The Software Manager meets the requirement of software updates

by exposing routines to dynamically install and remove classes and functions.

The run-time environment exposes a subset of Java functionality including

object and array manipulation amongst other features. In order to provide an

efficient Java execution platform, a run-time compiler has been implemented.

One of Java’s major benefits is that it relieves developers from memory manage-

ment. When memory previously used by an application is no longer used, a check is

required to release such memory so that it can be used by other parts of the

application. This is the job of the Garbage Collector.

The kernel interacts with hardware drivers which communicate directly with the

underlying hardware including the microcontroller (Texas Instruments

MSP430F1611) and its associated peripherals, 32 Mb Flash storage (Adesto

AT45DB321D), a 2.4 GHz RF transceiver (Texas Instruments CC2420), a 3-Axis

digital magnetometer/compass (Honeywell HMC5843), a 3-axis digital gyroscope

(InvenSense ITG-3200) and a 3-axis accelerometer (Analog Devices ADXL330).

Since ease of use is one of the main driving factors for BSNOS an application

programming interface (API) that provides a very high level abstraction of the

underlying hardware is provided. A sample of the API made available is presented

in Table B.2.

Body Sensor Networks

User Application

BSNOS Kernel

Java Run-timeEnvironment

Run-timeCompiler

GarbageCollector

SoftwareManager Scheduler

Hardware Drivers

MPU

UART

USB to UART

SPI I2C ADC GPIO

Flash Radio3-axis

Magnetometer3-axis

Gyroscope3-axis

Accelerometer

BS

NO

S ID

E a

nd P

C T

ools

Fig. B.1 An overview of BSNOS and its main components

548 J. Ellul et al.

The high-level programming interface enables for BSN programs to be written

in not more than a few lines of code. A simple sample and send program is

demonstrated in Fig. B.2.

To further provide a platform allowing for ease of development of BSN appli-

cations an Integrated Development Environment (IDE), BSNOS IDE, is provided

along with BSNOS. The IDE is based on the Eclipse platform and bundled as a

single executable. The IDE, besides providing Code Completion, Import/Export

functionality and all other Eclipse based features, also provides an easy way to

create BSN specific applications including Projects Wizards for both Body Sensor

Nodes, base stations and PC based software; downloading software to sensor

nodes by the touch of a button and classes to easily browse functionality available

via BSNOS.

*More details on BSNOS and downloads are available from: http://www.

bsn-web.org/

public static void main() {while ( true ) {

BSN.performAccelSample();BSN.appendShortToRadio( (short) BSN.getAccelX() );BSN.appendShortToRadio( (short) BSN.getAccelY() );BSN.appendShortToRadio( (short) BSN.getAccelZ() );BSN.sendRadioMsg( (short) BSN.BROADCAST_ADDR );BSN.waitMS( (short) 20 );

}}

Fig. B.2 A simple sample and send program

Table B.2 BSNOS sample API

Module Function Description

Accelerometer void performAccelSample() Instructs the Accelerometer driver to acquire an

accelerometer reading

short getAccelX() Returns the X-axis reading for a previously

acquired accelerometer reading

Radio void appendShortToRadio

(short s)

Appends a 16-bit value to the radio message buffer

byte sendRadioMsg(short

dest)

Send a radio message comprised of the content in

the radio message buffer to the destination

address specified in the parameter

LEDs void toggleLed(byte ledNr) Toggles the state of the LED indicated by the

parameter

Timer void waitMS(short ms) Waits for the specified number of milliseconds

Appendix B: BSN Software and Development Tools 549

References

1. Gay D, Levis P, von Behren R, Welsh M, Brewer E, Culler D, editors. The nesC language:

A holistic approach to network embedded systems. The ACM SIGPLAN 2003 conference on

Programming language design and implementation; 2003.

2. Sugihara R, Gupta RK. Programming models for sensor networks: A survey. ACM Trans-

actions on Sensor Networks. 2008;4(2):8:1–8:29.

3. Butters AM. Total cost of ownership: A comparison of C/C++ and Java. 2007.

4. Ellul J. Run-time compilation techniques for wireless sensor networks: University

of Southampton; 2012.

5. Levis P, Madden S, Polastre J, Szewczyk R, Woo A, Gay D, et al., editors. TinyOS:

An operating system for sensor networks. Ambient Intelligence; 2004.

6. Dunkels A, Gronvall B, Voigt T. Contiki - a lightweight and flexible operating system for tiny

networked sensors. Proceedings of the 29th Annual IEEE International Conference on Local

Computer Networks 2004. p. 455–62.

7. Bhatti S, Carlson J, Dai H, Deng J, Rose J, Sheth A, et al. MANTIS OS: an embedded

multithreaded operating system for wireless micro sensor platforms. Mobile Networks and

Applications. 2005;10(4):563–79.

8. Cao Q, Abdelzaher T, editors. liteOS: a lightweight operating system for C++ software

development in sensor networks. Proceedings of the 4th international conference on Embed-

ded networked sensor systems; 2006.

9. Ellul J, Lo B, Yang G-Z. The BSNOS platform: a body sensor networks targeted operating

system and toolset. The 5th International Conference on Sensor Technologies and Applications

2011. p. 381–6.

10. Ellul J, Martinez K. Run-time compilation of bytecode in sensor networks. The 4th Interna-

tional Conference on Sensor Technologies and Applications 2010. p. 133–8.

550 J. Ellul et al.

Index

A

Absorption, 20, 21, 60, 157, 174, 282, 464,

482, 484

Acceleration, 20, 242, 244, 247–249, 253,

259, 349, 357, 358, 361, 362,

370, 383, 385, 393, 507, 509,

510, 514

Accelerometer, 10, 13, 18, 19, 32, 192, 238,

239, 251, 254, 305, 324, 325,

336–338, 349, 359, 361, 364–366,

370, 373, 379, 388, 393, 506, 510,

512–515, 524, 548, 549

Acetaminophen, 62, 131

Acknowledgement spoofing, 441

Activation plots, 370, 371, 373, 375

Active digital aura (ADA), 194

Activity recognition, 32, 350, 358, 359, 361,

364, 365, 384–387, 391, 393, 394

Acute response, 114

AC voltammetry, 94, 97, 98

Adaptive immune system, 407–409, 452, 454

Adaptivity, 282, 294, 295, 363, 396, 409

ADC. See Analogue-to-digitalconverter (ADC)

Aeronautical mobile telemetry (AMT),

211, 224

Affective sensing, 361

Affinity biosensors, 132

Air flow, 241, 242

AIS. See Artificial immune system (AIS)

Alzheimer’s disease, 10, 38

Ambient health sensors, 195

Ambient sensor networks (ASN), 195, 196

Ambient sensors, 12, 32, 195, 232, 387, 446

American Telemedicine Association

(ATA), 231

Amperometry, 43, 68, 79–82, 84, 86, 94, 95

Analogue

current-mode, 279, 287–290

implementation, 45, 367, 396

signal processing, 295, 478

voltage-mode, 279

Analogue-to-digital converter (ADC), 94, 476,

478, 539

Analyte, 57–63, 66, 70–73, 76, 79, 80, 84–86,

89, 91, 92, 97–99, 101, 104,

106–108, 117, 123, 125, 126, 132,

133, 136, 140–147, 475

Anechoic chamber, 177

Angiogenesis, 146, 147

ANN. See Artificial Neural Network (ANN)

ANS. See Autonomic nervous system (ANS)

ANT, 238

Antenna

ceramic, 537

design, 29–31, 161–165, 465, 537

dipole, 161

external, 177, 187

helical, 161

loop, 29, 164, 254

monopole, 161, 164

patch, 161–163, 178

PCB, 163

planar inverted F, 164

resonant, 161

testing, 165–168

wire, 162, 177

Application-specific integrated circuits

(ASIC), 280, 290–295, 464,

466, 478–480, 527, 528

Arc reversal, 418

Area Under the ROC Curve (AUC), 334

G.-Z. Yang (ed.), Body Sensor Networks, DOI 10.1007/978-1-4471-6374-9,© Springer-Verlag London 2014

551

ARM, 32, 170, 359, 393, 395, 438, 498,

522, 523, 529

cortex, 537

Artificial immune system (AIS), 439, 452

Artificial neural network (ANN), 363–373

Artificial pancreas, 141

Ascorbic acid, 58, 86, 136, 140

Asthma, 10

Atmel, 529–537, 539

Atrial fibrillation, 7, 8, 15

AUC. See Area Under the ROC Curve (AUC)

Authentication, 31, 45, 215, 221, 444–446,

448–450

Autonomic computing, 409, 410

Autonomic nervous system (ANS), 36, 195,

406, 407, 409, 455

Autonomic sensing, 31, 42, 45, 350, 392,

405–455, 521, 527

AWAIRS 1, 529

Axon, 97, 367

B

Backdoor, 444

Backward elimination, 331, 335, 336, 341

Bacteria, 39–41, 145, 439, 475

attacks, 409, 439–442

Baroreceptors, 37

Basal plane, 107, 134, 139

Baseband (BB), 204, 207

Base station, 156, 177, 180, 181, 187, 194, 197,

241, 446, 543, 549

Basic rate (BR), 202

BASUMA, 194

Battery(ies), 4, 14, 17, 23, 24, 28, 29, 31, 34,

35, 43, 44, 108, 156, 157, 159, 161,

181–183, 186, 187, 190, 197, 226,

228, 237, 238, 240–241, 248, 257,

261, 262, 266, 267, 269, 357, 411,

440, 443, 470, 471, 477–479,

485–487, 527, 539, 540, 545, 547

Battery monitor, 183

Baum-Welch re-estimation, 377, 379

Bayesian inferencing, 303, 343–345, 350

Bayesian networks

belief networks, 411–414, 418, 419, 455

dynamic, 32, 365, 378, 386

multiply sectioned Bayesian network, 434

Bayesian theory, 45, 344, 349

B-cells, 408, 409, 452, 454

Behaviour modification, 35, 527

Belief propagation, 46, 382, 412, 414–420, 455

nonparametric, 419

Belief updating, 414, 415

Big data, 36, 345–348

Binding, 20, 21, 38–40, 61, 62, 64–66,

117, 119, 120, 122, 123, 125–129,

132, 133, 145, 196, 213, 285, 287,

367, 452

Bioburden, 142

Biocompatibility, 5, 17, 21–23, 37, 42, 43,

65, 93, 100–106, 108, 118, 131,

135, 139–148, 162, 164, 179, 187,

454, 527

Biodegradability, 5, 31

Biofouling, 143, 144

Bio-inspired

design, 44, 274, 295, 405, 527

local processing, 294

sensing, 42, 455

Biological immune system (BIS), 406, 409,

451, 452, 454, 455

Biomechanical model, 498, 499, 517–518, 524

Biometric, 31, 444, 447–451

Biorecognition element, 147

Bioreporter, 477

Biosensor, 10, 14, 18, 21, 22, 26, 38, 42, 43,

55–108, 117–148, 192, 238, 273,

274, 280–294, 296, 358, 449, 527

BIS. See Biological immune system (BIS)

Blind source separation (BSS), 307–311, 360

Blood pressure, 6, 8–10, 15, 17, 18, 32, 37,

192, 194, 227, 230, 238, 301, 357,

406, 449

Blood volume pressure, 359, 364

Bluetooth, 4, 5, 199, 202–207, 210, 220–223,

231, 232, 238, 387, 532, 534,

535, 538

Bluetooth low energy (BLE)

bluetooth BR/EDR, 202, 204–207, 210, 220

bluetooth LE, 205–207, 220–222

bluetooth SMART, 538

Board connector, 539

Body attenuation, 29, 266

Body phantom, 165, 168, 178, 179

Bond-wires, 171, 172, 174, 176, 489

Bootstrap loader, 320

Boron-doped diamond, 91, 106

Bottom-up propagation, 415, 419–420

Bragg angle, 158

Branch and bound search, 331

BSN development kit, 46

BSNOS, 533, 546–549

BSN programming guide, 549

BSS. See Blind source separation (BSS)

BTnode, 529, 531

Buffer overflow attacks, 442

Butler-Volmer, 81–83

552 Index

C

Calibration, 57, 58, 62, 66, 69–72, 76, 78,

84, 91, 94, 99, 142, 143, 302,

305, 348, 349, 360, 364, 509,

519, 524

Cancer, 10, 39, 41, 56, 99, 100, 133, 382, 384

Capacitance, 20, 61, 91, 93, 94, 96, 98,

100, 103–105, 107, 136, 138,

169, 173, 176, 183, 245, 253,

254, 259, 261, 470

Capillary electrophoresis, 127

Carcinoembryonic antigen (CEA), 133

Cardiac arrhythmias, 10

Cardiac contraction, 37

Cardiomyocyte, 140

Carrier sense multiple access with collision

avoidance (CSMA/CA), 207, 210,

218, 219, 222, 425, 436

Catalytic sensor, 475

Cell concentration, 59

CENS Medusa MK-2, 529

Characteristic equation, 306

Characteristic impedance, 158

Chebyshev transform, 314

Chemomechanical sensors, 475

Chemoreceptors, 37

Chirp spread spectrum (CSS), 208, 209,

220–223

Chitosan, 135, 139

Chronic response, 144

Chronoamperometry, 85, 89, 91, 92

Cipher Block Chaining Message

Authentication Code

(CBC-MAC), 445

Ciphertext, 445

Circuit design, 43, 156, 259, 278, 472,

479–481

Circuit simulator, 480

CIT sensor node, 530

Class overlap, 372

Class-separation, 372, 396

Class-specific activation, 370, 371, 373, 375

Clustering

agglomerative, 317, 318

algorithms, 317–319

distance based, 317–320

Fuzzy c-means, 318

hierarchical, 318

ISODATA, 317, 318

k-Means clustering, 315, 317, 319

single linkage hierarchical, 318

tree network, 190

Cochlear implant, 35, 156

Codeblue, 194, 198

Coexistence, 202, 203, 211, 216, 219, 222–225

Cognitive activities, 357

Collision, 212, 219, 249, 425, 427, 440,

443, 543

Commercial Off-the-Shelf (COTS), 2, 537

Communication protocol, 42, 189–232, 463,

537–539, 544

Communication range, 198, 202, 215, 232, 547

Complementary metal-oxide-semiconductor

(CMOS), 133, 280, 466

Conductivity, 106, 107, 134, 157, 158, 179,

282, 364, 476

Conductometric sensors, 475

Conformational changes, 64, 125

Confusion matrix, 372

Contention–free periods (CFP), 210, 426

Context-aware sensing

context-aware applications, 355, 356,

363, 371

context-aware architectures, 355, 395

context-awareness, 355, 356, 358, 359

context recognition, 45, 360, 361, 363–385,

390–396

context transition, 363, 376

context-triggered action, 356

contextual adaptation, 356

contextual augmentation, 356

contextual reconfiguration, 355

contextual resource discovery, 356

contextual sensing, 356

Context toolkit, 296

Contiki, 535, 536, 546

Continua Health Alliance, 230–232

Continuous Phase Binary Frequency Shift

Keying (CP-2FSK), 217

Convergence, 312, 369, 370, 430, 431

Corrupting the routing information, 443

Counter mode encryption, 445

Counter with CBC-MAC (CCM), 445

Covariance matrix, 311, 316, 379, 508, 514

Creatinine, 10, 141, 286, 289

Cross-entropy evaluation, 331

Cryptography, 30, 31, 446–451, 453

CSS. See Chirp spread spectrum (CSS)

Cutset conditioning, 418

Cyclic voltammetry, 21, 76, 89, 92, 97, 98, 107

Cytochrome C Peroxidase (cCP), 124

Cytochrome P450cam, 124

D

DAC. See Digital-to-analogueconverter (DAC)

Data normalisation, 361–362, 380

Index 553

Data protection, 5

Data visualisation, 368

Decision trees, 364

metadecision trees, 364

Defibrillation pulse, 183–184

Deluge, 444

Dempster-Shafer’s method, 303, 344

Dendrites, 367

Dendrogram, 318

Diabetes mellitus, 8, 13, 14, 18

Diagnostic capsule, 466, 468, 471, 474, 478

Dielectric constant, 157, 164

Differential method, 418

Diffusion, 81–86, 91, 92, 100, 104, 105, 132,

136–138, 144, 146, 147, 283, 287,

288, 426, 427, 434, 465

Digital, 27, 28, 44, 86, 94, 96, 98, 147, 181,

240, 254, 267, 273–281, 287, 290,

291, 295, 464, 472, 476–479,

481–482, 499, 538, 539, 548

Digital Imaging and Communication

in Medicine (DICOM), 226

Digital-to-analogue converter (DAC), 293, 539

Dimensionality reduction, 320–326, 330, 350

Directed Acyclic Graphs (DAG), 392, 412

Direct electron transfer, 63, 131, 134, 135,

139, 140

Direct sequence spread spectrum (DSSS),

208, 209, 222, 223, 440

Discrete Wavelet Transform (DWT), 363, 366

Disease progression, 7, 358

Distance

Chebyshev, 314, 316

Euclidean, 315, 316, 321, 324, 368

Mahalanobis, 315, 316

metrics, 315–316

Minkowski, 315, 321

Distributed inferencing, 2, 32, 43, 45, 46, 314,

315, 367, 391–396, 419, 455

Distributed sensing, 1, 44, 303

Distributed sensor networks, 1, 303

DNA

detection, 291–294

sequencing, 119, 286

Domain information model (DIM), 226,

228, 229

Dopamine, 10, 86, 98, 99, 135, 136, 140

Drug delivery, 18, 21, 22, 33, 34, 141

DSSS. See Direct sequence spreadspectrum (DSSS)

DSYS25, 530

Duty cycle, 199, 210, 211, 223, 224, 238,

239, 274

Dynamic classes, 372

Dynamic map, 372, 373, 375

Dynamic range, 66, 71, 131, 277, 285, 392

E

Ear-worn activity recognition (e-AR), 9, 12,

35, 36

Eclipse, 549

Effective radiated power (ERP), 176

Effector, 22, 36, 406

Eigenvalue decomposition, 311

Electrically Erasable Programmable

Read-Only Memory (EEPROM),

529, 530, 532, 534, 536, 538

Electrocardiogram (ECG), 6–10, 17, 192, 204,

210, 211, 220, 227, 231, 238, 295,

301–303, 358, 385, 449

Electrodes

amperometric enzyme electrodes, 62

chemically modified electrodes, 134

ion selective electrodes, 61, 66–69,

71, 77–79

passivation, 143

pH electrodes, 16, 66, 73, 471

Electroencephalogram (EEG), 10, 192, 307,

358, 365

Electromagnetic, 60, 66, 71, 137, 156, 157,

178, 198, 199, 217, 241–245, 247,

256–258, 260–261, 266, 482,

484–486

Electromagnetic field, 30, 241, 482

Electromyogram (EMG), 192, 359, 364,

366, 478

Electronic Communications Committee

(ECC), 199, 200

Electronic health record (EHR), 230

Electronic nose, 465

Electron-transfer reaction, 80, 82

Electrostatic, 20, 61, 133, 183, 244–247, 249,

251–256, 259–260

Elliptic curve cryptography, 447

Ember, 531, 534

Emotion, 32, 357–360, 364

Encapsulation, 143–145, 488

Encryption, 215, 221, 444–446, 448, 450

Endoscopy, 16, 465, 466

Endoscopy capsule, 465–469

Energy modules, 269

Energy scavenging, 5, 42, 44, 238, 246–248,

251, 455

Enhanced data rate configuration (EDR), 202

EnOcean TCM120, 531

554 Index

Environmental noise, 32

Environmental sensitivity, 446

Enzymatic microbattery, 28

Episode, 15, 45, 316, 343, 350, 358, 362

Error correction, 181, 184, 187, 506

Estimation, 83, 106, 114, 217, 302, 303, 307,

310–312, 316, 317, 319, 335, 361,

365, 366, 376, 377, 379, 380, 383,

396, 414, 419, 435, 437, 497, 499,

506–515, 518–519, 522, 524

Estimation maximisation, 377, 414

E12 tag, 129

Euler angle, 500

European Conference of Postal

and Telecommunications

Administrators (CEPT), 199

European Telecommunications Standards

Institute (ETSI), 200, 231

Event detection, 5, 15

Evolutionary design, 121, 122

Excitatory, 367

Exhaustion and interrogation, 440

Expectation maximisation (EM), 377, 414

eyesIFXv2, 531

F

Fabrication, 19, 23, 27, 44, 74, 100, 134, 137,

268, 280, 281, 286

Factor graphs (FG), 45, 363, 380–384, 392,

396, 412, 419

Fading, 177, 184, 187

Fast Fourier transform (FFT), 280, 364,

450, 478

Fault tolerant sensing, 194, 303, 314, 342,

363, 392, 396, 455

architectures, 348

fault detection, 411–424

Feature detection, 312, 314–315

Feature extraction, 282, 295, 330, 331,

350, 360, 362, 363, 371, 372,

396, 434, 450

peak-based feature extraction, 362

Feature relevance, 327, 329–333

Feature selection, 45, 319, 326–343, 349, 350,

383, 385, 392

Feature space, 312, 315, 324, 338, 349,

362, 384

Federal Communication Commission (FCC),

158, 199, 200, 211, 232

Feed-through, 162, 175

Ferrocene, 63, 64, 124, 125, 137

Fibrinogen, 144

Fibrotic, 144

Field-effect transistors (FET)

ChemFET, 65, 284, 285, 488

EnFET, 285–286

GasFET, 285

ISFET, 21, 73, 79, 282–296, 476, 477,

488, 489

Fight/flight, 140, 406

Filter

extended Kalman filter (EKF), 510, 514

Kalman fitler (KF), 46, 508, 510–514, 524

unscented kalman filter (UKF), 46,

510–513, 524

Finite state machines (FSM), 378, 411

First-order Markov model, 364, 377

Fisher projection (FP), 321

Fisher’s algorithm, 361

Flash memory, 538

Fleck, 530, 532

Flip-chip, 182, 489

Fluorescence, 38, 39, 106, 125, 130

Foreign body, 60, 118, 144, 146

Forward selection, 328, 331, 336

Fourier coefficients, 314

Frames, 20, 210–212, 218, 239, 242, 244,

249, 252, 253, 261, 362, 376,

425, 429, 507

Frequency hopping (FH)

adaptive frequency hopping (AFH),

204, 205, 221, 223

frequency hopping/time-division-duplex

(FH/TDD), 204

Frequency-shift keying (FSK), 217

FRET, 64, 125

Fuel cells, 28, 240–241

Full function device (FFD), 209, 213

Fusion

competitive, 302

complementary, 302, 303

cooperative, 302, 303

decision-level, 45, 303, 304, 343–345

direct data, 303, 305–312, 348

feature-level, 303, 312–320, 343, 349

sensor, 42, 45, 301–350, 360, 363, 495,

498, 499, 506, 524

Fuzzy set

fuzzy logic, 274, 315, 343, 344, 364, 514

fuzzy membership, 317

G

Gas selective membranes, 61

Gas sensor, 475

Index 555

Gastrointestinal dysfunctions, 465

Gastro-oesophageal reflux disease (GORD),

16, 469, 470

Gaussian

distribution, 305, 310, 323, 365, 378, 379,

509, 511

sub-Gaussian, 310

super-Gaussian, 310

white Gaussian, 310

Gaussianmixture models (GMM), 387, 449, 450

GDSII, 482

Generalised eigenvector, 306

General packet radio services (GPRS), 4, 5, 197

General purpose input output (GPIO), 544

Generative Topographic Mapping (GTM), 321

Genetic, 56, 120, 125, 290, 293, 294, 328, 439

Glucoamylase, 125

Glucose, 8–10, 18, 21, 22, 28, 33, 37, 38, 56,

58, 61–63, 65, 101, 102, 131, 137,

140, 141, 144–147, 227, 241, 284,

285, 406

Glucose oxidase (GOx), 21, 61, 124, 125, 135,

137, 139, 140, 145, 146

Glutamine binding protein (QBP), 129, 130

GOx. See Glucose oxidase (GOx)Gradient descent, 414, 420, 421

Graphene, 65, 106–108, 134–136, 139–140

Guaranteed time slots (GTS), 210, 221

Gyroscope, 10, 20, 32, 364–366, 388, 506, 507,

509, 512–514, 548

H

Haemodynamic sensing, 303

Hard-failure, 411

Hardware abstraction

hardware adaptation layer, 320

hardware interface layer, 89, 198

hardware presentation layer, 83

Hardware description language (HDL),

481, 482

Health level seven (HL7), 225, 231

HealthService24 project, 197

Heart failure, 6, 8, 10, 17, 141

Heart rate, 7–10, 26, 32, 197, 230, 238,

357–359, 406

Heat flux, 13, 32, 241, 364

Heel strike, 242

HELLO flood attacks, 442

Hermeticity, 143

Hexa(histidine), 128

Hidden Markov model (HMM), 363, 373–380,

386, 390, 396

continuous density HMM, 365, 378

Higher-order cumulant, 310

Hilbert transform, 98, 99

HiperLAN/2, 207

Histidine tag, 128, 129

HMM. See Hidden Markov Model (HMM)

Hoaxes, 444

Hospital of the future, 11

Hydrogels, 18, 61, 62, 75, 101, 103, 106,

140, 142, 145, 146, 282, 284,

285, 287

Hydrogen peroxide, 62, 140, 144, 146

Hydrophobic surfaces, 129, 130

Hyper-plane, 319, 320, 383

Hypertension, 6, 8, 10, 14, 17, 18, 34, 141

I

iBadge, 529

I2C, 548

ICA. See Independent component

analysis (ICA)

IEEE 802.11

IEEE 802.11a, 199, 201

IEEE 802.11b, 199, 201, 222, 224, 225

IEEE 802.11g, 199

IEEE 802.11n, 199

IEEE802.15

IEEE 802.15.1, 202–207, 222, 223

IEEE 802.15.2, 203, 224

IEEE 802.15.3, 202, 207, 208, 222

IEEE 802.15.3c, 208

IEEE P802.15.3, 202, 207–208

IEEE 802.15.4

clear channel assessment (CCA), 224

contention access period, 218

contention-free period, 210

energy detection, 210, 224

frame format, 210, 211

full function device, 209

guaranteed time slots, 210, 221

link quality indication, 194, 197

reduced function device, 209, 213

superframe structure, 210

IEEE 802.15.5, 202, 203

IEEE 802.15.6, 202, 203, 215–224,

232, 538

IEEE 802.15.4a, 203

IEEE 802.15.4j, 211, 212, 220, 221,

224, 232

IEEE 1394, 207

IEEE 11073

IEEE 11073–10101, 227

IEEE 11073–10404, 228, 229

IEEE 11073–20601, 227

IEEE 11073 medical device

communication (MDC), 226

556 Index

IEEE P11073, 215

IEEE 11073 personal health device

communication (PHDC), 226–232

IEEE 11073-104zz, 227

Image sensor, 239, 282, 446, 478, 485, 495

Immobilization, 20, 21, 62, 64, 118–120, 122,

123, 127–130, 143

Immune system

cellular, 452

human, 407, 408, 451, 452, 454

humoral, 452

innate, 407–409, 451, 453, 454

Immunoglobulin A (IgA), 134

Immunoglobulin G (IgG), 134

iMote1, 529

iMote2, 531, 538

Impedance measurement, 104–168

Impedimetric, 131

Implantable cardioverter-defibrillator (ICD),

21, 183

Implantable devices, 14, 16, 21, 22, 28, 29, 65,

107, 144, 449, 527

Implanted cardiac defibrillators, 155, 200

In-body communication system, 29, 43, 156,

157, 165, 180, 187

Independent component analysis (ICA),

309–313, 364

Independent components, 310

Indirect motion, 360

Induction, 143, 156, 243, 326, 331, 332, 349,

484, 485

Inductive coupling, 26, 156–157, 486

Industrial, Scientific and Medical (ISM), 157,

160, 199, 201, 202, 204, 205, 222,

223, 425, 471, 472

Inertial, 238, 242–251, 253, 260, 261, 268,

269, 436, 498–499, 506, 509, 510,

514, 517–519, 524, 539

Inertial micro-generators, 242, 243

Infection control, 180

Infectious diseases, 10, 439

Inferencing, 32, 43, 45, 46, 303, 314, 315, 344,

350, 360, 367, 372, 373, 382, 385,

391–396, 414, 419, 420, 455

Inflammatory mediators, 38, 408

Inflammatory multiple sclerosis lesions, 39

Inflammatory response, 60, 85, 143–145, 147,

408, 452

Infomax, 311, 312

Information granularity, 362–363

Inhibitory, 367, 429, 430

Instance based learning, 316–317, 338, 340,

361, 364

Insulin, 9, 18, 33, 34, 141, 227, 406

Integrated development environment (IDE),

546, 549

Integrated sensors, 19, 474–478, 539

Interference, 22, 23, 57, 58, 91, 99, 202,

211, 216, 222–225, 232, 286,

295, 425, 468, 472, 478, 513–515,

521, 524

International Telecommunication Union

(ITU), 199

Interstitial fluid (ISF), 147

Iridium oxide film, 75, 76

Ischaemic heart disease, 10, 13

ISFET

ChemFET, 65, 284, 285, 488

CMOS-based, 44, 274, 280–294, 296

EnFET, 285–286

GasFET, 285

ISM. See Industrial, Scientific andMedical (ISM)

ISM telemetry bands, 471

Isometric mapping, 324–326

J

Jamming attack, 440

Joint Directors of Laboratories (JDL), 302

Joint probability distribution (JPD), 378, 412

K

Kernel density estimation, 317

k-Nearest neighbours, 317, 322, 364, 366

L

Laboratory-in-a-pill, 475, 476, 487

Laboratory-on-a-chip, 537

λ messages, 415, 417, 419

Large granular lymphocytes (LGLs), 408

Layout issues, 175

Leakage current, 96, 259, 277, 488

Learning rate, 312, 368–370, 421

Li-ion, 479, 486

Link budget, 168, 176, 184

Linker sequences, 120

Link layer (LL), 189, 205, 440

Link manager (LM), 204

LiteC++, 546

LiteOS, 546

Livestock monitoring, 3

Local area networks (LAN), 198, 231

Locally linear embedding (LLE), 322, 323

Index 557

Logical link control and adaptation

(L2CAP), 204–206

Long-term stability, 21, 107, 142, 143, 527

Loopy belief propagation, 418

Low energy configuration (LE), 202

Low Interference Potential Devices

(LIPD), 201

Low power operation, 199, 527

Low-power processing, 320, 350

Low-power transmitter, 176, 472

Lymnaea stagnalis, 87, 88

M

M2A capsule, 466

Machine learning, 311, 320, 326–329, 346,

348, 350, 391

Macrophage, 39, 144, 147, 407–409

Magnetoencephalography, 307

Magnetometer, 32, 359, 498, 506, 510,

512–515, 518, 548

Major histocompatibility complex, 409

Maltose, 125, 285

Maltose binding protein, 120

Manifold embedding, 315

MANTIS OS, 546

MAP explanation, 414

Markov chain, 374, 376

Markov networks, 412

Markov random fields, 412

Mass transport, 63, 80, 83, 84, 98, 107,

131–133, 136, 137

Matching network, 165, 168–177, 181, 183,

184, 187, 267

Materials, 20, 22–24, 31, 42, 46, 55, 57–63,

65, 69, 75, 80, 83, 86, 91, 100, 101,

103, 105–108, 117, 130, 134, 139,

144, 145, 148, 162, 164, 179, 182,

237, 241, 242, 245, 246, 254, 280,

281, 284, 464, 475, 477, 488,

514–516, 527

Maximum a posteriori, 343, 411, 511

Maximum likelihood estimation, 311, 376

Maximum weight spanning trees, 414

MBAN. See Medical Body Area

Networks (MBAN)

McCulloch-Pitts, 367

Mediators, 38, 62, 63, 124, 125, 131,

197, 408

Medical Body Area Networks (MBAN),

200, 201, 203, 211, 212, 232

Medical Device Radiocommunications

Service (MedRadio), 200

Medical Implant Communications Service

(MICS), 157, 159–161, 168, 174,

177, 181, 184, 200, 217, 219, 223

Medical Micro-Power Networks (MMNs), 200

Medium Access Controller (MAC), 181, 198,

202, 203, 207–212, 215, 219, 220,

425, 427, 538, 543–545, 547

MEMS. See Micro electro-mechanical

system (MEMS)

MEMS integration, 17

Mesh network, 190, 194, 232

Mesokurtic, 310

Message authentication code, 445

Message passing, 414–420, 455

Metabolic rate, 33, 358

Mica, 529

Mica2, 447, 529

Mica2Dot, 529

MicaZ, 530, 538

Microcontroller unit (MCU), 538, 539

Micro electro-mechanical system (MEMS),

3, 14, 17–21, 26, 27, 239, 245, 246,

248, 251, 256, 257, 259, 267–269,

282, 305, 349, 474, 475

Microfluidic, 20, 127, 291, 477

Microneedle, 147

Microneedle array, 18

Micropower, 279, 295, 484

Microscopic parasite, 439

Microsensor, 1, 75, 99–106, 280, 464, 474

Microspikes, 147

Microsystems, 46, 463–489

Miniaturisation, 1, 5, 14, 17, 19, 35, 37–39, 44,

86, 131–134, 237, 240, 242, 280,

463–465, 478, 499, 545

Misclassification, 349, 363, 372, 384, 420

Misdirection, 443

MITes, 530

MiWi®, 208

MobiHealth project, 197

Mobile body sensor network, 232, 419

Mobile phone, 4, 22, 164, 197, 220, 232, 267,

387, 539

Model learning, 372

Modelling, 29, 84, 97, 98, 120, 228, 295,

345, 357, 365, 382, 386, 389–391,

405, 417, 426, 496, 499

Model simplification, 418

Most Probable Explanation (MPE), 411

MoteTrack, 195

Motion artefacts, 5, 32, 45, 301, 358,

360, 425

Motion recognition, 357, 364

558 Index

Motion scavenging, 5

μAMPS, 259

Mucin-1, 133

μTESLA, 444–446Multidimensional scaling (MDS), 46, 321,

324, 432

Multilayer coatings, 146

Multiple target tracking, 382, 419

Multi-resolution, 372

Multi-sensor

calibration, 302, 348

fusion, 42, 45, 301–350, 360, 495

Multitasking, 5

μOS, 529Myocardial ischaemia, 14

N

Nafion films, 76

Nanoband electrodes, 137

Nanobiosensors, 130, 134

Nanocomposites, 131, 134, 139

Nanoelectrode, 131, 136–138

Nanoelectrode arrays, 137

Nanoparticles, 38, 39, 41, 105, 125, 131, 140

Nanoscale particles, 38, 39

Nanowire, 27, 108, 132, 134, 137, 138

Natural Killer cell, 408, 409

Navigation, 274, 359, 468

Near-field communications (NFC), 231

Negentropy, 310, 312

Neighbourhood function

Gaussian neighbourhood function, 369

time-varying neighbourhood

function, 369

Neovascularisation, 145, 146

Nernst diffusion layer, 136

nesC, 544, 546

Netlist, 482

Network(s)

ad hoc, 31, 98, 197, 446

authentication, 31

belief, 411–414, 418, 419, 455

scanning, 442

setup, 196, 424

singly-connected, 414–416, 418

topologies, 42, 43, 189–232, 301, 419,

424, 442

Network Monitoring Periods (NMP), 434–437

Neural networks

feed-forward, 320, 368

Kohonen (see Self-organising map)

Neuromorphic, 273, 274

Neuron, 36, 87, 88, 92, 276, 282, 367–373,

376, 396

Neuroprosthetic devices, 140

Neurostimulation, 34

Neurotransmitters, 80, 86, 88, 92, 98,

135, 367

Next generation sequencing, 127

Neyman-Pearson decision rules, 343

Nitric oxide, 62, 80, 86, 88, 106, 146

Nitrilotriacetate, 128

Node activation trajectories, 419, 427

Node expansion, 373, 396

Non-Gaussianity, 310

Non-invasive techniques, 465

Nonlinearity, 363, 396, 510

Non-overlapping channels, 207, 211, 224

Nordic, 205, 530–532, 537

Nymph, 529

O

Obesity, 8, 13, 387, 388

Offset biases, 305–308, 349

Oligonucleotide libraries, 20, 121, 141

On-off keying (OOK), 217

Open system interconnection (OSI), 189, 198,

226, 425

Operating system

embedded linux, 546

multithreaded operating System, 546

SOS, 531

TinyOS, 3, 544, 546

Optical imaging, 39

Optimal weighting coefficients, 306

Optimal averaging, 45, 305–307

Orientation, 10, 20, 46, 242, 251, 357, 361,

362, 391, 467, 468, 482, 499–515,

518, 519, 524

Oscillator, 27, 181, 239, 267, 428, 465,

466, 470

Over-fitting, 326, 349

Oxygen uptake, 358

P

Pacemaker, 21, 22, 26, 29, 148, 155, 157,

181–183, 200, 359

Packaging, 23, 29, 46, 464, 478, 487–489

Packet delivery ratio (PDR), 425, 434–438,

522, 523

Packet error rate (PER), 222–225

Pairwise key, 444, 446, 447

Pancreatic beta cell, 141, 296

Index 559

Parallel Sequence Spread Spectrum

(PSSS), 208

Parameter learning, 414

Parametric generator, 247, 250, 251

Parasitic effects, 173–174

Parasympathetic system, 406

Parkinson’s disease, 10, 21, 136, 140, 358

Paroxysmal arrhythmias, 14

Particle 2/29, 530

Parzen window, 317

Pathogens, 10, 38, 407, 409, 439, 451

Pattern classification, 316, 319, 320, 338, 383

Pattern recognition, 302, 303, 316, 320, 326,

350, 360, 384, 395

Peak current, 93, 104, 135, 139, 168, 187,

221, 485

Peer-to-peer network, 190, 194, 208, 221

Penetration depth, 158

Perceptron, 320, 329, 367, 368, 391

Peripheral nerve fibres, 406

Peripheral vascular disease, 8, 10, 18

Perpetual powering, 455

Personal digital assistant, 192

Personalised healthcare, 34–36, 198, 212

Pervasive computing, 355, 359, 385, 410

Pervasive healthcare, 14, 32, 35, 36, 232

Pervasive networks, 195

Pervasive patient monitoring, 18, 37, 42

Pervasive sensing, 44, 349, 357, 385–387, 389,

391, 392, 395, 410, 411, 527

pH, 16, 66, 70, 73, 74, 76–79, 86, 99,

101, 103, 104, 133, 282, 283,

285–288, 292–295, 464, 469–471,

475–477, 489

Pharmacological intervention, 358

Pharmacotherapy, 8, 33

π messages, 415–417, 419

Phosphate binding protein, 120, 126, 127

Photoplethysmograph (PPG), 32, 35, 449, 450

Physical barrier, 407, 451, 454

Physical design, 480, 481

Physical layer (PHY), 198, 202–204, 207, 208,

215, 216, 220, 221, 425, 440, 538

PHY protocol data unit (PPDU), 217

Physiological barrier, 451, 453, 454

Piconet, 204–208

Pico radio, 537

Piezoelectric, 6, 20, 27, 65, 243, 245–247,

256–258, 261–262, 366, 467

Piezoelectric discs, 29

Place and route, 482

Platelets, 143, 144, 146, 408

Platykurtic, 310

Pluto, 528, 530, 538

Point-of-care, 55, 60, 65, 77, 226, 290–294

Point-to-point network, 190

Polarisation, 125, 177, 178, 187

Polytree algorithm, 414, 418

Polyurethane, 79, 145

Portable electronic devices, 44

Post-operative monitoring, 10

Potentiometry, 43, 66–79, 94

Power budget, 161, 275, 277, 485, 537

Power consumption, 22–24, 26, 31, 181,

191, 200, 226, 228, 232, 239, 240,

276, 280, 288, 350, 443, 464, 471,

478, 538

Power electronics, 44, 258–262, 276

Power supply, 5, 14, 28, 30, 169, 180, 262, 287,

464, 486, 487, 537, 539–540

Pressure, 2, 6, 8–11, 15–19, 22, 23, 26, 32,

34, 37, 56, 156, 157, 192, 194,

227, 230, 238, 239, 282, 301, 303,

357–359, 364, 366, 406, 449, 465,

466, 469, 470, 475

Principal Component Analysis (PCA), 320,

321, 364, 417

Probability distribution, 315, 360, 374,

378, 382–384

Processors

ARM processors, 529, 531, 535, 537

ATmega 128L, 532–535

MSP430, 535, 537, 539

MSP430F149, 530–532

PXA 271, 531

StrongARM SA-100, 529

Projection pursuit, 311, 321

Propagation, 29, 30, 43, 46, 156, 158, 163,

177–179, 184, 199, 382, 412,

414–420, 425, 435, 455

Proprioception, 38

ProSpeckz, 530, 538

Prostate specific antigen (PSA), 65, 99, 133

Protein engineering, 42, 119, 120, 124,

125, 128

Protein immobilisation, 129

Proximate selection, 355

PSA. See Prostate specific antigen (PSA)

Psychiatric disorders, 359

Pulse-coupled oscillators (PCO), 428, 431

Q

Quadratic SNR, 306

Quality of Service (QoS), 5, 45, 46, 197,

207, 212, 220, 225, 431, 434,

435, 499, 521–524

Quarter wavelength line, 166, 167

560 Index

Quaternion, 46, 500–507, 509, 511–516, 524

Quorum sensing, 405

R

Radiation resistance, 164, 165, 167, 170

Radio Frequency Identification (RFID), 203,

359, 365, 471, 485

Radiotelemetry, 465, 466, 469

Radio transceiver, 26, 529–537, 540

Radio transmission power, 482

Random Access Memory (RAM),

529–536, 538

Random mutations, 121

Rational design, 118–121, 126

Reactive oxygen species, 144

Receiver operating characteristic (ROC),

45, 332–338, 349

Receiver tuning, 176–177

Reduced function device (RFD), 209, 213

Reduced graphene oxide (rGO), 134, 135, 139

Reduced Instruction Set Computer (RISC),

478, 530, 537

Reference and counter electrodes, 95

Renal failure, 10, 289

Rene, 6, 529

Respiration, 10, 21, 37, 227, 357, 451

Respiration sensors, 364

hall-effect respiration sensors, 359

Respiratory rate, 9, 37, 238

Return loss, 165

RFID. See Radio Frequency

Identification (RFID)

RFM TR1000, 529, 531

RF power, 25, 484

RFRAIN, 529

rGO. See Reduced graphene oxide (rGO)

Rheumatoid arthritis, 10, 358

RISE, 531

Routing

energy-aware routing, 431

hierarchical routing, 431

RSSI, 178

S

Sammon’s mapping, 432

Saturation of peripheral oxygen (SpO2),

192, 228, 229, 231

SAW filter, 177, 180

Search based method, 418

Secure Network Encryption Protocol

(SNEP), 444–445

Security Protocols for Sensor Networks

(SPINS), 444, 446

Segmentation, 204, 362, 363, 384

Selective binding and catalysis, 62

Selective forwarding, 440, 441

Selectivity, 58, 59, 61, 62, 66, 72–73, 77, 79,

86, 89, 92, 98, 131, 136, 140, 141

SELEX, 64, 122, 126, 127

Self

self-adaptation, 410, 524

self-assembly, 39, 62

self-configuration, 39, 410

self-healing, 31, 45, 410–424, 453, 455

self-integration, 410

self-management, 14, 409, 410

self-optimisation, 410

self-organisation, 194, 409, 411,

424–439, 455

self-* properties, 409, 411

self-protection, 409–411, 439–455

self-resonant frequency, 173, 174

self-scaling, 410

Self-organising map (SOM)

growing hierarchical SOM, 372

hierarchical SOM, 372

STSOM, 45, 372–374, 376, 396

Sensor(s)

biosensor, 10, 14, 18, 21, 22, 26, 38, 42–44,

55–108, 117–148, 192, 238, 273,

274, 280–294, 296, 358, 449, 527

calibration, 509, 524

chemical sensor, 55, 56, 61, 102, 118,

144, 281, 282, 464, 475, 477

electrochemical sensors, 43, 65–99, 130,

131, 134, 136–140, 282

failures, 295, 302, 347, 423, 433

fouling, 144

fusion, 45, 302, 303, 305, 312, 314, 343,

345, 347, 349, 350, 363, 498, 499,

506, 524

heat flux sensor, 32

implantable pressure sensor, 17

implantable sensors, 4, 5, 10, 11, 14–16, 21,

22, 24, 28–30, 38, 127, 143, 144,

146, 147, 356, 395, 439, 454

microsensors, 1, 75, 99–106, 280, 464, 474

nanoscale sensors, 128, 131, 132

optical fibre sensors, 65

optical sensors, 35, 78, 475

potentiometric sensors, 73, 78, 282, 475

skin conductance sensor, 359, 363, 364

Serial peripheral interface (SPI), 160, 293,

539, 544

Index 561

Serotonin, 86–88, 98, 99, 107, 135, 136, 140

Severinghaus type gas sensor, 285

Shimmer, 528, 532, 534, 535

Short-range devices, 45, 263

Short-term memory, 371

Short time window analysis, 362

Signal conditioning, 239

Signalling molecules, 59, 101

Signal transduction, 19, 21, 118, 119,

122–125, 129

Signal variations, 360, 362

Sinkhole attacks, 441

Skin conductance, 32, 359, 363, 364

Slotted aloha, 218, 219, 425, 426

Smart AtTIRE, 192

Smart Dust, 1, 2

Smart-its, 529, 530, 532

SNEP. See Secure Network Encryption

Protocol (SNEP)

SoC. See System-on-Chip (SoC)

Social interaction, 357, 385, 395, 405

Soft-failure, 411

Solar cells, 241

SOM. See Self-organising map (SOM)

Soma, 367

Source recovery, 307–312, 348

Spatio-Temporal Self-Organising Map

(STSOM), 45, 372–374, 376, 396

Specific absorption rate, 157

Specificity, 20, 119, 122, 123, 125, 126, 141,

142, 338, 360

SPICE, 480

SPINS. See Security Protocols for Sensor

Networks (SPINS)

SpO2. See Saturation of peripheral

oxygen (SpO2)

SpotOn, 529

Square wave voltammetry, 94

Standards Development Organisation

(SDO), 231

Star-mesh hybrid network, 190, 191

Star network, 190, 194

State transition, 378, 387

Static classes, 372

Static map, 372, 373, 375

Statistical moments, 310

Steady state techniques, 86, 92

Sterilisation, 64, 142, 144

Stochastic simulation algorithm, 418

StrepTag, 129

Streptavidin, 129, 130, 133

Stroke, 7, 8, 10, 39, 388, 519

Structure learning, 414

STSOM. See Spatio-Temporal Self-Organising

Map (STSOM)

Subject variability, 360

Substrate, 19–21, 23, 37, 38, 62, 63, 75, 79,

103, 108, 120, 124, 125, 132, 140,

147, 162, 163, 179, 182, 254, 256,

280, 285, 464, 474, 489

Subthreshold, 277, 278, 287

Support Vector Machine (SVM), 319, 320,

329, 338, 340, 363–366, 383, 384

Sybil attacks, 441

Symbolic probabilistic inference, 418

Symmetric key system, 446

Sympathetic innervation, 406

Sympathetic nervous system, 406

Synapse, 88, 367

Synthesis, 60, 64, 119, 122, 123, 125, 129,

133, 276, 280, 288–290, 295,

449, 482

System-on-Chip (SoC), 193, 291, 292, 463,

464, 472, 475, 477, 537

T

T-cells, 408, 409, 452–454

TDMA. See Time Division Multiple

Access (TDMA)

Telos, 530, 538

Temperature, 2, 9, 10, 13, 24, 32, 77, 81, 84,

87, 101, 180, 238–241, 254, 280,

282, 286, 291, 293, 357, 359, 451,

452, 465, 466, 469–471, 475, 476,

485, 509, 524, 539

Temperature sensor, 32, 254, 291, 293,

475, 476

Texas Instrument (TI), 209, 537, 548

Theophylline, 122, 126, 127, 129, 130

Thermal energy, 241

Thermoelectric sensors, 475

Thermometers, 227, 364, 476

3G, 4, 197

Thrombin, 122

Time Division Multiple Access (TDMA),

205, 222, 426, 443, 521

Time synchronisation corruption, 443

TinyOS. See Operating system

TinyOS network programming, 3, 529–535,

544, 546

Tissue damage, 140

562 Index

Tmote sky, 531, 538

Token passing algorithm, 380

Top-down propagation, 415, 416, 419

Touch Area Network (TAN), 231

Toxicity, 23, 131, 142, 240

Tracking, 19, 32, 175, 182, 267, 274, 338,

359, 363, 382, 387, 463, 495–499,

507, 519

Traffic analysis, 442

Training data, 316, 321, 326, 370, 371, 375,

377, 380, 384, 385, 395, 396

Transduction, 19, 21, 55, 60, 65, 118, 119,

122–125, 129, 144, 242–246, 248,

251, 256, 258, 261

Transient abnormalities, 411

Transient techniques, 89, 91, 92

Transition matrix, 374

Transition probabilities, 373, 374, 376, 377

Translinear circuits, 280, 288, 289, 295

Transmission, 13, 15, 17, 22, 26, 29, 58, 108,

157, 160, 167, 168, 181, 198, 199,

202, 204–207, 210, 217–219, 223,

224, 226, 228, 238, 239, 255, 267,

269, 274, 294, 301, 370, 425, 427,

429, 431, 432, 434, 436–441, 443,

449, 465, 466, 470, 472, 474,

482–486, 521–523, 543

Transmitter tuning, 168–170

Trellis-Coded Modulation (TCM), 207

Trimethylamine dehydrogenase, 124

Trojan horse, 444

Tumour, 10, 39, 41, 185, 382, 409

U

U3, 530

UbiMon project, 192

Ubiquitous monitoring, 359

Ultra-high-frequency (UHF), 199, 241

Ultra Low Power Active Medical Implants

(ULP-AMI), 200

Ultra-low power processing, 273–296

Ultra-small particles of iron oxide (USPIO), 39

Ultra-wideband (UWB)

frequency modulation UWB (FM-UWB),

216, 217, 219, 223

impulse radio UWB (IR-UWB), 216, 217,

220, 223

Unicast messages, 444, 446

Universal asynchronous receive/transmit

(UART), 539

Universal Mobile Telecommunication

systems (UMTS), 197

UNIX, 546

Urate, 131

Urea, 10, 141, 284, 285, 289

Urease, 286, 289

Uric acid, 62, 89, 141

USART. See Universal Synchronous/Asynchronous Receive/Transmit

(USART)

USB interface, 180

USB programmer, 207

V

Variable elimination, 418

Variational methods, 418

Variation between sensors, 360

Vascular disease, 6–8, 10, 18

Vascularisation, 102, 144, 146

VHF, 241

Viral infection, 409, 442–444

Virus, 409, 439, 442, 444, 451, 452, 454

Vital signs measurement, 9, 12

Viterbi algorithm, 377

Voltammetric sensors, 58, 83, 295, 475

Voltammetry, 21, 43, 79–94, 97, 98, 101,

107, 136

W

Wall effect, 144

Waveform statistics, 314

Wavelength, 21, 157, 158, 164, 166, 167,

267, 484

Wavelet coefficients, 365

Wavelet representation, 314

Weak inversion, 278, 287–289, 292, 295

WeC, 529

Well-being, 6–13, 15, 35, 385

Wheeler cap, 168

WiFi, 199, 267

Wilcoxon statistics, 334

Wireless communication, 1, 2, 24, 26,

29, 42–44, 155–187, 198, 199,

201–202, 222, 232, 237, 238,

411, 463, 464, 499, 527, 528,

537–538

WirelessHART, 208

Wireless Local Area Networks (WLAN),

201, 202, 207, 222, 224

Index 563

Wireless medical telemetry service (WMTS),

200, 201

Wireless PANs (WPAN)

high-rate, 202, 207, 208

low-rate, 202, 208

medium-rate, 202

Wireless regulation, 201

Wireless sensor microsystems, 46, 463–489

Wireless sensor network (WSN), 1–5, 12, 14, 15,

31, 42, 44, 45, 189, 192, 198, 231, 237,

419, 431, 439, 444, 455, 527–529,

533, 534, 537–540, 546, 547

Wormholes, 441

Worms, 444

Wrapper, 327, 331, 349

WSN. See Wireless sensor network (WSN)

X

XYZ node, 531, 538

Z

ZigBee

application support sub-layer, 212, 213

coordinator, 212, 213

end device, 213

medical profile, 214

network layer, 212, 431

profiles, 214–215

router, 213

security, 212

ZigBee Device Object (ZDO), 212–214

Zinc-air, 540

564 Index