www.gusucode.com > control 案例程序 matlab源码代码 > control/LoopGainRequirementWithoutStabilityConstraintOnInnerLoopExample.m
%% Loop-Gain Requirement without Stability Constraint on Inner Loop % Create requirements that specify a minimum loop gain of 20 dB (100) at % 50 rad/s and a maximum loop gain of –20 dB (0.01) at 1000 rad/s on % the inner loop of the following control system. % % <<../tuninggoal5.png>> % %% % Create the maximum and minimum loop gain requirements. RMinGain = TuningGoal.MinLoopGain('X2',50,100); RMaxGain = TuningGoal.MaxLoopGain('X2',1000,0.01); %% % Configure the requirements to apply to the loop gain of the inner loop % measured with the outer loop open. RMinGain.Openings = 'X1'; RMaxGain.Openings = 'X1'; %% % Setting |Req.Openings| tells the tuning algorithm % to enforce the requirements with a loop open at the specified location. % With the outer loop open, the requirements apply only to the inner % loop. %% % By default, tuning using |TuningGoal.MinLoopGain| or % |TuningGoal.MaxLoopGain| imposes a stability requirement as well as the % minimum or maximum loop gain. Practically, in some control systems it is % not possible to achieve a stable inner loop. In that case, remove the % stability requirement for the inner loop by setting the |Stabilize| % property to |false|. RMinGain.Stabilize = false; RMaxGain.Stabilize = false; %% % When you tune using either of these requirements, the tuning algorithm % still imposes a stability requirement on the overall tuned control % system, but not on the inner loop alone.