Matlab通过FFT快速傅里叶变换提取频率
通过快速傅里叶变换把时域变成频域,从而提取需要的频率。
1. fft(data)
:快速傅里叶变换(FFT)
- 功能:将时域信号
dataI
转换为频域信号,得到复数形式的频谱。 - 输出:复数数组,包含信号的频率成分(幅度和相位)。
- 频率排列:默认从 0 Hz(直流分量)开始,到采样率的一半(奈奎斯特频率),然后是负频率部分。
-
输入输出长度一致
假设输入信号dataI
有 N 个采样点,则其FFT结果也会有 N 个复数元素。每个元素对应一个特定频率的分量。 -
频率分量的对称性
- 对于实数信号(如音频、传感器数据),FFT结果的第1个元素是直流分量(0 Hz),第2到第N/2+1个元素是正频率分量,剩余元素是负频率分量(对称于正频率)。
- 例如:若
dataI
有1000个点,FFT结果也是1000个点,其中第2~501个点对应0.1 Hz到500 Hz(假设采样率1000 Hz),第502~1000个点是负频率的镜像。