主要内容

damp

固有频率和阻尼比

说明

damp(sys) 显示线性模型 sys 的极点的阻尼比、固有频率和时间常数。对于离散时间模型,表中还会包含每个极点的幅值。极点按频率值升序排列。

示例

[wn,zeta] = damp(sys) 返回 sys 的极点的固有频率 wn 和阻尼比 zeta

示例

[wn,zeta,p] = damp(sys) 还返回 sys 的极点 p

示例

___ = damp(___,Name=Value) 基于一个或多个指定的名称-值参量,计算稀疏模型 sys 的极点子集的阻尼比和固有频率。如果您不指定任何名称-值参量,该函数最多可计算幅值最小的前 1000 个极点的阻尼比和固有频率。当 sys 是非稀疏模型时,该函数会忽略名称-值参量。 (自 R2025a 起)

示例

示例

全部折叠

对于此示例,假设有以下连续时间传递函数:

sys(s)=2s2+5s+1s3+2s-3.

创建以下连续时间传递函数。

sys = tf([2,5,1],[1,0,2,-3]);

显示 sys 的固有频率、阻尼比、时间常数和极点。

damp(sys)
                                                                       
         Pole              Damping       Frequency      Time Constant  
                                       (rad/seconds)      (seconds)    
                                                                       
  1.00e+00                -1.00e+00       1.00e+00        -1.00e+00    
 -5.00e-01 + 1.66e+00i     2.89e-01       1.73e+00         2.00e+00    
 -5.00e-01 - 1.66e+00i     2.89e-01       1.73e+00         2.00e+00    

sys 的极点包含一个不稳定极点和一对位于 s 平面左半部分的复共轭极点。不稳定极点对应的阻尼比为 -1(这应被称为驱动力而非阻尼力,因为它会增大系统的振荡,导致系统不稳定)。

对于此示例,假设有以下离散时间传递函数,其采样时间为 0.01 秒:

sys(z)=5z2+3z+1z3+6z2+4z+4.

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

sys = tf([5 3 1],[1 6 4 4],0.01)
sys =
 
     5 z^2 + 3 z + 1
  ---------------------
  z^3 + 6 z^2 + 4 z + 4
 
Sample time: 0.01 seconds
Discrete-time transfer function.
Model Properties

使用 damp 命令显示关于 sys 的极点的信息。

damp(sys)
                                                                                    
         Pole             Magnitude     Damping       Frequency      Time Constant  
                                                    (rad/seconds)      (seconds)    
                                                                                    
 -3.02e-01 + 8.06e-01i     8.61e-01     7.74e-02       1.93e+02         6.68e-02    
 -3.02e-01 - 8.06e-01i     8.61e-01     7.74e-02       1.93e+02         6.68e-02    
 -5.40e+00                 5.40e+00    -4.73e-01       3.57e+02        -5.93e-03    

Magnitude 列显示离散时间极点的幅值。DampingFrequencyTime Constant 列显示基于等效连续时间极点计算得到的值。

对于此示例,创建一个具有两个输出和一个输入的离散时间零极点增益模型。使用 0.1 秒的采样时间。

sys = zpk({0;-0.5},{0.3;[0.1+1i,0.1-1i]},[1;2],0.1)
sys =
 
  From input to output...
          z
   1:  -------
       (z-0.3)
 
            2 (z+0.5)
   2:  -------------------
       (z^2 - 0.2z + 1.01)
 
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
Model Properties

计算零极点增益模型 sys 的固有频率和阻尼比。

[wn,zeta] = damp(sys)
wn = 3×1

   12.0397
   14.7114
   14.7114

zeta = 3×1

    1.0000
   -0.0034
   -0.0034

wnzeta 中的每个条目均对应 sys 中 I/O 的总数量。zetawn 中的固有频率值升序排列。

对于此示例,计算以下状态空间模型的固有频率、阻尼比和极点:

A=[-2-11-2],B=[112-1],C=[10],D=[01].

使用状态空间矩阵创建状态空间模型。

A = [-2 -1;1 -2];
B = [1 1;2 -1];
C = [1 0];
D = [0 1];
sys = ss(A,B,C,D);

使用 damp 计算 sys 的固有频率、阻尼比和极点。

[wn,zeta,p] = damp(sys)
wn = 2×1

    2.2361
    2.2361

zeta = 2×1

    0.8944
    0.8944

p = 2×1 complex

  -2.0000 + 1.0000i
  -2.0000 - 1.0000i

sys 的极点是位于 s 平面左半部分的复共轭极点。对应的阻尼比小于 1。因此,sys 是欠阻尼系统。

自 R2025a 起

对于此示例,计算光学滤波器的稀疏状态空间模型的固有频率、阻尼比和极点。对于稀疏状态空间模型,您可以在感兴趣的频率范围内确定已计算极点子集的阻尼比。

加载该模型。

load sparseFilter.mat
size(sys)
Sparse state-space model with 5 outputs, 1 inputs, and 1668 states.

稀疏模型通常规模较大,计算所有极点可能不可行或计算成本较高。默认情况下,damp 函数最多计算幅值最小的前 1000 个极点。

[wn,zeta,p] = damp(sys);
size(p)
ans = 1×2

        1000           1

为避免计算大量极点,您可以指定其他选项(例如感兴趣的频率范围)。通常指定一个低频带,函数仅会计算固有频率在该范围内的极点。

damp(sys,Focus=[10 1000]);
                                                           
   Pole        Damping       Frequency      Time Constant  
                           (rad/seconds)      (seconds)    
                                                           
 -3.76e+01     1.00e+00       3.76e+01         2.66e-02    
 -7.78e+02     1.00e+00       7.78e+02         1.29e-03    
 -7.92e+02     1.00e+00       7.92e+02         1.26e-03    

输入参数

全部折叠

线性动态系统,指定为 SISO 或 MIMO 动态系统模型。您可以使用的动态系统包括:

  • 连续时间或离散时间数值 LTI 模型,如 tfzpkss 模型。

  • 广义或不确定的 LTI 模型,如 genssuss (Robust Control Toolbox) 模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)

    damp 假设:

    • 对于可调控制设计模块,采用可调组件的当前值。

    • 对于不确定的控制设计模块,采用标称模型值。

如果 sys 是稀疏状态空间模型(sparssmechss),软件会在指定的关注频带内计算极点子集的阻尼比和固有频率。对于稀疏模型,请使用名称-值参量来指定计算选项。如果您不指定任何选项,软件最多可计算幅值最小的前 1000 个极点。对于带瑞利阻尼的 mechss 模型,软件根据 (K,M) 的特征值计算极点。否则,软件会根据等效的 sparss 模型计算极点。 (自 R2025a 起)

名称-值参数

全部折叠

Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: [wn,zeta] = damp(sparseSys,Focus=[0 10],Display="off")

自 R2025a 起

感兴趣的频率范围,指定为 [fmin,fmax] 形式的向量。当您指定关注的频率范围时,算法仅会计算固有频率在此范围内的极点。对于离散时间模型,软件通过突斯汀变换来逼近等效的固有频率。

对于对称半正定稀疏模型,您可以指定任意满足 0 ≤ fmin < fmax 的频率范围。对于非对称 sparss 模型,您必须指定频率范围为 [0,fmax][fmin,inf]

由于软件会计算指定频率范围内的所有极点,因此您通常会指定一个低频范围来限制计算大量极点。默认情况下,不指定关注的频率范围 ([0 Inf]),并且算法最多计算 MaxNumber 个极点。

自 R2025a 起

要计算的零极点的最大数目,指定为正整数。此值限制算法计算的极点的数目。

自 R2025a 起

频谱偏移,指定为有限标量。

软件通过对 A-sigma*E 使用逆幂迭代法,计算固有频率在指定范围 [0,fmax] 内的极点,从而获得最接近偏移量 sigma 的特征值。当 A 为奇异矩阵且 sigma 为零时,由于不存在逆矩阵,算法会失败。因此,对于具有积分作用的稀疏模型(s = 0,或对于离散时间模型,在 z = 1 时),您可以使用此选项将极点或零点隐式地偏移至最接近此偏移值的值。指定的偏移值需不等于原始模型的现有极点值。

自 R2025a 起

计算的极点的精度容差,指定为正有限标量。此值控制逆幂迭代中计算得到的特征值的收敛。

自 R2025a 起

显示或隐藏进度报告,指定为 "off""on"

输出参量

全部折叠

sys 的每个极点的固有频率,以按频率值升序排列的向量形式返回。频率以 sysTimeUnit 属性的倒数为单位表示。

如果 sys 是指定采样时间的离散时间模型,wn 包含等效连续时间极点的固有频率。如果未指定采样时间,damp 会假定采样时间为 1,并据此计算 wn。有关详细信息,请参阅算法

每个极点的阻尼比,以与 wn 按相同顺序排序的向量形式返回。

如果 sys 是指定采样时间的离散时间模型,zeta 包含等效连续时间极点的阻尼比。如果未指定采样时间,damp 会假定采样时间为 1,并据此计算 zeta。有关详细信息,请参阅算法

动态系统模型的极点,以与 wn 按相同顺序排序的向量形式返回。ppole(sys) 的输出相同,仅排序顺序不同。有关极点的详细信息,请参阅pole

算法

damp 按下表定义计算系统极点的固有频率、时间常数和阻尼比:

 连续时间采样时间为 Ts 的离散时间
极点位置

s

z

等效连续时间极点

Not applicable

s=ln(z)Ts

固有频率

ωn=|s|

ωn=|s|=|ln(z)Ts|

阻尼比

ζ=cos(s)

ζ=cos(s)=cos(ln(z))

时间常数

τ=1ωnζ

τ=1ωnζ

如果未指定采样时间,damp 会假定采样时间为 1,并据此计算 zeta

对于稀疏状态空间模型,软件使用 Krylov-Schur 算法 [1] 进行逆幂迭代,以计算指定频带内的极点。 (自 R2025a 起)

参考

[1] Stewart, G. W. “A Krylov--Schur Algorithm for Large Eigenproblems.” SIAM Journal on Matrix Analysis and Applications 23, no. 3 (January 2002): 601–14. https://doi.org/10.1137/S0895479800371529.

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

| | | | |