A method for separating a plurality of co-channel, interfering signals of interest received by antennas of an antenna array without any a priori knowledge of the signals, the method comprising the steps of: (a) forming a matrix in eigenspace based on samples of the signals received by each of the antennas of the antenna array, the matrix yielding an eigenstream for each signal of interest (25, 26); (b) processing the eigenstreams for each signal of interest to determine a set of optimal eigenweights for each signal of interest; (c) converting the optimal eigenweights for each signal to beam forming weights for each of the signals of interest; and (d) processing a copy of the received signals using the beam forming weights for each co-channel, interfering signal to extract each signal of interest from the received, interfering signals (14,15) characterized in that step (b) comprises the steps of: (e) determining the number of interfering signals of interest from the matrix; (f) establishing preliminary eigenweights for each signal eigenstream; (g) processing (31, 33, 35, 36) each of the eigenstreams and their eigenweights in at least one of frequency domain and time domain to produce revised eigenweights for each eigenstream by applying an estimated threshold (T ht, T hf) in the at least one of frequency domain and time domain, to select signal components that are to contribute to the processing; (h) comparing the preliminary eigenweights to the revised eigenweights for each eigenstream to determine the differences between them; (i) repeating steps (g) and (h) only if the eigenweight differences exceed a predetermined value, and using the revised eigenweights from the step (g) as the preliminary eigenweights when steps (g) and (h) are repeated. (a) forming a matrix in eigenspace based on samples of the signals received by each of the antennas of the antenna array, the matrix yielding an eigenstream for each signal of interest (25, 26); (b) processing the eigenstreams for each signal of interest to determine a set of optimal eigenweights for each signal of interest; (c) converting the optimal eigenweights for each signal to beam forming weights for each of the signals of interest; and (d) processing a copy of the received signals using the beam forming weights for each co-channel, interfering signal to extract each signal of interest from the received, interfering signals (14,15) characterized in that step (b) comprises the steps of: (e) determining the number of interfering signals of interest from the matrix; (f) establishing preliminary eigenweights for each signal eigenstream; (g) processing (31, 33, 35, 36) each of the eigenstreams and their eigenweights in at least one of frequency domain and time domain to produce revised eigenweights for each eigenstream by applying an estimated threshold (T ht, T hf) in the at least one of frequency domain and time domain, to select signal components that are to contribute to the processing; (h) comparing the preliminary eigenweights to the revised eigenweights for each eigenstream to determine the differences between them; (i) repeating steps (g) and (h) only if the eigenweight differences exceed a predetermined value, and using the revised eigenweights from the step (g) as the preliminary eigenweights when steps (g) and (h) are repeated. (e) determining the number of interfering signals of interest from the matrix; (f) establishing preliminary eigenweights for each signal eigenstream; (g) processing (31, 33, 35, 36) each of the eigenstreams and their eigenweights in at least one of frequency domain and time domain to produce revised eigenweights for each eigenstream by applying an estimated threshold (T ht, T hf) in the at least one of frequency domain and time domain, to select signal components that are to contribute to the processing; (h) comparing the preliminary eigenweights to the revised eigenweights for each eigenstream to determine the differences between them; (i) repeating steps (g) and (h) only if the eigenweight differences exceed a predetermined value, and using the revised eigenweights from the step (g) as the preliminary eigenweights when steps (g) and (h) are repeated.