The problem I have can be seen in the context of DoA estimation or blind source signal separation and similar fields, where several source signals are observed by several antennas (or by an antenna array, respectively).

The basic model is something like $$\mathbf{y}(t) = \sum_{i=1}^{n_s} s_i \mathbf{a}\left(\theta _i\right) + \mathbf{n}\left(t\right),$$ where $s_i$ describes the source signals, $\mathbf{a}\left(\theta _i\right)$ the mixing vector and $\mathbf{n}\left(t\right)$ the additive noise term. Note that neither of these terms should be considered known.

From this, I have available the sample covariance matrix $$\mathbf{\hat{C}} = E\{\mathbf{y}(t)\mathbf{y}^H(t)\} = \frac{1}{T} \sum_{t=1}^T\mathbf{y}(t)\mathbf{y}^H(t)$$ with dimensions $N \times N $, if $N$ is the number of antennas, $n_s$ the number of source signals and $T$ the number of samples.

Now, what I want to do is the following: I don't want to estimate all DoAs nor all source signals. I am looking for a method that is able to reduce the covariance matrix containing information about $n_s$ source signals to a covariance matrix containing just information about the dominant source. Actually, it is not even so important that it is the dominant source, the main goal is the reduction to just one signal.

Is there any method to achieve this kind of cleaning, of signal elimination, of source reduction, of clutter elimination or whatever you want to call it?

EDIT: I think I have not made clear a very important side fact: I am not particularly interested in the amplitudes or powers $\mathbf{s}$ themselves, but more in their geometry/directions $\mathbf{\theta}$.

  • $\begingroup$ I'm not sure I understand the question. You say you want to reduce 'to a covariance matrix containing just information about the dominant source'. If you just have one source, then the covariance matrix is simply the variance of that source. Is this what you want? $\endgroup$
    – rwolst
    May 29, 2013 at 16:15
  • $\begingroup$ @RobWolstenholme: If I have just one source, the source signal covariance matrix (in my example the covariance matrix of $\mathbf{s}$, let's name it $\mathbf{C}_{ss} = \frac{1}{n_s} E\{\mathbf{s}\mathbf{s}^H\}$) would be just the variance of that source, that's right. I, however, am interested in a decomposition of the sample covariance matrix $\mathbf{\hat{C}}$, whose dimensionality is not dependent on the number of source signals, but the number of e.g. antennas/channels/receivers. $\endgroup$
    – Michael
    May 31, 2013 at 9:07
  • $\begingroup$ This is just an idea. But what if you to start with just consider two antennas. Then you feed the two antenna outputs to an adaptive filter. The adaptive filter (I believe it will work like this but I'm not 100% certain) will then try to cancel the dominant source. If this is the case you should somehow be able to infer the direction of that source... $\endgroup$
    – niaren
    May 31, 2013 at 10:22
  • $\begingroup$ @niaren: The general idea of yours is very interesting in that this way probably the "second" source signal might be seen as part of the noise. I will think about that. Thank you. $\endgroup$
    – Michael
    May 31, 2013 at 10:46
  • $\begingroup$ To me, this just seems to be a BSS problem of which there are plenty of methods you can use to solve it. ICA is one of them but the topic itself is huge. Note that we will never be able to uniquely identify the amplitudes of the sources as for any soltuion of sources and mixing co-efficients, multiplying the sources by a constant and dividing the respective co-efficients by the same constant is also a solution. $\endgroup$
    – rwolst
    May 31, 2013 at 14:47

2 Answers 2


What you want to do is dimension reduction. The most basic, yet very powerful and commonly used, technique to do it is principal component analysis (PCA). PCA operates on the covariance matrix. You can look it up on Wikipedia for a throughout tutorial.

PCA decomposes your data $y$, having dimension $d$, into $d$ principal components. The first principal component explains the most variance in your data, the next component the second most variance, and so on. Throw off the last $k$ principal components $-$ and ta-daa $-$ you reduce dimension. To answer your question, take $k = d - 1$ and then you get the most dominant component (in terms of explained variance).

(Tip: MATLAB and similar software usually come with an easy-to-use function to perform PCA).

  • $\begingroup$ I am sorry, but simple dimension reduction is not what I am looking for. I have already investigated the eigenvalue decomposition of "my" sample covariance matrixes. This, of course, yields the signal and noise related subspaces in form of the respective eigenvectors. If I have, for example, 4 antennas and 2 source signals, I will receive two signal related eigenvalues/eigenvectors, which span the signal subspace, and two eigenvectors that span the noise subspace. But it seems this does not help me in unmixing the directions (see edits in the original question) of my source signals. $\endgroup$
    – Michael
    May 31, 2013 at 9:12
  • $\begingroup$ If at all, something like this might be coming close to what I am looking for: fil.ion.ucl.ac.uk/~wpenny/publications/icaorder.pdf However, it seems (I have not yet read fully through it) as it would not really help me in reducing $\mathbf{theta}$, but more in reducing $\mathbf{s}$, which is still not the desired solution... $\endgroup$
    – Michael
    May 31, 2013 at 9:20
  • $\begingroup$ Having indulged myself in further literature research, MAYBE Robust PCA could come close to what I am looking for... $\endgroup$
    – Michael
    May 31, 2013 at 11:46

If you want to do source separation, then independent component analysis (ICA) is the correct technique, which you mention in the comments.

ICA decomposes data as $x = As$ where $x$ are mixtures of some source signals $s$, and $A$ is the mixing matrix. Neither $A$ or $s$ is assumed to be known, ICA will find both of them given some $x$. The only assumptions for ICA are:

1) the source signals $s$ are statistically independent,
2) the mixing matrix $A$ is stationary (does not change over time),
3) there can be maximally one gaussian source.

Usually one also assumes $A$ to be a square matrix. So, if you have more sensors than sources, you would first reduce dimension using PCA and some model order selection method (i.e. dimension estimation method), such as minimum description length (MDL).

I would recommend you to use FastICA by Hyvärinen and Oja. It's the most famous algorithm to do ICA (the second one would be Infomax ICA by Bell and Sejnowski).

You can find some nice publications at http://www.cs.helsinki.fi/u/ahyvarin/papers/ICA.shtml and a MATLAB implementation of FastICA from http://research.ics.aalto.fi/ica/fastica/

Since the model in your question has parametric $A$, which neglects the stationarity assumption, you could do ICA after taking the Fourier transform of $x$. This is called Fourier-ICA. Taking the Fourier transform effectively removes the parameter of $A$, but you will need to handle complex-valued data.

  • $\begingroup$ As far as I have figured from literature, ICA would give me the source signals $\mathbf{s}$ (up to a constant factor). Therefore, two problems remain: 1) I am more focused on the steering parameters $\theta _i$ of each signal. 2) At the moment, it is crucial for my application that I don't only separate some signals, but I reduce the data covariance matrix to containing just information about one source signal anymore... $\endgroup$
    – Michael
    May 31, 2013 at 20:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.