【发布时间】:2011-06-29 06:24:22
【问题描述】:
我得到的分贝值是负数。我只想将这些值绘制在从 0 到 100 的图表上。那么有没有办法将分贝值转换为正值?
【问题讨论】:
-
您可以从我的回答中删除接受吗?
标签: iphone objective-c ios math signal-processing
我得到的分贝值是负数。我只想将这些值绘制在从 0 到 100 的图表上。那么有没有办法将分贝值转换为正值?
【问题讨论】:
标签: iphone objective-c ios math signal-processing
0 dB 对应于满量程输入是很常见的(请记住,普通的 dB 比例实际上定义了一个 比率,而不是绝对值,因此 0 dB 的含义有些随意)。例如16 位音频,值通常范围从 0 dB 到 -96 dB。要在 0 - 100 的范围内表示这一点,您只需添加 96 dB 即可将此范围扩大到 0..+96 dB。
【讨论】:
这不是特定于分贝的解决方案,但如果您希望您的比例在 0-100 之间,请取最小值(我们称之为 minVal),并添加 -minVal 以得到 0。然后除以它乘以你的最大值,然后乘以 100。
【讨论】:
-minval后得到的值。
只需使用 fabs() C++ 方法
晶圆厂功能 双晶圆厂(双 x); 浮动晶圆厂(浮动 x);长双晶圆厂(长双 x); 计算绝对值
返回 x 的绝对值 ( /x/ )。
在 C++ 中,abs 也是在 this 中声明的 具有相同行为的标头。
参数 x 浮点值。
返回值 x 的绝对值。
可移植性 在 C 中,只有双 此函数的版本存在于 这个名字。
【讨论】:
abs 将反转结果图(或者更糟,如果同时存在正和负 dB 值),这几乎可以肯定 不是 OP 想要的。
abs() 没有帮助。