Engee 文档
Notebook

创建离散时间模型

此示例演示如何创建具有离散时间的线性模型。

离散时间模型的定义

控制系统库。jl允许您创建连续和离散系统。 创建离散时间模型的语法类似于用于连续系统的语法,但采样步骤(以秒为单位的采样间隔)必须传递给函数的输入数据。

例如,要设置离散系统的传递函数:

具有采样周期 .

In [ ]:
Pkg.add(["ControlSystems"])
In [ ]:
using ControlSystems

num = [1, -1];
den = [1, -1.85, 0.9];
H = tf(num,den,0.1)
Out[0]:
TransferFunction{Discrete{Float64}, ControlSystemsBase.SisoRational{Float64}}
     1.0z - 1.0
--------------------
1.0z^2 - 1.85z + 0.9

Sample Time: 0.1 (seconds)
Discrete-time transfer function model

同样,可以在状态空间中定义离散系统的模型。:

具有采样周期 .

In [ ]:
sys = ss(.5,1,.2,0,0.1)
Out[0]:
StateSpace{Discrete{Float64}, Float64}
A = 
 0.5
B = 
 1.0
C = 
 0.2
D = 
 0.0

Sample Time: 0.1 (seconds)
Discrete-time state-space model

离散时间系统的识别

有几种方法可以确定线性模型是否离散。 例如, sys.TsH.Ts 返回非零值 如果模型是离散的。

In [ ]:
H.Ts
Out[0]:
0.1

也可以通过过渡函数的曲线图来确定。 系统对单个逐步效果的响应将具有"阶梯"的形式。

In [ ]:
using Plots

plot(step(H,8))
Out[0]:

因此,能够获得离散系统的模型。 有关创建线性系统的详细信息,请参阅构建系统