model-based-spike-detection

Spike detection algorithms developed in Simulink environment.
2 Downloads
Aktualisiert 26. Mär 2024

View model-based-spike-detection on File Exchange

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


Spike detection algorithms developed 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.

With this repo you can test and compare different spike detection models implemented in Simulink to simulate real-time signal processing, or to evaluate the performance of a suite spike detection algorithms. Test recordings are available so that you can try the repo functionalities.


Fig.1 - Spike detection models current developed at the current state of the project



Fig.2 - SNEO Simulink model


Required Software

  1. MATLAB® and Simulink® version R2020a or later
  2. Signal Processing Toolbox

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 readme.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 have 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 or a combination of thresholds.
  2. Energy Operator: non-linear energy operator (NEO) computation to enhance the high frequency content of the signal. 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.

DOCUMENTATION

You can find detailed documentation here: docs.

CORE TEAM

The following people have contributed to the current state of the project. 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

REFERENCE

For further information please refer to the scientific publication: link.

If you use this repo, please cite:

"Di Florio, M., Iyer, V., Rajhans, A., Buccelli, S., & Chiappalone, M. (2022, July). Model-based online implementation of spike detection algorithms for neuroengineering applications. In 2022 44th Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 736-739). IEEE."

Zitieren als

Mattia Di Florio (2024). model-based-spike-detection (https://github.com/MattiaDif/model-based-spike-detection/releases/tag/v0.4), GitHub. Abgerufen .

Di Florio, M., Iyer, V., Rajhans, A., Buccelli, S., & Chiappalone, M. (2022, July). Model-based online implementation of spike detection algorithms for neuroengineering applications. In 2022 44th Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 736-739). IEEE.

Kompatibilität der MATLAB-Version
Erstellt mit R2020a
Kompatibel mit R2020a und späteren Versionen
Plattform-Kompatibilität
Windows macOS Linux
Tags Tags hinzufügen

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
0.4

Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.
Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.