Enabling a Real-Time Solution for Neuron Detection with
Reconfigurable Hardware
Ben Cordes, Jennifer Dy, Miriam Leeser
Northeastern University, Boston, MA
{bcordes,jdy,mel}@ece.neu.edu
James Goebel
NeuralArts, Inc., Decatur, GA
jkgoebel@neuralarts.com
Abstract
FPGAs provide a speed advantage in processing for
embedded systems, especially when processing is moved
close to the sensors. Perhaps the ultimate embedded
system is a neural prosthetic, where probes are inserted
into the brain and recorded electrical activity is ana-
lyzed to determine which neurons have fired. In turn,
this information can be used to manipulate an external
device such as a robot arm or a computer mouse.
To make the detection of these signals possible, some
baseline data must be processed to correlate impulses
to particular neurons. One method for processing this
data uses a statistical clustering algorithm called Expec-
tation Maximization, or EM. In this paper, we examine
the EM clustering algorithm, determine the most com-
putationally intensive portion, map it onto a reconfig-
urable device, and show several areas of performance
gain.
1. Introduction
An emerging field of research is in neural prosthetic
devices, where probes are inserted into the brain, elec-
trical activity is analyzed, and the results are used to
manipulate an external device. Neural prosthetics pro-
vide promise for the physically disabled, from control-
ling a personal computer via a pointing device, to robot
arms that can complete simple tasks. In the future,
neural prosthetics may allow users to manipulate artif-
ical limbs with a simple thought.
Neural signals are acquired as electrical impulses on
a probe. In order to be useful, the impulses must be
processed to determine which neurons are firing at a
particular time; once a neuron or set of neurons has
been isolated, the probe can detect later firings of that
same neuron. The user can then be trained to fire it
intentionally, providing a method of control. This iso-
lation process is achieved using a statistical analysis
algorithm called Expectation Maximization[4], or EM
clustering. EM breaks a large number of datapoints
into groups (or clusters ), identified by mean and vari-
ance.
Software solutions for EM do not run fast enough to
be used in a real-time processing environment. These
solutions must record data from the probe onto a host
PC and process it there; only after this processing is
complete can the real work of training the user to issue
control commands begin. We propose to move por-
tions of the EM application into hardware in order to
speed it up; a block diagram of our design, featuring an
Annapolis MicroSystems WildCard II[2] reconfigurable
platform, is shown in Figure 1. As in the software-only
solution, the host computer is reponsible for reading
the baseline probe data and passing it through prin-
cipal component analysis (PCA). Our design performs
part of the EM clustering application in hardware (see
Section 4) and writes the results back to the host PC.
Those results can then be fed into another part of the
system which processes “live” data and extracts control
signals from it.
Analysis (PCA)
Principal Component
Probe
Neural
Assign new data
to clusters
Control System
(servo motors, etc.)
EM
Clustering
4 channels
x 10 components
12 clusters
host PC
Stored on
Baseline data New data
12 dimensions
Figure 1. Block diagram of system
1
Proceedings of the 16th International Workshop on Rapid System Prototyping (RSP’05)
1074-6005/05 $20.00 © 2005 IEEE