Videos and Presentations

Neural Cross Correlation Engine

Cross-correlation is an important yet computationally intensive processing step in many engineering applications such as wireless communication and object recognition. It is also necessary in biological systems like vision and auditory systems, where it is used to extract motion or to separate sound sources.

The neural cross-correlation engine is a simple, low-power, less computationally intensive means of computing the auto-correlation and cross-correlation of signals. This system, unlike other correlation computing systems, does not utilize any mathematical algorithms for computation. Instead it utilizes integrate-and-fire neurons. This is a new and interesting use of integrate-and-fire neurons that has not been extensively exploited. The basis for this neural cross correlation mechanism is the autocorrelative nature of the interspike interval histogram (ISIH) in noisy spiking neurons.

The first implementation of the neuromorphic cross-correlation engine consists of four neurons configured as two half-center oscillators (HCO), similarly to the way it has been described in [1]. To obtain the cross-correlation of any two signals, we modulate the synaptic weights w1 and w2 according to these signals. These in turn modulate the charging of the membrane potentials of N1 and N2, respectively. To prevent phaselocking, uniformly distributed noise is added on the input signals and the sum modulates the synaptic weights. For wireless communications, it is useful to calculate the crosscorrelation of pseudorandom (PRN) codes such as Gold codes. Gold codes, also utilized in GPS communication, have a unique autocorrelation function with a single significant peak. The nearly-orthogonal nature of the Gold codes allows transmission from sensors or electrodes, for example, of multiple codes simultaneously with little interference [2]. In particular, implementation of wireless AER systems will require the correlation of a mixture of Gold codes with a reference code (itself a Gold code) to extract its components from the mixture as shown in Fig. 1. This Gold code mixture and the reference code are generated in Matlab and the two signals used to modulate the synaptic weights. As shown by Tapson et al. [3], the cross correlation is obtained from the interspike interval histogram (ISIH) of V1 and V2.

Network architecture of the cross correlation engine [4]

Ultimately, our goal is to harness the low-power, versatile and compact characteristics of this system to provide wireless communication for the next generation of neuroprosthetics.


  1. J. Tapson, M. Vismer, C. Jin, A. van Schaik, F. Folowosele, and R. Etienne-Cummings, “A Two-Neuron Cross-Correlation Circuit with A Wide and Continuous Range of Time Delay,” submitted.
  2. A. Viterbi, CDMA: principles of spread spectrum communication. Addison Wesley Longman Publishing Co., Inc. Redwood City, CA, USA, 1995.
  3. J. Tapson and R. Etienne-Cummings, “A Simple Neural Cross- Correlation Engine,” Circuits and Systems, 2007. ISCAS 2007. IEEE International Symposium on, pp. 1285-1288, 2007.
  4. F. Folowosele, F. Tenore, A. Russell, G. Orchard, M. Vismer, J. Tapson, R. Etienne-Cummings, “Implementing a neuromorphic cross-correlation engine with silicon neurons,“ accepted Circuits and Systems, 2008. ISCAS 2008. IEEE International Symposium