如何将分贝值转换为正值?

时间:2011-06-29 06:24:22

标签: iphone objective-c ios math signal-processing

我的分贝值为负值。我只想在0到100之间的图表上绘制这些值。那么有没有办法将分贝值转换为正值?

3 个答案:

答案 0 :(得分:6)

0 dB对应于满量程输入是很常见的(请记住,普通的dB刻度实际上定义了比率,而不是绝对值,因此{{1}的含义有点武断)。对于例如16位音频,值通常可以从0 dB0 dB。要以-96 dB的比例表示这一点,您只需添加0 - 100即可将此范围提升至96 dB

答案 1 :(得分:3)

这不是特定于分贝的解决方案,但如果您希望您的比例为0-100,请取最小值(让我们称之为minVal),并添加-minVal以获得0然后除以你的最大值,然后乘以100。

答案 2 :(得分:-3)

只需使用fabs()C ++方法

  

fabs功能        双晶圆厂(双x);         float fabs(float x);长双晶圆厂(长双x);   计算绝对值

     

返回x的绝对值(/ x /   )。

     

在C ++中,abs也在此声明   标题具有相同的行为。

     

参数x浮点值。

     

返回值x的绝对值。

     

便携性在C中,只有双倍   该函数的版本存在   这个名字。

fabs reference