武神裝攻 发表于 2010-11-10 09:25:28

小弟有个波形想做FFT分析但不懂原理请版上帮教学

不好意思在此请版上各位教学如何用FFT与小弟程序波形ed求得结果
在此先谢谢

這是小弟程序
%%%%%%%%%%%%%%%%%START
clc
clear all
U = 1;
w = 2*pi*60;
t = 0:0.000005:0.05;
num = length(t);
sa=zeros(1,num);
ea = sqrt(2)*U*sin(w*t);
eb = sqrt(2)*U*sin(w*t-2*pi/3);
ec = sqrt(2)*U*sin(w*t-4*pi/3);
for i = 1:num
    if asin(ea(i)/sqrt(2)/U) >= pi/6 && asin(ea(i)/sqrt(2)/U) <= 5*pi/6
      sa(i) = 1;
    elseif asin(ea(i)/sqrt(2)/U) <= -pi/6 && asin(ea(i)/sqrt(2)/U) >= -5*pi/6
      sa(i) = -1;
    else
      sa(i) = 0;
    end
end
for i = 1:num
    if asin(eb(i)/sqrt(2)/U) >= pi/6 && asin(eb(i)/sqrt(2)/U) <= 5*pi/6
      sb(i) = 1;
    elseif asin(eb(i)/sqrt(2)/U) <= -pi/6 && asin(eb(i)/sqrt(2)/U) >= -5*pi/6
      sb(i) = -1;
    else
      sb(i) = 0;
    end
end
for i = 1:num
    if asin(ec(i)/sqrt(2)/U) >= pi/6 & asin(ec(i)/sqrt(2)/U) <= 5*pi/6
      sc(i) = 1;
    elseif asin(ec(i)/sqrt(2)/U) <= -pi/6 & asin(ec(i)/sqrt(2)/U) >= -5*pi/6
      sc(i) = -1;
    else
      sc(i) = 0;
    end
end
ed = sa.*ea+sb.*eb+sc.*ec;

plot(t,ed,'r')
grid on
hold off
%%%%%%%%%%%%%%%%%END
页: [1]
查看完整版本: 小弟有个波形想做FFT分析但不懂原理请版上帮教学