背景
短形パルスのフーリエ変換はsinc関数と呼ばれる $\sin(x)/x$ で表現できるが、離散フーリエ変換の場合は、$\sin(Nx)/\sin(x)$ のように sinc 関数にはならない理由を疑問に思った or 理由を忘れた人向け。
離散短形パルスの離散フーリエ変換の式
参考文献に notation は従う($\Omega$はkをする)と、n = -q,...,0,,,q で 1 となる短形パルスの離散フーリエ変換は、
y(k) = \Sigma_{n=-q}^{q} \exp(-jnk)
とかける。実直に計算すると、
y(k) = \frac{\sin((q+1/2)k)}{ \sin(k/2)}
となる。式変形のコツは、$ 1- \exp(ix)$ を見たときに、$ \exp(ix/2)$ でくくり出して、
$ \exp(ix/2) \times ( \exp(-ix/2) - \exp(ix/2) ) = \exp(ix/2) \times -2i \sin(x/2)$ と変形すること。
離散短形パルスのフーリエ変換と離散フーリエ変換の比較
フーリエ変換で得られる sinc関数 (=$\sin(x)/x$)と、離散フーリエ変換で得られる$\sin(Nx)/\sin(x)$ を図を書いて比較してみよう。gnuplot を使うと下記のような絵が得られる。
>gnuplot
gnuplot> g(x,a) = sin( (a+0.5)*x ) / (0.5*x)
gnuplot> f(x,a) = sin( (a+0.5)*x ) / sin(0.5*x)
gnuplot> set samples 10000
gnuplot> plot f(x,10), g(x,10)
フーリエ変換は、無限に長い時系列データを仮定して、そのある時間だけに短形パルスがあると考えるので、周波数の高い成分は存在しない。
一方の離散フーリエ変換では、サンプリングが離散化されているため、周波数が高い波が現実的なサンプリングによって見えなくなっている可能性が残るため、どこまでも高い周波数成分が周期的にずっと存在することを許してしまう。