# 离散时间傅里叶(DTFT)

\quad 傅里叶变化是现实世界中时域与频域之间的转换,连续信号的傅里叶变化公式为:

X(f)=+x(t)ei2πftdt(1)X(f) = \int^{+\infin}_{-\infin} x(t) e^{-i2\pi ft} dt \tag{1}

在实际操作中,我们无法完整地提取出连续信号,而是通过采样和测量将其转化为离散信号,此时连续的傅里叶变化就变为离散时间的傅里叶变化(DTFT),具体手续如下:
\quad 首先,我们对现实中的信号 x(t)x(t) 进行采集和测量,测量的时间间隔为 Δt\Delta t。那么我们采得的信号函数 xd(t)x_d(t) 为:

xd(t)=x(t)n=+δ(tnΔt)(2)x_d(t) = x(t) \sum_{n=-\infin}^{+\infin} \delta(t-n\Delta t) \tag{2}

其中

δ(tnΔt)={1,t=nΔt0,tnΔt(3)\delta(t-n\Delta t) = \begin{cases} 1 , \quad t = n\Delta t \\ 0 , \quad t \ne n\Delta t \end{cases} \tag{3}

(2)(2) 式代入 (1)(1) 式进行傅里叶变化,可得:

X(f)=+xd(t)ei2πftdt=n=++x(t)δ(tnΔt)ei2πftdtn=+x(nΔt)ei2πfnΔtΔt(4)\begin{aligned} X(f) &= \int_{-\infin}^{+\infin} x_d(t) e^{-i2\pi ft} dt \\ &= \sum_{n=-\infin}^{+\infin} \int_{-\infin}^{+\infin} x(t) \delta(t-n\Delta t) e^{-i2\pi ft} dt \\ &\approx \sum_{n=-\infin}^{+\infin} x(n\Delta t) e^{-i2\pi fn\Delta t} \Delta t \end{aligned} \tag{4}

采样,或者说采集数据,本身就是对某种自然规律在时间轴上的离散化映射。对时间进行离散后,肯定会损失一部分信息。香农采样定理告诉我们,在频域上看,对于周期信号,只有频率小于或等于采样频率两倍的信号才不会丢失频率信息。

# 离散傅里叶(DFT)

\quad 我们测量一个信号,不可能无限时间地去测量。假设我们只测量了 NN 个点,这就相当于我们对信号函数乘上了一个矩形窗函数的截断,即:

x(nΔt)={x(nΔt),n=0,1,N10,n=else(5)x(n\Delta t) = \begin{cases} x(n\Delta t) , \quad n=0,1,\cdots N-1 \\ 0, \quad n=else \end{cases} \tag{5}

这样 (4)(4) 式就变为:

X(f)=Δtn=0N1x(nΔt)ei2πfnΔt(6)X(f) = \Delta t \sum_{n=0}^{N-1} x(n\Delta t) e^{-i2\pi fn\Delta t} \tag{6}

但在计算机计算中,我们不能且不需要计算一个连续的频域函数,我们要对频域也进行离散计算。我们往往将频域离散为:

f=kNdftfs(7)f = \frac{k}{N_{dft}} f_s \tag{7}

其中 fs=1/Δtf_s=1/\Delta t 为采样频率;如果 NdftN_{dft} 是偶数,则 k=[Ndft2,,1,0,1,,Ndft21]k=[-\frac{N_{dft}}{2},\cdots,-1,0,1,\cdots,\frac{N_{dft}}{2}-1],如果 NdftN_{dft} 是奇数,则 k=[Ndft12,,1,0,1,,Ndft121]k=[-\frac{N_{dft}-1}{2},\cdots,-1,0,1,\cdots,\frac{N_{dft}-1}{2}-1];为了不损失信息,需要 NdftNN_{dft}\ge N,即 NdftN_{dft} 要大于或等于采用数,大多时候我们取 Ndft=NN_{dft}=N
\quad(7)(7) 代入 (6)(6) 即可得:

X(k)=Δtn=0N1x(nΔt)ei2πnkNdft(11)X(k) = \Delta t\sum_{n=0}^{N-1} x(n\Delta t) e^{-i2\pi \frac{nk}{N_{dft}}} \tag{11}

上式就是离散傅里叶变换(DFT),即对时间截断并离散,又对频率离散的傅里叶。个人理解:为何频率要以这种方式离散?这是一种约定成熟,或者是这种离散在计算机中有快速计算的方法(FFT 算法)。