VHDL IMPLEMENTAION USING SPIKE SORTING ALGORITHM

A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE DEGREE OF MASTER OF SCIENCE IN MICRO ELECTRONICS

VHDL IMPLEMENTATION USING SPIKE SORTING ALGORITHM

A Thesis submitted to Newcastle University for the degree of MSc Micro Electronics 2011

Supervisor: Dr Graeme Chester

Student Name: Ramya Yapala

Student Number: 109230832

SCHOOL OF ELECTRICAL, ELECTRONIC AND COMPUTER ENGINEERING

NEWCASTLE UNIVERSITY

SCHOOL OF ELECTRICAL, ELECTRONIC AND COMPUTER ENGINEERING

I, <Ramya Yapala>, confirm that this report and the work presented in it are my own achievement. I have read and understand the penalties associated with plagiarism.

Signed: ………………………………………………………………………………………. Date: ………………………………………………………………………………………….

Acknowledgment

My deepest indebted goes first to my supervisor Doctor Graeme Chester. He instructed me a lot in the past one year. Without his patient and illuminating instruction, I could not finish this project. His guidance and encouragement helps me overcome all the problems of the investigation of this project. I would also wish to thank PhD student Reza Rafiee and my friends who have helped in successfully finishing the project. Most importantly, I owe special gratitude to my beloved families for their loving considerations and great confidence in me.

Abstract

This project implements an algorithm for VHDL implementation using spike sorting algorithm. This algorithm is based on k-means algorithm and. The main procedure includes three stages, writing the code in matlab, converting the code from matlab to VHDL, implementing the code in VHDL onto FPGA board. Firstly the given data of neurons is grouped into clusters using k-means algorithm in matlab to identify number of neurons in the given data and timing analysis at which ach neuron fires .Then, the parameters which are used in the matlab code are used and converted into VHDL using as. After that, the code is applied on FPGA board to find the power consumption. The simulation results demonstrate that the VHDL is implemented for Spike sorting algorithm.

Content

CHAPTER 1

INTRODUCTION

Spike sorting is the grouping of spikes into clusters based on the similarity of their shapes. Given that, in principle, each neuron tends to fire spikes of a particular shape, the resulting clusters correspond to the activity of different putative neurons. The end result of spike sorting is the determination of which spike corresponds to which of these neurons. The classification of which spike corresponds to which neuron- is a very challenging problem. Then, before tackling mathematical details and technical issues, it is important to discuss why we need to do such a job, rather than just detecting the spikes for each channel without caring from which neuron they come. A large amount of research in Neuroscience is based on the study of the activity of neurons recorded extra cellularly with very thin electrodes implanted in animals’ brains. These micro wires ‘listen’ to a few neurons close-by the electrode tip that fire action potentials or ‘spikes’. Each neuron has spikes of a characteristic shape, which is mainly determined by the morphology of their dendrite trees and the distance and orientation relative to the recording electrode It is already well established that complex brain processes are reflected by the activity of large neural populations and that the study of single-cells in isolation gives only a very limited view of the whole picture. Therefore, progress in Neuroscience relies to a large extent on the ability to record simultaneously from large populations of cells. The implementation of optimal spike sorting algorithms is a critical step forwards in this direction, since it can allow...