Main Content

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 欧姆。将答案与定义 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

输入参数

全部折叠

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

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

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

电阻负载,指定为以欧姆表示的正标量。如果将 SignalType 指定为 'power',则此参量将被忽略。

数据类型: single | double

输出参量

全部折叠

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

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

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

扩展功能

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

版本历史记录

在 R2011b 中推出

另请参阅

| | |