新闻中心

EEPW首页 > 测试测量 > 设计应用 > 快速傅里叶变换(FFT)结果的物理意义是什么?

快速傅里叶变换(FFT)结果的物理意义是什么?

作者: 时间:2017-02-27 来源:网络 收藏

然后再来计算相位信息。直流信号没有相位可言,不用管它。先计算50Hz信号的相位,atan2(-192, 332.55)=-0.5236,结果是弧度,换算为角度就是180*(-0.5236)/pi=-30.0001。再计算75Hz信号的相位,atan2(192, 3.4315E-12)=1.5708弧度,换算成角度就是180*1.5708/pi=90.0002。可见,相位也是对的。根据FFT结果以及上面的分析计算,我们就可以写出信号的表达式了,它就是我们开始提供的信号。

总结:假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。具体的频率细分法可参考相关文献。

[附录:本测试数据使用的matlab程序]

close all; %先关闭所有图片

Adc=2; %直流分量幅度

A1=3; %频率F1信号的幅度

A2=1.5; %频率F2信号的幅度

F1=50; %信号1频率(Hz)

F2=75; %信号2频率(Hz)

Fs=256; %采样频率(Hz)

P1=-30; %信号1相位(度)

P2=90; %信号相位(度)

N=256; %采样点数

t=[0:1/Fs:N/Fs]; %采样时刻

%信号

S=Adc+A1*cos(2*pi*F1*t+pi*P1/180)+A2*cos(2*pi*F2*t+pi*P2/180);

%显示原始信号

plot(S);

title(原始信号);

figure;

Y = fft(S,N); %做FFT变换

Ayy = (abs(Y)); %取模

plot(Ayy(1:N)); %显示原始的FFT模值结果

title(FFT 模值);

figure;

Ayy=Ayy/(N/2); %换算成实际的幅度

Ayy(1)=Ayy(1)/2;

F=([1:N]-1)*Fs/N; %换算成实际的频率值

plot(F(1:N/2),Ayy(1:N/2)); %显示换算后的FFT模值结果

title(幅度-频率曲线图);

figure;

Pyy=[1:N/2];

for i="1:N/2"

Pyy(i)=phase(Y(i)); %计算相位

Pyy(i)=Pyy(i)*180/pi; %换算为角度

end;

plot(F(1:N/2),Pyy(1:N/2)); %显示相位图

title(相位-频率曲线图);


上一页 1 2 下一页

评论


技术专区

关闭