0
votes

I was using PCA for dimensionality reduction of MD (molecular dynamics) trajectory data of some protein simulations. Basically my data is xyz coordinates of protein atoms which change with time (that means I have lot of frames of this xyz coordinates). The dimension of this data is something like 20000 frames of 200x3 (atoms by coordinates). I implemented PCA using princomp command in Matlab.

I was wondering if I can do FFT on my data. I have experience of doing FFT on audio signals (1D signal). Here my data has both time and space in picture. It must be theoretically possible to implement FFT on my data and then filter it using a LPF (low pass filter). But I am unsure.

  • Can someone give me some direction/code snippets/references towards implementing FFT on my data?
  • Why people are preferring PCA more often compared to FFT and filtering. Is it because of computational efficiency of algorithm or is it because of the statistical nature of underlying data?
1
should I move this question to some other SE forum ?dexterdev

1 Answers

2
votes

For the first question "Can someone give me some direction/code snippets/references towards implementing FFT on my data?":

I should say fft is implemented in matlab and you do not need to implement it by your own. Also, for your case you should use fftn (fft documentation)to transform and after applying lowpass filtering by dessignfilt (design filter in matalab), the apply ifftn (inverse fft in matlab)to inverse the transform.

For the second question "Why people are preferring PCA more often compared to FFT and filtering ...":

I should say as the filtering in fft is done in signal space, after filtering you can't generalize it in time space. You can more details about this drawback in this article.

But, Fourier analysis has also some other serious drawbacks. One of them may be that time information is lost in transforming to the frequency domain. When looking at a Fourier transform of a signal, it is impossible to tell when a particular event has taken place. If it is a stationary signal - this drawback isn't very important. However, most interesting signals contain numerous non-stationary or transitory characteristics: drift, trends, abrupt changes, and beginnings and ends of events. These characteristics are often the most important part of the signal, and Fourier analysis is not suitable in detecting them.