极点配置
闭环极点位置会直接影响上升时间、稳定时间和瞬变振荡等时间响应特性。根轨迹使用补偿器增益来移动闭环极点,以实现 SISO 系统的设计设定。不过,您可以使用状态空间方法来分配闭环极点。这种设计方法称为极点配置,它与根轨迹方法的不同之处在于:
使用极点配置方法,您可以设计动态补偿器。
极点配置方法适用于 MIMO 系统。
极点配置需要系统的状态空间模型(使用 ss
将其他模型形式转换为状态空间)。在连续时间中,这样的模型具有以下形式
其中 u 是控制输入向量,x 是状态向量,y 是测量向量。
状态反馈增益选择
在状态反馈 下,闭环动态特性由下式给出
而闭环极点是 A-BK 的特征值。使用 place
函数,可以计算增益矩阵 K,该矩阵将这些极点分配到复平面中的任何期望位置(前提是 (A,B) 是可控的)。
例如,对于状态矩阵 A
和 B
以及包含闭环极点的期望位置的向量 p
,
K = place(A,B,p);
计算相应的增益矩阵 K
。
状态估计器设计
除非测量了完整状态 x,否则无法实现状态反馈律 。但是,您可以构造状态估计 ,使得定律 保留类似的极点分配和闭环属性。您可以通过设计以下形式的状态估计器(或观测器)来实现这一点:
估计器极点是 A-LC 的特征值,可以通过适当选择估计器增益矩阵 L 来任意分配,前提是 (C, A) 是可观测的。一般情况下,估计器动态特性应比控制器动态特性(A-BK 的特征值)更快。
使用 place
函数计算 L 矩阵
L = place(A',C',q).'
其中 A
和 C
是状态和输出矩阵,q
是包含观测器的所需闭环极点的向量。
将 x 替换为 中的估计值 会得到动态输出反馈补偿器
请注意,由此产生的闭环动态特性为
因此,您实际上是通过独立放置 A-BK 和 A-LC 的特征值来分配所有闭环极点。
示例
假设有一个连续时间状态空间模型
sys_pp = ss(A,B,C,D)
它具有七个输出和四个输入;假设您设计了
一个状态反馈控制器增益
K
,它使用被控对象的输入 1、2 和 4 作为控制输入一个具有增益
L
的状态估计器,它使用被控对象的输出 4、7 和 1 作为传感器被控对象的输入 3 作为附加的已知输入
然后,您可以使用以下代码连接控制器和估计器并构建动态补偿器:
controls = [1,2,4]; sensors = [4,7,1]; known = [3]; regulator = reg(sys_pp,K,L,sensors,known,controls)
极点配置工具
您可以使用函数来
计算实现期望的闭环极点位置的增益矩阵 K 和 L。
使用这些增益构建状态估计器和动态补偿器。
下表总结了用于极点配置的函数。
注意
如果选择不切实际的极点配置,则极点配置可能呈现出病态。尤其应当避免:
在同一位置放置多个极点。
移动可控性或可观测性不强的极点。这通常需要高增益,从而使整个闭环特征结构对扰动非常敏感。