Saya sedang mengerjakan contoh di halaman ini: http://chimera.labs.oreilly.com/books/1234000001552/ch03.html
Saya benar-benar mengerti mengapa level maksimum sistem audio adalah 0 karena log 1 adalah 0.
Namun, saya bingung tentang minimum. Definisi dBFS adalah
dBFS = 20 * log( [sample level] / [max level] )
Dalam sistem 16 bit ada 2 ^ 16 = 65536 nilai. Jadi ini berarti nilai dari -32768 hingga +32767. Tidak termasuk 0, katakanlah nilai minimum adalah 1. Jadi, memasukkan ini ke dalam rumus memberi:
dBFS = 20 * log( 1 / 32767 ) = -90.3
Tetapi buku itu mengatakan harus -96dBFS. Di mana saya salah?
Anda membuat skala untuk sinyal simetris, tetapi gagasan itu sepenuhnya arbitrer. Setiap bit menambahkan 6 dB SNR (lebih khusus sinyal-to-kuantisasi noise), karena menggandakan skala, dan faktor 2 adalah 6 dB. Jadi 16 bit adalah 16 x 6 dB = 96 dB.
Angka yang lebih tepat: 20 log (2) = 6.02, oleh karena itu 16 x 6.02 dB = 96.33 dB.
sumber
Anda hampir menemukannya sendiri! Pikirkan dalam hal nilai yang tidak ditandatangani alih-alih ditandatangani, dan Anda sempurna. Dalam formula
dBFS = 20 * log( [sample level] / [max level] )
Mempertimbangkan
[sample level]=1
dan[max level]=65536
yang akan mengarahkan Anda ke:dBFS = 20 * log(1/65536)
dBFS = 20 * -4.816
dBFS = -96.3
sumber
Saat menghitung SNR, Anda membandingkan kekuatan sinyal skala penuh (biasanya gelombang sinus) dengan kekuatan noise kuantisasi. Daya dihitung berdasarkan nilai RMS dari bentuk gelombang.
Kebisingan kuantisasi dimodelkan sebagai gelombang gigi gergaji, yang memiliki nilai RMS (IIRC)1 /12--√ nilai puncak. Jika dibandingkan dengan gelombang sinus dengan amplitudo puncak yang sama, inilah yang memberi Anda tambahan 6 dB.
sumber