Page 1
離散非整数次フーリエ変換アルゴリズムの比較検討
情報システム工学科 3年 光工学研究室 岩城達也
2008年 2月 21日
1 はじめに
CS研究で所属した光工学研究室では,過去から先輩がフレネル回折積分の数値計算を回折距離によらずに統一
的に正しく計算できる方法として,非整数次フーリエ変
換に基づいた高速計算法を考案して,その有効性を示し
てきた [1]. 私は CS 研究で,あらためてこの非整数次フーリエ変換の定義や特徴を勉強した.また,研究室で
開発したプログラムとは別にすでに公表されている非整
数次フーリエ変換の離散計算プログラムを解析して,そ
こで行われている特殊な処理の意味を明らかにした.さ
らに実際にプログラムをプログラムを組んで実行し,そ
の特殊処理の効果と程度を結果を比較して調べた.
2 非整数次フーリエ変換の定義と特性
非整数 0 <| a |< 2 を変換次数とする関数 u(x) のフーリエ変換は,非整数次数フーリエ変換 (FractionalFourier Transform: FrFT) として次式で定義されている [2].
u′(x′) = Fa[u(x)] = Ca exp
[iπ
tan(φ)x′2
]
×∫
u(x) exp
[iπ
tan(φ)x2
]exp
[− i2π
sin(φ)xx′
]dx (1)
ここで,Ca は定数で
Cα =exp(−iπ sgn[sin(φ)]/4 + iφ/2)
| sin(φ)|1/2(2)
であり,また
sgn[sin(φ)] =
{ −1 sin(φ) < 00 sin(φ) = 01 sin(φ) > 0
(3)
φ = aπ/2 (4)
である.式 (1) は,a = 1 のときにフーリエ変換を,a = −1 のときに フーリエ逆変換となるが,これは証明できる.また,変換次数 aには加法性があり,a = a1+a2
とすると,次の関係式が成り立つ [2].
Fa[u(x)] = Fa1+a2 [u(x)] = Fa1
[Fa2 [u(x)]
](5)
3 公表されている計算アルゴリズムの解析
3.1 Kutay のアルゴリズム現在公開されている離散型の FrFT のプログラムとし
てもっとも有名なものが Kutay らが開発したもの [3]であり,それを解析したところ,式 (1) を次式のように変
形して,フーリエ変換を 2回,フーリエ逆変換を 1回計算して求めていた.
Fa [u(x)] = Ca exp
[iπ
tan φx′2
]
×F−1[F
[u(x)Bα(x)
]×F
[Bβ(x)
]](6)
ここで Bα(x), Bβ(x) はそれぞれ次のようなチャープ関数である.
Bα(x) = exp[iπ tan
(φ
2
)x2
](7)
Bβ(x) = exp
[iπ
sin φx2
](8)
3.2 変換次数に応じた特殊処理とその理由
さらにプログラムの解析を進めた結果,式 (5) の変換次数の加法特性を使って,a の値に応じて次の 2段階の変換処理を行なっていることが分かった.
1. 0 < a < 0.5 または 1.5 < a < 2.0 の時
Fa[u(x)] = Fa−1[F1[u(x)]] (9)
2. −0.5 < a < 0 または −2.0 < a < −1.5 の時
Fa[u(x)] = Fa+1[F−1[u(x)]] (10)
この理由を調べてみた.式 (6) で数値計算を行なうには式 (7), (8) のチャープ関数を離散化して離散フーリエ変換と逆変換を行なう.チャープ関数は x によって値
の変化率(空間周波数)が変わる関数であるが,引数に
φ = aπ/2 を含むので変換次数 a によっても変わる.各
チャープ関数の空間周波数 να と νβ が変換次数 aによっ
てどう変わるか理論的に調べた結果,a ≈ 0 や a ≈ 2 で非常に大きくなってしまい,離散化(サンプリング)が
充分な細かさでできなくなることがわかった.そうなる
a を避けるために変換次数に応じた 2段階の演算処理をするのだということが明らかとなった.この証明は発表
で示す.
3.3 Yang のアルゴリズム
Kutay のアルゴリズムでは,特殊な 2段階処理を行なわなくてもよい aの範囲は 0.5 < |a| < 1.5だった.ただし,この数字が選ばれた特別な理由はないようだ.Yangらはその境界値の最適値を理論的に求め,その範囲を
0.366 < |a| < 1.366であるとした [4].0.366 < |a| < 0.5の場合,Kutay のアルゴリズムでは 2 段階の処理が必要なのに対して,Yang のアルゴリズムではその a での
FrFT を 1回やるだけで良いため,演算回数が少なく,効率的であることを意味している.
1
Page 2
4 各アルゴリズムの効果の比較検討
Kutay のアルゴリズムにおける 0 < |a| < 0.5 と1.5 < |a| < 2 で 2段階処理を行なう効果,Yang のアルゴリズムによる 0.366 < |a| < 0.5 での効果を確認するため,公表されている Kutay のプログラム [3] を基にしてプログラムを作成・実行し,結果を比較した.元信号
u(x) には Fig. 1に示す |x| ≤ 0.5 で大きさが 1の矩形関数を使った.プログラムは MATALB 言語で開発した.
Fig.1 元信号 u(x): 矩形関数 rect(x)
Fig. 2 は a = 0.1 の FrFT 後の振幅分布で,それぞれ(a) Kutay のアルゴリズムによる結果と (b) 特殊な処理をしない結果である.(a) の Kutay のアルゴリズムでは対応する波形の振幅が得られているのに対して,(b) では本来の信号に加えて 2つの偽信号が現われている.結果の位相分布も同様な結果となった.Fig. 3 は a = 1.9の FrFT の振幅分布で,この場合も a = 0.1 と同様の違いが現われた.なお,a = 0.1 とまったく同じ結果となっているが,これは変換の振幅を見ているからであり,位
相分布は a = 0.1 と a = 1.9 で違っている.以上から,Kutay のアルゴリズムで行われている変換次数 a に応じ
た 2段階の変換処理は,正しい FrFT の結果を得るために必要な処理であることが確かめられた.
Fig. 4 は a = 0.4 の FrFT 後の振幅分布で,それぞれ(a) Kutay のアルゴリズムによる結果と (b) Yang のアルゴリズムによる結果である.Yang の結果では a = 0.4は 2 段階処理の対象外なので,直接 FrFT を計算している.一方,Kutay の変換方法では式 (9) に基づいて 2回の変換を行っている.その結果は振幅・位相ともに視
覚的にほとんど差が無く,この変換次数の値ではわざわ
ざ 2段階の変換処理を施す必要は無いことになる.したがって,Yang による特殊処理を行なう変換次数の境界の最適値が有効であることが確かめられた.
5 まとめ
公表されている離散非整数次フーリエ変換アルゴリズ
ムのプログラムを解析して,そこで行われている変換次
数に応じた特殊な処理の意味を明らかにして,その効果
をプログラムを作成・実行して確かめた.変換次数 a が
0 または 2 に近い時は,正しい計算結果を得るために2 段階の変換処理が必要であることが分かった.また,Yang による変換次数の最適値が有効であり,無駄な計算を省くのに有効であることを確かめた.
(a)∣∣F−0.9
[F1[u(x)]
]∣∣ (b)∣∣F0.1 [u(x)]
∣∣
Fig.2 a = 0.1 での FrFT の結果 (振幅):(a) Kutay, (b) 無処理変換.
(a)∣∣F0.9
[F1[u(x)]
]∣∣ (b)∣∣F1.9 [u(x)]
∣∣
Fig.3 a = 1.9 での FrFT の結果 (振幅):(a) Kutay, (b) 無処理変換.
(a)∣∣F−0.6
[F1[u(x)]
]∣∣ (b)∣∣F0.4 [u(x)]
∣∣
Fig.4 a = 0.4 での FrFT の結果 (振幅):(a) Kutay, (b) Yang (無処理変換).
参考文献
[1] 例えば,千葉 匡春:「フラクショナルフーリエ変換に基づくフレネル回折積分の高速数値計算法の開発とディジタルホログラフィーへの応用」,北見工業大学大学院博士前期課程 (情報システム工学専攻) 研究論文 (2002.3).
[2] H.M. Ozaktas, Z. Zalevsky, and M.A. Kutay, The
Fractional Fourier Transform, (Wiley, Chichester,
2001).
[3] M.A. Kutay, “FracF: Fast computation of the frac-
tional Fourier transform (1996)”;
http://www.ee.bilkent.edu.tr/ haldum/fracF.m.
[4] X. Yang, et. al. “Improved fast fractional-Fourier-
transform algorithm,” J. Opt. Soc. Am. A 21(9),
1677–1681 (2004).
2