关于Android中EEG信号的FFT理解代码

时间:2012-10-18 21:04:45

标签: android fft

我一直试图找到一个能够对Android中的某些EEG信号执行FFT(快速傅立叶变换)的库。

在Geobits的帮助下,我终于找到了可以帮助我对EEG信号进行FFT的code。但我很难弄清楚代码是如何工作的。我想知道浮点数组x和y是什么,也许是一个可能对我有所帮助的例子。

1 个答案:

答案 0 :(得分:3)

对于特定的频率范围,fft应该返回一系列复数(可以是直角坐标,也可以是极坐标:相位和幅度)......

我还在研究这些表达式,但是我会向甜甜圈打赌,x和y数组是复数数字的真实(x)和虚数(y)组成部分。

这两个分量的平方和的绝对值应该是每个频率的谐波分量的大小(转换为极性)。

如果相对于您的应用很重要,请记住FFT(与任何相量一样)可以是正弦参考或余弦参考。然而,我相信正弦是标准。

请参阅:

http://www.mathworks.com/help/matlab/ref/fft.html

http://mathworld.wolfram.com/FastFourierTransform.html

由于FFT给出了由周期性波形的谐波分解产生的无限级数的截断近似,因此任何周期性波形都可用于测试代码的功能。

例如,方波应该易于复制,并且具有众所周知的谐波系数。数据集的分辨率将决定您可以计算的谐波数量(大多数fft算法在长度等于2的幂的数据集中表现最佳,并且是您最长频率的整数波长数想用)。

方波系数应该是基频的奇数倍,并且其幅度与谐波的阶数成反比。

http://en.wikipedia.org/wiki/Square_wave