编写激励模型函数。参考公式(2-5)至公式(2-8),编写激励模型函数,实现类似图 2-6 的时域和频域曲线。
时间: 2023-05-24 09:05:36 浏览: 171
根据公式(2-5)至公式(2-8),激励模型函数可以表示为:
$$
f(t) = A \cos(2 \pi f_c t + \phi_0) \exp(-\alpha t) u(t)
$$
其中,$A$ 是幅值,$f_c$ 是载波频率,$\phi_0$ 是初始相位,$\alpha$ 是衰减系数,$u(t)$ 是单位阶跃函数。
在时域上,可以通过 MATLAB 的 plot 函数绘制出 $f(t)$ 的波形:
```matlab
t = linspace(0, 5, 1000);
A = 1;
fc = 1000;
phi0 = 0;
alpha = 100;
f = A * cos(2*pi*fc*t + phi0) .* exp(-alpha*t) .* (t >= 0);
plot(t, f);
xlabel('Time (s)');
ylabel('Amplitude');
title('Excitation Signal in Time Domain');
```
在频域上,可以使用 MATLAB 的 fft 函数将 $f(t)$ 转换为频域信号,并且通过 plot 函数绘制出其幅度谱和相位谱:
```matlab
Fs = length(t) / (t(end) - t(1));
F = abs(fft(f));
P = unwrap(angle(fft(f)));
L = length(f);
f = Fs*(0:(L/2))/L;
subplot(2,1,1);
plot(f, F(1:L/2+1));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Excitation Signal Amplitude Spectrum');
subplot(2,1,2);
plot(f, P(1:L/2+1));
xlabel('Frequency (Hz)');
ylabel('Phase (rad)');
title('Excitation Signal Phase Spectrum');
```
然后可以得到类似于图 2-6 的时域和频域曲线。
阅读全文