Kendime nasıl 1 ve -1 arasında bir örnek değerinden dBFS (dB tam ölçek) hesaplamak istedi?
ve genel olarak?
Kendime nasıl 1 ve -1 arasında bir örnek değerinden dBFS (dB tam ölçek) hesaplamak istedi?
ve genel olarak?
Yanıtlar:
1 ile -1 arasındaki değerler için oldukça basittir:
valueDBFS = 20*log10(abs(value))
Başka bir aralık, örneğin 16 bit arasında değerleriniz varsa, o zaman:
valueDBFS = 20*log10(abs(value)/32768)
(çünkü 16 bit imzalı değerler -32768 ile +32767 arasındadır, örneğin 2 ^ 15 = 32768)
Ve böylece genel formül:
valueDBFS = 20*log10(abs(value)/maxValue)
Kod örnekleri MATLAB kodunda verilmiştir.
Tüm standartlar dBFS'yi , tam ölçekli bir sinüs dalgasının RMS seviyesine göre bir RMS ölçümü olarak tanımlar , bu nedenle hesaplama:
value_dBFS = 20*log10(rms(signal) * sqrt(2)) = 20*log10(rms(signal)) + 3.0103
Benzer dBov birimi, tam ölçekli DC veya kare dalga 0 dBov olacak şekilde güç oranlarına (yani bir RMS ölçümü) göre tanımlanır, böylece hesaplama:
value_dBov = 20*log10(rms(signal))