GithubHelp home page GithubHelp logo

bci_summer-17's Introduction

BCI_Summer-17

E-Club iitk summer'17 project

We try to guess the mental process going on in the subject's brain. The following processes can be identified currently(they are sh):

  1. Relaxed State-Subject is relaxed and not thinking about anything in particular.
  2. 3D geometric task-Subject is shown a 3D object for 30 seconds(approx.) and then asked to visualise and rotate it
  3. Math Task- Subject is given a complex mathematical task e.g. multiplication of two 3-digit numbers
  4. number counting and visualisation- subject is asked to imagine a black board with numbers being written and rubbed off constantly.

Requirements:

Emotiv EPOC headset
Emotiv EPOC SDK(both can be bought on Emotiv website)
pyemotiv repository (https://github.com/thearn/pyemotiv)
MATLAB
Python 2.x(https://python.org)

Installation:

  1. Download and copy the contents of this repository into your pyemotiv directory
  2. Change the path of testepoc.PY in line no. 9 of onlineanalysis.m and the paths of the ppt in ppt.m and ppt2.m
  3. You are good to go.
  4. Run onlineanalysis.m

Method:

1. Emotiv Epoc headset setting:

The signal is acquired using a 14- Channel EEG- based signal acquisition device called Emotiv EPOC headset. After all the installations, the settings of the device can be altered through the Emotiv Control Panel(keep Emotiv Control Panel open during the whole operation). It is made sure that all the 14 channels give full wirless signal power. To acquire perfect signals 0.9% of saline solution was used.

2.Data acquisition:

Pyemotiv acquires the data into a Comma-Separated-Values(.csp) file. The subject is asked to do any of the above mentioned task and the brain signals of the respective task is then acquired into a Comma-Separated-Values(.csp) file which is then loaded into MATLAB for further analysis.

3. Filtering the data:

Filter Specifications:

6th order IIR Butterworth Highpass filter with fcutoff=5Hz and Sampling Frequency=64 Hz

4.Feature Extraction

The following features were used for data from each channel:

  • simple integral
  • mean
  • rms
  • variance
  • square integral
  • number of slope sign change
  • mean frequency
  • median frequency
  • 6th order Autoregression(AR) coefficients
  • Waveform length
  • Band Power

5.Classification

Classifier object is present in the class.mat file and the code to generate it is trainClassifier.m

bci_summer-17's People

Contributors

devilsbane98 avatar debashis99 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.