Main Content

Zero-Pole

通过零极点增益传递函数进行系统建模

  • 库:
  • Simulink / Continuous

  • Zero-Pole block

描述

Zero-Pole 模块可以为您使用零点、极点和拉普拉斯域传递函数增益定义的系统进行建模。此模块可为单输入单输出 (SISO) 和单输入多输出 (SIMO) 系统建模。

使用此模块的条件

Zero-Pole 模块假定满足以下条件:

  • 传递函数的格式为

    H(s)=KZ(s)P(s)=K(sZ(1))(sZ(2))(sZ(m))(sP(1))(sP(2))(sP(n)),

    其中 Z 表示零点,P 表示极点,K 表示传递函数增益。

  • 极点数必须大于或等于零点数。

  • 如果极点和零点为复数,它们必须是复共轭对组。

  • 对于多输出系统,所有传递函数必须具有相同的极点。零点的值可以不同,但每个传递函数的零点数必须相同。

注意

当传递函数具有不同的零点数或者每个传递函数只有一个零点时,不能使用一个 Zero-Pole 模块建立多输出系统模型。使用多个 Zero-Pole 模块建立此类系统模型。

为单输出系统建模

对于单输出系统,模块的输入和输出是标量时域信号。要为此系统建模,请执行以下操作:

  1. 零点字段中输入传递函数的零点向量。

  2. 极点字段中输入传递函数的极点向量。

  3. 增益字段中输入传递函数的 1×1 增益向量。

为多输出系统建模

对于多输出系统,模块输入为标量,输出为向量,其中每个元素都是系统的一个输出。要为此系统建模,请执行以下操作:

  1. 零点字段中输入全零矩阵。

    此矩阵的每一包含一个传递函数(将系统输入与一个输出相关联)的零点。

  2. 极点字段中输入对系统的所有传递函数都通用的极点向量。

  3. 增益字段中输入增益向量。

    每个元素代表对应的传递函数在零点中的增益。

输出向量的每个元素对应于零点中的一列。

传递函数在模块上的显示

Zero-Pole 模块根据您如何指定零点、极点和增益参数来显示传递函数。

  • 如果这两个参数指定为表达式或向量,模块将显示具有指定的零点、极点和增益的传递函数。如果在括号中指定变量,模块将计算变量。

    例如,如果您将零点指定为 [3,2,1],将极点指定为 (poles)(其中 poles[7,5,3,1]),并将增益指定为 gain,则模块将如下所示。

  • 如果将这两个参数指定为变量,模块将根据需要显示后跟 (s) 的变量名称。

    例如,如果您将零点指定为 zeros,将极点指定为 poles,并将增益指定为 gain,则模块将如下所示:

端口

输入

全部展开

输入信号,指定为数据类型为 double 的标量。

数据类型: double

输出

全部展开

由零极点增益传递函数进行建模的系统,是数据类型为 double 的标量或向量信号。

  • 对单输出系统建模时,模块输出标量时域信号。有关详细信息,请参阅为单输出系统建模

  • 对多输出系统建模时,模块输出向量,其中每个元素都是系统的一个输出。有关详细信息,请参阅为多输出系统建模

数据类型: double

参数

全部展开

定义全零矩阵。

  • 对于单输出系统,输入传递函数的零点向量。

  • 对于多输出系统,输入矩阵。此矩阵的每一包含一个传递函数(将系统输入与一个输出相关联)的零点。

编程用法

模块参数:Zeros
类型:字符向量、字符串
值:向量 | 矩阵
默认值:'[1]'

定义极点向量。

  • 对于单输出系统,输入传递函数的极点向量。

  • 对于多输出系统,输入对系统的所有传递函数通用的极点向量。

编程用法

模块参数:Poles
类型:字符向量、字符串
值:向量
默认值:'[0 -1]'

定义增益向量。

  • 对于单输出系统,输入传递函数的 1×1 增益向量。

  • 对于多输出系统,输入增益向量。每个元素代表对应的传递函数在零点中的增益。

编程用法

模块参数:Gain
类型:字符向量、字符串
值:向量
默认值:'[1]'

使用 Simulink® Compiler™ 部署的仿真和加速仿真模式中的零点、极点和增益的可调性级别。将此参数设置为“自动”将允许 Simulink 选择适当的参数可调性级别。

将此参数设置为“优化”,可在为加速仿真和部署仿真而生成的代码中生成优化的表示零点、极点和增益。

将此参数设置为“无约束”,可支持在加速仿真和部署仿真中(在仿真之间)对零点、极点和增益参数进行完全调节。

编程用法

模块参数:ParameterTunability
类型:字符向量、字符串
'Auto' | 'Optimized' | 'Unconstrained'
默认值:'Auto'

用于计算模块状态的绝对容差,指定为正值、实数值、标量或向量。要从配置参数继承绝对容差,请指定 auto-1

  • 如果输入实数标量,则在计算所有模块状态时,该值会覆盖“配置参数”对话框中的绝对容差。

  • 如果输入实数向量,则该向量的维度必须匹配模块中连续状态的维度。这些值将覆盖“配置参数”对话框中的绝对容差。

  • 如果输入 auto 或 -1,则 Simulink 会使用“配置参数”对话框中的绝对容差值(请参阅求解器窗格)来计算模块状态。

编程用法

模块参数: AbsoluteTolerance
类型:字符向量、字符串
值:'auto' | '-1' | 任何正实数值标量或向量
默认值:'auto'

为每个状态分配唯一名称。如果此字段为空 (' '),则不会分配任何名称。

  • 要为单个状态分配名称,请输入名称并用引号引起来,例如 'position'

  • 要为多个状态分配名称,请输入以逗号分隔的列表并用花括号括起来,例如 {'a', 'b', 'c'}。每个名称都必须是唯一的。

  • 要在 MATLAB® 工作区中分配带变量的状态名称,请输入不带引号的变量。变量可以是字符向量、字符串、元胞数组或结构体。

限制

  • 状态名称只会应用于所选模块。

  • 状态数量必须能够被状态名称的数量均分。

  • 指定的名称数量可以少于状态数量,但不能多于状态数量。

    例如,可以在具有四个状态的系统中指定两个名称。第一个名称应用于前两个状态,第二个名称应用于后两个状态。

编程用法

模块参数:ContinuousStateAttributes
类型:字符向量、字符串
值:' ' | 用户定义
默认值:' '

模块特性

数据类型

double

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

主题