假设一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。用数学表达式就是如下:S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180) 式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。MATLAB程序如下: clc; %信号
Ayy=Ayy/(N/2); %换算成实际的幅度 Pyy=[1:N/2];
FFT结果: Y(1)=512 Y(51)=3.3255e+002 -1.9200e+002i Y(76)=3.4350e-012 +1.9200e+002i FFT幅值结果: abs(Y(1))=512 abs(Y(51))=384 abs(Y(76))=192 FFT相位结果: angle(Y(1))=0 angle(Y(51))=-0.5236 rad=-30.000° angle(Y(76))=1.5708 rad= 90.000° 另外:atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。例如: atan2(0,512)=0 atan2(-1.9200e+002,3.3255e+002 )=-0.5236 rad=-30.000° 求具体信号的幅值: Adc= abs(Y(1))/N=512/256=2 %直流分量是仅除以N A1= abs(Y(51))/N*2=384/256*2=3 %交流分量是除以N后还要乘以2 A2= abs(Y(76))/N*2=192/256*2=1.5 |