k-sparse component analysis via k-subspace clustering

Sparse component analysis (SCA) and k-sparse component analysis (k-SCA) are both techniques used in signal processing and source separation. The main difference between SCA and k-SCA lies in their assumptions about the number of active sources: SCA assumes one active source at each time instant, whereas k-SCA allows for varying numbers of active sources represented by ‘k’.

In other words, SCA considers a single active source at a time, while k-SCA accommodates multiple active sources, making it more flexible for different scenarios.

We presnted a method for mixing matrix identification and blind source separation that improves upon existing k-sparse source approaches, especially in noisy real-world situations with k=m-1 (m is the number of sensors). Explore my open-source projects and tools related to k-SCA below:

Mixing matrix identification in k-SCA

– This repository is well-suited for addressing small-scale problems with a high SNR. Our proposed algorithm is based on selective subspace search (S3) and demonstrates effectiveness in real-time scenarios.

– Papers related to this repository: [k-SCA using S3], [k-SCA for online applications].

– This repository excels in addressing small-scale problems, showcasing robustness to noise, and consistently outperforming state-of-the-art k-subspace clustering methods. Our proposed method is based on the Gram-Schmidt process and random sample consensus (RANSAC).

– Paper related to this repository: [RANSAC-driven Orthogonal Subspace Search].

Blind source separation in k-SCA

– Paper related to this repository: [EigMEM-USR].


EEG microstste recurrence


EEG micro-subspaces


For inquiries or assistance, please don’t hesitate to contact me.