问候,
我正在尝试找到一个公式来转换范围:
min = -100db且max = -30db
为:
min = 0且max = 255
例如:-60db =?
看似简单,但它让我头晕目眩。
答案 0 :(得分:2)
假设你的意思是保持db的结果,你需要一个简单的线性插值:
f(x) = ymin + (x - xmin)*(ymax - ymin)/(xmax - xmin)
或在您的情况下,
f(x) = 0 + (x + 100)*(255 - 0)/(-30 + 100)
f(-60 db) = 145.714
如果您正在谈论将db转换为用于乘以音频信号的比例因子,那么它会更复杂一些。例如,将音频信号乘以0是负无穷大db。所以(至少)你必须要特殊情况。