problems using dics

Robert Oostenveld r.oostenveld at FCDONDERS.RU.NL
Mon Aug 6 17:47:50 CEST 2007

On 30 Jul 2007, at 15:08, Nathan Weisz wrote:

> the problem here is that the noise is set to 0. while executing the
> code this warning message appears:
> Warning: cross-spectral density matrix is rank deficient
> > In beamformer_dics at 161
>   In sourceanalysis at 855
> a look at the code shows that in this case that the noise is set to
> lambda (empty and set to 0 per default). I then tried different
> lamdas but as results varied quite a lot I have an uneasy feeling
> doing it this way.
> question: is there something apparently wrong with the configs that
> leads to the problem of not being able to make a noise estimate
> from the CSD?

Hi Nathan

The noise floor is estimated by the smallest singular value of the
CSD/COV matrix. Since yours is rank deficient, it seems as if the
noise level is zero. The estimated projected noise scales linearly
with the estimated noise in the CSD, and since nai=pow/noise, it will
be Inf if noise=0.

Once you start tweaking lambda, you are both influencing the spatial
filters (regularization) and the estimate of the noise floor (in case
of a rank deficient CSD matrix). Since your data probably is
sufficiently cleaned by ICA, the regularisation is probably not
required. Than means that if you specify a very small lambda, the
regularisation will not yet be noticeable. The noise projection
however will already be linearly scaled with the lambda (now the
assumed noise floor) and nai can be computed. Note that nai is
proportional to 1/lambda.

So just specify a lambda that is very small (compared to the svd
spectrum of the CSD) and please check that the nai scales linearly
with it without the spatial distribution of the nai changing.


The aim of this list is to facilitate the discussion between users of the FieldTrip  toolbox, to share experiences and to discuss new ideas for MEG and EEG analysis. See also and

More information about the fieldtrip mailing list