Computational Neuroscience & Neural Computing.


Welcome to the home page for David Halliday, describing research in Computational Neuroscience and Neural Computing. Topics include:

  • Multivariate statistical signal processing for analysis of neural signals
  • Spiking neural networks (SNNs)
  • Spiking astrocyte-neuron networks (SANNs)
  • Neuromorphic computing

Background to Computational Neuroscience

Founding of the Neuron Doctrine

Figure shows drawing of individual neurons by Santiago Ramón y Cajal. Different neurons types are labelled with different letters.

"Against a clear background stood black threadlets, some slender and smooth, some thick and thorny ... All was sharp as a sketch with Chinese ink on transparent Japanese paper ... A look was enough - dumfounded I could not take my eye from the microscope."

The words of Santiago Ramón y Cajal (1852-1934) in 1887, when he looked through a microscope at a section of neural tissue stained with a silver preparation which had been developed by Camillo Golgi in 1873.

Cajal was the first to propose the view that the nervous system consists of billions of independent neurons. Cajal's work resulted in the formulation of the “Neuron Doctrine”, and the founding of the modern era in neuroscience. Cajal and Golgi shared the 1906 Nobel prize in Medicine for their work.

What is Computational Neuroscience?

Computational Neuroscience aims to understand the structure and function of the nervous system through mathematical analysis of neural signals, and modelling of the electrical activity in single neurons and networks of neurons. It in an interdisciplinary area involving the physical sciences (Engineering, Computing, Mathematics, Statistics) and life sciences (Neuroscience, Psychology, Neurophysiology).

"It is these boundary regions of science which offer the richest opportunities to the qualified investigator" (Norbert Wiener, In: Cybernetics, MIT 1948)

Use the tabs above to explore our work in this area.

Statistical signal processing for neural signals

Figure shows 2 seconds of EEG recorded over the motor cortex of an individual making a wrist extension after 0.5s. The random nature of this signal is characteristic of neural signals, there are no obvious features in the EEG. Statistical signal processing techniques are needed to detect interesting features. We make extensive use of time and frequency methods using the discrete Fourier transform.

"The frequency approach, which leads to the spectrum, has been the principal method of opening the black boxes of nature." Richard Hamming.

We use a range of approaches: Spectra, coherence and phase, multivariate analysis using partial spectra and partial coherence. Non stationary analysis using analytic wavelets and single trial analysis using multiwavelets. For analysis over long time scales we have developed an efficient method for spectral tracking using Kalman filtering of spectra and coherence. Non linear analysis using higher order spectra. Time domain measures include cumulant/covariance and partial cumulant. We have developed an empirical approach for directional decomposition of coherence: Non-parametric directionality (NPD) which decomposes coherence into forward, reverse and zero lag components. Multivariate methods include graphical network analyses using partial coherence and NPD.

Applications areas include control of movement and electrophysiological signal analysis.

Spiking neural networks and neuromorphic computing

Many of our statistical signal processing techniques can be applied to neural spike train data, providing a framework within which to characterise and quantify the behaviour of spiking neural networks (SNNs).

Spiking astrocyte neuron networks

The SPANNER project (Self-rePAiring spiking Neural NEtwoRk) explored how spiking-astrocyte neural networks can be used to develop fault tolerant neurmorphic computing.

An overview of the SPANNER project is here.
Results from SPANNER are available here.

For further reading on these topics see publications tab.
See external links for full lists of publications. Below are selected publications for different research areas.

Neural signal processing:

Control of movement:

  • Coherence analysis of single motor units during voluntary contractions: DOI, PDF.
  • First publication of corticomuscular coherence in humans:
  • Neurogenic components of physiological tremor: DOI, PDF.
  • Functional modulation of motor unit coupling during gait: DOI, PDF.
  • Developmental profile of corticospinal coherence: DOI.
  • Changes in corticospinal drive following stroke: DOI.
  • Relationship between arm swing and gait: DOI1, PDF1; DOI2, PDF2.
  • Spinal cord injury: DOI1, PDF1; DOI2, PDF2; DOI3, PDF3.

Electrophysiological studies:

  • Male-female differences in learned fear expression:
    DOI1, PDF1; DOI2, PDF2.
  • Effects of early life adversity on cognitive-emotional interactions in adulthood: DOI1, DOI2.
  • Coexistence of gamma and high-frequency oscillations in hippocampus: DOI, PDF.
  • Rhythmogenesis in cortico-basal ganglia circuits of the parkinsonian rat: DOI, PDF.

SNNs and Neuromorphic computing:

  • Generation of correlated spike trains: DOI, PDF.
  • Modulation of neural bandwidth by correlated inputs: DOI, PDF.
  • Hippocampus inspired spatial navigation SNNs:
    DOI1, PDF1; DOI2, PDF2.
  • Fault tolerant SNNs - SPANNER publications are here.

PhD projects in Computational Neuroscience

If you are interested in PhD study this section gives details of potential projects and how to apply.

Introduction. How does the human brain compute? As you read this text, the pixels on your screen are converted into a series of spike trains passing along the neural pathways in your brain, allowing you to understand the content. The human brain is one of the most complex systems known to man. Much is known about the structure and function of the human brain: It consists of vast numbers of interacting units (neurons) that communicate with each other using sequences of pulses (spike trains). The highest levels of processing in the human brain occur in the neocortex, it is estimated that the human neocortex contains around 10 billion neurons with 60 trillion connections between neurons. This complex system provides plenty of scope for research projects in Computational Neuroscience. Potential projects fall under two broad themes:
  • Development and application of statistical signal processing techniques for multivariate neuronal recordings.
  • Computer modelling of Spiking Neural Networks (SNNs) to investigate fundamental mechanisms in neural coding, neural computing and information processing in the brain.

Theme 1: Neural and statistical signal processing.

Neuroscience is regarded by many as “data rich”, in our case this means access to large multivariate data sets of neuronal recordings that can be used to understand brain function in health and disease. These data sets consist of different types of data ranging from single unit recordings of individual neurons, to local field potential recordings of localised electrical activity and electroencephalographic (EEG) recordings from the surface of the scalp. A feature of these recordings is that they are intrinsically noisy and non-stationary or time varying. There is a need to develop multivariate statistical signal processing methods that can be applied to these neurophysiological data sets to extract information about the structure, function and operation of the nervous system. A wide range of data sets are available to support this work, from collaborators using multi electrode array (MEA) technologies, human electrophysiological studies using EEG and from Neuroimaging centres using whole head magnetoencephalographic (MEG) systems. A focus of the group is on control of movement, data sets consisting of upper and lower limb electromyographic (EMG) recordings are available to support this research. Projects can focus on studying fundamental mechanisms related to neural function, or can take a more clinically focused approach, for example comparing EEG-EMG interactions in controls against patient groups (e.g. stroke or Parkinson’s disease).

Theme 2: Neural computing with spiking neural networks.

The ability to simulate the electrical signalling processes in the brain is central to developing new models of brain function, and new approaches to neuromorphic computing. This computational modelling uses computer models of single neurons and interconnected networks of these to capture the spatial-temporal dynamics seen in the living brain. A wide range of approaches can be used, for example using detailed biophysical models to capture the dynamics of how an individual neuron, or a small group of neurons, responds to different activation patterns. Alternatively, larger networks using bio-inspired models (e.g. LIF and variants, Izhikevich) can be used to study neural coding and neural computing at the population level. A number of different approaches to learning can be applied, for example Spike Time Dependent Plasticity (STDP) or Reinforcement Learning (RL) in SNNs. Depending on interests and experience, simulations can be done in software (e.g. MATLAB, C/C++, Python) or hardware (e.g. FPGA technology). Research in this area is closely related to Neuromorphic computing, which aims to develop new brain inspired computing paradigms based on the use of SNNs. Also of interest are Spiking Astrocyte Neuron Networks (SANNs), where concepts related to astrocyte regulation of neuronal activity can be used to develop fault tolerant computing systems. This more technologically focused view allows projects to consider how our understanding of the behaviour of SNNs and SANNs can be used in novel computational tasks, for example control of mobile robotic devices (see above figure).

Combined projects. Projects can readily combine aspects of both of these themes, for example simulated cortical neuron networks can provide data to validate novel statistical signal processing approaches to study neuronal interactions and neuronal connectivity.

Skills and skills development
What skills are needed and what skills will be developed by undertaking a PhD or MSc research project in this area? The field of Engineering is a key discipline in the study of the brain. Research in Computational Neuroscience will develop a range of theoretical and practical skills. Depending on your choice of project you can develop theoretical skills in statistics and statistical signal processing (for example Fourier, Wavelet, estimation and Kalman filtering, information theoretic approach, linear and non-linear techniques, stationary and non-stationary techniques) in parallel with your practical skills in designing implementing and applying signal processing algorithms to multivariate data sets (using e.g. MATLAB, C/C++, Python). Practical skills in managing and working with large data sets is important in many disciplines, research in the “data rich” world of experimental Neuroscience is an excellent way to develop and refine these data skills, which will have relevance across the digital world.
    Simulation and modelling are key skills in all branches of Engineering. The ability to understand, implement and use numerical methods for simulation of SNNs or SANNs are transferable skills that can map to a wide range of applications in modelling dynamical systems described by differential equations. Modelling single neurons and SNNs/SANNs will develop your expertise in using numerical methods for solution of dynamical systems (using for example MATLAB, Python, C/C++ ) and the construction of spiking neuron models and networks of these, which represent the building blocks in Neuromorphic computing. Depending on interests the construction of custom hardware models can be included in the project, typically using FPGA systems.
    Experimental skills can be developed through use of SNNs in different application areas, for example real-time control of mobile or swarm robotic systems. Facilities exist to support robotic experimentation.

Further details
Details about applying and availability of scholarships are here.

If you have any queries - please get in touch.

Software and Downloads

NeuroSpec is an archive of MATLAB routines for multivariate Fourier analysis of time series point process data. It has been designed for analysis of neural time series, including EEG, MEG, EMG, Local Field Potential (LFP), kinematic (e.g. tremor) and single unit data. The techniques have broad applicability, so will be suited to other types of time series or event data. Neurospec (previously at is at:

Modeling in the Neurosciences

The data that accompanies chapter 20 of the book "Modeling in the Neurosciences" is available as MATLAB and text files.

  ReadMe file is here (txt)
  MATLAB file is here (ZIP, 921Kb)
         Text file is here (ZIP, 1492Kb)

Citation: Halliday, DM (2005) Spike-train analysis for neural systems. In: Modeling in the Neurosciences (2nd edition), Eds: Reeke GN et al. CRC Press, Ch 20, pp 555-579, ISBN 0415328683.

External Links for David Halliday:

Google Scholar

Web of Science


Frontiers Loop



IEEE Xplore

University of York links:

York Research Database
Includes copies of publications

Staff Page

Healthcare Engineering group

School of Physics Electronic and Technology:
Physics Engineering and Technology

Contact Details:

Dr David Halliday,
School of Physics Engineering and Technology,
University of York,