Saya bertanya pada diri sendiri bagaimana menghitung dBFS (skala penuh dB) dari nilai sampel antara 1 dan -1?
dan secara umum?
Saya bertanya pada diri sendiri bagaimana menghitung dBFS (skala penuh dB) dari nilai sampel antara 1 dan -1?
dan secara umum?
Jawaban:
Ini benar-benar sangat sederhana untuk nilai antara 1 dan -1:
valueDBFS = 20*log10(abs(value))
Jika Anda memiliki nilai di antara rentang lain, misalnya 16bit, maka itu adalah:
valueDBFS = 20*log10(abs(value)/32768)
(karena 16bit yang ditandatangani memiliki nilai antara -32768 dan +32767, misalnya 2 ^ 15 = 32768)
Maka rumus umumnya adalah:
valueDBFS = 20*log10(abs(value)/maxValue)
Contoh kode diberikan dalam kode MATLAB.
Semua standar mendefinisikan dBFS sebagai pengukuran RMS , relatif terhadap tingkat RMS dari gelombang sinus skala penuh, sehingga perhitungannya adalah:
value_dBFS = 20*log10(rms(signal) * sqrt(2)) = 20*log10(rms(signal)) + 3.0103
Unit serupa dBov didefinisikan dalam kaitannya dengan rasio daya (jadi itu juga merupakan pengukuran RMS), sehingga DC skala penuh atau gelombang persegi adalah 0 dBov, sehingga perhitungannya adalah:
value_dBov = 20*log10(rms(signal))