在<一种href="//www.tatmou.com/help/robust/gs/formulating-design-requirements-as-h-infinity-constraints.html" class="a">将设计要求作为H-Infinity约束您将您的设计要求表达为对的约束
下一步是创建一个<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">广义LTI模型的
在MATLAB中构造闭环控制系统的可调通用线性模型
使用命令如<一种href="//www.tatmou.com/help/control/ref/tf.html">TF.
那<一种href="//www.tatmou.com/help/control/ref/zpk.html">ZPK.
, 和<一种href="//www.tatmou.com/help/control/ref/ss.html">SS.
创建数字线性模型,表示控制系统的固定元素和代表您的设计要求的任何加权函数。
使用可调型号(控制设计块或广义LTI模型)来模拟控制系统的可调元素。有关可调型号的更多信息,请参阅<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">带可调系数的模型。
使用型号 - 互连命令,如<一种href="//www.tatmou.com/help/control/ref/lti.series.html">系列
那<一种href="//www.tatmou.com/help/control/ref/lti.parallel.html">平行线
, 和<一种href="//www.tatmou.com/help/control/ref/lti.connect.html">连接
从数字和可调模型构造闭环系统。
此示例显示如何构建以下控制系统的可调广义线性模型以进行调谐h
。
该框图表示硬盘驱动器中的头磁盘组件(HDA)。该建筑包括工厂G
在具有PI控制器的反馈循环中C
和一个低通滤波器,f = a /(s + a)
。可调参数是PI增益C
和过滤器参数一种
。
框图还包括加权函数
大致强制执行目标开环响应形状LS.
。对于此示例,目标循环形状是
这个价值
调整HDA控制系统h
,构造闭环系统的可调模型
装载工厂G
从已保存的文件。
加载hinfstruct_demo.G
G
是一个第9阶SISO状态空间(SS.
) 模型。
创建PI控制器的可调模型。
您可以使用预定义的控制设计块<一种href="//www.tatmou.com/help/control/ref/tunablepid.html">调音
表示可调谐PI控制器。
c =调谐('C'那 'pi');
创建低通滤波器的可调模型。
因为过滤器没有预定义的控制设计块f = a /(s + a)
, 采用<一种href="//www.tatmou.com/help/control/ref/realp.html">实际
表示可调滤波器参数一种
。然后创建一个可调调节<一种href="//www.tatmou.com/help/control/ref/genss.html">雄鸡
代表过滤器的模型。
a = REAMP('一种',1);f = tf(a,[1 a]);
指定目标循环形状LC.
。
WC = 1000;s = tf(');LS =(1 + 0.001 * S / WC)/(0.001 + S / WC);
标记控制系统的所有组件的输入和输出。
标记I / O允许您连接元素以构建闭环系统
wn = 1 / ls;wn.inputname =.'nw';wn.outputname =. 'n';我们= ls;we.Inputname =. 'e';we.outputname =. 'ew';c.InputName =. 'e';c.outputname =. 'U';f.InputName =. 'yn';f.outputname = 'yf';
根据控制系统的其他组件的I / O标签指定求和结。
sum1 = sumblk('e = r - yf');sum2 = sumblk( 'yn = y + n');
采用<一种href="//www.tatmou.com/help/control/ref/lti.connect.html">连接
将所有元素组合成闭环系统的完整模型
t0 = connect(g,wn,we,c,f,s sum1,sum2,{'r'那 'nw'},{ '是'那 'ew'});
T0.
是A.<一种href="//www.tatmou.com/help/control/ref/genss.html">雄鸡
对象是表示具有加权函数的闭环控制系统的通用LTI模型。这块
财产T0.
包含可调块C
和一种
。
t0.blocks.
ans =.结构与字段:C:[1x1调谐化] A:[1x1 Realp]
有关包含两个数字和可调组件的控制系统的广义模型的更多信息,请参阅<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">带可调系数的模型。
你现在可以使用h
调整该控制系统的参数。看<一种href="//www.tatmou.com/help/robust/gs/tune-the-controller-parameters.html" class="a">调整控制器参数。
在此示例中,控制系统模型T0.
是一个连续时间模型(T0.TS.
= 0)。你也可以使用h
使用离散时间模型,只要您指定了明确的示例时间(T0.TS.
≠-1)。
如果您的控制系统的Simul金宝appink模型和SLTUNER.
(金宝appSimulink Control Design)创建控制系统的Simulink模型的接口。金宝app创建接口时,您可以指定要在模型中调整哪个块。这SLTUNER.
接口允许您提取用于调整的闭环模型h
。(金宝app基于Simulink的功能不可用
此示例显示如何在Simulink模型中构建控制系统的可调通用线性模型金宝apprct_diskdrive
。
要创建该控制系统的广义线性模型(包括循环整形加权函数):
打开模型。
打开('rct_diskdrive');
创建一个SLTUNER.
界面到模型。该接口允许您指定可调谐块并提取线性化开环和闭环响应。(有关接口的更多信息,请参阅<一种href="//www.tatmou.com/help/slcontrol/ug/sltuner.html">SLTUNER.
(金宝appSimulink Control Design)参考页面。)
st0 = sltuner('rct_diskdrive',{ 'C'那 'F'});
此命令指定该命令C
和F
是模型中的可调块。这SLTUNER.
接口自动参加这些块。传输功能块的默认参数化F
是一个具有两个自由参数的传递函数。因为F
是一个低通滤波器,必须约束其系数。为此,请指定自定义参数化F
。
a = REAMP('一种',1); %滤波器系数SetBlockParam(ST0, 'F',tf(a,[1 a]));
提取要调整的闭环传输功能的可调模型。
t0 = getiotransfer(st0,{'r'那 'n'},{ '是'那 'e'});
此命令返回一个雄鸡
来自参考和噪声输入的线性化闭环传递函数的模型r,n
对测量和错误输出y,E.
。环形整形加权函数需要错误输出。
定义环形整形加权函数并将其附加到T0.
。
WC = 1000;s = tf(');LS =(1 + 0.001 * S / WC)/(0.001 + S / WC);t0 = blkdiag(1,ls)* t0 * blkdiag(1,1 / ls);
广义线性模型T0.
是闭环传输功能的可调模型rct_diskdrive
。调整T0.
强制执行
大约强制执行目标循环形状LS.
。
你现在可以使用h
调整该控制系统的参数。看<一种href="//www.tatmou.com/help/robust/gs/tune-the-controller-parameters.html" class="a">调整控制器参数。