Tesztoldal kvantálási zaj és felbontás teszteléséhez



2021.12.21. (utoljára szerkesztve: 2024.02.19.)

Felbontás (bitmélység) és vele együtt a kvantálási zaj vizsgálata nem igényel bonyolult és fárasztó összehasonlító teszteket (pl. ABX teszteket) és összességében csak néhány percet vesz igénybe. Maga a kvantálás és a bitmélység csökkentése ún. kvantálási zajt ad az eredeti jelhez. Megfelelő konverziós módszerekkel elérhető, hogy a kvantálási zaj ugyanúgy viselkedjen, mint az analóg rendszerek zajszintjét meghatározó (termikus vagy mechanikus eredetű) alapzaj. Nagyobb felbontás csak alacsonyabb zajszintet biztosít, semmilyen más hatása nincsen. Ezért a teendő nem más, mint nagy hangerő mellett, csendes környezetben meghallgatni a kvantálási zajt. Ha X biten nem halljuk a kvantálási zajt, akkor zene mellett sem fogjuk hallani, és a bitek növelése felesleges mutatvány. Ez minden. A kvantálás (optimális kvantálás), bitmélység tesztelése zenei mintákkal értelmetlen (kivéve, ha azt szeretnénk tesztelni, hogyan fedi el a hangszerek hangja a kvantálási zajt 8, 10 vagy 12 bites felbontásnál).

A teszthez jó minőségű fejhallgatót vagy hangsugárzót érdemes használni. Laptopok, okostelefonok beépített hangszórói nem alkalmasak ilyen jellegű tesztekre.

Kvantálási Zaj Teszt

Dither:

Bitmélység:

Mit fogunk hallani? Nézzük meg először azt az esetet, amikor a dither egyszerű fehér zaj (zaj spektruma egy vízszintes vonal). 12 bites felbontásnál a kvantálási zajt mindenképpen hallanunk kell. 14 bitnél a kvantálási zaj már alig hallható. 16 bitnél a kvantálási zaj csak extrém hangerő mellett hallható, normál hangosításnál nem valószínű, hogy hallani fogjuk. Zajalakítás nagyjából 18 decibellel csökkenti a kvantálási zaj hangosságát, ami azt jelenti, hogy a hangerőt 18 decibellel kell magasabbra állítani, hogy hasonlónak érzékeljük a kvantálási zajt. 18 decibel 3 bitnek felel meg, tehát a 12 bites minta alakított ditherrel 15 bitesnek felel meg.

Dither
A dither alacsony szintű (általában 1 bites amplitúdójú) zaj, amelyet szóhossz-csökkentés (például 24 bites 16 bites konverzió) előtt adunk hozzá a jelhez. Dither javítja a digitális rendszer dinamikatartományát és alacsony szintű linearitását. Ugyanakkor 16 bites felbontásnál nagy jelentősége nincs, mivel a felvételek eleve tartalmaznak annyi zajt, ami meggátolja az alacsony szintű jelek torzulását.

Dither működése, lényege nagyon egyszerűen bemutatható. Tegyük fel, hogy nem egész számokat szeretnénk egész számok segítségével tárolni. Megoldható? Igen, ha a számok átlaga kiadja a kívánt értéket. Például, ha 1,5-öt szeretném egész számok segítségével ábrázolni, akkor a tárolt értékek a következők lesznek: 1, 2, 1, 2, 1, 2... Átlagolva 1,5 lesz. (Szoftverben ez egy véletlen szám hozzáadása az eredet értékhez (előjelesen), az átlagolást pedig a fülünk végzi).

Programkódban így néz ki:

/*
 Math.random() - (ál)véletlen szám 0 és 1 között.
 rnd2 - (ál)véletlen szám -1 és 1 között.
 signal - a jel eredeti értéke
*/

rnd2 = 2 * ( Math.random() - 0.5 );
quantizedValue = Math.floor( signal + rnd2 + 0.5 );


SNR (jel-zaj viszony) tesztelése

A fenti teszt nemcsak felbontás, hanem jel-zaj viszony (SNR) tesztelésére is használható. 44.1 kHz-es mintavételezési frekvenciánál, amennyiben TPDF dither alkalmazunk, érvényes az alábbi összefüggés: SNR (dBA) = 6 * bitek_száma. (TPDF dither = fehér zaj egyik változata)

Fájl/rendszerSNR (dB)SNR (dBA)
12bit/44.1 kHz69.272
14bit/44.1 kHz81.284
16bit/44.1 kHz93.396

14 bit-es, 44.1 kHz-es WAV/FLAC fájl 84 dBA jel-zaj viszonnyal rendelkezik. 84 dBA, ha nem is tökéletes, egy nagyon jó értéknek tekinthető, 96 dBA pedig tökéletesnek számít. (Erősítőknél, DAC-oknál az SNR/dBA érték szerepel, ezért ez a változat érdekes...)


Mire elég 12 bit?

"Túlkompresszált" pop és rockzene terjesztéséhez akár 8 bites felbontás is elegendő lenne. Talán érdekesebb, hogy jazz, blues vagy akusztikus zenék döntő hányadánál 12 bit-es zajszint sem hallható (pontosabban a felvételek elején és végén alig hallható). A teszteléshez nincs szükség konverzióra, hiszen elég meghallgatni pár analóg eredetű felvételt, ugyanis az analóg felvételek zajszintje 12...13 bites digitális rendszer zajszintjével egyezik meg. Ezt a halk zajt nem halljuk, mert a zene elfedi.

Néhány klasszikus analóg felvétel számított bitmélysége.

DalÉvVerziódBrebitmélység
The Dave Brubeck Quartet - Take Five1959200926.311.6
The Dave Brubeck Quartet - Take Five1959201135.810
Led Zeppelin - Stairway To Heaven1971201427.911.4
Dire Straits - Water of Love1978199524.711.9
The Blues Brothers - She Caught The Katy1980199521.212.5
The Blues Brothers - Sweet Home Chicago1980199527.211.5
Hans Zimmer - Gladiator Soundtrack12000200013.713.7
16bit/44.1kHz TPDF dither (referencia)--016

1 digitális felvétel

Bitmélység számítása: a zajszintet összehasonlítottam egy 16 bit / 44,1 kHz digitális rendszer zajszintjével (TPDF dither, zajalakítás nélkül). dBre jelenti a különbséget, a decibel értéket átkonvertáltam bitekre és kivontam 16-ból.

Horváth Csaba


Facebook    Google



Főoldal