
90
4 章 周波数と高速フーリエ変換
2
なので、最適な
radix-2
クーリー
-
テューキー型アルゴリズムを適用でき、
FFT
の計算を
N
2
=
1,048,576
回ではなく
(N/2) log
2
N
=
5,120
回の複素乗算で実行できるのです。
N
=
2
m
を選ぶと、
常に最大限に滑らかな
N
(したがって最高速の
FFT
)が保証されます。
4.6
さらなる
DFT
の概念
続いて、フーリエ変換という大ワザを使う前に知っておくとよい一般的な概念を
2
つ紹介しま
す。それが済んだら、いよいよ、レーダデータの目標検知解析という実世界の問題に挑戦します。
4.6.1
周波数とその並び順
歴史的な理由で、ほとんどの実装が返す配列は、周波数が低高低という順番に並んでいます(周
波数のより詳しい解説は次ページの囲み「離散フーリエ変換(
DFT
)」を参照)。例えば、すべて
の値が
1
である信号に実フーリエ変換を行うとします。この入力は変化しないので、最もゆっく
りした、定数のフーリエ成分(別名は
DC
(
direct current
)、または直流と呼ばれる成分で、「信
号の平均値」を表す電子用語)が最初の要素に登場します。
from scipy import fftpack
N = 10
fftpack.fft(np.ones(N)) # The first component is np.mean(x) * N
第
1
成分は
np.mean(x) * N
array([ 10.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, ...