roffe skrev:
Ja, jeg mener jeg kan høre det, og det dreier seg om presisjonen i den øverste oktaven i det hørbare spekteret (minus 17-20kHz for min del, siden alderseffekten begynner å gjøre seg gjeldende her).
Jeg mener også det er vitenskapelig belegg for å se nærmere på de praktiske realiseringene av DA-konvertering (Nyquist-teoremet er flott i teorien, men vanskelig å realisere i praksis opp til grensefrekvensen).
Jeg har til gode å se målinger i tidsdomenet på utgangen fra en 16/44.1 DAC der en f.eks. 16kHz sinustone ved relativt lavt nivå forsøkes gjengitt. Stereophile viser rutinemessig Waveform-målinger av 1Khz ved -90dB, og da har man rundt 22 samples til rådighet for hver periode. Det er god oppløsning for å gjengi noe nøyaktig. En 16kHz sinus har på sin side kun 2,75 samples per periode, og man har da stor sannsynlighet for at man ikke treffer peakene skikkelig. Jeg har ikke utstyr til å gjennomføre en slik måling, men skulle like å se resultatet. Jeg vil tro at avvikene fra peakene i det originale signalet varierer en god del. Med høyere samplingsfrekvens og mer nøyaktige samples (flere bit) mener jeg den praktiske realiseringen av DACene skulle være mer nøyaktige i de høyeste hørbare frekvensene.
En liten presisering av hva analog til digital konvertering handler om er kanskje på sin plass her. Når et analogt audio-signal skal konverteres til et digitalt signal blir det multiplisert med et pulstog som kommer fra en separat generator. I praksis løses dette gjennom bruk av gating-teknikk, altså at en krets slipper analogsignalet gjennom i korte perioder med fast avstand i tid mellom hver "åpning". Unøyaktigheter her resulterer i at samplene ikke kommer med faste mellomrom, det kalles fase-jitter eller jitter-feil eller bare jitter.
Denne teknikken er forbløffende lik gammeldags AM modulasjon. AM modulasjon består i å multiplisere audiosignalet med en høyfrekvent sinusformet (dvs rentonet) bærebølge. Dette flytter signalet i frekvens opp til bærebølgens frekvens og legger en kopi av signalet fra bærebølgens frekvens og oppover og en speilvendt kopi fra bærebølgens frekvens og nedover. Disse kalles henholdsvis øvre og nedre sidebånd.
Er man glad i matematikk (og det er det jo noen som er) kan man vise at et pulstog består av en uendelig rekke av sinustoner med frekvenser lik frekvensen av pulstoget pluss 2 ganger denne, 3 ganger denne, 4 ganger denne osv. De enkelte frekvenskomponenters fase og amplitude vil variere. I praksis er det vanskelig å operere med uendelig båndbredde så pulstoget vårt får litt avrundede kanter. Dess høyere båndbredde, dess skarpere kanter.
Dette betyr at digitalisering av et analogt signal blir det samme som å generere et uendelig antall identiske AM signaler som ligger etter hverandre oppover frekvensskalaen i en avstand svarende til bærebølgens frekvens fra hverandre.
Viktig her er at pulstoget utformes slik at det inneholder en DC komponent. Det gjør at i tillegg til alle disse AM-aktige signalene vil vi også ha en versjon av signalet som blir liggende akkurat der originalsignalet lå, med andre ord en eksakt kopi av originalen.
Det betyr at signalet vi får når vi multipliserer et pulstog med analogsignalet vårt, ikke har mistet noe som helst informasjon! Grunnen til at det ser ut som det gjør, er at alle frekvenskomponentene av høyere orden virker inn på signalets utseende og gir det en pulsaktig form (akkurat som små og store havbølger kombinerer seg til en felles bølgegreie på havet). Lavpassfilterer vi det samplede signal, så får vi tilbake det opprinnelige signalet. Derfor er det aldri noe behov for å treffe peak eller noen fare for at vi bare sampler nullgjennomganger osv.
Pr. definisjon har vi nå et digitalt signal. Analoge signaler er kontinuerlige, digitale signaler har verdier bare ved bestemte tidspunkt og/eller bare et endelig antall verdier eller tilstander. Begrepet digital er altså ikke egentlig knyttet til to-tallssystemet (det binære tallsystem). Binære systemer er bare ett eksempel på digitale systemer. Grunnen til binære systemers popularitet er primært at transistor-teknologien gjør det så enkelt å realisere binære løsninger ved at transistoren brukes som en fjernstyrt bryter (av eller på, 0 eller 1, sann eller usann).
Det man så gjør er å dele amplituden inn i intervaller slik at innenfor hvert interval settes alle verdier som faller innenfor til den samme verdien. Tilsammen har man for et 16 bits system 2 opphøyd i 16 forskjellige trinn som da må dekke hele veien fra det mest negative til det mest positive. Det betyr at amplituden (fra 0 til fullt utslag) har 2 opphøyd i 15 forskjellige tilstander den kan innta for den positive delen av signalet og det samme for den negative delen (bortsett fra at verdien null også må ha et tall).
Man kan diskutere om 16 bit er nok, men det faller utenfor denne lille redegjørelsen. Det som er sikkert er at hvis det digitale signalet skal underkastes noen form for signalbehandling (som f.eks. hos Lyngdorfs RoomPerfect) så kan det være fordelaktig å skyte inn flere bit gjennom såkalt interpolering, der man ikke øker den reelle oppløsningen, men får signalet representert med flere bit for at avrundingsfeil under beregningene ikke skal stjele for mye originalinformasjon. Lyngdorf bruker såvidt jeg vet en interpoleringsprosess som gir 32 bit internt i stedet for 16 bit.
Hvor er så Harry Nyquist i dette? Han studerte emnet og så at ettersom vi får en kopi av originalen på opprinnelig plass pluss sidebånd brettet rundt samplingfrekvensen og multipler av denne, så må samplingfrekvensen være så høy at det nedre sidebåndet på den laveste AM varianten ikke blander seg med originalsignalet. For å få til det, må samplingfrekvensen være minst dobbelt så høy som den øverste frekvens i originalsignalet. Da blander de seg ikke. At frekvensen på samplingsignalet må svare til 2x øverste frekvens i originalsignalet kalles for
Nyquists teorem.
Blander de seg med hverandre, så låter det virkelig pyton fordi slike frekvenskomponenter fremstår for lytteren som fullstendig ukorrelerte med originalsignalet (de er jo speilvendte av hverandre, frekvensmessig sett).
For audiosignaler med informasjon opp til 20kHz skulle da 40kHz duge som samplingfrekvens. Imidlertid må man sikre at originalsignalet ikke inneholder informasjon over 20kHz og man setter da inn et filter for å hindre det. Et slikt filter refereres ofte til som
aliasing filter eller
anti-aliasing filter, litt avhengig av hvem man spør. Jeg foretrekker det siste. Dette filteret er ikke uendelig skarpt, det tar litt plass. Derfor må samplingfrekvensen legges høyere enn akkurat på det dobbelte. For CD har man da valgt 44,1kHz.
Når man så skal gjenskape signalet i digital-til-analog omvandleren så bruker man amplitudeinformasjonen til å gjenoppbygge et pulstog med amplitudevariasjoner som det opprinnelige samplede signal (bortsett fra at man bare har et endelig antall amplitudeverdier) og så lavpassfiltrerer man dette signalet og bingo; vi ender opp med et signal nokså nær orignalen.
Bruker vi høyere samplingfrekvens enn 44,1kHz, f.eks 96kHz så kan man klare seg med mindre steile anti-aliasing filtre (det blir lengre opp til den speilvendte kopien) og man kan klare seg med et mildere filter når man skal gjenskape originale i DA-omvandleren. Dette siste er grunnen til at oppsampling av et standard CD signal er blitt ganske populært også der man ikke har planer om avansert signalbehandling. Oppsampling og oversampling kan man lese mer om på andre steder i dette forum. Ivar Løkken har skrevet utførlig (men kanskje ikke helt i legmannstermer) om emnet.