5 離散フーリェ変換
岐阜大学大学院 工学研究科 応用情報学専攻
1
時間軸,周波数軸の標本化定理
時間軸の標本化定理とは逆に周波数の標本化定理がある.
スペクトルX(ω)を標本間隔ζで標本化したものからX (ω)復元する
にはx(t)が時間幅2π/ζ未満に局在していなくはいけない.
一般的なアナログ信号x(t)とそのスペクトルX(ω)の関係.
2
時間軸,周波数軸の標本化定理
時間軸で標本化すると,
周波数軸で標本化すると, (実は,フーリェ級数)
3
時間軸,周波数軸の標本化定理
時間軸と周波数軸でともに標本化すると,
信号x(t)とそのフーリェ変換X(ω)がともにそれぞれの軸
で局在しているならば,x(t)とX(ω)のそれぞれの標本化
信号の間は,フーリェ変換で結ばれる.
4
時間軸,周波数軸の標本化定理
時間軸,および周波数軸の基本区間の標本点の間を関
係づけるフーリェ変換が離散フーリェ変換である.
5
離散フーリェ変換の導出過程
信号x(t)を間隔2π/ζごとに繰り返した周期信号 ~
x (t ) とし,
スペクトルX(ω)を間隔ごとに繰り返した周期スペクトルを
ωsとする.
~
x(t)
∞
2π
(4.1)
∑x (t m) m∞
~
X ()
∞
(4.2)
∑X( ) s
∞
~
基本区間の長さが2π/ζである x (t ) は,
∞
2
π
imt
~
x(t )
X
(
m
)
e
(4.3)
∑
m∞
6
離散フーリェ変換の導出過程
∞
N -1
∞
さらに,m=k+rNとおけば, ∑ は ∑∑ とかける.
k =0 r =∞
∞
t=nτ,n ∈Z とすると,式(4.3)は,
N 1 ∞
~
x (nτ)
X((k rN) )e i ( k rN ) n
∑∑
2 k 0 r ∞
i 2 ( nr )
1 N 1 ∞
X(k ωr )e N
∑∑
N k 0 r ∞
上式は,複素指数関数の周期性 (ei 2(nk N+n) = ei 2(nk N), n, k ∈Z)
nk
を利用し,式(4.2)を代入する.
N-1
i
1
~
~
x (n)
X(k)e
∑
N k 0
2 nk
N
(4.5)
7
離散フーリェ変換の導出過程
WN e
i
2
N
とおけば,式(4.5)は,
1
~
x (n )
N
N 1
~
nk
(4.7)
X (k )WN k 0
~
~
周期信号 x (t ) の間隔τ毎の値は,周期信号 X()の間隔
ζ毎の値を用いて表現できることを意味している.
n
WNは回転因子と呼ばれており, WN , n Z は,複素平
面において原点を中心とする単位円の演習をN当分し
た点を表す.
8
回転因子
N=8の回転因子の例
n, m Zに対して次の性質をもつ
WNn mN WNn
(4.9)
1 N 1 mn 1, for m 0 WN
N n 0
0, for m 0
9
離散フーリェ変換
式(4.7)の両辺に WN を乗じてn=0,・・・,N-1で総和をとると,
mn
N 1
~
x (n )W
mn
N
n 0
N 1
1
[
n 0 N
N 1
~
kn
mn
X
(
k
)
W
]
W
N
N
k 0
N 1
1
~
[ X (k )
N
n 0
N 1
W
k 0
( mk ) n
N
]
となり,式(4.9)の性質を利用すると,
N 1
~
mn
~
x (n )WN X (m ) (4.10)
n 0
となる.
~
上式は,式(4.7)とは逆に,X()の間隔ζ毎の値は,~
x (t ) の間隔τ
毎の値,すなわち
~
x(n) を用いて表されることを意味する.
10
離散フーリェ変換
式(4.7)において
~
x
n x (n)
~
X 1 X
(
k
)
k
とおけば,周期をもつ標本化信号の時間軸と周波数軸は,
N 1
X k x n WNkn (4.11)
n 0
1 N 1
x n X k WNkn (4.12)
N k 0
で結ばれる.式(4.11)を離散フーリェ変換(DFT),式(4.12)を
逆フーリェ変換(IDFT)という
11
離散フーリェ変換
離散フーリェ変換,逆フーリェ変換をそれぞれXk=DFT[xn],
xn=DFT[Xk]と書く.
離散フーリェ変換されたXk,|Xk|,|Xk|2,argXkは,それぞれフーリ
ェスペクトル,パワースペクトル,位相スペクトルと呼ばれる.
離散フーリェ変換を行う際には,時間軸,周波数軸ともに周期的
な系列であることが暗黙の仮定となっている.
周期性と回転因子の性質より,任意に定義されたXnの基本区間
を利用する事ができ,式(4.11)は次のようにも書ける.
N 1
X k x n WNkn
n 2
同様に,式(4.12)に対しても,任意の定義されたXkの基本区間を
利用できる.
12
高速フーリェ変換
式(4.11)から分かるように,標本点数Nに対しN2回の複素
数の積算が必要である.
高速フーリェ変換(FFT)アルゴリズムを用いると,Nlog2N
積算回数で離散フーリェ変換を行うことができる.
高速フーリェ変換アルゴリズムには,以下の2つの方法が
ある.
時間間引きアルゴリズム
周波数間引きアルゴリズム
13
時間間引きアルゴリズム
離散フーリェ変換
N 1
X k x n WNkn
n 0
において,Nが偶数であるとして,nが偶数,奇数の場合に分け,それ
ぞれ2n,2n+1として表現すれば,
Xk
N / 2 1
N / 2 1
n 0
n 0
2 nk
x
W
2x N
( 2 n 1) k
x
W
2x 1 N
と書け,回転因子の性質より, WN2nk WNnk/ 2 なので,
Xk
N / 2 1
N / 21
n 0
n 0
2 nk
k
x
W
W
2n N / 2 N
nk
x
W
(4.15)
2x1 N / 2 となる.
14
時間間引きアルゴリズム
ここで,kを前半と後半に分けると,前半k=0,1,・・・,N/2-1につい
ては式(4.15)のまま,後半k=N/2,・・・,N-1については,kをk+N/2
とおいて,
N / 2 1
N / 21
XkN / 2
n ( k N / 2)
k
x
W
W
2n N / 2
N
n 0
n ( k N / 2)
x
W
2n1 N / 2 ,
n 0
k 0,1,, N / 2 1
であるが,回転因子の性質 WNnN/ 2/ 2 1, WNk N / 2 WNk を利用す
れば,
N / 2 1
N / 21
XkN / 2
nk
k
x
W
W
2n N / 2 N
n 0
nk
x
W
(4.17)
2n 1 N / 2 n 0
となる.
15
時間間引きアルゴリズム
ここで,
Hk
N / 21
nk
x
W
k 0,1,, N / 2 1
2n 1 N / 2 , n 0
は,いずれもN/2点の離散フーリェ変換を意味している.上式を式
(4.15),(4.17)に代入すると,
X k G k WNk H k , k 0,1,, N / 2 1
X k N / 2 G k WNk H k , k 0,1,, N / 2 1
となる.つまり,標本点数Nの離散フーリェ変換は,標本点数N/2
の離散フーリェ変換を2回とN/2回の積算で実現できることになる.
16
時間間引きアルゴリズムの例
N=8の場合
17
時間間引きアルゴリズム(N/2が偶数の場合)
標本点数N/4の離散フーリェ変換を4回とN/2+2・N/4の
積算で実現できる.
Kを正の整数として標本点数がN=2Kであるならば,こう
した分割を繰り返すことによって標本点数1の離散フーリ
ェ変換をN回と(N/2)log2N回の積算で実現できる.
標本点数1の離散フーリェ変換では,1を乗ずるだけであ
るから,もはや計算の必要はなく,積算の問題は
(N/2)log2Nとなる.
例えば,標本点数N=1024の場合の離散フーリェ変換は
,高速フーリェ変換を利用することによって約200分の1
ほどの計算量になる.
18
時間間引きアルゴリズムの例
N=8の場合
19
周波数間引きアルゴリズム
標本系列xnの標本点数Nが偶数の場合,式(4.11)におい
て,xnの前半と後半に等分すると離散フーリェ変換は,
Xk
N / 2 1
xnW
n 0
N / 2 1
kn
N
x n WNkn
n 0
N / 2 1
N 1
kn
x
W
n N
nN / 2
N / 2 1
x
n 0
kN
2
N
(x n W x
n 0
n
k(n
N
n
2
WN
N
)
2
kn
)
W
k 0,1, , N 1
N
N , 2
と表わされる.
20
周波数間引きアルゴリズム
Xkをkが偶数の場合と奇数の場合に分けて考える.
Kが偶数の場合,k→2kとし, WNkN 1, WNkn/ 2 を利用すると,
N / 2 1
(x
X 2k
n 0
n
WNkN x
N / 2 1
(x n x
n 0
n
n
2 kn
)
W
N
N
2
kn
)
W
k 0,1,, N / 2 1 (4.22)
N
N / 2 , 2
kが奇数である場合,k→2k+1とし, WNN / 2 1 を利用すると,
X 2 k 1
N / 2 1
(x
n 0
n
( 2 k 1) N
2
N
W
x
n
( 2 k 1) n
)
W
N
N
2
N / 2 1
( x n WNN / 2 x
n 0
N / 2 1
(x n x
n 0
n
n
kn
n
)
W
W
N
N/2
N
2
n
kn
)
W
W
k 0,1,, N / 2 1 (4.23)
N
N
N / 2 , 2
21
周波数間引きアルゴリズム
ここで,
G n x n x nN / 2
H n x n x nN / 2
とおくと,式(4.22),(4.23)は,
X 2k
N / 2 1
kn
G
W
, k 0,1,, N / 2 1
n N/2 X 2 k 1
n 0
N / 2 1
n
kn
(
H
W
)
W
n N N / 2 , k 0,1,, N / 2 1
n 0
となる.つまり,標本点数Nの離散フーリェ変換は,標
本点N/2の離散フーリェ変換を2回とN/2回の積算で実現
できる.
22
周波数間引きアルゴリズムの例
N=8の場合
23
周波数間引きアルゴリズム(N/2が偶数の場合)
標本点数N/2の離散フーリェ変換を4回とN/2+N/2=N回
の積算で実現できる.
Kを正の整数として標本点数がN=2Kであるならば,こう
した分割を繰り返すことによって標本点数1の離散フーリ
ェ変換をN回と(N/2)log2N回の積算で実現できる.
標本点数1の離散フーリェ変換では,1を乗ずるだけであ
るから,もはや計算の必要はなく,積算の回数は
(N/2)log2Nとなる.
24
FFTの周波数間引きアルゴリズムの例
N=8の場合
25
畳み込み演算
標本系列に対する畳み込み積分は,積分記号∫を総和記号∑に
置き換えることによって定義される.
xn,n=0,1,・・・,N-1,yn,n=0,1,・・・,N-1の畳み込み演算は,
z n x k y n k , n 0,1,,2( N 1)
kZ
となる.xn,ynのn=0,1,・・・,N-1以外での値を使わなくてはいけ
ないが,一般的にはこれらの値を0とみなすことが多い.
このような畳み込み演算を線状畳み込みという.
26
畳み込み演算
xnとynのそれぞれの離散フーリェ変換Xk,Ykの積の逆フーリェ変
換は,周期信号であるxnとynの畳み込みである.
この畳み込み演算を線状畳み込みと区別して,環状畳み込みと
いう.
線形畳み込みと環状畳み込みは全く異なる結果を与えることがあ
る.
27
環状畳み込みによって線状畳み込みを行う方法
xkとykの後ろにそれぞれN個の値ゼロの標本点があると
みなし,環状畳み込みを行う
→周期性は無視できるようになり,xkとykの線状畳み込
みを行ったことになる.
畳み込み演算は多くの計算量を必要とするが,この方
法で離散フーリェ変換を高速フーリェ変換を利用して行
うと,計算量が大幅に削減される.
28
ゼロ詰め
サンプリング間隔
が短くなったから
といって,解像度
が高くなったわけ
ではない.
スペクトルのピー
クを見やすくする
ために,頻繁に用
いられる.
29
再標本化
一般に,標本系列xn=x(nτ)が与えられ,xn=x(nτ’),τ’≠τを得ること
を再標本化,リサンプリング,レート変換,標本化周波数の変換な
どという.
τ>τ’の場合,補間もしくはアップサンプリング
τ<τ’の場合,ダウンサンプリング
ゼロ詰めと離散フーリェ変換,標本間引きを組み合わせることに
より,レート変換が行える.例えば,
離散フーリェ変換し,
(LPFをかけたのち)
3倍にゼロ詰めし,
逆離散フーリェ変換し,
2:1に標本間引き
を行えば,元のサンプリング周波数の1.5倍になる.
30
z変換
標本系列を表現するためには,標本化信号に対するラプラス変
換であるz変換が有効である.
負の時刻t<0でゼロの値をとるアナログ信号x(t)を考える.
x(t)を標本間隔τで標本化した標本化信号は,
x (t ) x(n)(t n)
n 0
x
ラプラス変換の性質を利用すれば,標本化信号 ( t )のラプラス変
換は,
L[ x ( t )] L[ x (n)( t n)]
n 0
x (n)L[( t n)]
n 0
x (n)e sn (4.29)
n 0
となる.
31
片側z変換
s
ここで,z e なる複素変数zを導入し,xn xn , X z Lx t e
とおけば,式(4.29)は次のよるになる.
s
z
X(z) x n z n (4.30)
n 0
zの級数となっており,級数が収束するとき,標本系列xn,n=0,1,
2,・・・からX(z)への変換をX(z)=Z[xn]と書き,これを片側z変換と
いう.
s
変数変換 z e は,s平面の虚軸をz平面の単位円上に,s平面
の左半分のすべての点をz平面の単位円内に,s平面の右半分の
すべての点をz平面の単位円外に移す変換である.
32
s平面からz平面への変換
s平面において辺b-dの虚部がωs/2,辺h-fの虚部が-ωs/2
であるとき,z平面で辺b-dと辺h-fは負の虚数軸上で重な
る.
s平面でσ+i(ω+nωs),n Z の点は,複素指数関数の周期
性より,z平面ではすべて同じ点に写像される.
→アナログ信号x(t)がs平面において,虚数部が-ωs/2からωs/2
に局在してなければ,標本化によって,標本化信号のz変換は,
z平面において重なりが生じる.
33
z変換と畳み込み演算
xn,n Z
を{x
0,x1,x2,0,0,・・・},yn, n Zを{y
0,y1,y2
,0,0,・・・}とする.
(0以上の整数からなる集合をZ+で表す)
xnとynの畳み込みxn*ynは次式となる.
x 0 y 0,
x y x y ,
0 1
1 0
x 0 y 2 x 1 y1 x 2 y 0,
x 1 y 2 x 2 y1,
x 2 y 2,
0,
n0
n 1
n2
n3
n4
n 5,6,
34
z変換と畳み込み演算
xnとynのz変換は,それぞれ
X(z) x 0 x 1 z 1 x 2 z 2
Y(z) y 0 y1 z 1 y 2 z 2
となるので,それらの積は,
X(z)Y(z) ( x 0 x 1 z 1 x 2 z 2 )(y 0 y1 z 1 y 2 z 2 )
x 0 y 0 ( x 0 y1 x 1 y 0 )z 1 ( x 0 y 2 x 1 y1 x 2 y 0 )z 2
( x 1 y 2 x 2 y1 ) z 3 x 2 y 2 z 4
xnとynの畳み込みxn*ynのz変換に等しい.
畳み込み演算は,多項式どうしの積として表わされる.
35
逆z変換
X(z)から元の標本系列xn, n Z への逆変換は,収束領域内で原
点を含む閉路(積分路)cの複素積分
1
n 1
xn
X
(
z
)
z
dz
2i c
により与えられる.これを逆z変換といい,xn=Z-1[X(z)]と記述する.
この複素積分は,X(z)が有理多項式で表現されている場合,留数
定理などを利用して行う.
36
両側z変換
式(4.30)で示した片側z変換に対し,xn,n<0も考慮した
X( z)
z
x
z
(4.32)
n n
を両側z変換という.
式(4.32)の級数は,複素関数論ではローラン級数と呼ばれており,
級数が収束するための十分条件は,
n
x
z
n
n -
である.この級数の収束領域は,実定数r1,r2(0<r1<r2)を用いて,
r1 z r2
と表現できる.
37
z変換と離散フーリェ変換の関係
標本系列xn,n=0,1,・・・,N-1のz変換は,
N 1
X( z ) x n z n
n 0
である.
Z平面において,単位円周上に等間隔に配置されたN個の標本
点 z k e i 2k / N ,k=0,1,・・・,N-1でのX(z)は,
N 1
X(z) z z x n e i 2 kn / N , k 0,1,, N 1
k
n 0
となる.この式は,X k Xz z zとおけば,xnの離散フーリェ変換に
一致する.
Xn,n=0,1,・・・,N-1の離散フーリェ変換は,xnのz変換
X(z)=Z[xn]における単位円周上の等間隔なN個の標本点に他な
らない.
k
38
© Copyright 2026 ExpyDoc