主要内容

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' - 双线性(图斯汀)逼近

有关每种 d2d 转换方法的算法的信息,请参阅连续-离散转换方法

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

示例

全部折叠

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

H(z)=z-0.7z-0.5

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

以 0.05 秒的采样时间对该模型进行重采样。

H2 = d2d(H,0.05)
H2 =
 
  (z-0.8243)
  ----------
  (z-0.7071)
 
Sample time: 0.05 seconds
Discrete-time zero/pole/gain model.
Model Properties

以 0.1 秒的采样时间对 H2 进行重采样,以获得原始模型 H

H3 = d2d(H2,0.1)
H3 =
 
  (z-0.7)
  -------
  (z-0.5)
 
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
Model Properties

假设您估计了一个离散时间输出误差多项式模型,其采样时间与估计数据(0.1 秒)一致。但是,您的应用场景需要更快的采样频率(0.01 秒)。您可以使用 d2d 对您的估计模型进行重采样。

加载估计数据。

load iddata1 z1
z1.Ts
ans = 
0.1000

z1 是一个 iddata 对象,包含采样时间为 0.1 秒的估计 I/O 数据。

估计一个阶数为 [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

d2d 使用零阶保持方法对该模型进行重采样。

提示

  • 使用语法 sys1 = d2d(sys,Ts,'method') 会采用 'method' 的默认选项对 sys 进行重采样。要指定带频率预修正的 tustin 重采样,请使用语法 sys1 = d2d(sys,Ts,opts)。有关详细信息,请参阅 d2dOptions

  • sys 是辨识的 (IDLTI) 模型时,sys1 不包括 sys 的估计参数协方差。如果要在转换模型时转换协方差,请使用 translatecov (System Identification Toolbox)

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | (System Identification Toolbox)