Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

mag2db

将幅值转换为分贝 (dB)

    说明

    示例

    ydb = mag2db(y) 以分贝 (dB) 表示在 y 中指定的幅值测量值。幅值和分贝的关系是 ydb=20log10(y)

    示例

    全部折叠

    对于此示例,假设有以下 SISO 反馈回路,其中系统包含多个增益穿越或相位穿越频率,从而导致多个增益或相位裕度值:

    SISO transfer function in a negative feedback loop

    创建传递函数。

    G = tf(20,[1 7]) * tf([1 3.2 7.2],[1 -1.2 0.8]) * tf([1 -8 400],[1 33 700]);

    使用 allmargin 命令计算所有稳定裕度。

    m = allmargin(G)
    m = struct with fields:
         GainMargin: [0.3408 3.3920]
        GMFrequency: [1.9421 16.4807]
        PhaseMargin: 68.1140
        PMFrequency: 7.0776
        DelayMargin: 0.1680
        DMFrequency: 7.0776
             Stable: 1
    
    

    请注意,增益裕度以增益比表示,而不是以分贝 (dB) 表示。使用 mag2db 将值转换为 dB。

    GainMargins_dB = mag2db(m.GainMargin)
    GainMargins_dB = 1×2
    
       -9.3510   10.6091
    
    

    输入参数

    全部折叠

    输入数组,指定为标量、向量、矩阵或数组。当 y 为非标量时,mag2db 采用按元素运算。

    数据类型: single | double
    复数支持:

    输出参量

    全部折叠

    以分贝为单位的幅值测量值,以标量、向量、矩阵或与 y 大小相同的数组形式返回。

    版本历史记录

    在 R2008a 中推出

    另请参阅