MATLAB中d2d函数用法

离散时间模型的重新采样方法及其应用
本文介绍了Matlab中d2d函数用于离散时间模型重采样的语法和示例,包括零阶保持(zoh)和Tustin双线性逼近方法。通过实例演示了如何调整采样时间,以及如何处理已识别模型的重新采样,同时提到了translatecov函数在处理协方差矩阵的情况。

目录

语法

说明

示例

重新采样离散时间模型

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


        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)。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值