在实时编辑器中使用转换模型速率任务,以交互方式将模型从连续时间转换为离散时间。使用不同的方法、选项和响应图进行试验。该任务会自动生成反映您的选择的代码。打开此示例,查看包含转换模型速率任务的预配置脚本。
创建一个连续时间传递函数模型。
要离散化此模型,请在实时编辑器中打开转换模型速率任务。在实时编辑器选项卡上,选择任务 > 转换模型速率。在该任务中,选择 G 作为要转换的模型。
该任务使用默认采样时间 0.2 秒和默认转换方法 Zero-order hold 自动离散化模型。它还会创建波特图,允许您比较原始模型和转换后的模型的响应。
图上的竖线显示与默认采样时间相关联的奈奎斯特频率。假设您要使用 0.15 秒的采样时间。可通过在采样时间字段中输入新值来更改采样时间。响应图会自动更新以反映新采样时间。
如果共振的精确动态特性对您的应用很重要,您可以使用不同的转换方法来改进频域匹配。在该任务中,您可以尝试使用不同的方法进行试验,观察它们对响应图的影响。
与默认零阶保持方法相比,图斯汀法在频域中可以产生更好的匹配。(请参阅连续-离散转换方法。)在选择转换方法中,选择 Bilinear (Tustin) approximation。最初,得到的频域匹配比零阶保持方法差。
您可以使用预修正频率来改进匹配。此选项会强制离散时间响应与您指定的频率匹配。G 的共振峰值约为 14 弧度/秒。请输入该值作为预修正频率。共振附近的匹配确实有所改进。然而,对于 0.15 秒的采样时间,此共振非常接近奈奎斯特频率,这限制了匹配的接近程度。
转换模型速率任务可以生成其他类型的响应图。例如,要比较原始模型和转换后的模型的时域响应,请在输出图中选择 step 或 impulse。
该任务会在您的实时脚本中生成代码。生成的代码反映您选择的参数和选项,并包括生成您指定的响应图的代码。要查看生成的代码,请点击任务参数区域底部的
显示代码。该任务会展开以显示生成的代码。
默认情况下,生成的代码使用 sysConverted 作为输出变量的名称,它是转换后的模型。要指定不同的输出变量名称,请在任务顶部的摘要行中输入新名称。例如,将名称更改为 sys_d。
该任务会更新生成的代码以反映新变量名称,并且新转换的模型 sys_d 会出现在 MATLAB 工作区中。您可以像使用任何其他模型对象一样,使用该模型进行进一步的分析或控制设计。例如,仿真转换后的系统对方波输入的响应。使用您在任务中指定的采样时间。
[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)