Multitaper method の直観的な説明・その2

前回の続き。

Multitaper method (MTM) がどうしてうまくいくのかを理解するために、まず、スペクトルの「漏れ」がどうして生じるのかということと、従来の窓関数はどのようにしてこの「漏れ」を目立たなくしているのかということを説明する。

短時間のデータ、たとえば長さ T 秒のデータをフーリエ変換するというのは、無限長のデータに長さ T 秒の箱型の窓関数を掛けてフーリエ変換することに等しい。任意の無限長のデータを x_t、長さ T の箱型窓関数を w_t、それぞれのフーリエ変換X_fW_f とすると、
w_t \cdot x_t \quad \Longleftrightarrow \quad W_f * X_f
の関係が成り立つ(* は畳み込みを表し、\Leftrightarrow は両辺をフーリエ変換・逆フーリエ変換で行き来できるという意味)*1。つまり、データに窓関数をかけてフーリエ変換すると、その周波数成分は、元のデータのフーリエ変換に窓関数のフーリエ変換を畳み込んだものになる。

純粋な正弦波(周波数: f_0)に箱型窓関数を掛けてフーリエ変換することを考えてみる。元のデータの周波数成分は f_0 にしかないが、窓関数と掛け合わされると、窓関数の周波数成分が畳み込まれることによって本来の周波数以外の成分が出てきてしまう。これがスペクトルの「漏れ」が生じるメカニズムの直観的な説明。

箱形の窓関数でどういうスペクトル漏れが生じるかは、wikipedia窓関数の項目を見れば図が載っているのでよく分かる(「矩形窓」のところ)。ここにはその他のいろんな窓関数についても周波数成分が示されていて、スペクトルの漏れ具合が窓関数によっていろいろ異なっているのがよくわかる。が、結局のところ、どんな窓関数を使っても本来の周波数の周りにスペクトルが漏れてしまうこと自体は避けられない。つまり、有限長のデータを用いる限り、スペクトルはどうしても漏れてしまうということだ。

以上を踏まえた上で、MTMではどのようにしてスペクトルの「漏れ」と「ばらつき」に対処するのかについて、次回以降説明していく。

*1:普通は時間領域での畳み込みが周波数領域で積に置き換えられるという形であらわされるが、どっちが時間領域でどっちが周波数領域かというのは計算する人のほうの決めごとに過ぎないので、tf を入れ替えてもそのまま成り立つ。