FFT与DFT

FFT(快速傅里叶变换)是一种实现DFT(离散傅里叶变换)的快速算法,是利用复数形式的离散傅里叶变换来计算实数形式的离散傅里叶变换)。

一个模拟信号,经过采样后,变成数字信号。采样定理:采样频率要大于信号频率2倍。

数字信号–.>FFT变换

N个采样点得到N个FFT结果。 (excel 数据分析 傅里叶分析)

假设采样频率为Fs,信号频率F, 采样点数为N ,FFT后得到N个点对应的复数,每一个点对应一个频率。【频率间隔(分辨率)为1/总采样时间(Fs/N) ,或 Fn=(n-1)*Fs/N 】

该复数的模就是该频率下的幅值。(横坐标频率,纵坐标幅值 即为频谱密度)

该复数:虚部为0 表示为直流分量。

FFT后某点n用复数表示:a+bi

复数的模:An=sqrt(a^2+b^2) or IMABS(a+bi)

相位:Pn=atan2(b,a)

根据以上可以计算出在n点(N≠1,且n<=N/2) 对应信号表达式:

An/(N/2)*cos(2*pi*Fn*t+Pn)  即:2*An/N*cos(2*pi*Fn*t+Pn)

对n=1点,直流分量,幅度为A1/N

总结:

假设采样频率为Fs,采样点总数为N,做FFT后某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;

该点的模除以N/2就是对应频率下的信号的幅度(对于直流信号是除以N);

该点的相位是对应频率下的信号的相位,相位的计算用tatn2(b,a)计算,范围-pi 到pi。

要精确到xHz,采样长度为 1/x秒的信号然后做FFT。

要提高频率分辨率,就要增加采样点数。

Leave a Reply