# 傅立叶变换-08

当时间取样值是 x0,x1,,xN1x_0, x_1, \cdots, x_{N-1} 时,第 kk 个频率的值 XkX_k 就是

Xk=1Nn=0N1xnei2knπ/N X_k = \frac1N \sum_{n=0}^{N-1} x_n e^{-i2kn\pi/N}

反过来,假设第 kk 个频率的值是 XkX_k,因为它的转速是 kk,而取样点在 0,1/N,2/N,,(N1)/N0, 1/N, 2/N, \cdots, (N-1)/N,所以第 nn 个取样值 (0n<N)(0\le n<N) 表示经过 n/Nn/N 的时间,所以转了 nk/Nnk/N 圈,那麽它的位置在 Xkei2πnk/NX_k e^{i2\pi nk/N} (XkX_k 是振幅)。那我们总共有 NN 个频率,全部相加,就可以得到全部合成的点 xnx_n,其结果为

xn=n=0N1Xkei2knπ/N x_n = \sum_{n=0}^{N-1} X_k e^{i2kn\pi/N}

在我们的模拟程式中,最后再把 xnx_n 取实数就是取样点的值了。

上面两个式子,就是离散傅立叶变换 (Discrete Fourier Transform, DFT)。

如果我们知道时间的取样值,就可以计算频率的各个成份;
反过来,如果我们知道频率的各个成份,也可以计算时间的取样值。


練習

  1. 假设时间取样值为 1 1 1 1,则频率成份应该为何?试着先用公式算看看,然后再用模拟图检查看看是否相同。

  2. 假设频率成份为 1 1 1 1,则时间取样值应该为何?试着先用公式算看看,然后再用模拟图检查看看是否相同。