转换模型速率
在连续时间和离散时间之间转换模型,并在实时编辑器中对模型进行重采样

打开任务
要在 MATLAB 编辑器中将转换模型速率任务添加到实时脚本中,请执行以下操作:
在实时编辑器选项卡上,选择任务 > 转换模型速率。
在脚本的代码块中,键入相关的关键字,例如
convert
、rate
或c2d
。从建议的命令自动填充项中选择转换模型速率。
示例
在实时编辑器中使用转换模型速率任务,以交互方式将模型从连续时间转换为离散时间。使用不同的方法、选项和响应图进行试验。该任务会自动生成反映您的选择的代码。打开此示例,查看包含转换模型速率任务的预配置脚本。
创建一个连续时间传递函数模型。
G = tf([1 -50 300],[1 3 200 350]);
要离散化此模型,请在实时编辑器中打开转换模型速率任务。在实时编辑器选项卡上,选择任务 > 转换模型速率。在该任务中,选择 G
作为要转换的模型。
该任务使用默认采样时间 0.2 秒和默认转换方法 Zero-order hold
自动离散化模型。它还会创建波特图,允许您比较原始模型和转换后的模型的响应。
图上的竖线显示与默认采样时间相关联的奈奎斯特频率。假设您要使用 0.15 秒的采样时间。可通过在采样时间字段中输入新值来更改采样时间。响应图会自动更新以反映新采样时间。
如果共振的精确动态特性对您的应用很重要,您可以使用不同的转换方法来改进频域匹配。在该任务中,您可以尝试使用不同的方法进行试验,观察它们对响应图的影响。
与默认零阶保持方法相比,图斯汀法在频域中可以产生更好的匹配。(请参阅Continuous-Discrete Conversion Methods。)在选择转换方法中,选择 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)
参数
选择一个 LTI 模型。该列表包含 MATLAB 工作区中所有合适的连续时间或离散时间动态系统模型,包括:
数值 LTI 模型,如
tf
、ss
或zpk
模型。辨识的 LTI 模型,如
idss
和idtf
。(使用辨识的模型需要 System Identification Toolbox™ 许可证。)
您可以在带或不带时滞的情况下转换 SISO 模型或 MIMO 模型,尽管有些转换方法仅适用于 SISO 模型(请参阅方法参数说明)。您无法使用转换模型速率来转换广义 LTI 模型(如 genss
或 uss
)、频率响应数据模型(如 frd
)或过程模型 (idproc
)。
以 1/TimeUnit
为单位指定转换后的模型的采样时间,其中 TimeUnit
是输入模型的 TimeUnit
属性。
要离散化连续时间模型或对离散时间模型进行重采样,请输入目标采样时间。
要将离散时间模型转换为连续时间,请输入 0。
选择一个速率转换方法。可用的方法有:
零阶保持
一阶保持
冲激不变离散化(仅限 SISO 模型的连续到离散转换)
双线性(突斯汀)逼近
零极点匹配法
最小二乘法(仅限 SISO 模型的连续到离散转换)
有关选择转换方法的信息,请参阅Continuous-Discrete Conversion Methods。
当您转换具有时滞的模型的速率时,双线性(突斯汀)逼近或零极点匹配法会将时滞舍入为采样时间最接近的整数倍。这种舍入会降低动态特性的准确度,尤其是在奈奎斯特频率附近。
将延迟阶数设置为非零整数,以使转换模型速率使用 Thiran 滤波器逼近延迟的小数部分,而不是舍入。使用能为您的应用产生足够准确的速率转换后动态特性的最小值。有关 Thiran 滤波器的详细信息,请参阅 thiran
。
在离散化连续时间模型时,如果您的系统在特定频率下具有重要的动态特性,并且您要速率转换保持不变,则可以使用具有频率预修正的双线性(突斯汀)逼近方法。此方法可确保原始响应和转换后的响应在您指定的预修正频率下匹配。请参阅Continuous-Discrete Conversion Methods。
转换模型速率会自动生成响应图,帮助您检查对您的应用至关重要的动态特性是否得以保留。指定以下响应图类型之一,以便在试验转换参数时比较原始模型和转换后的模型的响应。
波特
阶跃
冲激
零极点
该任务生成的代码包括创建所选响应图的代码。要省略响应图,请选择无。
版本历史记录
在 R2019b 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)