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('频谱');
matlab基于傅里叶变换实现信号的波形和频谱的绘制
最新推荐文章于 2024-05-06 13:01:36 发布