一维数组如何用matlab转换成傅里叶频谱图

如题所述

第1个回答  2013-05-23
假设数据名叫data
那么fftdata = fft(data);是数据的频域数据,是复数
absfftdata = abs(fftdata);是数据频率成分的模值平方
可以用absfftdata作为数据的傅里叶频谱图
画图是plot(absfftdata);你可以试试
第2个回答  2013-05-21
什么数据?参考一下:
clear all;clc;
t0=0.5;
tz=0.001;
fz=1/tz;
fc=50;
a=0.8;
t=0:tz:t0;
for ii=1:length(t)
if t(ii)<=t0/4
m(ii)=t(ii);
elseif t(ii)>=t0/4&t(ii)<=3*t0/4
m(ii)=-t(ii)+t0/2;
else
m(ii)=t(ii)-t0;
end
end
n1=length(m);
n=2^nextpow2(n1);
m=[m,zeros(1,n-n1)];
M=fft(m,n);
M=M/fz;
df=fz/n;
f=[0:df:df*(length(m)-1)]-fz/2;
plot(f,abs(fftshift(M)));本回答被网友采纳
相似回答