Blind Separation of Underdetermined Instantaneous Mixtures of Non-stationary Sources: UDSEP and a MMSE beamformer

Abstract: UDSEP is an algorithm for blind separation of instantaneous underdetermined (more signals than sensors) mixtures of nonstationary signals (UBSS). The mixing matrix is estimated through a tensor decomposition of the set of sample covariance matrices. The tensor decomposition is based on the optimization of a weighted criterion that is optimal for Gaussian piecewise stationary signals. UDSEP is more accurate than algorithms of the same type, because the optimized criterion is statistically optimum (within the assumed model). The estimation accuracy of the mixing matrix corresponds with the respective Cramér-Rao bound.

Original UDSEP is endowed by a maximum signal-to-interference ratio beamformer that separates the original signals given the estimated mixing matrix. Recently, we have developed a more accurate and flexible beamformer that minimizes the theoretical mean square error between the original and estimated signals. The beamformer is independent of UDSEP, so it can be used either when the mixing matrix is known or together with other UBSS algorithms that estimates the mixing matrix.

Implementations: A p-code of UDSEP is available here. M-codes of the two-stage MMSE beamformer is available here. Please, inform us in case of any bugs.

Corresponding papers:

P. Tichavský and Z. Koldovský, “Weight Adjusted Tensor Method for Blind Separation of Underdetermined Mixtures of Nonstationary Sources, ” IEEE Trans. on Signal Processing, Vol. 59, No. 3, pp. 1037-1047, ISSN:1053-587X, March 2011. (here)
Z. Koldovský, P. Tichavský, A. H. Phan, and A. Cichocki, “A Two-Stage MMSE Beamformer for Underdetermined Signal Separation,” IEEE Signal Processing Letters, Vol. 20, No. 12, pp. 1227-1230, Dec. 2013. (here)

Example of usage:

>> [A D shat SIR A0]=udsep7(x,L,r,numiter)

x ………. input signal d x N, d is the number of sensors, N is the number of samples
L ………. number of blocks (the number of covariance matrices)
r ………. number of sources (rank), r < d^2/2 & r < L
numiter …. number of iterations
A ……… estimated mixing matrix d x r
D ……… estimated variances of the sources in each block, L x r
A0………. initial estimate of the mixing matrix by the SOBIUM algorithm (authors: Lieven De Lathauwer et al.)
shat ……. reconstructed sources r x N by the maximum SIR beamformer
SIR …….. estimated SIR of each source in each block, L x r

>> [shat sir sdr]=mmsebeamformer(x,A,500,50,10,Atrue,Strue);

x … mixed (measured) signals
A … mixing matrix (or its estimate)
500 … length of block within which data are (or may be) approx. stationary
50 … the length of processing block (Ns=1 also possible)
10 … the length of estimated autocovariances
Atrue … true mixing matrix to evaluate SIR and SDR
Strue … true sources to evaluate SIR and SDR
shat … estimated source signals
sir … Signal-to-Interference ratio of estimated signals (Atrue and Strue needed)
sdr … Signal-to-Distortion ratio of estimated signals (Atrue and Strue needed)