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 至 13 rad/s 之间的频率响应。
In [ ]:
ω = collect(1:0.001:13);
mag, phase, w = bode(H, ω);
display([mag, phase])
调用bode
时,命令返回包含频率响应幅值和相位的矢量mag
和phase
。数组输入 会告诉bode
计算 1 至 13 rad/s 频率范围内的响应。bode
返回向量 w 中的频率点。
结果数据可以使用函数bodeplot
绘制。
In [ ]:
bodeplot(H, ω, label = "H(s)")
Out[0]:
结论
至此,我们已经学会了如何绘制 SISO 系统的频率响应图。