1
$\begingroup$

The title might be unclear, but the problem is this. I have a signal sampled 1500 times with a rate of 60/s, and a sensor array 512 units large. There is a lot of noise, echo and other frequencies being picked up, but I am interested in only one. First I do a spike removal, then a bandpassfilter (butterworth) around the frequency range I suspect the signal is hidden. I then do a PCA to find wich of the 512 sensors picks up any systematic variation. Then I search for the best fit sinuswave in each of the top sensors (say 5 out of 512).

So main question, how to determine which of the PCA's is the one picking up the true signal without me knowing excactly what the frequency of the signal is? Second question, does the above steps seem reasonable? I am no expert in this, but experiments seems to indicate that with high STN objects of measurements (say a pendulum) it is clearly visible which PCA fits best (amplitude, hz, residuals of fit), but with low STN (say heartbeat), it is not so clear.

Sorry for lengthy text. Thanks alot for any answers!

edit: Running spectral analysis (using different Methods) gives different results depending on wich PC i am analysing. Might there be a spectral Method that does multivariate samples?

edit 2: So while waiting for answers I have chosen to filter out principle components based on the correlation coefficient from a sinus wave fit (r>0.5) and % of data explained (p>0.15). So in other words, the signal i am looking for has to be present in at least 15 out of the 512 sensors (if I understand PCA correctly), and the best fit sinewave has to explain at least 25% of the variation. This works well with test setups in a noisy environment. Question: Is my approach sensible? Should or shouldnt I forego FFT and spectral estimation? Besides visualization, does frequency estimation based on the FFT gain anything over a iterative sinewave fitting, given that I know the signal is sinusoidal?

Thanks alot

$\endgroup$
1
$\begingroup$

By doing PCA, the principal components you will get will not correspond to a single recording, but rather to a mix between them. PCA is a feature extraction method, whereas what you are looking for, seems to me, as a feature selection problem.

Also, if you have so many simultaneous recordings, all affected by the same sources of noise, why not perform active noise cancelation?

$\endgroup$
  • $\begingroup$ It is indeed a feature selection problem. Look at my edit(2) on how I try to select the feature I want. In a high STN the 1st PC reflects the shared variance in the cluster of sensors that have the most variance over time (e.x. a pendulum). The 2nd PC would reflect the inverse of this, e.x. a phase shiftet pendulum. This makes sense as sensors would pick up either the going or coming of the pendulum (and in between). But adding more shared noise, suddenly dwarves the variance caused by the pendulum. Ill put inn some noise cancellation. Good point. Ill report back when Ive tried it if it works. $\endgroup$ – Sevenius Aug 7 '14 at 9:57
0
$\begingroup$

Most likely you should use the first principal component, i.e. the one with the largest eigenvalue.

$\endgroup$
  • $\begingroup$ The problem in my case is that noise or global signal disturbances affect all 512 sensors while the actual signal I am interested in might be shared by 10-50-400 sensors. While in a test setup I can guess these parameters a priori, not so in the real world. But yes, in a test scenario, the first PC reflects the true signal (high STN). $\endgroup$ – Sevenius May 25 '14 at 10:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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