此示例使用块线性化规范功能显示如何使用额外的时间延迟动态增强块的线性化。
打开sim金宝appulink.®模型。
mdl ='scdfcncall'; 开放式系统(mdl)
该模型包括连续时间植物,植物
和离散时间控制器,控制器
. 这个D / A.
块离散化设备输出,采样时间为0.1s。这个外部调度程序
块触发控制器以相同的时间内执行0.1秒。然而,触发器相对于离散化植物输出的偏移量为0.05秒。因此,在发生变化后,控制器不会处理参考信号的变化直到0.05秒。该偏移量将0.05秒的时间延迟引入模型中。
(可选)在模型操作点处线性化闭环模型,而不为其指定线性化控制器
堵塞。
IO = GetLinio(MDL);sys_nd =线性化(mdl,io);
这格雷林
函数返回模型中已定义的线性化输入和输出点。
(可选)通过频率响应估计检查线性化结果。
输入= frest.sinestream(sys_nd);sysest =嫉妒(mdl,io,输入);BODE(SYS_ND,'G',最具系统,“r*”,{Input.fruquency(1),Input.frequency(END)})传奇(“没有延迟的线性化”那......'频率响应估计'那“位置”那'西南')
确切的线性化不考虑由控制器执行偏移引入的时间延迟。线性化模型与估计模型之间的结果存在差异,尤其是在较高频率下。
编写一个函数来指定线性化控制器
包含时间延迟的块。
以下配置功能定义了一个线性系统,其等于默认块线性化乘以时间延迟。将此配置功能保存到MATLAB上的位置®小路。(对于此示例,该函数已保存为scdaddelayfcn.m.
.)
功能sys = scdadddelayfcn(blockdata)sys = blockdata.blocklinearization * thiran(0.05,0.1);
对功能的输入,blockdata.
,它是软件在每次线性化块时自动创建的结构。指定块线性化配置功能时,软件会自动传递blockdata.
函数。场BlockData.BlockLinearization
包含块的当前线性化。
该配置函数将时间延迟近似于a瑟兰
筛选。过滤器表示0.5采样周期的分数延迟的离散时间近似。(0.05秒的延迟具有0.1秒的采样时间。
指定配置功能SCDADDELayFCN
作为线性化的控制器
堵塞。
右键单击控制器
块,然后选择线性分析>指定所选块线性化。
选择使用以下之一指定块线性化复选框。然后,选择配置功能从下拉列表中。
输入函数名SCDADDELayFCN
在文本框中。SCDADDELayFCN
没有参数,因此请将参数表留空。
点击好啊。
使用指定的块线性化线性化模型。
sys_d=线性化(mdl,io);
线性模型系统
是闭环模型的线性化,用于占时间延迟。
(可选)比较包含估计频率响应的延迟的线性化。
BODE(SYS_D,'B',sys_nd,'G',最具系统,“r*”那......{Input.fruquency(1),Input.frQuency(END)})传奇('带延迟线性化'那“没有延迟的线性化”那......'频率响应估计'那“位置”那'西南')
使用指定的块线性化获得的线性模型现在占时间延迟。因此,该线性模型与Simulink模型的实际频率响应有更好的匹配。金宝app