thesurfingalien schreef op maandag 02 september 2013 @ 19:39:
Ik moet heel eerlijk bekennen dat ik de relatie tussen een 16- of 24-bits codering en een schaal in dB nooit echt helemaal begrepen heb hoewel verschillende mensen gebrobeerd hebben dit uit te leggen... Voor mij betekend het aantal bits slechts de resolutie. Ik weet dan elk bit meer ongeveer 6 dB meer vertegenwoordigd etc... maar waarom dit zo is snap ik niet helemaal...
Techneut schreef op maandag 02 september 2013 @ 19:56:
[...]
Die stelling snap ik ook niet. Het aantal decibels heeft alleen met geluidsvolume te maken en niets met hoge of lage resolutie of kwaliteit. Het aantal bits inderdaad wel.
Kortom, wie corrigeert ons hierin?
Een poging:
Om een geluidsgolf te digitaliseren moet je meten hoe hard het signaal is (een X aantal keer per seconde, bijvoorbeeld 44100 keer). Dat gaat in het digitale domein in stapjes. Het welbekende plaatje (let niet op de waarden!):
Als de golfvorm zich nu tussen die stapjes in bevind, wat natuurlijk vrijwel altijd zo is, krijg je een afrondingsfout. Het wordt geregistreerd als stapje 1 of 2, maar eigenlijk zit het ergens er tussenin, je krijgt dan een afrondingsfout. Hoe klinkt een gedigitaliseerd signaal nu? Dat klinkt als het origineel (veel bits) plus de afrondingsfout (laatste bit), en de afrondingsfout klinkt als ruis. En hoe hard is die afrondingsfout/ruis? Nooit harder dan 1 hele stap, zeg maar 1 bit. Heb je nu meer bits ter beschikking, dat komt er dan niet aan de "bovenkant" of "onderkant" bij, zoals wel eens gedacht wordt, maar die stapjes worden kleiner, en daarmee wordt de afrondingsfout ook kleiner. Dus je hebt nu ook stapje 0,5 en 1,5 er bij, om het maar even zo te zeggen. Met 1 extra bit kun je 2x zoveel stapjes maken (digitaal komt er een 0 of 1 extra bij de getallenreeks, dus 2x zoveel mogelijkheden). Met 2 bits extra heb je 4x zoveel, etc. 3bits 8x zoveel, 4bits 16x zoveel, etc.
Waar komt nu die 6dB vandaan? Als we het over signaal hebben, over voltage, is het handig om de logaritmische decibel schaal te gebruiken. Een verdubbeling van een signaal is +6dB. Een halvering van een signaal is dus -6dB. (Ook voor bijv. videosignalen in coax versterkers, etc wordt dit gebruikt, ipv 4x versterking van het signaal staat er +12dB.)
Maar nu komt het, als je 1 bit extra toevoegt, wordt de afrondingsfout dus gehalveerd, en daarmee de ruis gehalveerd. De halvering van de ruis betekend dus dat deze 6dB lager komt te liggen. Heb je 16 bits, dan komt de afrondingsfout/ruis dus 16x6 = 96dB lager te liggen. Vandaar een signaal/ruis verhouding, ofwel een dynamisch bereik van 96dB.
Dan nog een toevoeging over dither:
Bij het digitaliseren van het signaal kun je een klein beetje hele zachte ruis toevoegen. Hierdoor krijg je niet meer steeds dezelfde afrondingsfout, maar door het willekeurige karakter van de dither ruis ligt deze steeds ergens anders. In stapjes van 1: een waarde van zeg 1,6 wordt niet meer steevast geregistreerd als stap 2, maar soms ook als stap 1, ook al ligt 1,6 dichter in de buurt van 2. Doe dat 44100x per seconde en je ziet opeens meer van je originele waveform terug, ook al is er een heel klein beetje ruis aan toegevoegd.
Dit werkt niet alleen met audio zo, ook video signalen kunnen hier gebruik van maken. Zie onderstaande afbeelding, je het een plaatje en je hebt maar 1 bit. Alles tussen zwart en halfgrijs registreer je als zwart. Alles tussen halfgrijs en wit registreer je als wit. Als resultaat krijg je het middelste plaatje. Voeg je nu dither toe, dan wordt bijvoorbeeld de grijze achtergrond niet meer steevast als zwart geregistreerd, maar soms ook als wit (maar wel nog vaker als zwart).
Deze dither ruis heb je vervolgens ook weer in allemaal soorten en maten, meer en minder random, etc etc. Dither voegt dus wat ruis toe, maar het klinkt wel beter.
Maar kort samengevat: hoe meer bits je ter beschikking hebt, hoe lager de afrondingsfout/ruis komt te liggen, hoe groter je dynamisch bereik.