我使用主成分分析( PCA )对分子动力学( MD )轨道数据进行了一些蛋白质模拟的降维。基本上,我的数据是蛋白质原子的xyz坐标,它随时间而变化(这意味着我有很多这个xyz坐标的框架)。这个数据的维数大约是200x3的20000帧(按坐标计算的原子)。在Matlab中使用princomp命令实现了主成分分析。
我在想我能不能对我的数据做FFT。我有做FFT对音频信号(一维信号)的经验。在这里,我的数据有时间和空间的图片。理论上必须能够对我的数据实现FFT,然后使用LPF (低通滤波器)对其进行滤波。但我不确定。
发布于 2017-07-01 07:50:51
对于第一个问题,“有人能给我一些方向/代码片段/引用来实现对我的数据的FFT吗?”:
我应该说,fft是在matlab中实现的,您不需要自己实现它。另外,对于您的情况,您应该使用fftn (fft文档)进行转换,在应用dessignfilt (matalab中的设计滤波器)的低通滤波之后,使用apply ifftn (matlab中的逆fft)逆变换。
关于第二个问题“为什么人们更喜欢PCA而不是FFT和滤波……”:
应该说,fft中的滤波是在信号空间中进行的,滤波后不能在时间空间中推广。您可以在这篇文章中更详细地了解这个缺点。
但是,傅里叶分析也有其他一些严重的缺点。其中之一可能是时间信息在转换为频域时丢失。当观察信号的傅里叶变换时,不可能知道什么时候发生了特定的事件。如果它是一个静止的信号-这个缺点不是很重要。然而,大多数有趣的信号包含了许多非平稳或短暂的特征:漂移、趋势、突然变化以及事件的开始和结束。这些特征往往是信号中最重要的部分,而傅里叶分析并不适合于它们的检测。
https://stackoverflow.com/questions/44858153
复制相似问题