傅里叶分析
公式法
下例 是将振幅为1的5Hz正弦波和振幅为0.5的10Hz正弦波相加之后进行傅里叶分析。
clear all
N=512;
dt=0.02;
n=0:N-1;
t=n*dt;
x=sin(2*pi*5*t)+0.5*sin(2*pi*10*t);%生成和信号
%傅里叶变换
m = floor(N/2)+1;
a=zeros(1,m);
b=zeros(1,m);
for k=0:m-1
for ii=0:N-1
a(k+1) = a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N);
b(k+1) = b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N);
end
c(k+1)=sqrt(a(k+1).^2+b(k+1).^2);
end
%傅里叶逆变换
if(mod(N,2) ~=1)
a(m)=a(m)/2;
end
for ii=0:N-1
xx(ii+1)=a(1)/2;
for k=1:m-1
xx(ii+1)=xx(ii+1)+a(k+1)*cos(2*pi*k*ii/N)+b(k+1)*sin(2*pi*k*ii/N);
end
end
%绘图
subplot(3,1,