主要内容

db

将能量或功率测量值转换为分贝

说明

dbOutput = db(x)x 的元素转换为分贝 (dB)。此语法假设 x 包含电阻为 1 Ω 的电压测量值。

dbOutput = db(x,signalType)x 的元素所表示的信号类型指定为 "voltage""power"

dbOutput = db(x,R) 指定用于电压测量的电阻 R

示例

dbOutput = db(x,"voltage",R) 等效于 db(x,R)

示例

全部折叠

以分贝表示单位电压。假设电阻为 2 ohm。将答案与定义 10log1012 进行比较。

V = 1;
R = 2;
dboutput = db(V,2);
compvoltage = [dboutput 10*log10(1/2)]
compvoltage = 1×2

   -3.0103   -3.0103

将由功率测量值组成的向量转换为分贝。将答案与使用该定义的结果进行比较。

rng default
X = abs(rand(10,1));
dboutput = db(X,'power');
comppower = [dboutput 10*log10(X)]
comppower = 10×2

   -0.8899   -0.8899
   -0.4297   -0.4297
   -8.9624   -8.9624
   -0.3935   -0.3935
   -1.9904   -1.9904
  -10.1082  -10.1082
   -5.5518   -5.5518
   -2.6211   -2.6211
   -0.1886   -0.1886
   -0.1552   -0.1552

自 R2026a 起

计算四个电压测量值在三种不同电阻负载下的功率。以分贝为单位显示功率。

V = [3.7 7.4 18.5 37]';
R = [10 50 75];

PdB = db(V,R);
PdbTable = array2table(PdB);
PdbTable.Properties.RowNames(1:numel(V)) = ("V = "+ V + " V");
PdbTable.Properties.VariableNames(1:numel(R)) = ("R = "+ R + " Ω")
PdbTable=4×3 table
                  R = 10 Ω    R = 50 Ω    R = 75 Ω
                  _________________________    _________________________    _________________________

    V = 3.7 V               1.364                       -5.6257                      -7.3866         
    V = 7.4 V              7.3846                       0.39493                       -1.366         
    V = 18.5 V             15.343                        8.3537                       6.5928         
    V = 37 V               21.364                        14.374                       12.613         

输入参数

全部折叠

信号测量值,指定为标量、向量、矩阵或 N 维数组。

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

信号测量值的类型,指定为 "voltage""power"。如果将 signalType 指定为 "power",则 x 的所有元素都必须为非负值。

电阻负载,指定为正标量、向量、矩阵或 N 维数组。

  • R 中的所有元素都必须为正值,并以欧姆为单位表示。

  • 如果将 R 指定为向量、矩阵或 N 维数组,其大小必须与 x 的大小兼容。有关详细信息,请参阅基本运算的兼容数组大小

  • 如果将 signalType 指定为 "power",则 db 函数将忽略此参量。

数据类型: single | double

输出参量

全部折叠

以分贝为单位的能量或功率测量值,以与 x 维度相同的数组形式返回。

  • 如果 x 包含电压测量值,则 dbOutput10log10(|x|2/R).

  • 如果输入 x 包含功率测量值,则 dbOutput10log10x.

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2011b 中推出

全部展开

另请参阅

| | |