dB或分贝是用于显示对数比例的单位,特别是,我感兴趣的dB定义是X(dB)= 20log(x),其中x是“正常”值,X (dB) 是以 dB 为单位的值。当写了一个在mil之间转换的代码。和 mm,我注意到如果我使用直接方法,即乘以单位之间的比率,我会在相反的转换中得到小错误,即:to_mil [to_mm val_in_mil]
不等于val_in_mil
和与 mm 相同。图书馆单位已经解决了这个问题,因为它所做的转换没有那个计算错误。但是具体不提供(或者我没有找到)在库中将数字转换为 dB 的选项。
是否有另一个库/命令可以将数字转换为 dB 并将 dB 转换为数字而不会出现计算错误?
我做了一个使用直接数学转换的实验,我得到的是:
>> set a 0.005
0.005
>> set b [expr {20*log10($a)}]
-46.0205999133
>> expr {pow(10,($b/20))}
0.00499999999999