主要内容

Simulink模型的稳定边缘万博1manbetx

此示例说明了如何计算在Simulink®中模拟的控制环的基于经典和磁盘的增益和相位边缘。万博1manbetx要计算稳定性边距,请将模型线性化以在一个或多个感兴趣的操作点上提取开环响应。然后,使用allmargin或者diskmarginto compute the classical or disk-based stability margins, respectively.

MIMO控制循环

对于此示例,请使用Simulink模型万博1manbetxairframemarginex.slx。该模型基于示例修剪并线性化机身(万博1manbetxSimulink控制设计)

open_system('airframeMarginex.slx'

这system is a two-channel feedback loop. The plant is the one-input, two-output subsystemAirframe Model,并且控制器是一个两输入的单输出系统,其输入是正常的加速度AZ和音高率, and whose output is theFin Deflectionsignal.

循环传输功能

To compute the gain margins and phase margins for this feedback system, linearize the model to get the open-loop transfer functions at the plant outputs and input. You can do so using linearization analysis points of the loop-transfer type. For more information about linearization analysis points, see指定模型的一部分以线性化(万博1manbetxSimulink控制设计)

为植物输入创建一个循环转移分析点,这是该工厂的第一个输出端口Q控件subsystem.

ioInput = linio(“ AirFrameMarginex/Q控制”,1,“循环转移”);

similarly, create analysis points for the plant outputs. Because there are two outputs, specify these analysis points as a vector of linearization I/O objects.

ioOutput(1)= linio(“ AirFrameMarginex/机身型号”,1,“循环转移”);ioOutput(2)= linio(“ AirFrameMarginex/机身型号”,2,“循环转移”);

linearize the model to obtain the open-loop transfer functions. For this example, use the operating point specified in the model. The loop transfer at the plant input is SISO, while the loop transfer at the outputs is 2-by-2.

li = linearize('airframarginex',ioinput);% SISOlo =线性化('airframarginex',ioOutput);%mimo

古典收益和相位边缘

To compute the classical gain margins and phase margins, useallmargin。对于开环函数,allmargin假设一个负反馈循环。

linearize命令是分析点上模型的实际线性开环响应。因此,对于开环响应l,整个模型的闭环响应是一个正反馈回路。

因此,使用-l制作allmargin用积极的反馈计算稳定边缘。计算工厂输入处的经典增益和相位边缘。

si = allmargin(-li)
Si =带有字段的结构:Gainmargin:[0.1633 17.6538] GMFREQUENCY:[1.5747 47.5230] PHASEMARGIN:44.4551 PMFREQUENCY:5.3929 delaymargin:14.3871 DMFREQUENCY:5.3929稳定:1.3929稳定:1 1.3929稳定:1

这structuresi包含有关经典稳定边距的信息。例如,li.gmfquency给出开环响应相交叉–180°相的两个频率。li.gainmargin在每个频率中给出增益余量。增益边距是循环增益在保持闭环稳定性的同时以该频率变化的数量。

计算植物输出处的稳定边缘。

所以= allmargin(-Lo);

因为有两个输出通道,allmarginreturns an array containing one structure for each channel. Each entry contains the margins computed for that channel with the other feedback channel closed. Index into the structure所以为了获得每个通道的稳定边缘。例如,检查边缘方面的边缘,以获取变化或相位变化工厂的输出,这是第二个输出。

所以(2)
ans = struct with fields: GainMargin: [0.3456 17.4288] GMFrequency: [3.4361 49.8461] PhaseMargin: [-78.2449 52.6040] PMFrequency: [1.5685 6.5428] DelayMargin: [313.5216 14.0324] DMFrequency: [1.5685 6.5428] Stable: 1

Disk-Based Gain and Phase Margins

Disk margins provide a stronger guarantee of stability than the classical gain and phase margins. Disk-based margin analysis models gain and phase variations as a complex uncertainty on the open-loop system response. The disk margin is the smallest such uncertainty that is compatible with closed-loop stability. (For general information about disk margins, see使用磁盘边缘的稳定性分析

要计算基于磁盘的边距,请使用diskmargin。喜欢allmargin, 这diskmargin命令假设一个负反馈系统。因此,使用-li计算工厂输入的基于磁盘的边缘。

dmi = diskmargin(-li)
DMi = struct with fields: GainMargin: [0.4419 2.2628] PhaseMargin: [-42.3153 42.3153] DiskMargin: 0.7740 LowerBound: 0.7740 UpperBound: 0.7740 Frequency: 4.2515 WorstPerturbation: [1x1 ss]

这fieldDMi.GainMargintells you that the open-loop gain at the plant input can vary by any factor between about 0.44 and about 2.26 without loss of closed-loop stability. Disk-based margins take into account variations at all frequencies.

对于MIMO循环传输函数,例如响应LOat the plant outputs, there are two types of disk-based stability margins. The循环时段是每个通道中的稳定边缘,另一个环路关闭。这Multiloop边缘是同时在两个通道中获得增益(或相)独立变化的边缘。diskmargin计算两个。

[DMo,MMo] = diskmargin(-Lo);

返回时间边距作为结构阵列返回DMo每个通道都有一个条目。例如,检查边缘的增益变化或相位变化output of the plant with theAZ循环关闭,并与经典边距进行比较所以(2)above.

DMO(2)
ans = struct with fields: GainMargin: [0.3771 2.6521] PhaseMargin: [-48.6811 48.6811] DiskMargin: 0.9047 LowerBound: 0.9047 UpperBound: 0.9047 Frequency: 4.4982 WorstPerturbation: [2x2 ss]

这multiloop margin,MMO, takes into account loop interaction by considering simultaneous variations in gain (or phase) across all feedback channels. This typically gives the most realistic stability margin estimate for multiloop control systems.

MMO
MMO =带有字段的结构:AgainMargin:[0.6238 1.6030] Phasemargin:[-26.0867 26.0867] DISKMARGIN:0.4633 LowerBound:0.4633上空:0.4643频率:0.4643频率:3.6830 worstperterbation:[3.6830 worstperturbation:[2x2 ss ss ss ss ss ss]]

MMO。GainMarginshows that the gains in both output channels can vary independently by factors between about 0.62 and 1.60 without compromising closed-loop stability.mmoshows that stability is preserved for independent phase variations in each channel of up to ±26°. Usediskmarginplot以图形方式检查Multiloop边缘。

diskmarginplot(-Lo)

这显示了基于磁盘的增益和相位边缘作为频率的函数。这MMO返回的值diskmargin对应于频率跨频率最弱的磁盘边缘。

Margins at Multiple Operating Points

当您使用时linearize,您可以提供多个操作点来生成系统的线性化数组。allmargindiskmargincan operate on linear model arrays to return the margins at multiple operating points. For example, linearize the airframe system at three simulation snapshot times.

snap = [0;2;5];lisnap =线性化('airframarginex',ioinput,snap);losnap =线性化('airframarginex',ioOutput,snap);

lisnapis a 3-by-1 array of SISO linear models, one for the loop transfer at the plant input obtained at each snapshot time. Similarly,losnapis a 3-by-1 array of 2-input, 2-output linear models representing the loop transfers at the plant outputs at each snapshot time. Compute the classical gain and phase margins at the plant inputs at the three snapshot times.

sisnap= allmargin(-LiSnap);

结构数组中的每个条目sisnap包含相应快照时间的经典保证金信息。例如,检查第二个条目的经典边距t= 2 s.

sisnap(2)
ANS =带有字段的结构:AgainMargin:[0.0171 18.2441] GMFREQUENCY:[0.0502 51.4351] PHASEMARGIN:93.1041 PMFREQUENCY:2.8474 delaymargin:57.0691 DMFREQUENCY:2.8474稳定:1.8474稳定:1.8474稳定

计算植物输出处的磁盘边缘。

[DMOSNAP,MMOSNAP] = diskmargin(-losnap);

由于有两个反馈通道和三个快照时间,因此包含循环的磁盘边缘的结构数组的尺寸为2 by-3。第一个维度是用于反馈频道,第二个维度是快照时间。换句话说,DMOSNAP(J,K)包含频道的边距j在快照时间k。例如,examine the disk margins in the second feedback channel at the third snapshot time,t= 5 s。

DMoSnap(2,3)
ans = struct with fields: GainMargin: [0.1345 7.4338] PhaseMargin: [-74.6771 74.6771] DiskMargin: 1.5257 LowerBound: 1.5257 UpperBound: 1.5257 Frequency: 24.1993 WorstPerturbation: [2x2 ss]

这re is only one set of multiloop margins for each snapshot time, sommosnap是一个3 x-1结构阵列。

和以前一样,您还可以绘制Multiloop边缘。现在有三个曲线,每个快照时间一条。单击曲线以确定其对应于哪个快照时间。

diskmarginplot(-LoSnap)

也可以看看

|||(万博1manbetxSimulink控制设计)

相关话题