FFT(快速傅里叶变换)是信号处理领域最重要的算法之一。从 MP3 压缩到 5G 通信,从医学 MRI 成像到地震数据分析,FFT 无处不在。
但提到傅里叶变换,很多人第一反应是积分公式和复数运算。这篇文章换个角度,从直觉出发理解 FFT 到底在做什么。
一个简单的例子:听出音乐的”颜色”
想象你听到一段音乐。你的耳朵实际上在同时接收多个频率的声音——鼓的节奏是低频,人声是中频,镲片是高频。
傅里叶变换做的就是:把一个混合信号,分解成不同频率成分的集合。
就像白光是所有颜色的混合,棱镜能把白光分解成彩虹。FFT 就是信号处理里的”棱镜”,把时域信号分解成频谱。
时域 vs 频域
| 域 | 横轴 | 纵轴 | 你能看到什么 |
|---|---|---|---|
| 时域 | 时间 | 幅度 | 信号随时间如何变化 |
| 频域 | 频率 | 幅度 | 信号包含哪些频率成分 |
同一个信号,两种视角,同等重要。
比如一段 Chirp 信号(频率从低到高变化):
- 在时域上看,波形越来越密
- 在频域上看,能量从低频到高频扫过
本站的 Chirp 信号发生器 可以实时生成 Chirp 信号并显示频谱图,在页面上调节参数就能直观看到时域和频域的关系。
FFT 是怎么工作的(不要怕)
FFT 的数学原理可以简单理解为:
- 取一段信号(比如 1024 个采样点)
- 用一组不同频率的标准正弦波和这段信号做”比对”
- 如果某个频率匹配,就会得到一个较大的”响应值”
- 所有频率的响应值组合起来就是频谱
FFT 的巧妙之处在于,它用分治策略把传统 DFT 的 O(N²) 计算量降到了 O(N log N),让实时频谱分析成为可能。
频谱图怎么看
频谱图通常长这样:
- 横轴:频率(Hz),从左到右逐渐升高
- 纵轴:幅度(dB 或线性值),越高表示该频率的能量越强
常见模式:
- 单根竖线:单一频率的正弦波(纯净音调)
- 多个尖峰:多个频率成分(和弦/谐波)
- 宽而平滑的峰:噪声或非周期信号
- 从低到高的扫频:Chirp 信号
几个重要的频谱概念
采样定理(Nyquist):采样率必须至少是信号最高频率的两倍。比如 44.1kHz 的音频可以表示最高 22.05kHz 的声音。
频率分辨率:Δf = 采样率 / FFT 点数。点数越多,频率分辨率越高,但计算量也越大。
频谱泄露:当信号频率不是 FFT 分辨率的整数倍时,能量会”泄露”到相邻频率。加窗函数(如汉宁窗、布莱克曼窗)可以减弱这种效应。
和本站工具的联动
本站的 Chirp 信号发生器 是理解 FFT 最好的入门工具:
- 选择线性调频模式,观察频谱如何随时间变化
- 切换指数调频模式,对比两种调频方式的频谱差异
- 调节起始频率和终止频率,看频谱范围如何变化
- 使用方波/三角波/锯齿波,观察谐波结构
实际操作五分钟,比读十篇文章都管用。打开工具,生成一段 Chirp 信号,看看频谱上发生了什么。
评论