Tutorial on Blind Source Separation (BSS) and Independent Component Analysis (ICA).
The repository is structured as follows:
- the
Tutorial on ICA.ipynbJupyter notebook contains the actual tutorial; - the
ica_tutorialfolder contains the utility code used in the notebook:- the
icapackage contains the implementation of ICA algorithms (i.e., FastICA and EFICA); - the
preprocessingpackage contains common preprocessing steps (e.g., filtering and whitening); - the
rlspackage contains the implementation of Recursive Least Squares (RLS) algorithms for ICA and whitneing; - the
plottingpackage contains functions for plotting; - the
utilspackage contains utility functions.
- the
The code is compatible with Python 3.7+. To create and activate the Python environment, run the following commands:
python -m venv <ENV_NAME>
source <ENV_NAME>/bin/activate
Then, from within the virtual environment, the required packages can be installed with the following command:
pip install -r requirements.txt
All files are released under the Apache-2.0 license (see LICENSE).