我问自己如何从1到-1之间的样本值计算dBFS(dB满刻度)?
一般而言?
我问自己如何从1到-1之间的样本值计算dBFS(dB满刻度)?
一般而言?
Answers:
对于介于1和-1之间的值,这确实非常简单:
valueDBFS = 20*log10(abs(value))
如果您的值介于另一个范围(例如16位)之间,则为:
valueDBFS = 20*log10(abs(value)/32768)
(因为16位带符号的值在-32768和+32767之间,例如2 ^ 15 = 32768)
因此,一般公式为:
valueDBFS = 20*log10(abs(value)/maxValue)
代码示例在MATLAB代码中给出。
所有标准都将dBFS定义为相对于满量程正弦波RMS电平的RMS测量值,因此计算公式为:
value_dBFS = 20*log10(rms(signal) * sqrt(2)) = 20*log10(rms(signal)) + 3.0103
相对于功率比定义了相似的dBov单位(因此,这也是RMS测量),因此满量程DC或方波为0 dBov,因此计算公式为:
value_dBov = 20*log10(rms(signal))