Vroeger ...
Vóór de uitvinding van elektronische rekenmachines was het vermenigvuldigen en delen van lange getallen pijnlijk. Maar dat was iets dat ingenieurs (ook audio-ingenieurs) vaak moesten doen.
Logaritmen werden in de 17e eeuw uitgevonden om berekeningen te vereenvoudigen.
We hebben deze fundamentele regels van logaritmen:
log (X * Y) = log (X) + log (Y)
En
log (X / Y) = log (X) - log (Y)
Hoewel ze er nogal onschuldig uitzien, verbergen ze grote kracht: de mogelijkheid om complexe vermenigvuldigings- en deelberekeningen te vervangen door eenvoudige optellen en aftrekken.
Er is echter een addertje onder het gras: je moest de logwaarde van getallen weten. Maar aangezien het voordeel groter was dan de pijn, verschenen er al snel boeken met logboekdiagrammen met de logwaarde van getallen (mijn vader had er een!).
Dus om twee lange getallen te vermenigvuldigen, vind je in de grafiek het logboek van beide, voeg ze eerst toe en zoek vervolgens naar het inverse logboek van uw optelresultaat.
Al snel verschenen logaritmische linialen, waardoor snellere berekeningen mogelijk waren:
Toen kwam audio
Met de vooruitgang in elektronica en audio-opnametechnologie werd al snel duidelijk dat onze perceptie van luidheid exponentieel is in plaats van lineair.
Dat Dit betekent dat bij weergave via een luidspreker de wijziging van de luidheid van 1V naar 2V niet zo gelijk wordt ervaren als de wijziging van de luidheid van 2V naar 3V. De verdubbeling van de spanning ligt veel dichter bij onze luidheidsperceptie - 1V tot 2V is ongeveer zoiets als 2V tot 4V.
Logfuncties zijn exponentieel.
Bell Labs
Raad eens wat? De ingenieurs van Bell Laboratories besloten om het logboek een integraal onderdeel van audio te maken. Ze hebben verzameld wat je inmiddels misschien hebt verzameld:
- Logboeken maken berekeningen gemakkelijker.
- Logboeken lenen zich beter voor de exponentiële aard van ons gehoor.
Dus bedachten ze gewoon een eenheid genaamd Bell (ter ere van Graham Bell), die niets anders is dan een verhouding tussen twee metingen, gelogd:
Bell = log (m1 / m2)
Al snel kwam echter het besef dat voor audiotoepassingen de Bells altijd een extra significant cijfer hadden rechts van de komma. Dus introduceerden ze een andere eenheid genaamd decibel , die, na het uitwerken van de oorspronkelijke definitie van de bel, resulteerde in:
dB = 10 * log (m1 / m2)
Vermogen versus spanning
De decibeldefinitie is bedacht voor vermogensmetingen (watt), dus we kunnen het beschouwen als een verhouding tussen twee vermogensmetingen:
dB = 10 * log (p1 / p2)
Zodra we in de vergelijking spanningen gooien (waarbij P = V ^ 2 / R) en vereenvoudigen het wordt de vergelijking:
dB = 20 * log (v1 / v2)
Wat meestal wordt geschreven:
dB = 20log (v1 / v2)
Praktisch gesproken zijn alle dB-vergelijkingen 20log, met uitzondering van de vergelijkingen die met vermogen te maken hebben.
Van twee metingen naar een meting en een referentie
Tot nu toe stellen dBs ons in staat om de verhouding tussen twee metingen uit te drukken. Maar wat als we het niveau van ons signaal meten en vragen:
"Hoe luid is dit in dBs?"
Het antwoord zal zijn:
"Nou , hoe luid vergeleken met wat? "
Dus het idee was om een referentie te kiezen, zodat we het niveau van iets in dBs kunnen uitdrukken door het te meten en het te vergelijken met een standaardreferentie. In vergelijkingsvorm:
dB = 20log (m / r)
dB-systemen
Dus nu kunnen we verschillende systemen ontwikkelen van dBs, elk gebruikt een andere referentie.
- Het dBm-systeem gebruikt 1mW als referentie.
- Het dBu-systeem gebruikt 0,775V als referentie (een getal dat gebruikelijk was in vroege elektronische circuits).
- Het dBV-systeem gebruikt 1V als referentie (een veel gemakkelijker getal om mee om te gaan).
dBFS
Toen digitale audio opkwam, had het zijn eigen dB-systeem nodig, waardoor het nodig was om een referentie te kiezen. Maar er was een probleem:
Digitale audio kan 8 bits zijn (voorbeeldwaarden van 0 tot 255) of 16 bits (0..65535) of 24 bits (0..16777216).
Het lijkt erop dat het algemene ding in al deze bitdiepten de nul is, maar we kunnen het niet als referentie gebruiken zoals we zullen krijgen:
dBFS = 20log (m / 0)
Hoewel dit voldoende is om 0 als referentie uit te sluiten, is er nog een feit dat u moet overwegen: we weten dat tijdens ADC een hogere bitdiepte het dynamische bereik naar beneden en niet naar boven vergroot. Met andere woorden, de luidste analoge spanning die een ADC ondersteunt, vertaalt zich altijd in de hoogste waarde die de bits kunnen vertegenwoordigen. Als de analoge limiet 1V is, krijgt het in een 8-bits systeem een samplewaarde van 255, maar in een 16-bits systeem krijgt hij 65535.
Dit maakt de keuze nogal voor de hand liggend - de referentie voor dBFS moet de hoogste samplewaarde van de systeembitdiepte zijn. Dus:
dBFS = 20log (voorbeeldwaarde / hoogst mogelijke voorbeeldwaarde)
Nu in logboeken, als de teller kleiner is dan de noemer, dan een negatief resultaat krijgen; als de twee gelijk zijn, krijg je 0. Dus in het geval van 16 bits:
0dB = 20log (65535/65535)
en
-6dB = 20log (32768/65535).
Aangezien de samplewaarde nooit de hoogste samplewaarde kan overschrijden, zijn dBFS-waarden altijd gelijk aan of kleiner dan 0.
dBVU en dBr
Dit is allemaal geluid, maar er is nog wat meer.
Als gebruikers geven we niet echt om de dB-niveau van het signaal binnen het systeem, wij zorgen voor het dB-niveau in vergelijking met het standaard bedieningsniveau van het systeem (waarboven u kunt knippen).
Audiometers tonen dus niet het dBu, dBV of dBFS-niveau van het signaal (sommige wel, maar als een extra). In plaats daarvan geven ze 0dB weer als het standaard bedieningsniveau van het systeem. In analoog staat dit bekend als 0dBVU (dB Volumatric Unit), en voor digitaal als 0dBr (dB referentie). Voor professionele analoge apparatuur is 0dBVU gekalibreerd tot + 4dBu; voor semi-professionele apparatuur is dit -10dBV. Dus ongeacht het apparaat zelf en het gebruikte dB-systeem, dBVU vertelt me altijd hoeveel onder of boven het standaard bedieningsniveau van het systeem het signaal is.
DAW's gebruiken intern 32 bit float, dus de geheel getalbereik van 0..65535 wordt uitgelijnd met het decimale bereik 0
.. 1,0
; Terwijl 65535 0dBFS is, is 1.0
0dBr. Maar drijvende-kommasystemen kunnen hoger zijn dan 1.0
, in feite veel hoger dan 1.0
. Maar aangezien je op een gegeven moment terug moet naar gehele getallen, is de 0dB die je ziet uitgelijnd met 0dBFS.