关于FFT精华/精简详解

1.对一段离散数据(N个点,比如说AD采样值)的FFT结果就是这N个点对应的复数 a+bi;画到坐标轴上 x轴对应的就是频率,Y轴对应的就是该点的复数的坐标点;因此FFT是将信号从时域变换到频域就是说,将原信号X轴的时间变成了频率,Y轴的点的大小值变成了该点对应的复数的坐标点。

2.假设采样频率为Fs,点数为N,则本次FFT的频率分辨率为FS/N,即FFT结果的每个点的频率间隔为FS/N,则点n对应的频率为(n-1)*FS/N;所以要提高频率分辨率就增加采样点。

3.该点的模值就是该点对应的频率的幅度特性,即该点对应的频率在整个采样信号中的占比,该值越大说明占比越大;复数求模:根号(a^2+b^2)。

(前面这三点标红,因为这是对于FFT最基本最重要的知识,一般我们做FFT所需要获得的最基础最重要的信息就是:该段离散信号主要由几个信号频率组成,最大的频率成分是多少)

4.该信号的直流成分就是第一个点的模值/N。

5.每个点的模值除以(N/2)就是该点对应的频率的幅度

6.每个点的相位就是对应该点频率下的信号的相位,相位计算公式为:atan2(b,a),atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。

7.FFT的结果左右是对称的,因此我们只要分析其中一半的结果就行,比如对512个点做FFT,则只需分析前256个点就行。

参考链接:https://blog.csdn.net/zhaopeizhaopeipei/article/details/53908238

你可能感兴趣的:(C/C++,fft,c算法)