4. 离散傅里叶变换(DFT)核心原理

连续傅里叶变换(CFT)处理的是定义在连续时间轴上的信号,其频谱也是连续的。但计算机只能处理有限长、离散的序列,因此必须完成两次“离散化”:时间轴离散化得到离散时间傅里叶变换(DTFT),频率轴再离散化才得到DFT。理解这两步的推导逻辑,是正确解读频谱分析结果的前提。

第一步:时域采样——从连续信号到离散序列

设连续信号为 x(t),以采样间隔 Ts(采样频率 fs = 1/Ts)采样,得到序列 x[n] = x(nTs)。采样在频域的效果是频谱以 fs 为周期进行周期延拓。若原信号最高频率为 fmax,根据奈奎斯特准则必须满足 fs > 2fmax,否则延拓后的频谱会发生混叠,高频成分折叠到低频区域,后续任何处理都无法恢复。这一步决定了频谱分析的有效频率上限为 fs/2。

采样后的DTFT为 X(ejω) = Σn=-∞∞ x[n]e-jωn,其中 ω 是数字角频率,单位为 rad/sample,与物理频率的关系为 ω = 2πf/fs。DTFT 在 ω 上连续且以 2π 为周期,仍然无法直接计算。

第二步:频域采样——从DTFT到DFT

对DTFT在 [0, 2π) 区间内等间隔取 N 个点,即令 ωk = 2πk/N(k = 0, 1, …, N-1),得到DFT定义式:

X[k] = Σ(n=0→N-1) x[n] · e^(-j2πkn/N),  k = 0,1,…,N-1
x[n] = (1/N) Σ(k=0→N-1) X[k] · e^(j2πkn/N),  n = 0,1,…,N-1

频域采样的对偶效果是:时域序列被以 N 为周期进行周期延拓。这意味着DFT隐含地将有限长序列视为周期序列的一个主值周期。这一“周期性假设”是DFT最重要的性质之一,也是频谱泄漏和栅栏效应的根源。

DFT输出与物理频率的映射关系

DFT的第 k 个输出点对应的物理频率为 fk = k·fs/N = k/(NTs)。其中 fs/N 称为频率分辨率 Δf,NTs 是总的观测时长 Tobs。因此 Δf = 1/Tobs,分辨率只取决于观测时长,与采样率无关。由于DFT的周期性,k = N/2 对应 fs/2(奈奎斯特频率),k > N/2 的部分对应负频率,实际分析中通常只使用前 N/2+1 个点。

示例:设 fs = 1000 Hz,N = 500,则 Δf = 2 Hz,k = 50 对应 100 Hz,k = 250 对应 500 Hz(奈奎斯特频率)。若信号中含 105 Hz 成分,它不会恰好落在某个频点上,能量会泄漏到相邻频点,这就是栅栏效应。
从连续傅里叶变换到DFT的两次离散化 时域 连续信号 x(t) 时间连续 · 非周期 采样 T_s, f_s 离散序列 x[n] 时间离散 · 非周期 截断 N 点 有限长序列 x[n] 0 ≤ n ≤ N-1 频域 连续频谱 X(f) 频率连续 · 非周期 周期延拓 以 f_s 为周期 DTFT X(e^jω) 频率连续 · 周期 2π 频域采样 N 点等间隔 DFT X[k] 频率离散 · 周期 N DFT 输出与物理频率的映射 f 0 k=0 f_s/N k=1 k·f_s/N k f_s/2 k=N/2 f_s k=N Δf = f_s/N = 1/T_obs 有效分析区间(正频率)

周期性带来的两个关键后果

频谱泄漏:DFT隐含假设序列以 N 为周期无限重复。如果截断处的首尾不连续,周期延拓后会产生跳变,相当于在频域与一个sinc函数卷积,使原本集中的谱线能量扩散到邻近频点。工程上通过加窗(如汉宁窗、汉明窗)来平滑截断边缘,以降低泄漏,代价是主瓣展宽、分辨率略降。

栅栏效应:DFT只在离散频点 k·Δf 上给出频谱值,就像透过栅栏观察频谱,两个频点之间的真实峰值可能被漏掉。若信号频率不是 Δf 的整数倍,峰值会落在两个频点之间,读出的幅值和频率都有偏差。解决办法包括增加观测时长 Tobs(提高分辨率)、补零(仅加密频点、不提高真实分辨率)或采用插值校正算法。

实操中的参数选择与验证

以一段采样率 fs = 2000 Hz 的振动信号为例,若希望分辨间隔不小于 1 Hz 的两个频率成分,则要求 Δf ≤ 1 Hz,即 Tobs ≥ 1 s,对应 N ≥ 2000 点。若实际只有 1000 点数据,则 Δf = 2 Hz,无法分辨 1 Hz 间隔的成分,此时补零到 2000 点只能让频谱曲线更平滑,不能真正分开两个峰。

验证DFT结果是否可信,可做三项检查:其一,确认 fs 是否满足奈奎斯特条件,观察频谱在 fs/2 附近是否有异常抬升;其二,用已知频率的合成信号(如 100 Hz 正弦叠加噪声)测试,检查峰值位置是否落在预期频点、幅值是否符合 N/2 缩放关系(单边幅值谱需乘以 2/N);其三,改变 N 或加窗后观察峰值位置是否稳定,若峰值随 N 明显漂移,说明存在泄漏或频率未对准频点。

注意:DFT结果的幅值依赖于归一化方式。直接对 X[k] 取模得到的是未归一化幅值,单边幅值谱应取 2|X[k]|/N(k = 1…N/2-1),直流分量取 |X[0]|/N。不同软件或库的归一化约定可能不同,解读前必须确认。

总结来说,DFT的推导链条是:连续信号经采样变为离散序列(频域周期延拓),再经截断和频域采样变为 N 点DFT(时域周期延拓)。物理频率映射为 fk = k·fs/N,分辨率由观测时长决定,有效分析范围是 0 到 fs/2。理解这两次离散化和周期性假设,才能在看到频谱图时准确判断每个峰对应的物理含义,并对泄漏、栅栏效应等偏差做出合理解释。