next up previous contents
次へ: 高速フーリェ変換 上へ: フーリェ変換 戻る: フーリェ変換   目次

離散フーリェ変換

スペクトル解析において,音声波形を周波数分解する方法として離散フーリエ変換 (DFT:Discrete Fourier Transform)がある.フーリェ変換とは,ある任意の時 系列信号を周波数領域に変換し,表したものである.信号波形を一定時間間隔で サンプリングし,サンプリングによって得られた時系列データをある任意のフレー ム長ごとに分解する.

つまりDFTは,フーリェ級数展開において,連続周期信号をサンプリングし,離散周期信号に置き換えたものである.

たとえば,整数をNとしてサンプリング周期T,連続周期信号をF,入力信号をx(t),周期NTの関数を $ \dot{x}(t)$ とおく と,デルタ関数$ \delta(t)$ を用いると,次の式が表せる.

$\displaystyle \dot{x}(t) = \sum_{n=0}^{N-1} F^{-1}x(nT)\delta(t - nT)$ (7)

ここで,1周期分を考えれば, $ \dot{x}(t)$ は離散信号 $ x_0,x_1,x_2,\cdots,x_{N^1}$ の関数となる.

次に,関数 $ \dot{x}(t)$ を1周期分について,複素フーリェ級数展開する. 小さな整数を$ \epsilon$ とすると,次の式を求めることができる.

$\displaystyle c_k = \frac{1}{NT}\int_{\epsilon}^{NT- \epsilon} x(nT) e^{-j2\pi kf_0 t} dt = \frac{1}{NT}\sum_{n=0}^{N-1}x(nT)e^{-j\frac{2\pi kn}{N}}$ (8)

次に,求めた複素フーリェ級数展開の係数 $ c_k(k = 0,1,2,\cdots,N-1$ )につい て,$ c_{k+N}$ を求める.

$\displaystyle c_{k+N} = \frac{1}{N}\sum_{n=0}^{N-1} x(nT) e^{-j\frac{2\pi kn}{N}} e^{-j2\pi n} = c_k$ (9)

よって,複素フーリェ級数展開の係数$ c_k$ ( $ k=0,1,2,\cdots,N-1$ )にもNの周期 性があることがわかる.

(9)式より,

$\displaystyle c_k= \frac{1}{N}\sum_{n=0}^{N-1} x(nT) e^{-j\frac{2\pi kn}{N}} e^...
...rac{1}{N}\sum_{n=0}^{N-1} x(nT)[\cos(\frac{2\pi}{N}kn) - j\sin\frac{2\pi}{N}kn]$ (10)

となる. パワースペクトルは,(10)式の$ c_k$ の2乗となる.

(10)式の実数部を $ X_sre(n) = \cos(\frac{2\pi}{N}kn)$ ,虚数部を $ X_sim(n)=\sin(\frac{2\pi}{N}kn)$ と定義する.

位相スペクトル$ \phi(n)$ は,次式で求められる.

$\displaystyle \phi(n) = tan^{-1}(\frac{X_sim(n)}{X_sre(n)})$ (11)

一方,離散周期信号は,$ c_k$ を用いて次に表す.

$\displaystyle x(nT) = \sum_{k=0}^{N-1} c_ke^{j\frac{2\pi kn}{N}}$ (12)

以上より,離散フーリェ変換に関する次の式を導くことができる.

$\displaystyle X_k = \sum_{n=0}^{N-1} x_n e^{-j\frac{2\pi kn}{N}}$ (13)

$\displaystyle x_n = \frac{1}{N} \sum_{k=0}^{N-1} X_ke^{j\frac{2\pi kn}{N}}$ (14)

離散フーリェ変換は離散周期信号と離散周期スペクトルを結びつける関係式であ る.

本研究では,パワースペクトルと位相スペクトルを使用する.パワースペクトル と位相スペクトルは,DFTを用いて求めることができる. 以下に,伝達関数$ h(t)$ を離散フーリェ変換するときの,標本化の流れを示す[3].

図1において,左図の関数h(t)をフーリェ変換したものが右図となることを示している.

図 1: 関数$ h(t)$ をフーリェ変換した$ H(f)$
\includegraphics{dft_a.eps}

図2において,左図は周期Tの単位インパルス列をを示している. インパルス列とは,サンプリングの周期だけずれており,時点における入力信号 の大きさにより変調される. 左図の単位インパルス列をフーリェ変換すると,右図となる. 左図は周期がTなので,サンプリング定理より, $ \frac{1}{T}$ ごとにスペクトルが 出ている.

図 2: 単位インパルス列と単位インパルス列をフーリェ変換した図
\includegraphics{dft_b.eps}

図3において,左図は図1の左図(関数h(t))と図2の左図(単位インパルス列)を掛 け合わせたものである.

ここで,図1は連続時間信号であるのに対して,図3は離散時間信号となっている. 左図をフーリェ変換したものが右図である.右図において,信号が周期 $ \frac{1}{2\pi}$ で繰り返されている.

図 3: 標本化された関数 $ h(t)\delta _0(t)$ およびそのフーリェ変換
\includegraphics{dft_c.eps}

図4において,左図は単位インパルス関数を示しいる.単位インパルス関数とは, 時間軸(ここでは横軸)において,t=0で無限大の値をとり,それ以外の時間tでは 0で,その面積は1となる.ここで,$ T_0$ を0に近づけると時間軸上の0地点にに おいて,実軸上に1の値をとる.よって,左図のインパルス関数をフーリェ変換 すると,時間軸0においてパワーが最大値となっている.窓関数では,この定理 が使用されている.

図 4: 打ち切り関数(truncation  function)として用いられる方形関数とそ のフーリェ変換
\includegraphics{dft_d.eps}

図1においての左図の入力関数h(t)と図4のインパルス関数を掛け合わせると,図 5の左図となる.単位インパルス関数は,入力関数の実数部分を階段状に近似す る性質がある.よって,左図をフーリェ変換したものが右図に示されているが, 階段状になっていることがわかる.

図 5: $ h(t)$ を表すインパルス関数の無限列と打ち切り関数との積
\includegraphics{dft_e.eps}

周波数領域を$ T_0$ での単位インパルス列を左図で示している.左図のインパル ス列をフーリェ変換すると右図のようになる.原理は図2と同様である.

図 6: 周波数領域の単位インパルス列
\includegraphics[width=9cm,clip]{dft_f.eps}

図7において,サンプリング周波数をNとすると,図1の左図の関数h(t)と図6の左図の単位インパルス列を掛け合わせたものを左図で示している.

左図をフーリェ変換すると,右図となる. 図7において,左図と右図は,周期Nで信号が繰り返されているのがわかる.

図 7: 元の時間関数がN個の標本で近似されたもの
\includegraphics{dft_g.eps}


next up previous contents
次へ: 高速フーリェ変換 上へ: フーリェ変換 戻る: フーリェ変換   目次
平成21年3月17日