1. A system for separating an independent source signal from a mixture of source signals, comprising: a plurality of sensors configured to receive said mixture of source signals; a processor configured to take samples of said mixture of source signals over time and store each sample as a data vector to create a data set; a first function configured to assign each data vector within said data set to one class within a plurality of classes based on its similarity to other data vectors in said one class; and an independent component analysis module configured to perform an independent component analysis of the data vectors assigned to said one class to separate an independent source signal from other signals in said mixture of source signals.