这个例子说明了如何计算在Simulink®中建模的控制环路的经典和基于磁盘的增益和相位裕度。万博1manbetx为了计算稳定边际,将模型线性化以提取一个或多个感兴趣的操作点的开环响应。然后,用allmargin
或diskmargin
分别计算经典的或基于圆盘的稳定裕度。
对于本例,使用Simulink模型万博1manbetxairframemarginEx.slx
.这个模型是基于实例的修剪和线性化一个机身(万博1manbetx仿真软件控制设计)。
open_system (“airframemarginEx.slx”)
该系统是一个双通道反馈回路。该装置是一输入两输出的子系统机身模型
,控制器为双输入一输出系统,其输入为法向加速度阿兹
和球场问
,其输出为鳍偏转
信号。
为了计算该反馈系统的增益裕度和相位裕度,将模型线性化,得到设备输出和输入处的开环传递函数。您可以使用环传递类型的线性化分析点来实现这一点。有关线性化分析点的更多信息,请参见指定要线性化的模型部分(万博1manbetx仿真软件控制设计)。
为设备的输入创建一个循环传输分析点,它是设备的第一个输出端口问控制
子系统。
ioInput = linio (“airframemarginEx / q控制”,1,“looptransfer”);
类似地,为植物输出创建分析点。因为有两个输出,所以将这些分析点指定为线性化I/O对象的向量。
ioOutput (1) = linio (“airframemarginEx /机身模型”,1,“looptransfer”);ioOutput (2) = linio (“airframemarginEx /机身模型”,2,“looptransfer”);
将模型线性化,得到开环传递函数。对于本例,使用模型中指定的操作点。在工厂输入处的回路传输是SISO,而在输出处的回路传输是2 × 2。
李=线性化(“airframemarginEx”, ioInput);%的输出Lo =线性化(“airframemarginEx”, ioOutput);%那
为了计算经典的增益裕度和相位裕度,使用allmargin
.对于开环传递函数,allmargin
假设有一个负反馈循环。
函数返回的开环传递函数线性化
命令是模型在分析点的实际线性化开环响应。因此,对于开环响应l
时,整个模型的闭环响应是一个正反馈回路。
因此,使用- l
为了使allmargin
用正反馈计算稳定性边际。在设备输入处计算经典增益和相位裕度。
如果= allmargin(李津)
Si = struct with fields: GainMargin: [0.1633 17.6572] GMFrequency: [1.5750 47.5284] phasemmargin: 44.4554 PMFrequency: 5.3930 DelayMargin: 14.3869 DMFrequency: 5.3930 Stable: 1
结构如果
包含关于经典稳定裕度的信息。例如,李。GMFrequency
给出开环响应的相位交叉-180°的两个频率。李。GainMargin
给出每个频率的增益裕度。增益裕度是环路增益在保持闭环稳定性的同时可以在该频率上变化的量。
计算工厂产量的稳定裕度。
所以= allmargin (lo);
因为有两个输出通道,allmargin
返回一个数组,其中包含每个通道的一个结构。每个条目包含该通道在关闭另一个反馈通道时计算的边距。结构索引所以
得到每个通道的稳定裕度。例如,检查关于增益变化或相位变化在问
工厂的产量,这是第二个产量。
(2)
ans = struct with fields: GainMargin: [0.3456 17.4301] GMFrequency: [3.4362 49.8484] phasmargin: [-78.2436 52.6040] PMFrequency: [1.5686 6.5428] DelayMargin: [313.5079 14.0324] DMFrequency: [1.5686 6.5428
与传统的增益和相位裕度相比,磁盘裕度提供了更强的稳定性保证。基于磁盘的裕度分析模型将增益和相位变化作为开环系统响应的复杂不确定性。磁盘裕度是与闭环稳定性兼容的最小不确定性。(有关磁盘裕度的一般信息,请参见使用磁盘裕度进行稳定性分析.)
要计算基于磁盘的边距,请使用diskmargin
.就像allmargin
,diskmargin
命令采用负反馈系统。因此,使用李津
在工厂输入处计算基于磁盘的裕度。
DMi = diskmargin(李津)
DMi = struct with fields: GainMargin: [0.4419 2.2628] phasmargin: [-42.3153 42.3153] DiskMargin: 0.7740 LowerBound: 0.7740 UpperBound: 0.7740 Frequency: 4.2515 worst微干扰:[1x1 ss]
这个领域DMi。GainMargin
告诉你,在工厂输入的开环增益可以在约0.44和约2.26之间变化任何因素而不损失闭环稳定性。基于磁盘的保证金考虑到所有频率的变化。
对于MIMO环路传递函数的响应等罗
在工厂产出中,有两种基于圆盘的稳定裕度。的loop-at-a-time利润率为每个通道在另一个回路关闭时的稳定裕度。的多回路的利润率是两个通道同时产生增益(或相位)独立变化的裕度。diskmargin
计算两种。
(DMo, MMo) = diskmargin (lo);
每次循环的边距作为结构数组返回DMo
每个通道有一个入口。例如,检查增益变化或相位变化的边缘问
工厂的产量随阿兹
循环闭合,并与经典边距作比较(2)
以上。
DMo (2)
ans = struct with fields: GainMargin: [0.3771 2.6521] phasmargin: [-48.6811 48.6811] DiskMargin: 0.9047 LowerBound: 0.9047 UpperBound: 0.9047 Frequency: 4.4982 worst扰动:[2x2 ss]
多回路的保证金,MMo
,通过考虑所有反馈通道的增益(或相位)同时变化,考虑环路交互作用。这通常为多环控制系统提供最现实的稳定裕度估计。
MMo
MMo = struct with fields: GainMargin: [0.6238 1.6030] phasmargin: [-26.0867 26.0867] DiskMargin: 0.4633 LowerBound: 0.4633 UpperBound: 0.4643 Frequency: 3.6830 worst微动:[2x2 ss]
MMo。GainMargin
结果表明,在不影响闭环稳定性的情况下,两个输出通道的增益可以在0.62和1.60之间独立变化。MMo。PhaseMargin
结果表明,在每一个通道中保持了稳定的独立相位变化,最大可达±26°。使用diskmarginplot
以图形方式检查多循环边界。
diskmarginplot (lo)
这显示了基于磁盘的增益和相位裕度作为频率的函数。的MMo
返回的值diskmargin
对应于频率上最弱的磁盘裕度。
当你使用线性化
,您可以提供多个工作点来生成系统的线性化数组。allmargin
和diskmargin
可以在线性模型阵列上操作,以返回多个操作点的边界。例如,线性化机身系统在三次模拟快照时间。
提前= [0;2;5);LiSnap =线性化(“airframemarginEx”ioInput,吸附);LoSnap =线性化(“airframemarginEx”ioOutput,吸附);
LiSnap
是一个3乘1的SISO线性模型阵列,其中一个用于在每个快照时间获得的植物输入处的环路传输。同样的,LoSnap
是一个由2输入,2输出线性模型组成的3乘1数组,表示在每个快照时间的工厂输出处的环路传输。计算经典增益和相位裕度在工厂的输入在三个快照时间。
SiSnap = allmargin (-LiSnap);
结构数组中的每一项SiSnap
包含对应快照时间的经典裕度信息。例如,检查第二个条目的经典边距,t
= 2。
SiSnap (2)
ans = struct with fields: GainMargin: [0.0171 18.2489] GMFrequency: [0.0502 51.4426] phasemarar: 93.1051 PMFrequency: 2.8476 DelayMargin: 57.0662 DMFrequency: 2.8476 Stable: 1
计算植物产量处的圆盘边距。
[DMoSnap, MMoSnap] = diskmargin (-LoSnap);
由于有两个反馈通道和三个快照时间,包含一次循环磁盘边距的结构阵列的尺寸为2 × 3。第一个维度是反馈通道,第二个维度是快照时间。换句话说,DMoSnap (j, k)
包含通道的边距j
在快照时间k
.例如,在第三个快照时间检查第二个反馈通道中的磁盘边缘,t
= 5 s。
DMoSnap(2、3)
ans = struct with fields: GainMargin: [0.1345 7.4338] phasmargin: [-74.6771 74.6771] DiskMargin: 1.5257 LowerBound: 1.5257 UpperBound: 1.5257 Frequency: 24.1993 worst扰动:[2x2 ss]
每个快照时间只有一组多循环边距,所以MMoSnap
是一个3乘1的结构数组。
与前面一样,还可以绘制多循环边界。现在有三条曲线,分别对应于每个快照时间。单击曲线以确定它对应的快照时间。
diskmarginplot (-LoSnap)
allmargin
|diskmargin
|diskmarginplot
|线性化