离散傅里叶变换(DFT)基础
1. DFT 的定义与物理意义
连续时间傅里叶变换定义为:
$$X(f) = \int_{-\infty}^{+\infty} x(t) e^{-j2\pi f t} dt$$
离散傅里叶变换(DFT)由连续傅里叶变换离散化得到。对于长度为 $N$ 的时域离散信号序列 $x(n)$,其 DFT 为:
$$X(k) = \sum_{n=0}^{N-1} x(n) e^{-j\frac{2\pi kn}{N}}, \quad k = 0, 1, \dots, N-1$$
其中:
- $N$:时域离散信号的点数。
- $n$:时域离散信号序号,$n \in {0, 1, \dots, N-1}$。
- $k$:频域信号序号,$k \in {0, 1, \dots, N-1}$。
DFT 输入为 $N$ 个时域离散样本,输出为 $N$ 个复数值频域样本。利用欧拉公式 $e^{-j\omega} = \cos\omega - j\sin\omega$,DFT 可展开为实部虚部形式:
$$X(k) = \sum_{n=0}^{N-1} x(n) \left[ \cos\left(\frac{2\pi kn}{N}\right) - j\sin\left(\frac{2\pi kn}{N}\right) \right]$$
这意味着每个频域点 $X(k)$ 本质上是时域信号 $x(n)$ 与对应频率的余弦和正弦基函数做内积(加权求和)。
实部与虚部的规范表述
| 组成部分 | 表达式 | 说明 |
|---|---|---|
| 实部 | $\operatorname{Re}{X(k)} = \sum_{n=0}^{N-1} x(n)\cos\left(\frac{2\pi kn}{N}\right)$ | 时域样本对余弦基函数的加权求和 |
| 虚部 | $\operatorname{Im}{X(k)} = -\sum_{n=0}^{N-1} x(n)\sin\left(\frac{2\pi kn}{N}\right)$ | 时域样本对正弦基函数的加权求和(带负号) |
注意:$k$ 与 $n$ 取值范围相同,但物理意义截然不同。$k$ 固定、$n$ 遍历时,求得单一频域点 $X(k)$ 的值;$k$ 取遍 $0, \dots, N-1$ 时,可得到完整的频谱。
2. DFT 实例分析
设时域连续信号为: $$x(t) = \sin(2\pi \cdot 1000 \cdot t) + 0.5\sin\left(2\pi \cdot 2000 \cdot t + \frac{3\pi}{4}\right)$$
以采样频率 $f_s = 8000 \text{ Hz}$ 采样,采样周期 $T_s = 1/8000 \text{ s}$,得到离散信号: $$x(n) = \sin\left(\frac{2\pi n}{8}\right) + 0.5\sin\left(\frac{4\pi n}{8} + \frac{3\pi}{4}\right)$$
取 $N=8$,即 $n = 0, 1, \dots, 7$,得到离散样本: $$x(0)=0.3535, x(1)=0.3535, x(2)=0.6464, x(3)=1.0607, x(4)=0.3535, x(5)=-1.0607, x(6)=-1.3535, x(7)=-0.3535$$
计算得到的 DFT 结果为: $$X(0)=0.0-j0.0, X(1)=0.0-j4.0, X(2)=1.414+j1.414, X(3)=0.0+j0.0,$$ $$X(4)=0.0-j0.0, X(5)=0.0-j0.0, X(6)=1.414-j1.414, X(7)=0.0+j4.0$$
结果观察
- 共轭对称性:观察到 $|X(5)| = |X(3)|$, $|X(6)| = |X(2)|$, $|X(7)| = |X(1)|$。这符合 DFT 的共轭对称性 $X(m) = X^*(N-m)$。受此约束,后 $N/2-1$ 个样本存在信息冗余,有效输出可视为 $N/2+1$ 个独立复数。
- 物理含义:序号 $m$ 对应信号在 $N$ 个点内包含 $m$ 个周期。第 $m$ 根谱线对应的频率为 $f_m = m \cdot \frac{f_s}{N}$。本例中 $m=1 \Rightarrow f_1=1000 \text{ Hz}$,$m=2 \Rightarrow f_2=2000 \text{ Hz}$。




