あらまし   MRIの元信号   MRI画像 作成法   MRIの黎明期   もくじに戻る

「フーリエ変換」計算法の効用

 MRIの信号、水素原子核のささやき、は、「フーリエ変換」 と呼ばれるありがたい計算法によって解析され、ささやいた原子がどこで鳴いたか、その場所を探り出すことができる。
 フーリエ変換は、振動信号の固まりを分析して、周波数ごとに分ける。別ページ(MRIの元信号)に述べたように、 MRI装置の中で励起された体内の水素原子核たちは、磁界の強さで 決まる周波数の高周波を発信し、アンテナコイルにキャッチされる。身体の左右で少しずつ磁界の強さが変わるようにしておくと、場所の違いが周波数の違いになる。この信号をフーリエ変換法で調べるのだ。

 フーリエ変換法の数学はそんなに難しくはないが、それを理解するにはいくばくの知識と根気を必要とするから、ここではお預けにして、それがどんなにありがたいものかを感得していただこう。

 上の楽譜は、グリークの「ピアノ協奏曲 イ短調」の 第1楽章 第1主題 である。出だしの赤丸部分の音を採取すると、下のような波形が得られる。

  左の波形は、0.5 ミリ秒ごと、すなわち毎秒2000回    右の波形は同じ音を、半分の採取レート、
  のレートで、256回データを採取した。         すなわち毎秒1000回で、同じ長さ測定したもの。
  128ミリ秒の長さになる。                後で問題点を検討するために、用意した。
  ピアノの和音の最初の一拍がほぼ収まっている。

 この波形をフーリエ変換してみよう。 下に、計算結果を図示する。

 中段のスペクトル図が、フーリエ変換の計算結果を図示したものである。和音の周波数分析結果を示す。スペクトルの上に、ピアノの鍵盤を対応させて示した。鍵盤や楽譜と比較すれば、どのピークがどの音か、理解できよう。 修飾音符の音もちゃんと現れている。鍵盤の幅が、左の方で狭くなるように歪んでいるのは、スペクトル図の横軸は、周波数に比例して目盛ってあるのに対して、鍵盤は音の高さの倍率に比例するように並べてあるからだ。

音がオクターブ高い、は音の周波数が2倍になる。
半音高い、は音の周波数が 1.059463.....(=2の12乗根。すなわち12回掛けると2倍になる。)倍に なること。

 2000Hz(ヘルツ=振動数、周波数の単位。毎秒の波数)でサンプリングしたので、スペクトルは、その1/2の1000Hzが上限になる。この周波数をナイキスト(nyquist)周波数という。
 周波数目盛りから読み取れば、中央のA音(イ)は440Hz、E(ホ)はその3/4の330Hz、C(ハ)は3/5の264Hzになっている。最低音は、修飾の2オクターブ下のA/3で、110Hzと読みとれる。和音は、こうして調和する周波数の組み合わせで、快感を呼び起こすのだ。

 このように、フーリエ変換は、与えられた波形を、たくさんの「成分波」に分けて算出する。たくさんの単純な形の波(正弦波、サイン波)に分解して、おのおのの成分波の、周波数、振幅、位相、を算出してくれる。
 MRIの信号、水素原子核のささやき、は、居場所に対応して周波数が違うので、この計算によって、場所ごとの存在量が突き止められる。
 逆に、いくつかの成分波を足し合わせれば、どんな波でも(周期関数ならば)、合成できる。フーリエ逆変換という。

(ある専門書の記述を引用−−−)
  任意の周期関数を三角関数の級数として表す方法は、19世紀の前半代にフランスの数学者 Fourier(フーリエ、1764-1830)によりはじめられた。彼は固体中の熱伝導問題の解析にこの方法を駆使して熱伝導理論を創始した。
 しかし、当時のフランス数学会の第一人者である Lagrange(ラグランジェ)ですら、特定の周期関数の和として任意の周期関数を表すことには疑問をいだき、すでに大数学者であった Fourier の論文も科学院会誌への搭載を拒否されたといわれる。(日野幹雄、1977)

 ところで、先にあげたサンプル数を半減させた波形をフーリエ変換すると、どうなるか。上限周波数は500Hzなので、赤枠の中のスペクトルが得られる。
 これを初めのスペクトルと比較すると(図の周波数目盛りは一致させてある)、500Hzより低い音は同じ位置に現れているが、500Hzより高い音(2C、2E)は、違う位置(2C*、2E*)にある。500Hzで折り返した位置( 2C*の周波数=500 − 2Cの周波数)に現れている。上限周波数より高い波は、消えるのではなく、とんでもない位置に現れる。これをエイリアス( alias、偽名(特に犯罪者の)。エイリアン alien ではない。)という。
 エイリアスが混じると、結果がとんでもなく変わってしまう。それが必要な信号であれば、サンプリング周波数をあげなければならない。
 ノイズや寄生波などの有害な信号であれば、混入を防がなければならない。それには、元の波形をサンプリングするときに、あるサンプリング点と次のサンプリング点の間に隙間ができないようにしなければならない。あるサンプルは、それが受け持つサンプリング期間の信号を、完全に代表しなければならないのである。期間内の入力信号の平均値をきちんと求めて、これをサンプル値としなければならない。しかし、これは容易ではない。
 上限周波数より高い高周波を、フィルターなどの平滑処理によって除去しても、完全ではないので、高品質を求める場合には、サンプリング周波数をうんと高くする。そして、フーリエ変換の後で、不要な帯域を除去すれば必要な信号が確実に得られる。当然、扱うデータ量はうんと増える。

 試みに、上の256点の波形を、2点ごとに平均して128点のデータにしたものをフーリエ変換してみよう。平均化することによって、高い音が減弱することが期待される。

 高い音(のエイリアス)が、いくぶん低減しているのが認められる。たいした効果はない。

 音楽用CD(コンパクト・ディスク)では数万Hz、電話の音声でも、数千Hzの、高いサンプリング・レートが実用されている。上の例の2000Hzでは、実際のピアノやオーケストラの音を解析するには、実はまったく不足している。実際の楽音には、倍音とか高調波と呼ばれる調和関係を持った高い音が豊かに伴っていて、音色を美しいものにしている。

 今日、音や声、振動、波動、情報信号、そのほか、いろんな動きを数学的に解析する手段として、フーリエ変換はさかんに利用されている。1965年には、計算時間を驚異的に短縮する「高速フーリエ変換法、FFT」が考案され、コンピューターの進歩とあいまって、利用が容易になってきた。コンピューターのプログラム言語にもFFTが組み込まれているものが多い。

FFT: Fast Fourier Tranform 計算の対称性を利用して、たくさんの計算をまとめながら
フーリエ級数を算出する。従来法にくらべて、1/nに近い計算時間ですむ(nはデータ点数)。

 ここに示した和音解析の例は、タネをあかせば、Mathematica という計算ソフトを利用して作成した。下にプログラムを示すように、和音の波形 wave を計算で作り、それをFourier[ ] という1行の命令でフーリエ変換している。波形やスペクトルのグラフ表示も1命令で実行されるので、数理解析にはとても便利なプログラム言語である。こうした実物の条件を数式化していろいろ書き加えて計算させると、実物で実験したのと相似の研究ができる。「シミュレーション」と言う。
 なお、下のプログラムで、wave というn個の数値列に、wavenull というn個のゼロの列を付け加えてからフーリエ変換しているのは、算出されるスペクトルをn個のデータにするためである。waveをそのまま変換したのでは、データの対称性のために、n/2 個のスペクトル・データしか得られない。

(* 256points, 0.5 mS, 128 mS, 2000 Hz-sampling *)
n=256; fa=220; fc=fa (2^3)^(1/12); fe=fa (2^7)^(1/12);
    fa1=fa 2; fc1=fc 2; fe1=fe 2;
    fa2=fa/2; fe2=fe/2;
  f1=128/1000 fa; f2=128/1000 fc; f3=128/1000 fe;
  f4=128/1000 fa2; f5=128/1000 fe2;
  f6=128/1000 fa1; f7=128/1000 fc1; f8=128/1000 fe1;
wave=Table[ N[ (1-Exp[-1/200 t]) Exp[-1/60 t]
    ( Cos[2 Pi f1 t/n]+Cos[2 Pi f2 t/n]+Cos[2 Pi f3 t/n]
    +Cos[2 Pi f6 t/n]+Cos[2 Pi f7 t/n]+Cos[2 Pi f8 t/n]
    +0.2 (Sin[2 Pi f4 t/n]+Sin[2 Pi f5 t/n]) ) ], {t, 0, n-1}];
ListPlot[wave, PlotJoined -> True, AxesOrigin -> {0, -.3}]

  wavenull=Table[0,{i, n}];
  waveObject=Join[wave, wavenull];
factors=Fourier[waveObject];
  factors=Chop[factors];
ListPlot[Abs[factors], PlotRange -> {{0, n}, {0, .5}},
            AspectRatio -> 0.4, PlotJoined -> True]
N[{fa, fc, fe}]
{220., 261.626, 329.628}

 プログラムの最後の行に、A音,C音,E音の周波数を出力しておいた。
ピアノの調律は、平均音階なので、和音の間の音程は調和音階のような4/3とか5/3ではなく、それに近い半端な数値になる。

あらまし   MRIの元信号   MRI画像 作成法   MRIの黎明期   もくじに戻る