MATLAB中d2d函数用法

目录

语法

说明

示例

重新采样离散时间模型

重新采样已识别的离散时间模型


        d2d函数的功能是重新采样离散时间模型。

语法

sys1 = d2d(sys, Ts)
sys1 = d2d(sys, Ts, 'method')
sys1 = d2d(sys, Ts, opts)

说明

        sys1 = d2d(sys, Ts)将离散时间动态系统模型 sys 重新采样,生成一个具有新采样时间 Ts(以秒为单位)的等效离散时间模型 sys1,采用输入信号的零阶保持方式。

        sys1 = d2d(sys, Ts, 'method')使用指定的重新采样方法 'method':

  • 'zoh' — 对输入信号使用零阶保持
  • 'tustin' — 双线性(Tustin)逼近法

有关每种 d2d 转换方法的算法信息,请参阅"Continuous-Discrete Conversion Methods"。

        sys1 = d2d(sys, Ts, opts) 使用使用 d2dOptions 设置的选项重新采样 sys。

示例

重新采样离散时间模型

        创建以下零极点增益模型,采样时间为0.1秒。

H = zpk(0.7,0.5,1,0.1);

以0.05秒的采样时间重新采样模型。

H2 = d2d(H,0.05)
H2 =
 
  (z-0.8243)
  ----------
  (z-0.7071)

        采样时间:0.05秒 离散时间零/极点/增益模型。

        以0.1秒的采样时间重新采样H2模型,以获得原始模型H。

H3 = d2d(H2,0.1)
H3 =
 
  (z-0.7)
  -------
  (z-0.5)
 

        采样时间:0.1秒 离散时间零/极点/增益模型。

重新采样已识别的离散时间模型

        假设你使用与估算数据相符的采样时间(0.1秒)来估算了一个离散时间的输出误差多项式模型。然而,你的应用需要更快的采样频率(0.01秒)。你可以使用d2d来重新采样你的估算模型。

加载估算数据。

load iddata1 z1
z1.Ts
ans = 0.1000

z1是一个包含采样时间为0.1秒的估算输入-输出数据的iddata对象。

估算一个阶数为[2 2 1]的输出误差多项式模型。

sys = oe(z1,[2 2 1]);
sys.Ts
ans = 0.1000

以0.01秒的采样时间重新采样模型。

sys2 = d2d(sys,0.01);
sys2.Ts
ans = 0.0100

提示:

  • 使用语法sys1 = d2d(sys, Ts, 'method') 以使用 'method' 的默认选项重新采样 sys。要指定带有频率预弯的Tustin重新采样,请使用语法sys1 = d2d(sys, Ts, opts)。有关更多信息,请参阅d2dOptions。

  • 当sys是一个已识别的(IDLTI)模型时,sys1不包括sys的估算参数协方差。如果你想在转换模型的同时转换协方差,请使用translatecov(System Identification Toolbox)。

你可能感兴趣的:(Matlab,matlab,javascript,开发语言)