给出一个matlab画信号的频谱的程序
时间: 2023-10-23 21:22:20 浏览: 146
MATLAB.rar_FFT-Spectrum_grassft3_matlab 频谱_用DFT可以对信号进行谱分析
以下是一个用MATLAB绘制信号频谱的示例程序:
```matlab
% 生成信号
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间轴
f1 = 5; % 第一个频率
f2 = 50; % 第二个频率
x = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 合成信号
% 绘制时域波形
subplot(2,1,1);
plot(t,x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Time Domain Waveform');
% 绘制频谱图
N = length(x);
X = fft(x)/N;
f = (0:N-1)*(fs/N);
subplot(2,1,2);
plot(f,abs(X));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Frequency Domain Spectrum');
```
运行该程序,会生成一个包含时域波形和频谱图的图像。时域波形显示了信号在时间上的变化,频谱图显示了信号在频率上的分布情况。在频谱图中,可以看到两个频率分量的峰值。
阅读全文