„Dithering” változatai közötti eltérés

Nincs méretváltozás ,  5 évvel ezelőtt
a
Visszaállítottam a lap korábbi változatát: BinBot (vita) szerkesztéséről Atobot szerkesztésére
a (Visszaállítottam a lap korábbi változatát: BinBot (vita) szerkesztéséről Atobot szerkesztésére)
:1 2 2 3 4 5 6 6
 
Bármely eredeti hullámalakot tekintve a hangerő 20%-os csökkentése rendszeres hibákat fog eredményezni. Vegyünk például egy olyan szinuszgörbét, ami a függvény egy részén a fenti értékeket veszi fel. Minden alkalommal, amikor a szinuszhullám értéke 3,2 lesz, a csonkolt eredmény 0,2-delvel eltér az eredetitől. Minden alkalommal viszont, amikor a szinuszhullám értéke a 4,0-ett veszi fel, a hiba értéke 0,0 lenne, ahogy a fenti példában is látható. A hiba nagyságrendje szabályos és ismétlődő módon változik a szinuszhullám teljes tartama alatt. Pontosan az ilyen jellegű hiba jelentkezik [[torzítás]]ként. Amikor a fül torzítást hall, az a szabályos és ismétlődő kvantálása hiba által bevitt, egyes diszkrét frekvenciaértékeken megjelenő plusz tartalom okozza.
 
Egy jónak tűnő megoldás, hogy vesszük a kétjegyű számot (pl. a 4,8-etat) és az egyik vagy a másik irányba kerekítjük. Például egyszer az 5, a következő alkalommal a 4 irányába. Így hosszú távon az átlag 4,5 lenne 4 helyett, ami hosszú távon közelebb esik a valódi értékben. Más részről viszont, még mindig rendszeres (bár bonyolultabb) hibát okozunk. Minden második alkalommal a 4,8 +0,2 hibával tárolódik, a többi alkalommal a hiba −0,8. Ez továbbra is ismétlődő, számszerűsíthető hibát jelent.
 
Még jobbnak tűnő ötlet, hogy a 4,8-etat ötből négy alkalommal az 5 felé, az ötödik alkalommal 4 felé kerekítsük. Így a hosszú távú átlag éppen 4,8 lenne. Sajnálatos módon azonban ez továbbra is ismétlődő és rendszeres hibákhoz vezet, melyek torzításként jelentkeznek a hallgató számára (bár a [[túlmintavételezés]] ezt csökkentheti).
 
Eljutva a „dithering” megoldáshoz: ahelyett, hogy ismétlődő minta szerint kerekítsünk fölfelé vagy lefelé, lehetséges véletlenszerű módon felfelé vagy lefelé kerekíteni. A ditherelési megoldás szerint 4 és 5 között véletlenszerűen váltogatjuk a kerekítés irányát olyan módon, hogy az idő 80 százalékában 5-öt kapjunk; így hosszú távon az átlag 4,8 lesz, és az eredményben pedig csak véletlenszerű, nem ismétlődő hiba lesz.
 
 
Ha 0,0–0,9 közé eső véletlenszámokat (pl. 0,6, 0,1, 0,3, 0,6, 0,9 stb.) generálunk és hozzáadjuk az eredményhez a csonkolás előtt, tízből két esetben az eredmény 4-re fog módosulni (ha 0,0-etát vagy 0,1-et adunk a 4,8-hoz), a többi esetben pedig 5-re, de minden esetben 20% esély van rá, hogy 4-et kapjunk és 80%, hogy 5-öt. Hosszú távon az eredmények 4,8-ra átlagolódnak, a kvantálási hiba pedig véletlenszerű, zajos. Ez a „zaj” az emberi fül számára sokkal kevésbé zavaró, mint a determinisztikus torzítás, ami egyébként jelentkezne.
 
[[Image:Reducing amplitude resolution plot.png|center]]