myICA

myICA is my old project, so all comments and descriptions are in Russian.

myICA-1.0 is a Matlab implementation of a simple ICA (Independent Component Analysis) discrete method for a two-dimensional signal.

The script reads two wav-files (s1.wav and s2.wav) from the current directory. The files must have the same duration and discretization frequency. Simple GUI provides an opportunity to mix, center and whiten the 2D signal. The main routine is called by pressing the button "Разделить сигналы". The algorithm can sometimes stuck in a local minimum, in this case one can run the algorithm again. The proposed method is described here (in Russian).

Программа читает из текущей директории два звуковых файла (s1.wav и s2.wav) одинаковой длины и частоты дискретизации. При помощи кнопок можно центрировать, смешивать и отбеливать двумерный сигнал, при этом результат отображается в основном окне. Кнопка "Разделить сигналы" позволяет проверить работу алгоритма myICA. Кнопка "M" вычисляет значение контрастной функции для текущей смеси сигналов. Иногда, при работе алгоритма, возможен вариант попадания в локальный минимум, в таких случаях необходимо применять алгоритм повторно. Более подробно суть алгоритма myICA изложена в здесь.

myICA-2.0 is an extension of the myICA-1.0 to differentiable contrast function, which allows for iterative optimization. The proposed method is described here (also in Russian).