DBFS की गणना कैसे करें?


11

मैंने खुद से पूछा कि 1 और -1 के बीच नमूने के मूल्य से dBFS (dB पूर्ण पैमाने) की गणना कैसे करें?

और सामान्य तौर पर?

जवाबों:


13

यह वास्तव में 1 और -1 के बीच के मूल्यों के लिए काफी सरल है:

valueDBFS = 20*log10(abs(value))

यदि आपके पास किसी अन्य श्रेणी के बीच मान हैं, उदाहरण के लिए 16bit, तो यह है:

valueDBFS = 20*log10(abs(value)/32768)

(क्योंकि 16 बिट पर हस्ताक्षर किए गए -32768 और +32767 के बीच मान हैं, उदाहरण के लिए 2 ^ 15 = 32768)

और इसलिए सामान्य सूत्र है:

valueDBFS = 20*log10(abs(value)/maxValue)

MATLAB कोड में कोड उदाहरण दिए गए हैं।


1
यह तकनीकी रूप से सही है, लेकिन अधिकांश dBFS मीटर वास्तव में हेडरूम प्रदर्शित करते हैं, इसलिए आप अक्सर इन मूल्यों के नकारात्मक को प्रदर्शित करना चाहेंगे।
ब्योर्न रोश

1
मेरे द्वारा पढ़े गए सभी मानकों से, ऐसा लगता है कि dBFS कड़ाई से एक RMS माप है, न कि एक पीक माप, इसलिए यह सही नहीं होगा।
एंडोलिथ

2

सभी मानक डीबीएफएस को एक आरएमएस माप के रूप में परिभाषित करते हैं , पूर्ण पैमाने पर साइन लहर के आरएमएस स्तर के सापेक्ष, इसलिए गणना:

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 है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.