Giter VIP home page Giter VIP logo

compressivesensingdictionarylearning's Introduction

matlab version

Compressive Sensing on electrophysiological data

Objective

The dataset we are using originates from a collection of electrophysiological data received from electrode implants in the human brain. The implant in the brain collects data and executes basic processing to allow the device to run properly. The electrode implant sends a wireless signal to a receiver outside the human body. This receiver receives the data from the implant and executes a post-processing procedure on the data collected from the electrode. It is in this external receiver that detection of the neuron spikes and sorting of the dataset takes place.

Pre Processing

The raw signal received from the implant is extremely noisy and difficult to distinguish. This noise originates from spikes from far away neurons and other random electrical noises. However, compressive sensing can only operate correctly if the signal is sparse. A sparse signal is necessary in order to have a favorable recovery. To create this sparse signal we must apply a fir1 bandpass filter, detect spikes to make the signal sparse, and remove the excess noise by keeping the detected spikes.

Raw Signal and Cleaned Signal

Compressive Sensing:

Compressive sensing theory was developed upon the idea that many signals can be represented using only a few non-zero coefficients in a suitable basis or dictionary. We used L0 and L1 minimization techniques as expalined in our report.

   L0 Minimization:
    1. Subspace pursuit
    2. Orthogonal matching pursuit
   L1 Minimization:
    1. ALM 
    2. FISTA

Sampling Methods

The sampling methods we have used for construction of sensing matrix are:

• Random SubSampling : It is achieved by using DCT on the signal and randomly permute
  them to form sensing matrix.
• Random Gaussian Sampling : Here the randomness is achieved by permutation on the signal
  using Matrix norm.

Conclusion:

We noticed that FISTA algorithm was the fastest and giving consistently good results. We also noticed that Random Subsampling Matrix was giving good results as a sampling method. Gaussian was unpredictable and did not give good results even when values of M were increased to sampling 0.8 of the values.

compressivesensingdictionarylearning's People

Contributors

aswinvasudevan21 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.