MATLAB中利用FFT进行频谱分析

===============================================

首先产生一个由不同频率波形叠加形成的波形用于分析,在命令行中调用代码如下:

f0=80000;
f1=8000000;
f2=1000000;
fs=10000000;
Ts=1/fs;
n=1:1:100000;
N=length(n);
y0=sin(2pif0nTs);
y1=sin(2pif1nTs);
y2=sin(2pif2nTs);
y3=y0+y1+y2;
figure;hold on;
plot(n(1:500),y0(1:500),‘b’);
plot(n(1:500),y1(1:500),‘r’);
plot(n(1:500),y2(1:500),‘k’);
hold off;
figure;plot(n(1:500),y3(1:500));
title(‘sum’);

运行结果如下,图一为三种波形示意图,图二为三种波形的叠加波形。
MATLAB中利用FFT进行频谱分析_第1张图片
MATLAB中利用FFT进行频谱分析_第2张图片

========================================================
接下来进行频谱分析,在matlab中调用代码如下:

y3_fft=fft(y3);
P3_y3_fft=abs(y3_fft/N);
P31_y3_fft=P3_y3_fft(1:N/2+1);
P31_y3_fft(2:end-1)=2P31_y3_fft(2:end-1);
f=fs
(0:N/2)/N;
figure
plot(f,P31_y3_fft)
xlabel(‘f(Hz)’)
ylabel(’|P1(f)|’)

运行结果如下,从图可以看出,该叠加波含有频率为80KHz,8MHz,1MHz的三种波形
MATLAB中利用FFT进行频谱分析_第3张图片

对于不同的数据,只需修改名称即可,方法相同。

=======================================================

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