在MATLAB命令行窗口输入sisotool
出现如下Control System Designer窗口
打开工具后,Compensator初始为1,需要按照需求进行设计。本示例的传递函数为:
基于上述传递函数的Bode图进行后续的设计与优化。
在Bode图中右键,选择Edit Compensator.
在Dynamics窗口中右键,选择Add Pole or ZeràReal Pole(根据具体设计选择Real Pole 或 Complex Pole)
在Dynamics窗口中选中新增的零点,在右方Edit Selected Dynamics窗口中 Location输入设定的极点值,例如-833。
同样的操作,在新增极点值为-22.2的极点。
在Dynamics窗口中右键,选择Add Pole or Zerà Complex Zero(根据具体设计选择Real Zero或 Complex Zero)
在Dynamics窗口中选中新增的零点,在右方Edit Selected Dynamics窗口中 Real Part输入零点的实部值,例如-41.21;Imaginary Part输入零点的虚部值,例如74.41。
基于上述章节的生成Bode图进行后续的设计与优化。
在Bode图中,鼠标放在蓝色幅频曲线上,可上下拖动,调整幅频曲线的增益大小,同时Compensator的传递函数会随之变化。
如下示例,整体向下拖动,增益减小,窗口左下角公式K随之减小。
在Bode图中,红色`x`为极点位置,红色`o`为零点位置。鼠标放在极点或零点上,可上下左右拖动,十分方便的调整Bode图,同时Compensator的传递函数会随之变化。
Bode图调整后的传递函数,窗口左下角的传递函数发生实时变化。
也可打开Edit Compensator查看调整后的传递函数。
选择Export->Export Tuned Blocks,
勾选上述章节设计的C,输入导出到Workspace的名字C,点击Export。
在MATLAB窗口中输入:
S=tf(C);Z=c2d(S,0.001,'tustin')
得到转化后的Z域传递函数: