Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Help with Signals and ICA

  1. Aug 27, 2006 #1
    OK. Going to try to explain the background on this one the best I can. I have two data sets which are mixtures of TWO signals, but are both different (Think of it as two people in a room talking at the same time and there are two different microphones listening to what they are saying).
    Lets call the signals a and b, and Lets call the mixtures X1 and X2. There is a process called ICA (Independent Component Analaysis) which will extract a and b from X1 and X2. Cool right? yeah. Not so cool.

    The way the algorithm works is you input a matrix with a and b inside (so lets say a 2x100). You run it through the algorithm (which in my case happens to be in MATLAB) and the output is generated in a matrix, but you NEVER can predict which row of the matrix will be a and which will be b. If i was dealing with audio signals, then id be able to listen to them and figure it out. But, im dealing with EEG signals (brain waves) so I barely know what I am lookin at. Therefore, I am currently trying to categorize the outputs from the ICA algorithm by the average energy in the signals. Well theres one more problem. During the ICA process, the output signals are sometimes inverted or amplified. Usually it behaves the same every time on the same data set, but if you give it slightly different data, it will maybe amplify more or less or even invert the data.

    So the main problem is, I need a way to consistently categorize a from b. Avg Energy/power doesn't seem to be helpful since the signals are sometimes amplified or inverted after separation. Unless there is some way I can normalize the data before/after but I cant think of anything.

    Thanks in advance
  2. jcsd
  3. Aug 28, 2006 #2
    I am not familiar with EEG signals; however, if we were talking about the two people talking in a room, the best way to catagorize them would be to calculate the correlation coefficient for each row. It seems as though each persons voice would be more correlated with thier own than the voice of someone else. Just the first thing to come to mind.

    [EDIT] Of course I mean the correlation between rows.
    Last edited: Aug 28, 2006
  4. Aug 28, 2006 #3


    User Avatar
    Science Advisor
    Gold Member

    Is this the same as "Principal Component Analysis"? I'm no expert in this area, but I know the PCA eigenvalues directly give you the energies of the components. Scaling and inversion should be reflected in the size and sign of the eigenvalues. I wouldn't expect it to be arbitrary.

    Since PCA is calculated from the covariance matrix, stefannm was on the right track.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook