Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zazi2002/eeg-processing-preprocessing
EEG Signal Processing project with focus on signal visualization, dimensionality reduction, noise reduction, and artifact removal.
https://github.com/zazi2002/eeg-processing-preprocessing
artifact eeg matlab signal-processing
Last synced: 20 days ago
JSON representation
EEG Signal Processing project with focus on signal visualization, dimensionality reduction, noise reduction, and artifact removal.
- Host: GitHub
- URL: https://github.com/zazi2002/eeg-processing-preprocessing
- Owner: ZaZi2002
- Created: 2024-09-08T19:35:52.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-09T14:51:01.000Z (2 months ago)
- Last Synced: 2024-10-04T21:44:40.968Z (about 1 month ago)
- Topics: artifact, eeg, matlab, signal-processing
- Language: MATLAB
- Homepage:
- Size: 34 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EEG Signal Processing Second Project
## Overview
This project involves analyzing EEG signals with various processing techniques using MATLAB. The dataset includes multiple EEG files, and the tasks focus on signal visualization, dimensionality reduction, noise reduction, and artifact removal.
## Tasks
### 1. Three-Channel EEG Signal
- **Data**: `mat1.Ex` (EEG signal with 3 channels, sampling frequency 200 Hz)
- **a)** Plot the three-channel EEG signal.
- **b)** Use the `scatter3` function to visualize the 3D data and examine the data spread in different directions.
- **c)** Apply PCA to the observations, compute the covariance matrix, and extract principal components and variances. Plot the principal directions and normalized data.
- **d)** Repeat the PCA analysis using MATLAB’s PCA function.
- **e)** Perform SVD on the observations and analyze the PCA-related concepts with the left and right singular matrices and singular values.### 2. Interictal EEG Signal with Noise
- **Data**: `mat2.Ex` (32-channel interictal EEG signal, `org_X`), noisy signals (`1_noise_X` to `5_noise_X`)
- **a)** Add noise with different SNRs (-10 dB and -20 dB) to the clean signal. Plot and compare the clean and noisy signals for each SNR.
- **b)** Use PCA and ICA to extract sources. Compare results using methods such as `2Com`.
- **c)** Identify and retain spike sources, discard others.
- **d)** Reconstruct the denoised signal in the sensor domain and plot it.
- **e)** Plot the denoised signals for channels 13 and 24, alongside the original and noisy signals.
- **f)** Compute and visualize the relative RMSE (RRMSE) for each method and SNR.### 3. EEG Signals with Artifacts
- **Data**: `1NewData` to `4NewData` (EEG signals from patients, sampling frequency 250 Hz)
- **a)** Plot the signals in the time domain with channel labels using `disp_eeg.m` and `plotEEG.m`.
- **b)** Examine noise and artifacts. Determine if ICA can effectively remove these artifacts.
- **c)** Apply ICA to the signals and extract independent components and mixing matrix. Use `m.R2COM` for ICA.
- **d)** Plot temporal, frequency, and spatial characteristics of each component. Use `m.pwelch` and `m.plottopomap` for frequency and spatial plots.
- **e)** Store the indices of relevant sources in `SelSources` and reconstruct the denoised signal. Plot and compare it with the original signal. Assess if the source selection and denoising were effective.## Requirements
- MATLAB