高速フーリエ変換 (fast Fourier transform)
Download
Report
Transcript 高速フーリエ変換 (fast Fourier transform)
高速フーリエ変換
(fast Fourier transform)
12月8日
第3回目発表
1
今回のテーマ
離散フーリエ変換
(discrete Fourier transform,略してDFT)
逆離散フーリエ変換
(inverse discrete Fourier transform,略して
IDFT)
フーリエ変換の基本的な考え方とは?
“すべての信号は,三角関数(正弦波)の和とし
て表現できる ”
2
フーリエ変換と離散フーリエ変換
フーリエ変換と離散フーリエ変換の違いとは?
フーリエ変換
非周期信号を扱うために,積分範囲を無限大にする
数学的には連続信号を無限大の範囲で扱うことは可
能.しかし,コンピュータでは不可能
離散フーリエ変換
コンピュータで利用するために離散化されたデジタル
信号を対象にフーリエ変換をする.
3
離散フーリエ変換
DFTの公式は
n 1
yk x jWkj (k 0,1,, n 1) ()
j0
x
k
2k
( n 1) k
x
W
x
W
x
W
0
1
2
n 1
である.
ここで,
Wは
W e2i n , i 1 ()
で定義する.
()で,各
x jは一般に複素数である
.
したがって各
ykも複素数である.
4
Wは以下の2つの条件を満たす.
① Wn 1
(Wn e2i cos 2 sin 2 1)
n 1
② Wkj 0 (k 0,1,, n 1)
j0
n 1 kj
k
2k
( n 1) k
W 1 W W W
j0
kn
k
W 1 1 1
k
k
0
W 1 W 1
5
整数環Zm上でのDFT
DFTはある種の整数値
m( n)を法とする整数環
Ζm
上でも以下のように定
義できる.ただし
gcd(n, m) 1.
W Zmは,
gcd(W, m) 1を満たし,かつ条件
(Ⅰ) W 1
(Ⅱ) Wn 1
(Ⅲ)
n 1
jk
W
0 (k 0,1,, n 1)
j0
を満たすとする.演算
はZmの上で考える.
6
このとき
x 0 ,, x n 1 Zmである列
(x 0 ,, x n 1 )
に対するDFTを()と同じ式で定義する.
()は,
n 1
y x Wkj (k 0,1,, n 1)
j
k
j0
そうすると
yk Zm (k 0,1,, n 1)
となる.また
n 1 mod m Zm , W1 mod m Zm
であることに注意する
.
7
()で定義される
Wは1の原始n乗根であり,
上記の(Ⅰ)~(Ⅲ)を満たすWは
環Zmにおける
1の原始n乗根という.
8
逆離散フーリエ変換
()式で定義される列
(y0 , y1,, yn 1 )
に対する逆変換を
1 n 1
kh
zk yh W (k 0,1,, n 1)
n h 0
で定義する.
( )
これを逆離散フーリエ
変換(IDFT)という.
Zm上のIDFTについても,同様に定
義される.
9
標本点x k (k 0,1,, n 1)を,縦ベクトル
x0
x
x
n 1
で表わす.
ベクトル
y, zについても同様に定義
する.
また行列Aを,その
(i, j)要素a ijについて,
a ij Wijで定義する.
また同様に行列
Bを,その
(i, j)要素bijについて,
1 ij
bij W で定義する.
n
10
つまり
a 00
A
a
01
W0 W0
W0
0
1
2
a 0( n 1) W
W
W
0
2
4
W
W
W
a ( n 1)(n 1)
0
n 1
2( n 1)
W
W
W
W0
n 1
W
W2( n 1)
( n 1) 2
W
b00
B
b
01
W0
W0
W0
0
1
2
b0( n 1)
W
W
W
1 0
2
4
W
W
W
n
b( n 1)(n 1)
0
( n 1)
2( n 1)
W
W
W
W0
( n 1)
W
W2( n 1)
( n 1) 2
W
すると,
(*)式はy Ax,
(***)はz Byと表わされる.
11
定理
上記のx, y, zについて,
x zが成り立つ.すなわち
,
1 n 1
x k yh Wkh (k 0,1,, n 1)
n h 0
と書ける.
証明
y Ax, z By だからz By BAx.よって,
B A1,すなわち
BはAの逆行列であることを
言えばよい.
C BAの(i, j)要素をcijとすると,
1 n 1 ( ji) k
cij W
n k 0
が成り立つ.
12
i jのとき
W( ji) k 1 だからcij 1.
i jのとき
n 1
n 1
k 0
k 0
lk
l
k
j i l とすると,
W
W
W
0
したがって
cij 0となる.
これより
Cは単位行列である.
よって,
BはAの逆行列となり証明終
了.
13
まとめ
逆離散フーリエ変換は,その名の通り離散
フーリエ変換の逆変換となっている.
離散フーリエ変換の計算量はO(n2)となる.
以前やったように,高速フーリエ変換を用い
ることでO(n logn)時間で計算できる.
14