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