如何画出频谱图 matlab

如何画出频谱图 matlab

    • matlab 代码
    • 绘制出的图片

matlab 代码

fs = 100;                             % sample frequency (Hz)
t = 0:1/fs:10-1/fs;                   % 10 second span time vector
x = (1.3)*sin(2*pi*15*t) ...          % 15 Hz component
  + (1.7)*sin(2*pi*40*(t-2));         % 40 Hz component
y = abs(fft(x));
m = y(1:length(y)/2);
n = length(x);          % number of samples
f = (1:n/2)*(fs/n);     % frequency range

plot(f,m)
xlabel('Frequency')
ylabel('Power')

绘制出的图片

整个频谱图是以采样频率的一半为对称轴的。并且可以明显识别出信号中含有两种频率成分:15Hz和40Hz。由此知道FFT变换数据的对称性,在这里的代码通过取FFT数据的一半进行频谱分析。在这里没有仔细考虑振幅的问题,简单当作power处理。振幅的大小与所用采样点数有关。
如何画出频谱图 matlab_第1张图片

参考资料1: Matlab帮助中心.
参考资料2: matlab对正弦信号作FFT得到频谱图.

你可能感兴趣的:(matlab,fft,频域)