wiki:離散フーリエ変換の「信号解析」の節を引用しますと
この信号はN個の等間隔の点で標本化されて、x0, x1, x2, ... , xN-1 の実数列になる。...これのDFTである f0, ..., fN−1 をFFTで計算できる。ただし標本化定理からこれの半分(Nが偶数とすると、fN/2 + 1, ..., fN−1)は冗長であるので捨てるか無視する。
とあります。FFTによって周波数N個分の計算結果を出すことはできるのですが、元のデータが離散データであるため周波数成分の半分は意味を持たないデータになります。
なぜ意味を持たないか、ごくおおざっぱに(正確性には目をつぶり、より直感的に)考えてみますと...
周波数成分を解析する演算には、少なくとも1周期分の波がサンプルデータに含まれている必要があるので、最低の(直流成分を除いた)有意な周波数(fMin)はサンプルN個で1周期となるような周波数であり、
fMin = fS/N (ただし、fS=サンプリング周波数, N=計算に用いるサンプルデータ数)
となります。一方最高の有意な周波数(fMax)はサンプル2個で1周期となるような周波数であり、
fMax = fS/2
となります。fMaxの波の様子を思い浮かべてみると以下のように波形の最大と最小の山が1個おきに並ぶ感じになります。
| * *
+
|* * *
+0 1 2 3 4 ...
さて計算上はそれより大きな周波数の計算も考えることはできるのですが、例えばfMaxの3/2倍(fSの3/4倍)の周波数をプロットしてみると以下のように、データが離散的であるため本来の周波数よりも低い周波数の波にしか見えないことがわかると思います。つまりfMaxの3/2の周波数を計算したつもりが、結果として得られるのはfMaxの1/2の周波数成分でしかなくなります。
| * *
+ * * *
|* *
+0 1 2 3 4 5 6
なお、fS/2より大きな周波数成分を計算しても、その結果はfS/2より小さな周波数成分にしかならないという厳密な解説は標本化定理というキーワードで調べると見つかると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/04 08:47