From: A novel fixed-point algorithm for constrained independent component analysis

Step 1. Whiten the observed data to make it uncorrelated and unit variance; | |

Step 2. Initialize the demixing matrix as an identity matrix, μ_{n} = 0, γ_{n} to be a small positive valued number, set ρ_{n} and G;
| |

Step 3. If the reference is available, update w based on (7); otherwise, update w based on the fixed-point iteration of original ncFastICA;
| |

Step 4. Orthogonalize the demixing matrix W;
| |

Step 5. Repeat steps 3 and 4 until convergence; | |

Step 6. Compute the demixing matrix \( \overline{\mathbf{W}}={\left({\mathbf{W}}^H\mathbf{V}\right)}^H \) and obtain the recovered signal \( \widehat{\mathbf{s}}={\overline{\mathbf{W}}}^H\mathbf{z} \). |