• MATLAB中d2d函数用法


    目录

    语法

    说明

    示例

    重新采样离散时间模型

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


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

    语法

    1. sys1 = d2d(sys, Ts)
    2. sys1 = d2d(sys, Ts, 'method')
    3. 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秒的采样时间重新采样模型。

    1. H2 = d2d(H,0.05)
    2. H2 =
    3. (z-0.8243)
    4. ----------
    5. (z-0.7071)

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

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

    1. H3 = d2d(H2,0.1)
    2. H3 =
    3. (z-0.7)
    4. -------
    5. (z-0.5)

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

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

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

    加载估算数据。

    1. load iddata1 z1
    2. z1.Ts
    3. ans = 0.1000

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

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

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

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

    1. sys2 = d2d(sys,0.01);
    2. sys2.Ts
    3. 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)。

  • 相关阅读:
    十大基础排序算法
    uniapp - 开关按钮
    lua # 获取table数组长度
    MetaAI发布Llama 3模型:4000亿参数的AI新标杆
    大话STL第十期终章——算法
    04-JS函数
    [单片机框架][drivers层][ADC] fuelgauge 软件电量计(二)
    Golang 数组基础
    数组力扣485题---最大连续1的个数
    哈夫曼树(理论)
  • 原文地址:https://blog.csdn.net/jk_101/article/details/133130718