離散時間フーリエ変換 (りさんじかんフーリエへんかん、英 : Discrete-time Fourier transform 、DTFT )はフーリエ変換 の一種。したがって、通常時間領域 の関数を周波数領域 に変換する。ただし、DTFTでは元の関数は離散的 でなければならない。そのような入力は連続関数の標本化 によって生成される。
DTFTの周波数領域の表現は常に周期的関数である。したがって1つの周期に必要な情報が全て含まれるため、DTFTを「有限な」周波数領域への変換であるということもある。
実数または複素数の離散集合 x [ n ] , n ∈ Z {\displaystyle x[n],\;n\in \mathbb {Z} } (整数 )が与えられたとき、 x [ n ] {\displaystyle x[n]\,} の離散時間フーリエ変換 (DTFT)は次にように表される。
X ( ω ) = ∑ n = − ∞ ∞ x [ n ] e − i ω n {\displaystyle X(\omega )=\sum _{n=-\infty }^{\infty }x[n]\,e^{-i\omega n}}
名称が暗に示している通り、{x[n]} は連続時間関数 x ( t ) {\displaystyle x(t)\,} の値(標本)を表している。このときの標本化間隔を T {\displaystyle T\,} としたとき、各標本の採取時刻は t = n T {\displaystyle t=nT\quad } であり、 1 / T = f s {\displaystyle 1/T=f_{s}\,} がサンプリング周波数 となる。DTFTは次の連続時間フーリエ変換 の近似である。
X ( f ) = ∫ − ∞ ∞ x ( t ) ⋅ e − i 2 π f t d t {\displaystyle X(f)=\int _{-\infty }^{\infty }x(t)\cdot e^{-i2\pi ft}\,dt}
標本化定理 で示されるように、次のくし型関数 の変調に x ( n T ) {\displaystyle x(nT)\,} の値を使用すると見ることもできる。
Δ T ( t ) = T ∑ n = − ∞ ∞ δ ( t − n T ) {\displaystyle \Delta _{T}(t)=T\sum _{n=-\infty }^{\infty }\delta (t-nT)\ }
その場合得られる関数のフーリエ変換は、 f s {\displaystyle f_{s}\,} の間隔で重ね合わせられた X ( f ) {\displaystyle X(f)\,} のコピーの総和である。
X T ( f ) = ∑ k = − ∞ ∞ X ( f − k f s ) {\displaystyle X_{\mathrm {T} }(f)=\sum _{k=-\infty }^{\infty }X(f-{kf_{s}})}
以下で示すように、これは周期関数のDTFTである。そして、ある明白な条件下で、k=0 の項はほとんど全く他の項からの歪み(折り返し雑音 )が観測されない。変調されたくし型関数は次の通りである。
x T ( t ) = T ∑ n = − ∞ ∞ x ( n T ) δ ( t − n T ) {\displaystyle x_{\mathrm {T} }(t)=T\sum _{n=-\infty }^{\infty }x(nT)\,\delta (t-nT)}
したがって、
X T ( f ) {\displaystyle X_{\mathrm {T} }(f)\,} = ∫ − ∞ ∞ [ T ∑ n = − ∞ ∞ x ( n T ) δ ( t − n T ) ] e − i 2 π f t d t {\displaystyle =\int _{-\infty }^{\infty }\left[T\sum _{n=-\infty }^{\infty }x(nT)\,\delta (t-nT)\right]e^{-i2\pi ft}\,dt} = ∑ n = − ∞ ∞ T ⋅ x ( n T ) ∫ − ∞ ∞ [ δ ( t − n T ) ⋅ e − i 2 π f t ] d t {\displaystyle =\sum _{n=-\infty }^{\infty }T\cdot x(nT)\int _{-\infty }^{\infty }\left[\delta (t-nT)\cdot e^{-i2\pi ft}\right]\,dt} = ∑ n = − ∞ ∞ T ⋅ x ( n T ) ⋅ e − i 2 π f n T {\displaystyle =\sum _{n=-\infty }^{\infty }T\cdot x(nT)\cdot e^{-i2\pi fnT}\,}
このとき次が成り立つ。
x [ n ] = T ⋅ x ( n T ) {\displaystyle x[n]=T\cdot x(nT)\,} ω = 2 π f T = 2 π ( f f s ) {\displaystyle \omega =2\pi fT=2\pi \left({\frac {f}{f_{s}}}\right)\,}
つまり X T ( f ) {\displaystyle X_{\mathrm {T} }(f)\,} は X ( ω ) {\displaystyle X(\omega )\,} と同じである。
ここで、 f {\displaystyle f\,} は通常の周波数(単位時間当たりの周期数)であり、 f s {\displaystyle f_{s}\,} はサンプリング周波数(単位時間当たりの標本数)であるから、 f / f s {\displaystyle f/f_{s}\,} は「標本当たりの周期数」を意味する。これを正規化周波数(normalized frequency)と呼ぶ。上で定義されている ω {\displaystyle \omega \,} も正規化周波数だが、こちらの単位は「標本当たりのラジアン」である。正規化周波数は、期間 2 π {\displaystyle 2\pi } の周期を持つ関数 X ( ω ) {\displaystyle X(\omega )} で表されるという特徴がある。そのため、逆変換では 2 π {\displaystyle 2\pi } の期間のみを評価すればよい。
x ( t ) {\displaystyle x(t)\,} の標本化により、そのスペクトル(DTFT)は周期的になる。通常の周波数 f {\displaystyle f\,} (単位時間当たりの周期数)では、その周期はサンプリング周波数 f s {\displaystyle f_{s}\,} である。正規化周波数 f / f s {\displaystyle f/f_{s}\,} (標本当たりの周期数)では、その周期は 1 {\displaystyle 1} である。 ω {\displaystyle \omega \,} (標本当たりのラジアン)では、その周期は 2 π {\displaystyle 2\pi } であり、 e − i ω n {\displaystyle e^{-i\omega n}\,} の周期性に直接従う。すなわち、
e − i ( ω + 2 π k ) n = e − i ω n {\displaystyle e^{-i(\omega +2\pi k)n}=e^{-i\omega n}\,}
であり、ここで n と k は任意の整数である。したがって、
X ( ω + 2 π k ) = X ( ω ) {\displaystyle X(\omega +2\pi k)=X(\omega )\,}
となる。DTFT X ( ω ) {\displaystyle X(\omega )\,} の別の表記 X ( e i ω ) {\displaystyle X(e^{i\omega })\,} は次の特徴がある。
周期性を強調している。 DTFT とその元になっている x ( t ) {\displaystyle x(t)\,} のフーリエ変換 X ( f ) {\displaystyle X(f)\,} (または X ( ω ) {\displaystyle X(\omega )\,} )との違いを明確化する。 DTFT とZ変換 との関係を強調している。 ただし、実際に周波数領域の手法でDTFTを形成したとき、その類似性は不明瞭となる。したがって、下表でも使われている通り X ( ω ) {\displaystyle X(\omega )\,} の記法もよく使われている。
以下の逆変換は離散時間のシーケンスを回復させる。
x [ n ] {\displaystyle x[n]\,} = 1 2 π ∫ − π π X ( ω ) ⋅ e i ω n d ω {\displaystyle ={\frac {1}{2\pi }}\int _{-\pi }^{\pi }X(\omega )\cdot e^{i\omega n}\,d\omega } = T ∫ − 1 2 T 1 2 T X T ( f ) ⋅ e i 2 π f n T d f {\displaystyle =T\int _{-{\frac {1}{2T}}}^{\frac {1}{2T}}X_{T}(f)\cdot e^{i2\pi fnT}\,df}
積分区間はDTFTの一周期全体であり、これは {x[n]} の標本群がDTFTのフーリエ級数 展開の係数でもあることを示している。無限区間の積分では、この変換が通常のフーリエ変換 の逆変換となり、ディラックのインパルスも復元する。すなわち次のようになる。
∫ − ∞ ∞ X T ( f ) ⋅ e i 2 π f t d f = x T ( t ) = ∑ n = − ∞ ∞ x [ n ] ⋅ δ ( t − n T ) {\displaystyle \int _{-\infty }^{\infty }X_{T}(f)\cdot e^{i2\pi ft}\,df\ =\ x_{T}(t)\ =\ \sum _{n=-\infty }^{\infty }x[n]\cdot \delta (t-nT)}
DTFTの数値的評価では、有限長のシーケンスが明らかに必要とされる。実際、長いシーケンスは矩形窓関数 で修正され、次のようになる。
X ( ω ) = ∑ n = 0 L − 1 x [ n ] e − i ω n {\displaystyle X(\omega )=\sum _{n=0}^{L-1}x[n]\,e^{-i\omega n}\,} , ここで L {\displaystyle L\,} は修正されたシーケンス長である。
これは、修正前のシーケンスのスペクトルの便利な近似として使われる。これによって解像度が悪くなるが、L を増やすことで改善される。
X ( ω ) {\displaystyle X(\omega )} を (2π) の一周期上に一様に分布する任意の ( N ) {\displaystyle (N)} 個の周波数で評価するのが一般的である。
ω k = 2 π N k {\displaystyle \omega _{k}={\frac {2\pi }{N}}k\,} , ここで k = 0 , 1 , … , N − 1 {\displaystyle k=0,1,\dots ,N-1\,}
これにより、次が得られる。
X [ k ] = X ( ω k ) = ∑ n = 0 L − 1 x [ n ] e − i 2 π k N n {\displaystyle X[k]=X(\omega _{k})=\sum _{n=0}^{L-1}x[n]\,e^{-i2\pi {\frac {k}{N}}n}}
N ≥ L {\displaystyle N\geq L\,} であるとき、次のようにも表せる。
このように変形すると、 X [ k ] {\displaystyle X[k]\,} のシーケンスは離散フーリエ変換 (DFT)となる。 N {\displaystyle N} はDTFTを標本化する際の解像度と定義され、 L {\displaystyle L} はDTFT自体の固有解像度である。したがって、通常これらはほぼ同じ値である。 N > L {\displaystyle N>L} を選択するのが一般的だが、値がゼロの項を総和に含める理由は、DFTを計算する高速フーリエ変換 アルゴリズムを利用できるためである。そのことを強調する場合、「ゼロパディングDFT」あるいは「内挿DFT」と呼ぶ。しかし、値がゼロの項を使わずに単純に計算しても全く同じDFTが得られる。 N < L {\displaystyle N<L} の場合のDTFTも計算でき、その場合はDFTとは等価ではない。
N > L {\displaystyle N>L} が一般的であることを示すため、次のシーケンスを考える。
x [ n ] = e i 2 π 1 8 n {\displaystyle x[n]=e^{i2\pi {\frac {1}{8}}n}} , ここで L = 64 {\displaystyle L=64}
下に示した2つの図は、ラベルで示される通り、異なるサイズのDFTを図示したものである。どちらの場合も支配的な周波数成分は f = 1 8 = 0.125 {\displaystyle f={\begin{matrix}{\frac {1}{8}}\end{matrix}}=0.125\,} である。右の図に表れているパターンは、 L = 64 {\displaystyle L=64} の矩形窓関数のスペクトル漏れ である。左側の図がこのようになっているのは、右の図のゼロと交差している点と標本化した点が重なっている結果である。これは、有限長シーケンスのDTFTというよりも、無限に続く正弦波のような印象を与える。このような図になる原因は、矩形窓関数の使用と、64個の標本あたり8個という整数個の周期になるような周波数を選択しているためである( 1 8 = 8 64 {\displaystyle {\begin{matrix}{\frac {1}{8}}\end{matrix}}={\begin{matrix}{\frac {8}{64}}\end{matrix}}} )。
L = 64 および N = 64 についての DFT L = 64 および N = 256 についての DFT
基本的にDTFTはフーリエ級数 の逆であり、後者は継続的だが、周期的入力と離散スペクトルを持っている。これら2つの変換の応用は全く異なる。
DFT と DTFT は、標準の連続フーリエ変換を離散的データに適用しようとして自然に生まれたと見ることもできる。そういった観点では、単に入力形式が異なるだけで、変換そのものは同じである。
入力が離散的なら、フーリエ変換は DTFT となる。 入力が周期的なら、フーリエ変換はフーリエ級数となる。 入力が離散的かつ周期的なら、フーリエ変換は DFT となる。 DTFT はZ変換 の特殊ケースである。両側Z変換は次のように定義される。
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n {\displaystyle X(z)=\sum _{n=-\infty }^{\infty }x[n]\,z^{-n}}
DTFT は z = e i ω {\displaystyle z=e^{i\omega }\,} の場合である。このとき | e i ω | = 1 {\displaystyle |e^{i\omega }|=1\,} なので、これは複素平面 での単位円 付近でのZ変換 の評価である。
下表は典型的な変換を示したものである。
n {\displaystyle n\!} は離散時間領域(標本)を表現する整数である。 ω {\displaystyle \omega \!} は ( − π , π ) {\displaystyle (-\pi ,\ \pi )} の範囲内の実数であり、連続角周波数(標本当たりのラジアン)を表す。 それ以外 ( | ω | > π ) {\displaystyle (|\omega |>\pi \,)} の変換は、 X ( ω + 2 π k ) = X ( ω ) {\displaystyle X(\omega +2\pi k)=X(\omega )\,} で定義される。 u [ n ] {\displaystyle u[n]\!} は離散時間単位ステップ関数 である。 sinc ( t ) {\displaystyle \operatorname {sinc} (t)\!} は正規化Sinc関数 である。 δ ( ω ) {\displaystyle \delta (\omega )\!} はディラックのデルタ関数 である。 δ [ n ] {\displaystyle \delta [n]\!} はクロネッカーのデルタ δ n , 0 {\displaystyle \delta _{n,0}\!} である。 rect ( t ) {\displaystyle \operatorname {rect} (t)} は、任意の実数値 t に関する次のような矩形関数 である。 r e c t ( t ) = ⊓ ( t ) = { 0 if | t | > 1 2 1 2 if | t | = 1 2 1 if | t | < 1 2 {\displaystyle \mathrm {rect} (t)=\sqcap (t)={\begin{cases}0&{\mbox{if }}|t|>{\frac {1}{2}}\\[3pt]{\frac {1}{2}}&{\mbox{if }}|t|={\frac {1}{2}}\\[3pt]1&{\mbox{if }}|t|<{\frac {1}{2}}\end{cases}}} tri ( t ) {\displaystyle \operatorname {tri} (t)} は任意の実数値 t に関する次のような三角形関数 である。 tri ( t ) = ∧ ( t ) = { 1 + t ; − 1 ≤ t ≤ 0 1 − t ; 0 < t ≤ 1 0 otherwise {\displaystyle \operatorname {tri} (t)=\land (t)={\begin{cases}1+t;&-1\leq t\leq 0\\1-t;&0<t\leq 1\\0&{\mbox{otherwise}}\end{cases}}} 時間領域 x [ n ] {\displaystyle x[n]\,} 周波数領域 X ( ω ) {\displaystyle X(\omega )\,} 備考 δ [ n ] {\displaystyle \delta [n]\!} 1 {\displaystyle 1\!} δ [ n − M ] {\displaystyle \delta [n-M]\!} e − i ω M {\displaystyle e^{-i\omega M}\!} M は整数 ∑ m = − ∞ ∞ δ [ n − M m ] {\displaystyle \sum _{m=-\infty }^{\infty }\delta [n-Mm]\,} ∑ m = − ∞ ∞ e − i ω M m = 1 M ∑ k = − ∞ ∞ δ ( ω 2 π − k M ) {\displaystyle \sum _{m=-\infty }^{\infty }e^{-i\omega Mm}={\frac {1}{M}}\sum _{k=-\infty }^{\infty }\delta \left({\frac {\omega }{2\pi }}-{\frac {k}{M}}\right)\,} M は整数 u [ n ] {\displaystyle u[n]\!} 1 1 − e − i ω {\displaystyle {\frac {1}{1-e^{-i\omega }}}\!} e − i a n {\displaystyle e^{-ian}\!} 2 π δ ( ω + a ) {\displaystyle 2\pi \delta (\omega +a)\,} a は実数 cos ( a n ) {\displaystyle \cos(an)\!} π [ δ ( ω − a ) + δ ( ω + a ) ] {\displaystyle \pi \left[\delta (\omega -a)+\delta (\omega +a)\right]} a は実数 sin ( a n ) {\displaystyle \sin(an)\!} π i [ δ ( ω − a ) − δ ( ω + a ) ] {\displaystyle {\frac {\pi }{i}}\left[\delta (\omega -a)-\delta (\omega +a)\right]} a は実数 r e c t [ ( n − M / 2 ) M ] {\displaystyle \mathrm {rect} \left[{(n-M/2) \over M}\right]} sin [ ω ( M + 1 ) / 2 ] sin ( ω / 2 ) e − i ω M / 2 {\displaystyle {\sin[\omega (M+1)/2] \over \sin(\omega /2)}\,e^{-i\omega M/2}} M は整数 sinc [ ( a + n ) ] {\displaystyle \operatorname {sinc} [(a+n)]} e i a ω {\displaystyle e^{ia\omega }\!} a は実数 W ⋅ sinc 2 ( W n ) {\displaystyle W\cdot \operatorname {sinc} ^{2}(Wn)\,} tri ( ω 2 π W ) {\displaystyle \operatorname {tri} \left({\omega \over 2\pi W}\right)} real number W 0 < W ≤ 0.5 {\displaystyle 0<W\leq 0.5} W ⋅ sinc [ W ( n + a ) ] {\displaystyle W\cdot \operatorname {sinc} [W(n+a)]} rect ( ω 2 π W ) ⋅ e j a ω {\displaystyle \operatorname {rect} \left({\omega \over 2\pi W}\right)\cdot e^{ja\omega }} W , a は実数 0 < W ≤ 1 {\displaystyle 0<W\leq 1} { 0 n = 0 ( − 1 ) n n elsewhere {\displaystyle {\begin{cases}0&n=0\\{\frac {(-1)^{n}}{n}}&{\mbox{elsewhere}}\end{cases}}} j ω {\displaystyle j\omega } 微分回路 フィルタとして機能する W ( n + a ) { cos [ π W ( n + a ) ] − sinc [ W ( n + a ) ] } {\displaystyle {\frac {W}{(n+a)}}\left\{\cos[\pi W(n+a)]-\operatorname {sinc} [W(n+a)]\right\}} j ω ⋅ rect ( ω π W ) e j a ω {\displaystyle j\omega \cdot \operatorname {rect} \left({\omega \over \pi W}\right)e^{ja\omega }} W ,a は実数 0 < W ≤ 1 {\displaystyle 0<W\leq 1} 1 π n 2 [ ( − 1 ) n − 1 ] {\displaystyle {\frac {1}{\pi n^{2}}}[(-1)^{n}-1]} | ω | {\displaystyle |\omega |\!} { 0 ; n odd 2 π n ; n even {\displaystyle {\begin{cases}0;&n{\mbox{ odd}}\\{\frac {2}{\pi n}};&n{\mbox{ even}}\end{cases}}} { j ω < 0 0 ω = 0 − j ω > 0 {\displaystyle {\begin{cases}j&\omega <0\\0&\omega =0\\-j&\omega >0\end{cases}}} ヒルベルト変換 C ( A + B ) 2 π ⋅ sinc [ A − B 2 π n ] ⋅ sinc [ A + B 2 π n ] {\displaystyle {\frac {C(A+B)}{2\pi }}\cdot \operatorname {sinc} \left[{\frac {A-B}{2\pi }}n\right]\cdot \operatorname {sinc} \left[{\frac {A+B}{2\pi }}n\right]} A , B は実数 C は複素数
以下の表は、一般的な離散時間フーリエ変換を示したものである。以下のような記法を用いている。
∗ {\displaystyle *\!} は、2つの信号の畳み込み を意味する。 x [ n ] ∗ {\displaystyle x[n]^{*}\!} は、関数 x[n] の複素共役 である。 ρ x y [ n ] {\displaystyle \rho _{xy}[n]\!} は、 x[n] と y[n] の相関 を表す。 最初の列は属性の説明、第二列は時間領域での関数表現、第三列は周波数領域でのスペクトル表現である。
特性 時間領域 x [ n ] {\displaystyle x[n]\!} 周波数領域 X ( ω ) {\displaystyle X(\omega )\!} 備考 線形性 a x [ n ] + b y [ n ] {\displaystyle ax[n]+by[n]\!} a X ( e i ω ) + b Y ( e i ω ) {\displaystyle aX(e^{i\omega })+bY(e^{i\omega })\!} 時間におけるシフト x [ n − k ] {\displaystyle x[n-k]\!} X ( e i ω ) e − i ω k {\displaystyle X(e^{i\omega })e^{-i\omega k}\!} k は整数 周波数におけるシフト(変調) x [ n ] e i a n {\displaystyle x[n]e^{ian}\!} X ( e i ( ω − a ) ) {\displaystyle X(e^{i(\omega -a)})\!} a は実数 時間逆転 x [ − n ] {\displaystyle x[-n]\!} X ( e − i ω ) {\displaystyle X(e^{-i\omega })\!} 時間共役 x [ n ] ∗ {\displaystyle x[n]^{*}\!} X ( e − i ω ) ∗ {\displaystyle X(e^{-i\omega })^{*}\!} 時間逆転と共役 x [ − n ] ∗ {\displaystyle x[-n]^{*}\!} X ( e i ω ) ∗ {\displaystyle X(e^{i\omega })^{*}\!} 周波数における微分 n i x [ n ] {\displaystyle {\frac {n}{i}}x[n]\!} d X ( e i ω ) d ω {\displaystyle {\frac {dX(e^{i\omega })}{d\omega }}\!} 周波数における積分 i n x [ n ] {\displaystyle {\frac {i}{n}}x[n]\!} ∫ − π ω X ( e i ϑ ) d ϑ {\displaystyle \int _{-\pi }^{\omega }X(e^{i\vartheta })d\vartheta \!} 時間における畳み込み x [ n ] ∗ y [ n ] {\displaystyle x[n]*y[n]\!} X ( e i ω ) ⋅ Y ( e i ω ) {\displaystyle X(e^{i\omega })\cdot Y(e^{i\omega })\!} 時間における乗算 x [ n ] ⋅ y [ n ] {\displaystyle x[n]\cdot y[n]\!} 1 2 π X ( e i ω ) ∗ Y ( e i ω ) {\displaystyle {\frac {1}{2\pi }}X(e^{i\omega })*Y(e^{i\omega })\!} 相関 ρ x y [ n ] = x [ − n ] ∗ ∗ y [ n ] {\displaystyle \rho _{xy}[n]=x[-n]^{*}*y[n]\!} R x y ( ω ) = X ( e i ω ) ∗ ⋅ Y ( e i ω ) {\displaystyle R_{xy}(\omega )=X(e^{i\omega })^{*}\cdot Y(e^{i\omega })\!}
フーリエ変換は、実数成分と虚数成分に分離できる。
X ( e i ω ) = X R ( e i ω ) + i X I ( e i ω ) {\displaystyle X(e^{i\omega })=X_{R}(e^{i\omega })+iX_{I}(e^{i\omega })\!}
また、偶数成分と奇数成分に分離できる。
X ( e i ω ) = X E ( e i ω ) + X O ( e i ω ) {\displaystyle X(e^{i\omega })=X_{E}(e^{i\omega })+X_{O}(e^{i\omega })\!}
時間領域 x [ n ] {\displaystyle x[n]\!} 周波数領域 X ( e i ω ) {\displaystyle X(e^{i\omega })\!} x ∗ [ n ] {\displaystyle x^{*}[n]\!} X ∗ ( e − i ω ) {\displaystyle X^{*}(e^{-i\omega })\!} x ∗ [ − n ] {\displaystyle x^{*}[-n]\!} X ∗ ( e i ω ) {\displaystyle X^{*}(e^{i\omega })\!}
Alan V. Oppenheim and Ronald W. Schafer (1999年). Discrete-Time Signal Processing (2nd Edition ed.). Prentice Hall Signal Processing Series. ISBN 0-13-754920-2 William McC. Siebert (1986年). Circuits, Signals, and Systems . MIT Electrical Engineering and Computer Science Series. Cambridge, MA: MIT Press Boaz Porat. A Course in Digital Signal Processing . John Wiley and Sons. pp. pp. 27-29 and 104-105. ISBN 0-471-14961-6