SISO系统的频率响应
此示例演示如何绘制频率响应图并获取具有一个输入和一个输出(SISO)的动态系统模型的频率响应数据。
在开始之前,连接包 ControlSystems.jl.
In [ ]:
import Pkg
Pkg.add("ControlSystems")
In [ ]:
using ControlSystems
s = tf('s');
创建传递函数的模型并绘制其频率响应。
In [ ]:
H = tf([10,21],[1,1,4,26]);
bode(H)
Out[0]:
如果不指定要显示的频率范围,则函数 bode 根据系统的动态自动选择频率范围。
计算从1到13rad/s范围内的频率响应。
In [ ]:
ω = collect(1:0.001:13);
mag, phase, w = bode(H, ω);
display([mag, phase])
当你打电话 bode,命令返回向量 mag 和 phase,包含频率响应的量值和相位。 阵列的输入信号 表示 bode 计算从1到13rad/s的频率范围内的响应。 bode 返回向量w中的频点。
接收到的数据可以使用函数显示在图形上 bodeplot.
In [ ]:
bodeplot(H, ω, label = "H(s)")
Out[0]:
结论
因此,我们学习了如何构建SISO系统的频率特性。