我的分贝值为负值。我只想在0到100之间的图表上绘制这些值。那么有没有办法将分贝值转换为正值?
答案 0 :(得分:6)
0 dB
对应于满量程输入是很常见的(请记住,普通的dB刻度实际上定义了比率,而不是绝对值,因此{{1}的含义有点武断)。对于例如16位音频,值通常可以从0 dB
到0 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中,只有双倍 该函数的版本存在 这个名字。