image thumbnail

model-based-spike-detection

version 0.1 (35.3 MB) by Mattia Di Florio
From Simulink models toward embedded design: a model-based design approach for your target online implementation of spike detection algorith

15 Downloads

Updated 24 Jan 2022

From GitHub

View license on GitHub

View model-based-spike-detection on File Exchange

Model-based online implementation of spike detection algorithms for neuroengineering applications

Spike detection algorithms development in Simulink® to evaluate the preferable contestant for the intended embedded (µC or Field Programmable Gate Array - FPGA) implementation. A Model-Based Design approach for neuroengineering applications enables to (i) simulate, and forecast pros and cons of the code execution on target hardware, and (ii) carry out preliminary analysis about the algorithms conduct in real-time.


Fig.1 - Spike detection models developed in both single- and multi-channel modality



Fig.2 - SNEO Simulink model


Required Software

  1. MATLAB® and Simulink® version R2020a or later

Installation

To clone this repo open your terminal and run:

git clone https://github.com/MattiaDif/model-based-spike-detection.git

Rember to add the repo to the Matlab path!

Repo description

Inside Spike_Detection_Models:

  1. SingleChannelModels: folder that contains the Simulink model for spike detection in single-channel modality subdivided by category. The files named with the prefix float_sch are the spike detection Simulink models, while the files named with the prefix float_sch_run are the Matlab scripts to control the model parameters and lunch the simulation.

  2. MultiChannelModels: folder that contains the Simulink model for spike detection in mutli-channel modality subdivided by category. The files named with the prefix float_mch are the spike detection Simulink models, while the files named with the prefix float_mch_run are the Matlab scripts to control the model parameters and lunch the simulation.

  3. TestData: folder that contains data for testing the model in Simulink (see the reame.txt file in the folder for further details).

  4. Recording_Generator: folder that contains Python scripts to generate simulated multichannel recording exploting MEArec (MEArec repo).

Background

Different spike detection models has been developed in Simulink to investigate their feasibility in a real-time environment. The algorithms are subdivided among 3 main categories according to the spike detection methods found in literature:

  1. Sample Thresholding: a spike is detected if the sample overcomes a threshold.
  2. Energy Operator: non-linear energy operator (NEO) computation to enhance the high frequency content. A spike is detected if the NEO sample overcomes a threshold.
  3. Template Matching: spike detection based on the similarity between a waveform and a template. A spike is detected if the similarity metric is greater than a set value.

CORE TEAM

The following people have contributed to the current state of the project (24/01/2022). Specifically:

For any questions, please reach via email Mattia Di Florio (di.florio.mattia@gmail.com) or Stefano Buccelli (stefano.buccelli@iit.it) or write an issue!

  1. Rehab Technologies IIT-INAIL Lab, Istituto Italiano di Tecnologia, Via Morego 30, 12 16163 Genova, Italy
  2. MathWorks, 1 Lakeside Campus Drive, Natick, MA 01760, USA
  3. Department of Informatics, Bioengineering, Robotics, System Engineering (DIBRIS), 20 University of Genova, Via all’Opera Pia 13, 16145, Genova, Italy

Cite As

Mattia Di Florio (2022). model-based-spike-detection (https://github.com/MattiaDif/model-based-spike-detection/releases/tag/v0.1), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with R2020a and later releases
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.