6

私は、Androidの一部のEEG信号でFFT(高速フーリエ変換)を実行できるライブラリを見つけようとしています。

Geobitsの助けを借りて、私はついにEEG信号でFFTを行うのに役立つかもしれないコードを見つけました。しかし、コードが実際にどのように機能するかを理解するのに苦労しています。float配列xとyの目的と、もう少し役立つ例を知りたいです。

4

1 に答える 1

3

fftは、特定の周波数範囲に対して一連の複素数(長方形の座標、または極座標:位相と大きさのいずれか)を返す必要があります。

私はまだ式を調べていますが、xとyの配列が変換の結果である複素数の実数(x)と虚数(y)の成分であることをドーナツに賭けます。

これら2つの成分の二乗和の絶対値は、各周波数での高調波成分の大きさ(極への変換)である必要があります。

フェーズがアプリケーションにとって重要である場合、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

于 2012-11-01T16:05:25.417 に答える