Spike Sorting Algorithm implemented on FPGA Elad Ilan Asaf Gal Sup: Alex Z.

Slides:



Advertisements
Similar presentations
Slides from: Doug Gray, David Poole
Advertisements

Digital Phase Follower -- Deserializer in Low-Cost FPGA
Sorting Really Big Files Sorting Part 3. Using K Temporary Files Given  N records in file F  M records will fit into internal memory  Use K temp files,
Machine Learning: Connectionist McCulloch-Pitts Neuron Perceptrons Multilayer Networks Support Vector Machines Feedback Networks Hopfield Networks.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Handwritten Character Recognition Using Artificial Neural Networks Shimie Atkins & Daniel Marco Supervisor: Johanan Erez Technion - Israel Institute of.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Performed by: Asaf Gal Elad Ilan Instructor: Alex Zviagintsev המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
Function Definition  From Investigation to Specification  Defining Functions  The Universal Function Model  Identifying and Documenting Functions.
Computer 101. Intro Computers are showing up everywhere you look Computers check out your groceries, pump your gas, dispense money at the ATM, turn.
Final Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Data Mining with Neural Networks (HK: Chapter 7.5)
Laurent Itti: CS599 – Computational Architectures in Biological Vision, USC Lecture 7: Coding and Representation 1 Computational Architectures in.
Spike Sorting Algorithm Implemented on FPGA Elad Ilan Asaf Gal Sup: Alex Zviaginstev.
Neural Networks. Background - Neural Networks can be : Biological - Biological models Artificial - Artificial models - Desire to produce artificial systems.
Rohit Ray ESE 251. What are Artificial Neural Networks? ANN are inspired by models of the biological nervous systems such as the brain Novel structure.
Traffic Sign Recognition Using Artificial Neural Network Radi Bekker
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Presented by: Kamakhaya Argulewar Guided by: Prof. Shweta V. Jain
Masquerade Detection Mark Stamp 1Masquerade Detection.
Semester Programming Project for CS 356
Optimization of System Performance using OpenMP m Yumiko Kimezawa May 25, 20111RPS.
Sub-Nyquist Reconstruction Final Presentation Winter 2010/2011 By: Yousef Badran Supervisors: Asaf Elron Ina Rivkin Technion Israel Institute of Technology.
Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le.
Firmware based Array Sorter and Matlab testing suite Final Presentation August 2011 Elad Barzilay & Uri Natanzon Supervisor: Moshe Porian.
 The most intelligent device - “Human Brain”.  The machine that revolutionized the whole world – “computer”.  Inefficiencies of the computer has lead.
Outline What Neural Networks are and why they are desirable Historical background Applications Strengths neural networks and advantages Status N.N and.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Artificial Neural Networks An Introduction. What is a Neural Network? A human Brain A porpoise brain The brain in a living creature A computer program.
STGC Trigger Demonstrator sTGC Trigger Demonstrator ATLAS Israel Annual Meeting 30 December 2012 Lorne Levinson, Julia Narevicius, Alex Roich, Meir Shoa,
6.375 Final Presentation Jeff Simpson, Jingwen Ouyang, Kyle Fritz FPGA Implementation of Whirlpool and FSB Hash Algorithms.
ESR 2 / ER 2 Testing Campaign Review A. CrivellaroY. Verdie.
Non-Bayes classifiers. Linear discriminants, neural networks.
Neural Networks in Computer Science n CS/PY 231 Lab Presentation # 1 n January 14, 2005 n Mount Union College.
Developing an Algorithm. Simple Program Design, Fourth Edition Chapter 3 2 Objectives In this chapter you will be able to: Introduce methods of analyzing.
Introduction to Loops For Loops. Motivation for Using Loops So far, everything we’ve done in MATLAB, you could probably do by hand: Mathematical operations.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
0 - 1 © 2007 Texas Instruments Inc, Content developed in partnership with Tel-Aviv University From MATLAB ® and Simulink ® to Real Time with TI DSPs Spectrum.
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Introduction to Neural Networks Introduction to Neural Networks Applied to OCR and Speech Recognition An actual neuron A crude model of a neuron Computational.
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
16 Bit Logarithmic Converter Tinghao Liang and Sara Nadeau.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Essential components of the implementation are:  Formation of the network and weight initialization routine  Pixel analysis of images for symbol detection.
Speaker Verification System Middle Term Presentation Performed by: Barak Benita & Daniel Adler Instructor: Erez Sabag.
Neural Networks. Background - Neural Networks can be : Biological - Biological models Artificial - Artificial models - Desire to produce artificial systems.
SUPERVISED AND UNSUPERVISED LEARNING Presentation by Ege Saygıner CENG 784.
Cellular Device Detection Instructor : Yossi Hipsh Performed by: Smadar Katan Gal Mendelson Project Number: D0517 Winter 2007/8 Semesterial Project Final.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
System.
Hiba Tariq School of Engineering
DATA CONVERTERS (Linear Circuits) S.Senthil Kumar, Dept. of Aero, KCT
Artificial Intelligence (CS 370D)
CSSE463: Image Recognition Day 11
Design of Digital Filter Bank and General Purpose Digital Shaper
Data Mining with Neural Networks (HK: Chapter 7.5)
CSSE463: Image Recognition Day 11
A 100 µW, 16-Channel, Spike-Sorting ASIC with On-the-Fly Clustering
Chap. 7 Regularization for Deep Learning (7.8~7.12 )
Chapter 7 Functions and Graphs.
MECH 3550 : Simulation & Visualization
CSSE463: Image Recognition Day 11
CSSE463: Image Recognition Day 11
Linear Discrimination
Introduction to Neural Networks
Analog Senior Projects 2019
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
Multichannel Link Path Analysis
Presentation transcript:

Spike Sorting Algorithm implemented on FPGA Elad Ilan Asaf Gal Sup: Alex Z

The Vision - Develop a NeuroChip, a brain implanted microchip, able to maintain real time and on line interface with the brain tissue and an external HW. Develop a NeuroChip, a brain implanted microchip, able to maintain real time and on line interface with the brain tissue and an external HW.

System Schema -

The problem - Raw recorded signal contains huge amount of data (magnitude of GB/sec) Raw recorded signal contains huge amount of data (magnitude of GB/sec) In order to make the system feasible, we need minimize the amount of data transmission between the neurochip and the external HW. In order to make the system feasible, we need minimize the amount of data transmission between the neurochip and the external HW. Solution : Do most of the data processing on the neurochip (detection + sorting) Solution : Do most of the data processing on the neurochip (detection + sorting)

Neurochip block diagram

Objective - To explore different possibilities for the architecture and implementation of the sorting block. By implementing the sorting algorithms on FPGA, we will be able to compare them by their performance, HW requirements, and output size/rate. A simulation environment for validation and testing of the algorithms will be set as a SW or HW blocks.

The sorting problem - PCA algorithm: PCA algorithm: High performance: ~10% error High performance: ~10% error Requires a lot of computations (involves big matrix products) Requires a lot of computations (involves big matrix products)

Real time algorithms - Basic idea: Basic idea: Run PCA algorithm off-line on a set of training data, and extract parameters for more simple algorithms.

Hard Decision - We choose a set of the best separating time points We choose a set of the best separating time points Each spike is sampled in those time points Each spike is sampled in those time points The spike vector is then compared to the threshold vec. The spike vector is then compared to the threshold vec. A decision is made A decision is made based on the mean value of the result

Hard Decision - Where: Cmp – comparator ∑ – summator DAC – digital/analog converter Where: Cmp – comparator ∑ – summator DAC – digital/analog converter Cmp Spike Separation line ∑ Cmp Control block Reg CL n 16 Time stamp Neuron ID Reg – register n – log 2 (sets) CL – combinatorial logic Reg – register n – log 2 (sets) CL – combinatorial logic

Soft Decision - Similar to HD, but we sum the sampling points before the comparison. Similar to HD, but we sum the sampling points before the comparison. The summation is done on two time windows The summation is done on two time windows

Soft Decision -

Simulation Schema -

Simulation environment User: User: This block will calculate the control parameters needed for the algorithm operation based on a predefined training data. Electrode + A/D STUB: Electrode + A/D STUB: This block will inject the raw data into the sorting unit as a serial data. The data will come from existing records of neuronal activity. Detector STUB: Detector STUB: This block will emulate the neurochip detection unit. Since we want to evaluate the sorting unit independently, we will assume an ideal detector. PCA simulator: PCA simulator: This block will run the best known PCA sorting algorithm on the same inputs as the tested unit. Its result will use as a reference to evaluate the unit performance. CMP: CMP: A comparator block, which will compute the error rate of the unit relative to the PCA algorithm (which have about 10% error rate itself)

Back up Foils