主要内容

filt

指定 DSP 格式的离散传递函数

    说明

    使用 filt 创建数字信号处理 (DSP) 形式的离散时间传递函数模型,以用于 Control System Toolbox™ 线性分析和控制设计工具。要将滤波器应用于向量数据,请参阅 filter

    在 DSP 中,通常将传递函数表示为有理式 z−1,并按 z−1幂顺序排列分子和分母项。例如:

    H(z1)=2+z11+0.4z1+2z2

    filt 创建一个 tf 对象,其 Variable 属性设置为 'z^-1'。有关详细信息,请参阅 tf

    sys = filt(numerator,denominator) 使用 numeratordenominator 参量中指定的系数创建 DSP 形式的离散时间传递函数模型。采样时间保留为未指定状态。有关详细信息,请参阅 tf 参考页。

    示例

    sys = filt(numerator,denominator,ts) 设置离散时间传递函数的采样时间。

    示例

    sys = filt(m) 创建一个表示静态增益矩阵 m 的离散时间传递函数模型。

    sys = filt(___,Name,Value) 使用以上任何输入参量组合中的一个或多个 Name,Value 对组参量设置离散时间传递函数模型的属性。有关可用属性及其值的信息,请参阅 tf 参考页。

    示例

    示例

    全部折叠

    对于此示例,请使用 filt 命令创建一个 DSP 形式的离散时间传递函数模型。

    首先,按 z^-1 的升幂顺序指定分子和分母系数。

    numerator = [2,5,7];
    denominator = [6,8,3];

    使用 filt 创建所需的面向 DSP 的传递函数模型。

    sys = filt(numerator,denominator)
    sys =
     
      2 + 5 z^-1 + 7 z^-2
      -------------------
      6 + 8 z^-1 + 3 z^-2
     
    Sample time: unspecified
    Discrete-time transfer function.
    Model Properties
    

    sys 是 DSP 形式的离散时间传递函数模型,采样时间未指定,即系数按 z^-1 的升幂顺序排列。

    您也可以使用 tf 命令通过将 Variable 属性设置为 z^-1 来创建相同的模型。

    systf = tf(numerator,denominator,-1,'Variable','z^-1')
    systf =
     
      2 + 5 z^-1 + 7 z^-2
      -------------------
      6 + 8 z^-1 + 3 z^-2
     
    Sample time: unspecified
    Discrete-time transfer function.
    Model Properties
    

    对于此示例,请创建一个采样时间为 0.2 秒的面向 DSP 的离散时间传递函数模型。

    首先,按 z^-1 的升幂顺序指定分子和分母系数。

    numerator = [2,9];
    denominator = [3,5,7,1];
    ts = 0.2;

    接下来,使用 filt 创建所需的传递函数模型。

    sys = filt(numerator,denominator,ts)
    sys =
     
              2 + 9 z^-1
      --------------------------
      3 + 5 z^-1 + 7 z^-2 + z^-3
     
    Sample time: 0.2 seconds
    Discrete-time transfer function.
    Model Properties
    

    sys 是 DSP 形式的离散时间传递函数模型,采样时间为 0.2 秒。对于面向 DSP 的传递函数模型,系数按 z^-1 的升幂顺序排列。

    对于此示例,请创建一个 DSP 格式的双输入离散时间传递函数模型,并将输入分别命名为 channel1channel2

    numerator = {1,[1 0.3]};
    denominator = {[1 1 2],[5 2]};
    sys = filt(numerator,denominator,'InputName',{'channel1' 'channel2'})
    sys =
     
      From input "channel1" to output:
              1
      -----------------
      1 + z^-1 + 2 z^-2
     
      From input "channel2" to output:
      1 + 0.3 z^-1
      ------------
       5 + 2 z^-1
     
    Sample time: unspecified
    Discrete-time transfer function.
    Model Properties
    

    您也可以使用 tf 命令通过将 Variable 属性设置为 z^-1 来创建相同的离散时间传递函数模型。

    systf = tf(numerator,denominator,-1,'InputName',{'channel1' 'channel2'},'Variable','z^-1')
    systf =
     
      From input "channel1" to output:
              1
      -----------------
      1 + z^-1 + 2 z^-2
     
      From input "channel2" to output:
      1 + 0.3 z^-1
      ------------
       5 + 2 z^-1
     
    Sample time: unspecified
    Discrete-time transfer function.
    Model Properties
    

    输入参数

    全部折叠

    分子系数,指定为:

    • 由多项式系数组成的行向量,按 'z^-1' 的升幂顺序排列。

    • 由行向量组成的 Ny×Nu 元胞数组,用于指定 MIMO 传递函数,其中 Ny 是输出数目,Nu 是输入数目。元胞数组的每个元素指定给定输入/输出对组的分子系数。如果将 NumeratorDenominator 都指定为元胞数组,则它们必须具有相同的维度。

    Numerator 的系数可以是实数值,也可以是复数值。

    分母系数,指定为:

    • 由多项式系数组成的行向量,按 'z^-1' 的升幂顺序排列。

    • 由行向量组成的 Ny×Nu 元胞数组,用于指定 MIMO 传递函数,其中 Ny 是输出数目,Nu 是输入数目。元胞数组的每个元素指定给定输入/输出对组的分子系数。如果将 NumeratorDenominator 都指定为元胞数组,则它们必须具有相同的维度。

    如果 MIMO 传递函数的所有 SISO 项都具有相同的分母,则可以将 Denominator 指定为行向量,将 Numerator 指定为元胞数组。

    Denominator 的系数可以是实数值,也可以是复数值。

    采样时间,指定为:

    • 表示离散时间系统采样周期的正标量。以传递函数对象的 TimeUnit 属性指定的时间单位指定 ts

    • -1(适用于未指定采样时间的离散时间系统)。

    静态增益,指定为标量或矩阵。系统的静态增益或稳态增益表示在稳态条件下输出与输入的比率。

    输出参量

    全部折叠

    DSP 格式的离散时间传递函数,以传递函数 (tf) 模型对象形式返回,其 Variable 属性设置为 'z^-1'。有关详细信息,请参阅 tf 参考页。

    版本历史记录

    在 R2006a 之前推出

    另请参阅