如何计算dBFS?


Answers:


13

对于介于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代码中给出。


1
从技术上讲这是正确的,但是大多数dBFS仪表实际上显示净空,因此您通常会希望显示这些值的负数。
Bjorn Roche 2013年

1
从我读过的所有标准来看,dBFS严格来说是RMS测量,而不是峰值测量,因此这是不正确的。
endolith '18

2

所有标准都将dBFS定义为相对于满量程正弦波RMS电平的RMS测量值,因此计算公式为:

value_dBFS = 20*log10(rms(signal) * sqrt(2)) = 20*log10(rms(signal)) + 3.0103
  • 满量程正弦波为0 dBFS
  • 满量程方波为+3 dBFS

相对于功率比定义了相似的dBov单位(因此,这也是RMS测量),因此满量程DC或方波为0 dBov,因此计算公式为:

value_dBov = 20*log10(rms(signal))
  • 满量程正弦波为−3 dBov
  • 满量程方波为0 dBov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.