Blind separation of discrete sources