xt=cos(2pi10ts)+cos(2pi25ts)+cos(2pi50ts)+cos(2pi100ts);,时间ts范围为0-5000ms;得到信号xt的时域图,幅度图,并通过FFT得到信号xt的频谱,使用matlab
时间: 2024-09-24 20:26:35 浏览: 51
在MATLAB中,你可以使用`plot`函数绘制时域图,`stem`或`abs`加上`fft`函数来绘制幅度图和频谱图。首先,你需要定义时间变量`ts`,然后计算信号`xt`,接着利用`t=linspace(0, 5000, 5001)`生成0到5000毫秒的时间序列,假设采样频率为1 kHz。
```matlab
% 定义时间序列
Fs = 1000; % 采样率,单位:Hz
ts = linspace(0, 5000, 5001)'; % 时间向量,转置是为了适应下面的列向量操作
% 创建信号xt
xt = cos(2*pi*10*Fs*t) + cos(2*pi*25*Fs*t) + cos(2*pi*50*Fs*t) + cos(2*pi*100*Fs*t);
% 时域图(幅度随时间变化)
figure;
plot(ts, xt);
xlabel('Time (ms)');
ylabel('Amplitude');
title('Signal in Time Domain');
% 幅度图(每个点的幅度值)
figure;
stem(ts, abs(xt));
xlabel('Time (ms)');
ylabel('Magnitude');
title('Signal Amplitude Spectrum');
% FFT并计算频谱
X = fft(xt);
f = Fs*(0:(length(X)-1))/length(X); % 频率轴
figure;
plot(f, abs(X));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Signal Frequency Spectrum using FFT');
```
阅读全文
相关推荐


















