Overview

The SSVEP Signal Analyzer repository is dedicated to the development of an advanced signal processing tool for analyzing Steady State Visually Evoked Potentials (SSVEP). SSVEP are brain responses induced by visual stimuli at specific flickering frequencies, widely used in BCI systems. Our tool aims to provide robust analysis capabilities to enhance the interpretation and application of SSVEP in neuroscientific research and practical applications.

Multi-channel EEG signal analysis using CCA

Project Status

This project is currently in a work-in-progress stage. We are continuously refining our algorithms and improving the user interface.

Features

  • Signal Processing: Implementation of various signal processing techniques to clean and extract meaningful data from raw SSVEP signals.

  • CCA-Based Analysis: Utilizes Canonical Correlation Analysis to match SSVEP signals against known templates, enhancing the accuracy of frequency recognition.

  • Filter Bank Approach: Incorporates a filter bank to analyze multiple frequency bands, enabling more precise frequency detection and better handling of signal artifacts.

  • Cross-Platform Scripts: Includes both MATLAB and Python scripts to facilitate analysis, accommodating users with different programming preferences.

Dataset

The project utilizes a comprehensive SSVEP dataset, which has been converted into the .h5 format to improve compatibility and performance in Python environments:

Multi-channel EEG signal analysis using CCA
  • Description: EEG recordings from subjects exposed to LED stimuli at varied frequencies. The data is now available in .h5 format, allowing for efficient handling and processing in Python, alongside traditional MATLAB scripts. The dataset presented here is the well-known 40-target brain–computer interface (BCI) speller dataset. The dataset consists of 64-channel Electroencephalogram (EEG) recordings collected from 35 healthy participants, comprising 8 experienced users and 27 novices, as they performed a cue-guided target selection task. The BCI speller’s virtual keyboard included 40 visual flickers, which were encoded using a joint frequency and phase modulation (JFPM) method. The stimulation frequencies ranged from 8 Hz to 15.8 Hz, with intervals of 0.2 Hz, and the phase difference between adjacent frequencies was 0.5π. For each participant, the data contains six blocks of 40 trials, where each flicker was indicated by a visual cue in a randomized sequence. The stimulation duration for each trial was five seconds. This dataset serves as a benchmark for evaluating methods of stimulus coding and target identification in SSVEP-based BCIs. It can also be used in offline simulations to design new system architectures and assess BCI performance without the need for additional data collection. Additionally, the dataset offers high-quality information for computational modeling of steady-state visual evoked potentials (SSVEPs).

  • Access: The package provides the dataset however, it’s directly accessible now from the follwing links.

Getting Started

To begin using this project, clone the repository and follow the installation instructions below. The list of packages will become available.

git clone [email protected]:Biomeical-Signal-Processing/WIP-SSVEPA.git
cd WIP-SSVEPA
pip install -r requirements.txt

Demonstration of EEG signal analysis using Canonical Correlation Analysis

Multi-channel EEG signal analysis using CCA

Canonical Correlation Analysis Matrix

Canonical Correlation Analysis Matrix

Canonical Correlation Sample A1

Canonical Correlation Sample A1

Canonical Correlation Sample A2

Canonical Correlation Sample A2

Canonical Correlation Sample B1

Canonical Correlation Sample B1

Canonical Correlation Sample B2

Canonical Correlation Sample B2