मैंने खुद से पूछा कि 1 और -1 के बीच नमूने के मूल्य से dBFS (dB पूर्ण पैमाने) की गणना कैसे करें?
और सामान्य तौर पर?
मैंने खुद से पूछा कि 1 और -1 के बीच नमूने के मूल्य से dBFS (dB पूर्ण पैमाने) की गणना कैसे करें?
और सामान्य तौर पर?
जवाबों:
यह वास्तव में 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 कोड में कोड उदाहरण दिए गए हैं।
सभी मानक डीबीएफएस को एक आरएमएस माप के रूप में परिभाषित करते हैं , पूर्ण पैमाने पर साइन लहर के आरएमएस स्तर के सापेक्ष, इसलिए गणना:
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))