![]() |
VOOZH | about |
Blind Source Separation (BSS) refers to the process of separating signals when the source signals are unknown and the method of mixing is also unknown. FastICA is a widely used algorithm for solving this problem. It is commonly applied in fields like audio processing, medical imaging and financial data analysis. FastICA is of two types :
It can also work with different nonlinearity function and optimize the extraction order in the deflation-based version. Even without knowing much about the signals or how they were mixed we can separate them using FastICA.
Let there be n original source signals combined linearly into m observed mixed signals.
where G is an unknown mixing matrix.
FastICA aims to find an unmixing matrix U such that:
y = Ux
where y approximates the independent sources.
Subtract the mean of each signal:
where is the mean vector (mean of each signal).
Whitening transforms data so that:
Whitened signal:
where is the PCA whitening matrix derived from:
FastICA implementations typically use PCA whitening internally.
FastICA finds weight vectors w that maximize non-Gaussianity of the projection .
Common nonlinearity:
Matrix update rule (for symmetric FastICA):
After each update:
This ensures:
FastICA stops when:
Typical tolerance = to
A maximum iteration limit (e.g., 200–1000) is also used.
Now lets implement it step by step:
we will import some python libraries like NumPy, Matplotlib and Scikit learn we can perform complex computations easily and effectively.
In this step we create original signals that will act as the sources we want to later separate or analyze. These are basic signal types commonly used in signal processing:
Now we will compute ICA model using FastICA and also as given earlier we will also compute PCA model for showing the comparison.
Now we will plot the graph with our achieved values and can under stand the efficiency of ICA for blind source separation of signals as well as PCA as it failed to do this.
Output:
The output shows three stages of signal processing.