您的位置:首页 > 编程语言 > MATLAB

matlab基于傅里叶变换实现信号的波形和频谱的绘制

2020-07-18 04:36 771 查看
fs=10000; %采样频率
N=10000; %采样点数
t = (0:N-1)/fs; %间隔
NFFT = 2^nextpow2(N);%转化为2的基数倍
f0= fs/2*linspace(0,1,NFFT/2); %求出FFT转化频率

g = 3*sin(6*t);
f = g.*cos(60*t);
g0 = f.*cos(60*t);

%进行FFT变换
g1 = fft(g,NFFT)/N;
f1 = fft(f,NFFT)/N;
g01 = fft(g0,NFFT)/N;

subplot(3,2,1);
plot(g,'b');title('波形');
subplot(3,2,2);
plot(f0,2*abs(g1(1:NFFT/2)),'b');title('频谱');

subplot(3,2,3);
plot(f,'b');title('波形');
subplot(3,2,4);
plot(f0,2*abs(f1(1:NFFT/2)),'b');title('频谱');

subplot(3,2,5);
plot(g0,'b');title('波形');
subplot(3,2,6);
plot(f0,2*abs(g01(1:NFFT/2)),'b');title('频谱');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: