I am currently reading up on and teaching myself ICA from a number of good sources. (Also see this post for past context). I have the basic jist down, but there is something I am not clear about.

For a scenario where multiple signals are impinging on multiple spatial sensors, (of course, with number of sensors >= number of signals), it is inevitable that for any one sensor, all the signals arriving to it will have different delays/phase-offsets associated with them, as compared to those arriving at a different sensor.

Now, as far as I know, the signal model for ICA is a simple mixing matrix, where the total energy arriving at any one sensor is modeled as nothing but a simple linear combination of all the other signals of interest. Every sensor has a different array of linear combination coefficients associated with it. So far so good.

What I do not understand, is that inevitably there are going to in fact be some delay/phase-offset among individual signals arriving at individual sensors that differ from one another. That is, $s_1(n)$ might arrive at $sensor_1$ at some time 0s, while that same $s_1(n)$ arrives at $sensor_2$ attenuated, but also at some delay or phase difference. The way I see it this is physically inevitable.

...How can it be that this is not modeled in the mixing matrix? It seems that delays will make a huge difference. No longer are we talking about simple linear combinations anymore. How does ICA handle this? Have I missed something here?

I should also add as an addendum, if indeed ICA cannot handle delays, then what applications does it find usefulness in? Clearly spatial ones with sensors are out!


  • 1
    $\begingroup$ I think ICA is meant for things in which there are no delays. I don't know why they always use an example of lots of people talking in a room, since that application doesn't actually work with ICA. Something like DUET is a better fit for this application. dsp.stackexchange.com/questions/812/… $\endgroup$
    – endolith
    Commented Jan 9, 2012 at 14:47
  • $\begingroup$ @endolith Thanks Endolith, I have included our previous exchange here as well as a link. That post spurred my interest and but further reading of my book didnt make it clearer. :-/ I will check out DUET. $\endgroup$
    – Spacey
    Commented Jan 9, 2012 at 16:33
  • 1
    $\begingroup$ @endolith One other thing - this sort of begs the question as to where exactly one is able to use ICA in practical applications. To me as it stands, it will be completely useless for any spatial application (where you have multiple sensors) for the delay reason. If this is the case, then where does ICA find fruitfulness? $\endgroup$
    – Spacey
    Commented Jan 9, 2012 at 16:42
  • 1
    $\begingroup$ @Mohammad Looking up the article "COMBINING TIME-DELAY ED DECORRELATION AND ICA: TOWARDS SOLVING THE COCKTAIL PARTY PROBLEM" might be of help. I guessing you are trying to do speaker separation. This problem might be found in the literature as multichannel blind deconvolution. I am also interested in the problem you have described above, if you want you can contact me at the email in my profile. $\endgroup$
    – TwoSan
    Commented Jan 10, 2012 at 19:36
  • $\begingroup$ @TwoSan Thanks, I will look you up, and I have also emailed you. $\endgroup$
    – Spacey
    Commented Jan 11, 2012 at 22:14

1 Answer 1


One of the most successful uses of ICA has been in the study of electrophysiology (i.e. brain activity), principally EEG (Electroencephalography) and MEG (Magnetoencephalography). They are used to remove artefacts (such as electrical impulses caused by muscle movements (eye blinks etc)) without the need for reference channels. In this application the spatial separations between sensors is minute compared with the propagation speed of the waves, and as such the assumptions of ICA effectively hold.

For fMRI, which relies on blood flow in the brain, the temporal delay issue is more significant. One approach, taken in the paper Latency (in)sensitive ICA. Group independent component analysis of fMRI data in the temporal frequency domain by Calhoun et al (2003) attempted to solve this problem by making estimates of the time delay in each voxel, and then using this as prior information in a modified ICA. Maybe something like this could be applied in your domain?

  • $\begingroup$ Thanks for your post tdc, that is interesting and makes sense - for an EEG, (a spatial application) the waveforms being measured are the electrical field strengths that are travelling at the speed of light (or close to it), over distances that are very small (across the head) relative to the waveforms' speed. $\endgroup$
    – Spacey
    Commented Jan 10, 2012 at 21:01
  • 2
    $\begingroup$ As far as my applications, I am looking to somehow use this (or some mutation as you have mentioned) for acoustic applications. I have 2 sensor arrays that I can use. On one of them, the distances between mics are tens of meters, so the delays are very significant. On the other sensor array, the distances between the mics are on the order of the wavelength, $1\lambda$, or $\frac{1}{2}\lambda$. Do you think for those types of distances on order of $\lambda$ pure ICA holds? If not, how 'small' of distances relative to wavelengths does one need for pure ICA to work? $\endgroup$
    – Spacey
    Commented Jan 10, 2012 at 21:07
  • 1
    $\begingroup$ If you take the speed of sound for a typical day to be 332 m/s and an example frequency of 111 Hz, that equates to wavelength of ~3m. If you have two sensors, one of which is 3m away from the source, and the other 4.5m away, the two signals will be completely out of phase. In this scenario I expect ICA to fail horribly. However if the two sensors are, say, 3m and 3.01m from the source, it would probably work. Just stating the separation of the sensors is not enough - you need to know how far the (typical) sources will be from the sensors, so that you can work out the relative temporal delay $\endgroup$
    – tdc
    Commented Jan 11, 2012 at 12:41

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.