山西省网站建设_网站建设公司_代码压缩_seo优化
2025/12/18 11:49:36 网站建设 项目流程

本文只讨论 FFT 在嵌入式与工程中的实际含义,不涉及数学推导。


一、采样分辨率是什么?

1. 先定义所有变量(很重要)

符号含义
fs采样率(Hz),每秒采样多少次
NFFT 点数(一次参与 FFT 的采样点数量)
T采样时间长度(秒)
Δf频率分辨率(Hz)

2. 它们之间的关系

采样时间长度
T = N / fs
  • N个点
  • 每秒采fs
  • 一共覆盖T秒的数据

频率分辨率
Δf = 1 / T = fs / N

含义:

FFT 能区分的最小频率间隔


3. 工程本质结论

  • fs决定你能看到多高的频率
  • N决定你看了多久
  • Δf决定你能分多细

频率分辨率的本质是:采样时间长度,而不是采样率本身


二、FFT 频点对应的是什么?

1. 再定义变量

符号含义
kFFT 频点序号(整数,从 0 开始)
Δf频率分辨率(Hz)
f(k)k个频点所代表的实际频率(Hz)

2. 频点与频率的对应关系

f(k) = k × Δf

含义:

  • FFT 并不是“算出一个频率”
  • FFT 是把频率范围按 Δf 分成很多桶
  • k个桶的中心频率是k × Δf

3. 具体工程例子

已知条件
fs = 2048 Hz N = 1024
计算
T = N / fs = 0.5 s Δf = fs / N = 2 Hz
对应关系
k = 0 → 0 Hz k = 1 → 2 Hz k = 2 → 4 Hz k = 25 → 50 Hz

可以理解为:1 个频点代表 2 Hz 宽度的频率区间


4. FFT 能不能“算准”的唯一判断条件

定义变量
符号含义
f_sig实际信号频率(Hz)
判断条件
f_sig / Δf = 整数
  • ✔ 是整数 → 能量集中在一个频点
  • ✘ 不是整数 → 能量分散到多个频点(频谱泄漏)

三、FFT 中的相位是怎么计算的?

1. FFT 输出数据的含义

FFT 在每个频点k上输出一个复数:

X[k] = Re[k] + j · Im[k]
符号含义
X[k]k个频点的 FFT 结果
Re[k]实部
Im[k]虚部
j虚数单位

2. 相位的计算方式

φ[k] = atan2( Im[k], Re[k] )
符号含义
φ[k]k个频点的相位(弧度)
atan2()四象限反正切函数

3. FFT 相位的真实物理意义

FFT 计算得到的相位表示的是:

该频率分量,相对于“采样起点”的相位

其中:

项目说明
采样起点DMA 开始采样的第一个点
相位零点并不是信号的物理零相位

4. 为什么单通道 FFT 相位通常没意义?

因为相位包含:

  • 采样起点偏移
  • 滤波器群延时
  • ADC / 数字链路延时

所以:

单通道 FFT 相位 → 只用于稳定性判断

5. 工程中“有意义的相位”

① 通道间相位差
符号含义
φ1通道 1 的相位
φ2通道 2 的相位
Δφ = φ2 − φ1

② 谐波相对基波相位
符号含义
φ1基波相位
φn第 n 次谐波相位
Δφn = φn − n · φ1

四、工程最终结论(纯结论版)

采样时间 T = N / fs 频率分辨率 Δf = 1 / T = fs / N 频点频率 f(k) = k × Δf FFT 能否算准:f_sig / Δf 是否为整数 FFT 相位只能使用“相对相位”

五、一句话总结

FFT 的本质是:用 N/fs 秒的数据,把频率按 fs/N 分桶;
是否准确,只取决于你看得够不够久,以及频率是否对齐桶中心。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询