主要内容

d2c

将模型从离散时间转换为连续时间

说明

sysc = d2c(sysd) 通过对输入使用零阶保持将离散时间动态系统模型 sysd 转换为连续时间模型。

示例

sysc = d2c(sysd,method) 指定转换方法。

示例

sysc = d2c(sysd,opts) 指定离散化的转换选项。

示例

[sysc,G] = d2c(___)(其中 sysd 是状态空间模型)返回一个矩阵 G,该矩阵将离散时间状态空间模型的状态 xd[k] 映射到 sysc 的状态 xc(t)

示例

全部折叠

创建以下离散时间传递函数:

H(z)=z-1z2+z+0.3

H = tf([1 -1],[1 1 0.3],0.1);

模型的采样时间为 Ts=0.1s

推导出连续时间、零阶保持等效模型。

Hc = d2c(H)
Hc =
 
   121.7 s + 1.758e-12
  ---------------------
  s^2 + 12.04 s + 776.7
 
Continuous-time transfer function.
Model Properties

使用默认的零阶保持方法和采样时间 0.1 秒对得到的模型 Hc 进行离散化,以返回原始离散模型 H

c2d(Hc,0.1)
ans =
 
      z - 1
  -------------
  z^2 + z + 0.3
 
Sample time: 0.1 seconds
Discrete-time transfer function.
Model Properties

使用突斯汀逼近方法将 H 转换为连续时间模型。

Hc2 = d2c(H,'tustin');

对得到的模型 Hc2 进行离散化,以返回原始离散时间模型 H

c2d(Hc2,0.1,'tustin');

估计离散时间传递函数模型,并将其转换为连续时间模型。

load iddata1
sys1d = tfest(z1,2,'Ts',0.1);
sys1c = d2c(sys1d,'zoh');

估计连续时间传递函数模型。

sys2c = tfest(z1,2);

比较 sys1c 和直接估计的连续时间模型 sys2c 的响应。

compare(z1,sys1c,sys2c)

Figure contains an axes object. The axes object with ylabel y1 contains 3 objects of type line. These objects represent Validation data (y1), sys1c: 69.3%, sys2c: 70.77%.

这两个系统几乎完全相同。

将辨识的离散时间传递函数模型转换为连续时间模型。

load iddata1
sysd = tfest(z1,2,'Ts',0.1);
sysc = d2c(sysd,'zoh');

sys1c 没有协方差信息。d2c 操作会导致辨识模型的协方差数据丢失。

使用相同的估计命令和估计数据,通过零次迭代更新来重新生成协方差信息。

opt = tfestOptions; 
opt.SearchOptions.MaxIterations = 0;
sys1c = tfest(z1,sysc,opt);

分析对频率响应不确定性的影响。

h = bodeplot(sysd,sys1c);
showConfidence(h,3)

MATLAB figure

在达到奈奎斯特频率之前,sys1csysd 的不确定性是可比的。然而,sys1c 在估计数据未提供任何信息的频率范围内表现出较大的不确定性。

如果您无法获取估计数据,可以使用 translatecov 命令,该命令基于高斯近似公式在模型类型转换操作中进行协方差的转换。

输入参数

全部折叠

离散时间模型,指定为动态系统模型,例如 tfsszpk

您不能直接将 FunctionType'd'idgrey 模型用于 d2c。需先将该模型转换为 idss 形式。

离散时间到连续时间转换方法,指定为以下值之一:

  • 'zoh' - 对输入使用零阶保持。假定控制输入在采样周期内是分段常量。

  • 'foh' - 对输入使用线性插值(改进的一阶保持)。假定控制输入在采样周期内是分段线性的。

  • 'tustin' - 对导数的双线性(突斯汀)逼近。要指定在此方法中使用频率预修正(以前称为 'prewarp' 方法),请使用 d2cOptionsPrewarpFrequency 选项。

  • 'matched' - 零极点匹配法(仅适用于 SISO 系统)。请参阅 [1]

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

离散时间到连续时间转换选项,使用 d2cOptions 创建。例如,可将预修正频率或转换方法指定为选项。

输出参量

全部折叠

连续时间模型,以与输入系统 sysd 相同类型的动态系统模型形式返回。

sysd 是辨识的 (IDLTI) 模型时,sysc

  • 同时包括 sysd 的测量分量和噪声分量。如果在 sysd 中噪声方差为 λ,则连续时间模型 sysc 的噪声谱密度指示水平等于 Ts*λ

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

状态空间模型 sysd 的状态 xd[k]sysc 的状态 xc(t) 的映射,以矩阵形式返回。状态的映射如下:

xc(kTs)=G[xd[k]u[k]].

给定 sysd 的初始条件 x0 和初始输入 u0 = u[0]sysc 的相应初始条件(假设 k < 0u[k] = 0)为:

xc(0)=G[x0u0].

参考

[1] Franklin, G.F., Powell,D.J., and Workman, M.L., Digital Control of Dynamic Systems (3rd Edition), Prentice Hall, 1997.

[2] Kollár, I., G.F. Franklin, and R. Pintelon, "On the Equivalence of z-domain and s-domain Models in System Identification," Proceedings of the IEEE® Instrumentation and Measurement Technology Conference, Brussels, Belgium, June, 1996, Vol. 1, pp. 14-19.

版本历史记录

在 R2006a 之前推出