Professional Documents
Culture Documents
a r t i c l e i n f o a b s t r a c t
Article history: In this paper we propose a SoPC-based multiprocessor embedded system for controlling ambiental
Available online 27 July 2014 parameters in an Intelligent Inhabited Environment. The intelligent features are achieved by means of
a Neuro-Fuzzy system which has the ability to learn from samples, reason and adapt itself to changes
Keywords: in the environment or in user preferences. In particular, a modied version of the well known ANFIS
Intelligent environments (Adaptive Neuro-Fuzzy Inference System) scheme is used, which allows the development of very efcient
NeuroFuzzy implementations. The architecture proposed here is based on two soft-core microprocessors: one micro-
FPGA
processor is dedicated to the learning and adaptive procedures, whereas the other is dedicated to the on-
SoPC
Multiprocesssor
line response. This second microprocessor is endowed with 4 efcient ad hoc hardware modules intended
to accelerate the neuro-fuzzy algorithms. The implementation has been carried out on a Xilinx Virtex-5
FPGA and obtained results show that a very high performance system is achieved.
2014 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.micpro.2014.07.005
0141-9331/ 2014 Elsevier B.V. All rights reserved.
J. Echanobe et al. / Microprocessors and Microsystems 38 (2014) 730740 731
efciency, cost and size, among others. In addition, to validate our methodologies is, however, that they require a large amount of
proposal, the system has been tested with a data set collected at computational resources. In consequence, it becomes very difcult
the intelligent dormitory (iDorm) which is a real ubiquitous com- to carry out high performance systems, specially if they have to be
puting test bed from Essex University [13]. small and low powered, as is the case in embedded systems. This
The rest of the paper is organized as follows: Related works are drawback makes it necessary, in many cases, to design hardware
presented in Section 2. Taking into account the existing works, we accelerators to cope with the timing requirements.
also explain our proposal. Section 3 presents the NFS used here Regarding the intelligent abilities required in an ambient intel-
which in fact is a modied version of the well known ANFIS model ligence scenario, there are several authors who have proposed CI
that has been called PWM-ANFIS by the authors because of its algorithms to cope with the problem. For example, fuzzy systems
Piece-Wise Multilinear (PWM) behavior [11]. Both the theoretical have been proposed in the (above mentioned) intelligent dormi-
aspects and the modeling performance are analyzed. Particular tory (iDorm) [13] and also in the fuzzy agent of an intelligent class-
learning and modeling examples from real AmI experiments are room (iClass) [52] which is a testbed for educational ambient
also addressed. In Section 4 the proposed FPGA-based multiproces- intelligence systems. In [53] a Neuro-Fuzzy system is proposed
sor architecture is described in detail. Also the benets of using 2 for the management of comfort and energy conservation. Another
processors in this particular AmI system are discussed. Section 5 meaningful example is proposed in [54] where Fuzzy Systems and
presents the particular implementation details: the FPGA used, Genetic Algorithms are combined to develop an intelligent agent in
the performance achieved, the device resources utilization and commercial buildings.
the execution times. Finally the main conclusions of the work as
well as future research are explained in Section 6. 2.3. FPGA implementations of CI algorithms
1
M1 w1 w1
N c1
x w2 w2 w1 c1
1 N c2
m
M1
w2 c2
1
Mn
wmn c mn
x
n
wmn wmn
N c mn
m
Mn
In particular, we have shown how, by introducing some restric- four variable-intensity spot lights. This means that we have to deal
tions on the membership functions (i.e., antecedents), a much with four PWM-ANFIS, each one with seven input variables. In
more simplied system can be obtained with hardly any loss of order to reduce the complexity of the problem and hence to obtain
the learning and approximation capabilities. These restrictions a more efcient system, a previous dimensionality reduction has
basically involve the use of normalized triangular membership been explored. This reduction, which has been carefully carried
functions overlapped by pairs as is shown in Fig. 2. As a result, only out in order to preserve as much as possible the modeling perfor-
two antecedents per input have non zero values for every new mance, has led to an input space of just four variables for every
incoming vector and hence, only 2n rules become active each time PWM-ANFIS. The obtained dependence between outputs and
(instead of mn in the unrestricted ANFIS). Also, the divisor in Eq. (1) inputs is depicted in Table 1.
becomes now 1 and therefore the division is no longer necessary. The next step was to train every PWM-ANFIS with the data
The computation of the output is now given by collection. Around 400 input/output data pairs for every output
variable are available in the collection provided. Each one of these
2n
X
f wj cj 8 data sets was randomized 6 times and split into a training set and a
j1 validation/test set consisting of around 270 and 130 instances
respectively. Yet, to avoid the overtting effect that neural systems
To perform an inference we have now to sum 2n terms wj cj trained with large amounts of experimental data usually show, we
where each term wj is computed by multiplying n membership used the subset comprised of 130 instances as a validation set and
functions (Eq. (4)). As the antecedents are now triangles, every not as a test set. The validation set was then monitored during the
membership function evaluation is also simplied because it is training phase in order to set the nal PWM-ANFIS with the
obtained by solely multiplying the slope of the triangle miji by the parameters obtained for the minimum root mean squared error
offset of the input with respect to the triangles left corner aiji . (RMSE) on the validation set and not for the minimum RMSE on
the training set (early stopping). In addition, different numbers of
M iji xi liji xi miji xi ai 9 antecedents and different learning rates (i.e., a parameter of the
BP algorithm) were also tested in the experiments. Finally, the
In addition, because the membership functions are normalized,
experiments were repeated with generic ANFIS systems to com-
the two active antecedents have complementary values and there-
pare the modeling ability.
fore the computation of one of them gives directly the other one
After exhaustive experimentation, we can conclude that the
simply by performing a logical complement.
system shows quite good learning and approximation capabilities.
M iji 1 xi liji 1 xi 1 M iji xi 10 In addition, the results are not far from those obtained with the
ANFIS model without restrictions. Table 2 shows the average RMSE
As we can see, the inference process is computed by means of obtained for each one of the 4 PWM-ANFIS and also the respective
only a few sums and products so it is greatly simplied. Also the values obtained with a generic ANFIS. As we can see, the error val-
training procedure is simplied because the parameters of the ues obtained with the PWM-ANFIS systems are very small and
antecedents that have to be adjusted are only the init points or off- comparable (i.e., the same magnitude order) with those obtained
sets aiji of every triangle (i.e., note that the slope can be obtained with the generic ANFIS systems.
from these points thanks to the imposed restrictions). To illustrate the learning process we also show in Fig. 3 the evo-
lution of the RMSE obtained during the training procedure for the
3.2. Modeling performance four PWM-ANFIS systems in some of the multiple experiments. As
we can see, after about 1000 iterations, the system is trained and
To test the modeling ability in dealing with AmI environments, small error values are reached.
the proposed PWM-ANFIS system has been trained with a data
subset from a real experiment. The data have been collected at 4. A multiprocessor architecture
the intelligent dormitory (iDorm) which is a real ubiquitous com-
puting test bed from Essex University [13]. In this experiment, a In this section an efcient architecture is presented for the
normal room is provided with a large number of interconnected iDorm experiment described above. To be exact, we have devel-
sensors, actuators and processing elements. Inside this room a oped an architecture based on two microprocessors and four high
user spent several days, performing ordinary tasks and interacting performance hardware cores (one for each PWM-ANFIS module),
with an AmI system which gradually learns and adapts to his to control the intensity of four spot lights. The architecture also
behavior. contains memory blocks, buses and I/O peripherals. Thus, a com-
The data being used here relate to seven input sensors and to plete SoPC is obtained. Being able to implement the entire system
four controlled actuators. The input sensors are as follows: internal into devices as small as FPGAs, makes it much more feasible to
light level, external light level, internal temperature, external tem- carry out an intelligent environment where, as indicated above,
perature, chair pressure, bed pressure and time. The actuators are the devices to be deployed must be small and with a low power
and cost.
Table 1
Dependence between input and output environment parameters in the 4 PWM-ANFIS
subsystems.
Table 2 time. On the other hand, from time to time, the system must learn
Average root mean squared error (RMSE) obtained in the 4 PWM-ANFIS. from incoming new samples and hence adapt its parameters to the
Light 1 Light 2 Light 3 Light 4 changing user preferences. However, this is a process that can be
PWM-ANFIS 0.0787 0.0785 0.0515 0.0502 performed in the background without rigid timing constraints.
ANFIS 0.0683 0.0658 0.0376 0.0414 These two tasks are clearly two different functions, each one with
particular time requirements. Also, the inference process is in fact
the output of the neural network, and as such, is computed by sim-
Multiprocessor architecture is a common issue in high perfor- ilar and repetitive operations (i.e., the computations of intercon-
mance systems. In fact, one of the most evident reasons for a system nected layers of neurons). The learning process, is however, a very
to be designed using a multiprocessor architecture is the perfor- irregular algorithm that contains different functions including
mance requirement: e.g., two processors acting in parallel can exe- matrix inversions and it requires high precision in the computations.
cute a task twice as fast as only one. There are, however, some other Taking into account the above issues, we have developed an
important reasons that also have to be taken into account. One of architecture based on two microprocessors together with 4 ad
them is the presence of tasks with very different execution time hoc hardware modules (called PWM-Cores) to accelerate the neu-
schemes: i.e one processor is intended for computing and providing ral-network computations. Also, several buses, internal memories
a real-time output whereas another one can be in the background (on-chip RAM blocks) and I/O peripherals are present in the archi-
performing a non-critical task. Another reason arises in a scenario tecture. In particular, each microprocessor is a Xilinx soft-core
where different-nature algorithms are present, that is, one function called MicroBlaze which is a 32-bit RISC Harvard architecture
is based on repetitive and simple operations, whereas another one soft processor core with a rich instruction set optimized for
implies very irregular and conditional execution. In this case, it is embedded applications. Also, it can be tuned by the designer to
worth using 2 different processors whose architectures are respec- better t the requirements of the application to which it is dedi-
tively oriented to each algorithm. Some other reasons for using cated. The proposed architecture is shown in Fig. 4 and is explained
several processors can be also mentioned, such as reliability, redun- in detail in the following.
dancy or data streaming in a pipe-line fashion.
The ANFIS-like system presented in this work intended for an
AmI scenario is an example of a system demanding a multiproces- 4.1. Microprocessor 1
sor architecture. On the one hand, we have that the inference process
must be performed in real-time; that is, the system must interact The rst MicroBlaze (MB1) (the left one in Fig. 4) is intended for
permanently with the environment providing new outputs all the the training process and hence is implemented with a Floating
Fig. 3. Example of the RMSE evolution during a PWM-ANFIS training for light 1, light 2, light 3 and light 4 respectively.
J. Echanobe et al. / Microprocessors and Microsystems 38 (2014) 730740 735
Point Unit (FPU) and also with some other hardware features like To perform the I/O processing, MB2 rst takes the ve input val-
an integer multiplier, a barrel shifter or memory caches in order ues (see Table 1) which are provided by different sensors. Then, it
to address the required precision and intensive calculations. This performs a data conditioning so they can be better processed; e.g.,
microprocessor takes as input the training data collections, which scaling, normalization and truncating to a xed length. In particu-
are stored in an external memory, and performs the hybrid training lar, every input value is xed to a 8-bit length, and then, the four
algorithm explained in Section 2. Actually, it performs the training values for each system are packed into a single 32-bit word. This
algorithm four times: one for each PWM-ANFIS system. After the packing allows the four inputs to be sent to every core in just a sin-
training process, MB1 stores the results of the algorithm, the off- gle transaction. The cores receive these inputs, perform the infer-
sets of the triangles and the consequents in a RAM memory block ences and send back the results to the micro which sends them
that is shared by the second MicroBlaze (MB2). Also, it stores a ag out. Note however, that prior to performing any inference, MB2
(t-ag) to indicate that trained parameters are available. The train- has to load the trained parameters from the shared memory and
ing algorithm is carried out once at the beginning of the whole pro- send them to the cores so they can congure the algorithms.
cess and again whenever a new training pair is received (i.e. MB2 also checks continuously whether a new training pair is
online-training). This last case is notied by MB2 who also stores provided. This occurs for example when the user manually modi-
a ag (ol-ag) and provides the new data (both stored in the shared es any output (i.e., the light levels). In this case MB2 stores in
memory). Therefore, when MB1 nishes the initial learning, it the shared memory this modied value, the related four actual
waits until this ag is set, in which case it loads the new data inputs and also a ag (ol-ag) so MB1 can perform an on-line
and performs on-line learning (see Section 2). training.
The program to perform the training algorithm is stored in a
RAM memory block whose size is adjusted in the design phase
4.3. PWM Cores
to the size of the code. This memory block, and also the shared
memory block are connected to the MicroBlaze with a dedicated
These 4 PWM-Cores one for each PWM-ANFIS are ad hoc
memory bus from Xilinx called LMB (local memory bus). The
hardware cores that actually perform the system inferences. They
LMB is a fast, local bus for connecting the MicroBlaze processor
have been designed carefully so they can perform the operations
instruction and data ports to high-speed peripherals, primarily
involved in the PWM-ANFIS outputs calculations in a very efcient
on-chip block RAM (BRAM).
way.
Fig. 5 shows the internal architecture of the developed
4.2. Microprocessor 2 PWM-Cores. The design of these cores has been carried out by
exploiting the parallel nature of the FPGA resources. In this way,
MB2 deals with the following tasks: (1) control the global sys- an efcient and high performance architecture has been achieved.
tem operation; (2) handle input/output data; (3) provide on-line Each one of these cores is connected to the MB2 by means of the
data to MB1; (4) write/read inference data to/from PWM-Cores Fast Simplex Link (FSL) bus from Xilinx, which is a uni-directional
(described below). Hence, MB2 does not need to execute complex point-to-point communication channel bus used to perform fast
algorithms and is therefore implemented without extra features. communication. This bus is congured as a 32-bit wide bus and
For this reason, it needs much fewer resources of the FPGA than hence, just a single transference is required to receive the 4-input
MB1. On the other hand, MB2 is connected like MB1 to two data (i.e., 8-bit data) from the MicroBlaze. The core is composed of
RAM memory blocks through another LMB bus. One of the blocks the following three main modules or units.
is shared with MB1 to access the trained parameters (so it can con- First, we have a local RAM block to store the trained parameters
gure the PWM-Cores) and to store the on-line data, and the other needed for executing the algorithms. To accelerate the computa-
block contains the program to be executed. tions, not only the consequents and the offsets of the triangles
When the system boots, both MB1 and MB2 start to execute
their respective programs. MB1 takes the training data set stored
RAM in an external memory, and performs the learning algorithm.
PRE- Antecedents When it nishes, it stores the trained parameters in the shared
FSL memory and noties MB2 by setting the t-ag. Then, the micropro-
PROCESSING and
Consequents cessor waits until ol-ag is 1, which means that one or more new
training data are provided by MB2. In this case, MB1 takes the new
data, executes an on-line training and stores the updated parame-
Blaze
PRODUCTS
PARALLEL
PARALLEL
MF
sending and receiving data to/from PWM-Cores). If new training I/
SUM
UNIT
OF
O pair is provided (as explained before), it stores the pair and sets
MF
the ol-ag to indicate MB2 that a new training pair is available.
MB2 remains in this cycle (real-time operation) until MB1 indi-
MF
cates that trained parameters have been updated due to a on-line
learning. If this happens, MB2 stops the inferences, loads the
updated parameters from the shared memory and sends them
again to the PWM-Cores. Finally, it resumes the inferences.
Fig. 5. Internal architecture of the PWM-Cores.
EXTERNAL
MEMORY
MICROBLAZE-1 MICROBLAZE-2
TRAINING
RESET DATA RESET
TRAINING t-flag? =0
ALGORITHM SHARED
INTERNAL
MEMORY =1
PWM-CORE
STORE TRAINED PARAMS.; LOAD TRAINED PARAMS.;
t-flag CONFIGURE CORE; RAM
t-flag :=1;
Antec. &
Cons.
TRAINED
PARAMS.
GET INPUT DATA
nt-flag:=0 I/O Preprocessing
FROM SENSORS
ol-flag?
=0 nt-flag
=1
=0 Inference
=1 nt-flag? SEND DATA TO CORE process
unit
ol-flag
LOAD NEW I/O PAIRS;
ol-flag := 0; NEW
I/O PAIRS GET RESULT FROM CORE
ol-flag:=1
no I/O
STORE TRAINED PARAMS.; NEW I/O PAIR ?
nt-flag :=1;
yes
large sets of training data. This code exceeds the size of the internal
Table 3
FPGA resources utilization.
RAM so an external RAM is necessary, as we have already
explained. However, to reduce the effect on speed that an external
FFs LUTs BRAM DSPs RAM program has, the code itself (39 K) has been stored in the
lB1 2433 (7%) 3008 (9%) 21 (16%) 6 (2%) internal RAM leaving data structures in the external RAM.
lB2 1487 (5%) 1569 (5%) 0 3 (1%) Although a rst off-line training could be performed previously
4 PWM-Cores 5316 (16%) 8952 (27%) 0 228 (79%)
Ext. RAM Contr. 3338 (10%) 2198 (7%) 7(5%) 2 (0.7%)
in a standard computer, the data collection is still required when-
Internal RAM. 0 0 38(29%) 0 ever an on-line training has to be realized. Therefore, external RAM
Buses 546 (1.7%) 1058 (3%) 0 0 is mandatory in this design unless a much larger FPGA, endowed
I/O 275 (0.8%) 267 (0.8%) 0 0 with large internal memory, is used.
Clk, Reset 69 (0.2%) 54 (0.2%) 0 0
The complete system (the 2 MicroBlazes, the PWM-Cores and
Total 13,464 (41%) 17,106 (52%) 66 (50%) 239 (83%) the rest of the modules) operates at 100 MHz. With this clock
frequency, each PWM-Core requires only 120 ns to execute an
inference because, as we have described above, only 12 clock-
Power Consumption is an essential value to be taken into cycles are necessary for the Core to complete the operation (i.e.:
account in embedded systems as long as it determines the auton- 12/100 MHz). As long as the 4 Cores can operate in parallel, more
omy and/or the operating cost of the system. Total Power Con- than 2 Million inferences per second can be achieved by the system
sumption of FPGAs is composed of a static component and a which is really a very huge number. This is also possible because
dynamic component. The rst one is due to the transistor leakage MB2 is dedicated almost exclusively to feeding the Cores with
current and the second one is based on the switching frequency of the incoming data. Note that a modern high-performance CPU
used FPGA resources. In modern FPGAs the static component is by would be able to perform an inference also in a very short time.
far the most important because of the tiny size of the transistors in For example, we made a comparison with an Intel Core 2 Duo
the current integration technologies. In the proposed design, the E7660 CPU running at 3.06 GHz and we measured only 420 ns
power has been analyzed with the Xilinxs Power Analyzer tool for an inference (about four times larger). However, unlike the
and a value of 3.720 W is calculated for the whole system for a CPU, numerous PWM-Cores can be implemented in the FPGA
100 MHz frequency, being the static and dynamic components without increasing the computation time, since they all operate
3.071 W and 0.649 W respectively. As can be seen, it is a rather rea- in parallel (4 cores in the example). Therefore, it would be neces-
sonable value for such an embedded system. sary several high-end CPUs to obtain the same performance that
Software parameters and execution times: The programs to be the FPGA achieves. In addition, some other factors have to be taken
executed in MB1 and MB2 occupy 700 K and 15.7 K respectively. into account such as the high power required for those high-
The program for MB1 is clearly larger because it contains not only performance CPUs with clock speeds above several GHz. Thus for
the training algorithms but also large data structures to handle example, the same above Intel Core (which is an expensive chip)
738 J. Echanobe et al. / Microprocessors and Microsystems 38 (2014) 730740
Table 4 perform the learning algorithms and the on-line response show
Average time (ms) of a training iteration for different data set sizes. the advantages of using two microprocessors in the proposed
Points 50 100 150 200 250 300 400 architecture. Furthermore, future works can analyze the utilization
Time 430 776 1116 1457 1798 2139 2819 of as many microprocessors as PWM-ANFIS systems in order to
minimize the time delays due to the multiple learning processes.
[31] N. Heo, P.K. Varshney, Energy-efcient deployment of intelligent mobile [58] ModelSim, Advanced Simulation and Design, Mentor Graphics Corporation,
sensor networks, IEEE Trans. Syst., Man, Cybernet. Part A 35 (1) (2005) 78 Wilsonville, OR. <http://model.com/>.
92.
[32] C. Papatheodorus, G. Antoniu, A. Bikakis, On the deployment of contextual
reasoning in ambients intelligence environments, in: 2010 Sixth International
Conference on Intelligent Environments (IE), Kuala-Lumpur, Malasya, July Javier Echanobe (M06) received the Licenciado degree
2010, pp. 1318. in physics from the University of the Basque Country
[33] T. Nieberg, S. Dulman, P. Havinga, L. van Hoesel, J. Wu, Collaborative (UPV/EHU), Spain, and the Ph.D. degree from the Uni-
algorithms for communication, in: T. Basten, M. Geilen, H. de Groot (Eds.), versity of Navarra, Pamplona, Spain, in 1990 and 1998,
Wireless Sensor Networks, in Ambient Intelligence: Impact on Embedded respectively.
System Design, Kluwer Academic Publishers, Boston, 2003, pp. 271294. He was a Predoctoral Researcher (granted by the Basque
[34] R. Min, A. Chandrakasan, Energy-efcient communication for high density Government) from 1992 to 1996. He has been an
networks, in: T. Basten, M. Geilen, H. de Groot (Eds.), Ambient Intelligence: Associate Professor in the Department of Electricity and
Impact on Embedded System Design, Kluwer Academic Publishers, Boston, Electronics, UPV/EHU, from 1999 to 2009. Since 2009 he
2003, pp. 295314. is a Senior Lecturer in that department. His research
[35] Computational Intelligence (Special Issue), Proceedings of the IEEE, September interests focus on (1) digital electronics: embedded
1999.
systems, recongurable FPGAs, DSPs, SoPC; (2) compu-
[36] S. Haykin, Neural Networks: A Comprehensive Foundation, Prentice Hall, 1999.
tational intelligence: articial neural networks, fuzzy systems, and neuro-fuzzy
[37] D.B. Fogel, Evolutionary Computation. Toward a New Philosophy of Machine
Intelligence, IEEE Press, Piscataway, NJ, 1995. systems; (3) ubiquitous computing: ambient intelligence, intelligent environments.
[38] L. Aguilar, P. Melin, O. Castillo, Intelligent control of a stepping motor drive Dr. Echanobe has published many papers in international journals and conferences
using a hybrid neuro-fuzzy ANFIS approach, Appl. Soft Comput. 3 (3) (2003) in most of those areas.
209219.
[39] O. Cordon, F. Herrera, F. Hoffmann, L. Magdalena, Genetic fuzzy systems.
Evolutionary tuning and learning of fuzzy knowledge bases, in: Advances in Ins del Campo (A96M11) was born in Buenos Aires,
Fuzzy Systems: Applications and Theory. World Scientic, 2001. Argentina, in 1961. She received the Licenciado degree
[40] Y. Maldonado, O. Castillo, P. Melin, Particle swarm optimization of interval in physics with specialization in electronics and auto-
type-2 fuzzy systems for FPGA applications, Appl. Soft Comput. 13 (1) (2013) matics in 1987 and the Ph.D. degree in physics, in 1993,
496508. both from the University of the Basque Country (UPV/
[41] F. Taeed, Z. Salam, S.M. Ayob, FPGA implementation of a single-input fuzzy EHU), Bilbao, Spain.
logic controller for boost converter with the absence of an external analog-to- Currently she is a Senior Lecturer in the Electricity and
digital converter, IEEE Trans. Ind. Electron. 59 (2) (2012) 12081217.
Electronics Department of the Faculty of Sciences and
[42] R. Sepulveda, O. Montiel, O. Castillo, P. Melin, Embedding a high speed interval
Technology of the UPV/EHU. She has published articles
type-2 fuzzy controller for a real plant into an FPGA, Appl. Soft Comput. 12 (3)
in international journals and conferences in the areas of
(2012) 988998.
[43] O. Montiel, J. Camacho, R. Seplveda, O. Castillo, Embedding a fuzzy locomotion electronics, computational intelligence, intelligent con-
pose controller for a wheeled mobile robot into an FPGA, Soft Comput. Intell. trol, ambient intelligence, and pattern recognition,
Contr. Mobile Robot. (2011) 465481. among others. Her research interests mainly concern system-on-chip (SOC) design,
[44] T. Matsubara, H. Torikai, Asynchronous cellular automaton-based neuron: hardware/software codesign, recongurable hardware, pervasive computing, arti-
theoretical analysis and on-FPGA learning, IEEE Trans. Neural Netw. Learn. cial neural networks (ANNs), fuzzy systems, and genetic algorithms. She is also
Syst. 24 (5) (2013) 736748. interested in the internet of things and its application in the context of ubiquitous
[45] Markos Papadonikolakis, Christos-Savvas S. Bouganis, Novel cascade FPGA computing and ambient intelligence.
accelerator for support vector machines classication, IEEE Trans. Neural
Netw. Learn. Syst. 23 (7) (2012) 10401052.
[46] Tesresa Orlowska-Kowalska, Marcin Kaminski, FPGA implementation of the Koldo Basterretxea (M02) was born in Bilbao, Basque
multilayer neural network for the speed estimation of the two-mass drive Country, Spain, in 1970. He received the Licenciado
system, IEEE Trans. Ind. Inform. 7 (3) (2011) 436445. degree in physics with specialization (M.Sc.) in elec-
[47] Cheng-Hao Huang, Wen-June Wang, Chih-Hui Chiu, Design and
tronics and control in 1994 and the Ph.D. degree in
implementation of fuzzy control on a two-wheel inverted pendulum, IEEE
physics in 2002, both from the Universidad del Pas
Trans. Ind. Electron. 58 (7) (2011) 29883001.
Vasco/Euskal Herriko Unbertsitatea (UPV/EHU), Bilbao,
[48] Denis Vinicius Coury, Alexandre Cludio Botazzo Delbem, Janison Rodrigues De
Carvalho, Mrio Oleskovicz, Eduardo V. Simes, Daniel Ignacio Barbosa, Tiago V Basque Country, Spain.
da Silva, Frequency estimation using a genetic algorithm with regularization He was a Lecturer at the Electronics and Telecommu-
implemented in FPGAs, IEEE Trans. Smart Grid 3 (3) (2012) 13531361. nications Department at the Escuela Universitaria de
[49] Shing-Tai Pan, Xu-Yu Li, An FPGA-based embedded robust speech recognition Ingeniera Tcnica Industrial (EUITI) of Eibar (UPV/EHU),
system designed by combining empirical mode decomposition and a genetic from 1995 to 1998, and at the EUITI of Bilbao (UPV/
algorithm, IEEE Trans. Instrum. Meas. 61 (9) (2012) 25602572. EHU) since 1998, where he currently is a Senior Lec-
[50] Ching-Chili Tsai, Hsu-Chih Huang, Shui-Chun Lin, FPGA-based parallel DNA turer. His research interests include digital design of adaptive systems on FPGAs,
algorithm for optimal congurations of an omnidirectional mobile service hardware design for high-speed real-time controllers, neural/fuzzy hardware,
robot performing re extinguishment, IEEE Trans. Ind. Electron. 58 (3) (2011) hardware/software co-design, and applied soft computing.
10161026.
[51] Pradeep R. Fernando, Srinivas Katkoori, Didier Keymeulen, Ricardo Salem
Zebulum, Adrian Stoica, Customizable FPGA IP core implementation of a Maria Victoria Martnez was born in Bilbao, Spain in
general-purpose genetic algorithm engine, IEEE Trans. Evol. Comput. 14 (1)
1964. She received the Licenciado degree in physics
(2010) 133149.
with specialization in electronics and automatics in
[52] R.A. Ramadan, H. Hagras, M. Nawito, A. El Faham, B. Eldesouky, The intelligent
classroom: towards an educational ambient intelligence testbed, in: Proc. 1987 and the Ph.D. degree in physics, in 2002, both from
2010 Sixth International Conference on Intelligent Environments, Kuala the University of the Basque Country (UPV/EHU), Bilbao,
Lumpur, 2010, pp. 344349. Spain.
[53] A.I. Dounis, C. Caraiscos, Advanced control systems engineering for energy and She was a Predoctoral Researcher (granted by the Bas-
comfort management in a building environmental review, Renew. Sustain. que Government) from 1987 to 1998. She has been
Energy Rev. 13 (2009) 12461261. since 1995 an Associate Professor in the Department of
[54] H. Hagras, V. Callaghan, M. Colley, G. Clarke, A hierarchical fuzzygenetic multi- Electricity and Electronics, UPV/EHU. She has published
agent architecture for intelligent buildings online learning, adaptation and articles in international journals and conferences in the
control, Inform. Sci. 150 (12) (2003) 3357. areas of electronics, computational intelligence, device
[55] J.-S. Jang, ANFIS: adaptive-network-based fuzzy inference system, IEEE Trans. modeling, ambient intelligence, among others. Her research interests mainly con-
Syst., Man Cybernet. 23 (1993) 665685. cern the synthesis and electronic implementation of piecewise linear (PWL) sys-
[56] Virtex 5 Family Overview, Xilinx Inc., San Jose, CA, 2009. <http://
tems with emphasis on efcient realizations for highly complex systems.
www.xilinx.com/support/documentation/datasheets/ds100.pdf>.
[57] ISE Design Suite, Xilinx Inc., San Jose, CA, 2009. <http://www.xilinx.com/tools/
designtools.htm>.
740 J. Echanobe et al. / Microprocessors and Microsystems 38 (2014) 730740
Faiyaz Doctor received the B.Sc. degree in computer improved approaches for data analysis and decision-making using hybrid neuro-
science and articial intelligence from the School of fuzzy and type-2 fuzzy systems. He is currently a lecturer in Computing with the
Computer Science, University of Birmingham, Birming- faculty of Engineering and Computing, Coventry University, UK. His research
ham, UK, in 1998 and the M.Sc. degree in computer interests include computational intelligence, fuzzy logic, applications of type-2
science and articial intelligent agents in 2002 and PhD fuzzy logic, hybrid systems using fuzzy logic with genetic algorithms and neural
in computer science in 2006 from the School of Com- networks, ambient intelligence, pervasive computing and intelligent buildings.
puter Science and Electronic Engineering, University of Other areas of interest also include embedded agents, intelligent machines and
Essex, Colchester, UK. applications of computational intelligence in business, commerce and healthcare.
After completing his PhD he has worked in both Dr. Doctor has published a number of papers in international journals and confer-
industry and within the academic community to ences in the eld of pervasive computing and computational intelligence.
develop novel articial intelligence solutions for
addressing real world problems related to smart envi-
ronments, energy optimization, predictive analytics and decision support. His work
has resulted in high prole innovation awards and an international patient for