.. for bedre lyd!

Noen grunnleggende lydfenomener - impulser, sinuser, filtrering og sampling


Denne artikkelen presenterer og forklarer noen grunnleggende begreper innen lyd og samplede systemer. Sinuskurver og impulser defineres samtidig som tids-domene og frekvens-domene forklares. Det hele avsluttes med et kort blikk på et av de mest spennende bruksområdene for disse teoretiske idealene, samplede systemer. Mystiske formler unngås så langt det lar seg gjøre, men mange av disse fenomene forklares både grundigere og mer korrekt ved hjelp av matte. Det anbefales å søke på nettet for videre informasjon for de som er interessert! Her er fokuset lagt på musikalske bruksområder, som forhåpentligvis gjør det lettere for lydteknikere å sette seg inn i det.


Innen bølger finnes det to grunnleggende former. Det er enten 1 frekvens, en uendelig lang periodiskt repetetiv tone totalt uten harmonier, som heter sinus. Eller den rake motsatsen, en impuls, ett totalt urepetetivt uendelig kort støt, med et uendelig høyt frekvensspekter, dermed også uendelig mange over- og undertoner. Begge deler er like utopisk! Den eneste måten å lage dem helt nøyaktig er ved å skrive mattestykker, alt annet blir bare mer eller mindre vellykkede forsøk. Den vanligste måten å måle utstyr er faktisk å se hvor mye de nærmer seg disse idealene. Det kan nærme seg, men aldri være helt nøyaktig lik teoriene. Alt i mellom disse ekstremene er komplekse bølger, som er det eneste som er mulig å lage i virkeligheten.

Ikke tilfeldigvis kan begge disse ekstremene også brukes som byggeklosser for å lage alle andre komplekse bølger, som altid befinner seg et sted mellom 1 ren frekvens og uendelig mange. Om overtonene filtreres ut av en impuls blir den rundere og rundere i kantene til det slutt står igjen en sinustone. Motsatt vil summen av mange nok sinusbølger i en kraftig nok utstøting av plutselig energi bli en impuls. Dette kan sammenlignes med forskjellen på å stryke en fiolinstreng med buen og slå et trommeskinn med stikken; Fiolinen heller mot å lage en periodisk bølge som utvikler seg over tid og trommen med sin eksplosiv natur heller mer mot å ligne på en impuls. Ingen av dem er engang i nærheten av de teoretiske sinus og impuls funksjonene, men kjennskap til disse ytterpunktene innen lyd gjøre det lettere å forstå alle andre bølger som er kombinasjoner av disse..

Sinus

Noen husker kanskje dette ordet med et grøss fra trigonometrien i skoledagene. Egentlig er det temmelig greit å forholde seg til når det ikke skjer i et klasserom. Ved å koble det til lyd blir det ikke bare mer forståelig, det sier også forbløffende mye om alt annet som skjer med musikk!

En sinuskurve er en sirkel som går bortover i tid i stedet for å snurre rundt på samme stedet. Bl.a. finnes denne kurveformen i strømmen i vegguttakene. I kraftverkent er generatoren en magnet som snurrer rundt i en sirkelbevegelse for å skape strøm.

Til venstre i bildet under sees en sirkel med grader fra 0 til 360, sett mot klokken. Under er samme sirkelen plottet bortover i tid med en tenkt urviser som snurrer mot klokken. Høyden på kurven viser hvor langt opp eller ned på sirkelen den har beveget seg. Den høyre sirkelen gradert fra 0 til 1, tilbake til 0, ned til -1 og opp igjen til null. Likt et lydsignal som svinger fra positiv til negativ og tilbake. Urviseren lager en trekant inni sirkelen, med horisontalen på nulllinjen, en rett vinkel opp til skjæringspunktet mot sirkelen og den lengste siden i trekanten, hypotenusen, tilbake fra skjæringspunktet til midten. I bildet under er denne trekanten illustrert i grønn. Tallene mellom null og 1 på skiven er sinus'en, som er forholdstallet som sier forskjellen mellom toppen av sirkelen og hvor langt opp på kurven urviseren har beveget seg. På toppen er forholdet 1 til 1, på 45 grader er forholdet mellom høyden på vinkelen og toppen 1 til 0,707 og på 30 grader er forholdet 1 til 0,5. Resultatet av å plotte denne rekken som går fra 0 til 1 til 0 til -1 osv blir blir det samme, en sinuskurve.

Grader 0 7.5 15 22.5 30 37.5 45 52.5 60 67.5 75 82.5 90 135 180 225 270 315 360
Tall 0 0.13 0.26 0.38 0.5 0.61 0.71 0.79 0.87 0.92 0.96 0.99 1 0.71 0 -0.71 -1 -0.71 0




Se også en Utmerket link med animert fremstilling

Legg spesielt merke til at bevegelsen bruker lenger tid på toppen hvor den flater ut, raser i rett linje forbi nullpunktet, slakker farten igjen og snegler seg forbi bunnen, aksellererer opp til fart igjen og raser forbi nullpunktet, osv. Den samme bevegelsen oppstår i en streng eller en pendel som svinger fra side til side. Helt ytterst må pendelen snu og har derfor ingen fart, mens den på midtpunktet har maksimum hastighet.

En annen ting å legge merke til i sinus-sirkelen over er at 45 grader gir 71% av maksverdi. Nærmere bestemt er tallet 0,707. Et tall som stadig dukker opp i forbindelse med lyd og matematikk! Topp til topp verdien av kurven er lik 1, maksimum. Gjennomsnitt-effekten er 0,707 eller -3dB. Dette er dynamikken, eller topp til snitt-nivået, i en sinuskurve. Til sammenligning er topp-til-snitt forskjellen null på en firkantbølge, ca 58% (-4,75dB) på triangel og sagtann-bølger og 25% (-12dB) i pink noise. I vanlig musikk er forholdet mellom toppverdiene på bølgene og snitteffekten i musikken oftest mellom 10 til 14dB. Jazz, klassisk og lyttemusikk generelt pluss film og DVD har gjerne et dynamisk spenn på 20 dB.

Denne kurven i forskjellige frekvenser kan sees som atomene i lydriket. Det er den aller enkleste bestanddelen av lyd det er mulig å redusere ting ned til. Å filtrere en komplisert bølgeform ned til grunnfrekvensen gir alltid en sinus, fri for overtoner. Samtidig er det en kurve som er umulig å lage helt rent i praksis. Sinus-formen forutsetter at sirkelen er 100% perfekt renskåret. I virkeligheten vil enhver geometri alltid være litt bøyd her og der. Det er alltid mer, eller forhåpentligvis mindre, vreng på kurven. Et annet problem er at sirkelen nødvendigvis må starte og stoppe et eller annet sted. I start og stopp punktene er det langt fra å være en sirkel! Disse avvikene medfører endring av bølgeformen. I det sinusen endrer seg en minste lille bit fra en ren sirkelbevegelse er det ikke lenger en enkelt frekvens, det blir en grunntone med over- og undertoner. Om sinusbølgen gjøres om til de linjalrette strekene i en triangel-kurve blir er det som å legge på 20% distortion. Med 100% vreng blir det en ren firkantbølge. Tonen endrer seg fra å være fri fra harmonier til å ha et rikt frekvensspekter.

Under vises 1kHz sinus, triangel, firkant og sagtannbølger. Øverst er bølgene slik vi kjenner de fra sample-editoren på dataskjermen og nederst sees frekvensregisteret til de respektive bølgene:


Stort bilde av frekvensresponsene

Kurvene øverst er vist bortover i tid. Den mest hendige og vanligste måten å lagre og behandle lyd, men det er bare en av mange måter å se beskrive hva som skjer. En annen måte å betrakte lyd er å se på frekvens-registeret. I de små vinduene under vises frekvensene fra bass til diskant bortover mot høyre i hvert enkelt vindu. Slike spektrum/frekvens/FFT analyser er en god måte å lære litt om lyd! Sinusen er helt ren, triangelen har en del vreng som gir overtoner, firkanten har mye men bare oddetalls-harmonier og sagtannen har alle harmonier. Alle andre kurver enn sinus'er inneholder et et komplekst frekvensspekter, som kan brytes ned til et bilde av ulike enkelttoner med forskjellig volum, frekvens og fase. De små bildene fra spektrum analysatoren over viser nesten alt som kan sies om lyden ved hjelp av et matematisk triks som heter fast fourier transformation. Den viser frekvens og signalnivå på alle harmoniene. Det eneste bildet mangler for å gjøre bølgen komplett igjen er kjennskap til fasen, startpunktet, til hver enkelt sinus-bølge som til sammen utgjør helheten. Da kan vi gjøre som matematikeren Furier påpekte, beskrive enhver tenkelig kompleks bølgeform som en rekke sinusbølger med varierende frekvens, volum og fase.

Nedenfor vises sinus, triangel, firkant og sagtannbølger generert med sinus-funksjoner i en grafisk kalkulator:


Formlene for å lage bølgene over



En firkantbølge kan lages ved å ta en sinus og vrenge den til det bare er flate topper igjen. En firkant-bølge kan også lages ved å ta en rekke sinusbølger med riktig frekvens og mikse dem sammen.
I firkantbølgen er det bare oddetallsharmonier. Overtonene på 1kHz firkantbølge blir derfor sinuser på 3, 5, 7, 9, 11, 13, 15, 17, 19 kHz, osv. Nivået minsker i takt med frekvens-stigningen. Under vises fra høyre til venstre en enkelt sinus med en ekstra harmoni mikset inn på hver hele syklus av kurven:

stort bilde

For hver ekstra sinus/overtone som mikses inn i signalet blir det en ekstra svingning på kurven. Med et uendelig frekvensspekter vil det slutt bare være en flat strek igjen på toppen.


Omvendt vil en helt firkantet bølge bli mykere og mykere til det bare er en enkelt sinus igjen om bølgen filtreres ned. Bildet under, hentet fra artikkelen om digitale signalnivåer, viser først en teoretisk perfekt firkantbølge og en mer jordnær variant under:

Den øverste firkantbølgen inneholder nesten uendelig med overtoner fordi strekene mellom flatene på toppen og bunnen går nesten rett opp og ned. I den filtrerte versjonen under er sidene på firkanten blitt mer skrå og flaten er byttet ut med en sinustone som daler litt i volum på midten. Denne sinustonen har den maksimalt tilgjengelige frekvensen i systemet, her 21kHz, som er den 11'te oddetallsharmonien på 1kHz firkantbølgen. Strekene som før gikk rett opp og ned på sidene har nå blitt til litt mer skrå. Kurvens endring har en maksimal hastighet som er lik både på sideveggen og på sinuskurven som nå ligger bortover flatene på toppen og bunnen. Fortere enn dette er det ikke mulig å bevege seg uten å lage de frekvensene som nettopp ble filtrert ut!

På den eminente hjemmesiden til Paul Falstad ligger blant mye annet to java program som lar brukeren tegne bølger og overtoner og utforske sammenhengen mellom dem: Fourier series applet og Digital Filters applet.



Impuls


Alle kurvene som beskrevet over er sammenhengende og repeterende, såkalt periodiske bølger. Om signalet kuttes i begynnelsen eller slutten er det ikke lenger samme bølgen, det blir noe annet, en kompleks bølge. Ta en sinuskurve, den perfekte rene tonen, og se for deg at vi kapper bort alt på begge sider av en enkelt oppover-kurve fra null til 1 til null igjen. Se så for deg at frekvensen er så høy at syklusen går nesten uendelig fort. Det vil ikke være mye lyd av det, om ikke volumet er sterkt nok, f.eks. nesten uendelig høyt. Gitt nok volum vil denne ene pittelille blippen kunne rive vårt lille univers i fillebiter i en vanvittig eksplosjon! Signalet har gått fra å være en ren sirkel til å bli en uendelig tynn søyle, et pulsstøt med energi.


En impuls er ideelt sett en uendelig kort enhet med uendelig mye energi. I virkeligheten er det selvsagt både begrenset med energi å ta av og umulig å gjøre noe som tar ikke tar noe som helst tid, det ville vært to-dimensjonalt. Under er det illustrert et par litt mer realistiske impulser:

Den første minner mest om den uendelige impulsen, men den er begrenset både i tid og styrke slik virkeligheten nødvendigvis må være. Den neste inneholder nøyaktig samme energi-mengden, men er litt lavere og spredd litt utover i tid. Den siste begynner å se temmelig flat ut og den er strekt mye utover i tid. Innholdet i boksen er det samme som i den tynne søylen og energimengden er den samme, men det kreves mer energi på kortere tid jo mindre og høyere søylen er. Når tingene endrer seg fortere blir det høyere frekvenser.

Frekvensresponsen til en teoretisk impuls er alt. Alle frekvenser fra dypeste bass til uendelig topp. Stikk motsatt av responsen til en sinus. Å vise det i en spektrum analysator er nesten meningsløst, det er uansett bare en flat strek! Dess mer perfekt impulsen er dess skarpere er kantene og jo mindre tid bruker den.






Filter



Alle virkelige fenomener er begrenset til en viss båndbredde, i hvert fall i toppen. Ingenting kan være uendelig raskt. Ting tar tid! Både når det gjelder musikkbransjen generelt og lyd spesielt. Den eneste informasjonen av interesse befinner seg uansett i relativt lave hastigheter. Mellom 20 og 20 tusen svingninger i sekundet. Mikrofoner, forsterkere, høytalere og annet utstyr er laget for å møte dette kravet, men ikke mer. Er liten vits å lage ultralyd som mennesker ikke hører, flaggermus og hunder setter ikke pris på det likevel. Resultatet blir at utstyret fungerer som et lavpass-filter som tar vekk alle høye frekvenser. Dette skjer også rent fysisk i akustiske instrumenter og lyder. De begynner svakt og sakte før de vokser til full hastighet og styrke, som til sammen utgjør energibruken over stykke tid. Gjerne i løpet av svært kort tid, som et trommeslag, men det tar likevel littegranne tid. Filtrering er iboende i alt.

I et lavpassfilter, som er det interessante i denne sammenhengen, blir alle overtoner som går over filterfrekvensen kuttet. Alle toner og deltoner under filterfrekvensen skal helst passere igjennom helt uendret. Overgangen fra at alt passerer til at lyden blir helt dempet er ikke momentan, det slakker sakte av oppover i frekvensregisteret. Hvor skarp denne overgangen er måles i deciBel per oktav, per dobling av frekvensen. Hastighet er frekvens, så i bunn og grunn skal et slikt filter hindre hurtige endringer fra å forekomme. Dette gjør det ved å temme de kjappe endringene og la ting få litt tid til å utvikle seg. Det endrer bølgen før den kommer! Analogt er i umiddelbart i reaksjonen, forsinkelsen ligger på ca lyshastighet. Det kan ordnes med kondensatorer, små batterier, som gir en ørliten forsinkelse gjennom filtersystemet. Det er lite tid å snakke om, 90 grader forsinkelse på kurven i et 6dB/oktav filter. Akkurat nok til å ta kontrollen på utviklingen av bølgen i stedet for den mer eksplosive naturen som ligger i de høyere frekvensene. For hver 6dB skarpere karakterestikk som legges inn i filteret blir det 90 grader mer forsinkelse, f.eks. 360 grader i et 4 pols filter med 24dB/oktav karakterestikk. I digitale systemer er det mer enn nok minne å ta av til å forsinke lyden så mye det ønskes.


En teoretisk impuls som filtreres ned med et uendelig skarpt filter vil få en symmetrisk form som gir mange spennende muligheter. Bildet nedenfor viser først en impuls som kun er 1 sample på maksverdi, under er resultatet av å filtrere den ned til 20kHz:

.


Dataprogrammet som lager disse bildene viser rette linjer mellom samplepunktene, men den øverste pulsen skal egentlig gå rett opp fra ingenting og rett tilbake igjen til ingenting. En slik teoretisk impuls vil i virkeligheten alltid være filtrert ned til å ligne på den nederste versjonen. Her er den forstørret flere ganger opp for å gjøre den mer synlig. En sinus blir speilvendt på midten og brer seg utover på hver side med minkende styrke. For å holde den noenlunde nær idealet om en evig sirkel bruker denne tonen lang tid på å fade inn og ut på hver side av hoved-impulsen. Egentlig fortsetter svingningene på begge sider av impulsen mye lenger enn bildet viser, mange hundre sykluser før de drukner i støyen, men de blir fort for små til å vises uten enorm forstørring. Svingningene er resultatet av at de vanvittig høye frekvensene som impulsen inneholder nå er fjernet. Lyden prøver å endre seg fortere, men det aller kjappeste den kan endre seg er en kurve med hastighet som tilsvarer den i en sinuskurve med maksfrekvensen i systemet. De øverste tonene som slipper igjennom blir alltid filtrert ned til en ren sinus i et skarpt filter. Første overtonen på en 11kHz tone er på 22Khz. Alt over 11kHz vil derfor alltid være rene sinustoner i et 44.1kHz samplet system.


Energien blir spredd utover i tid, men resultatet for oss mennesker som hører maksimum 20kHz er nøyaktig det samme som om vi kunne spilt av den teoretiske impulsen som går rett opp. Den eneste forskjellen er at de hurtigste bevegelsene som tilsvarer frekvenser over 20kHz er filtrert ut. Alle tonene under filter-frekvensen er fortsatt de samme, nå representert ved den største svingningen i midten. Alt under 20kHz er i behold og det meste av impulsen er fortsatt igjen. Hvordan dette høres ut vet vel egentlig de fleste. Det låter som noe som er tilkoblet et kraftig anlegg og slås av og på, eller når en kabel plutselig dras ut. For å lage en ren tone som går av og på trengs det en del fading på hver side. 1 sekund med sinus høres ut som en kort sinus, 1 millisekund blir for lite og da smeller det!


Kjappe endringer krever mer energi enn langstrakte endringer. Signalet trenger dobbelt så mye energi for å bevege seg dobbelt så fort med det samme signalnivået. For å lage en riktig tynn søyle må den endre seg svært fort fra null til mye. En kjapp endring betyr også høy frekvens. Ta sinusen igjen og kjør den gjennom en vrengboks. Ved å flate ned strekene til rette linjer i stedet for en sirkel, en triangelbølge, endres den fra en ren tone til en grunntone med et sett overtoner. Å flate ut gir en vinkel på kurven som er krever hurtigere bevegelse å utføre enn å gå i den myke sinus-kurven. I tegningen øverst i artikkelen vises det at sinusen har maksimal hastighet rundt nullpunktet, på den nær rette linjen som går fra 135 til 225 grader. Denne hastigheten tilsvarer frekvensen til sinuskurven.

Enhver kompleks kurve vil alltid ha en hastighet på et gitt punkt på bølgen og denne tilsvarer alltid frekvensen til en spesifik sinus-kurve uansett hvilken bølgeform det er snakk om! Husk at sirkelen går tregest på toppen mens den raser i rett linje forbi nullpunktene. Alle frekvenser/sinuser har sin egen spesifike hastighet og enhver endring på en kurve tilsvarer en frekvens, uavhengig om det er en repeterende bølge eller en enkelt impuls. Ved å sende en impuls gjennom en en prosess og ta opp igjen resultatet får man en deformert impuls tilbake. Med hjelp av litt intrikat matte kan hele frekvensresponsen til prosessen analyseres bare ved å myse på hastighets-endringen i deformasjonen av impulsen. Disse subtile bøyningene av kurven kan beskrive frekvens-responsen til ethvert system
fra bass til uendelig. En slik impuls-respons kan brukes til å kopiere responsen til effekter, f.eks. romklang, og ikke minst til å måle akustikk og utstyr.

Et virkelig lydsystem som er båndbreddebegrenset til hørbare frekvenser vil derfor ha en maksimal frekvensrespons som er lik sinuskurven til den høyeste frekvensen i systemet. For å endre kurven fortere enn dette må sinus-sirkelen overskride maks hastighet. Ethvert forsøk på å gå over denne frekvensen, f.eks. ved å kjøre inn en nær perfekt impuls, vil resultere i at den høyeste hastigheten som blir blir igjen på den ellers perfekte stigningen er den samme som hastigheten i en sinus på systemets maksfrekvens. Det glade faktum at denne sinusen er konstant repetetiv kan utnyttes på en utrolig snedig måte.



Det virkelig interessante skjer når det kommer mange impulser på rad. Hver for seg selv er de bare et knepp med energi spredd utover frekvensregisteret. Etter filtrering vil de ha en ringende sinustone som brer seg utover med konstant frekvens, nullkrysningene i bølgen kommer nøyaktig på rad og rekke. Å mikse en rekke impulser etter hverandre med et tilfeldig tempo gir en rimelig kaotisk sum av opp og nedover bølgedalene. Om vi derimot setter de slik at svingningene rundt senteret på impulsen overlapper på hver kryssning av nullpunktet vil summen av alle impulsene over tid bli en sammenhengende kurve! Hver bølgedal og topp på begge sider av impulsen kommer med nøyaktig samme avstand, på nullkrysningene til sinuskurven. Ved å lage en rekke nøye planlagte impulser på rad kan summen bli til alle tenkelige kombinasjoner av opp og nedover bevegelse! Her kommer enda en måte å lage en firkant, nå ved å å legge 9 slike impulser etter hverandre med nullkrysningene nøyaktig oppå hverandre:

stort bilde

Om rekken av impulser fortsetter å vokse blir det til slutt en firkant med en ren strek mellom begynelsen og slutten. Det samme som skjer ved å lage en uendelig serie sinus overtoner! Et imponerende triks, men ikke særlig nyttig i seg selv, det blir jo bare en flat likestrøm med null frekvens!

For å gjøre det mer brukandes, som å lage en frekvens over null, må det være mulig å gjøre noe med topp-verdien på hver enkelt impuls. F.eks. kan annenhver impuls fjernes, slik at det blir en sekvens som veksler mellom +1 til null til +1 til null. I bildet under vises samme firkanten som over, men her er annenhver impuls fjernet:


Det begynner å bli en sinus! Det eneste som trengs å endres for å gjøre den helt identisk med sirkelen vi begynte med er å gi bølgen uendelig med tid å utvikle seg. Det viktige er at alle impulsene kommer nøyaktig på annenhver nullkryssning, at klokken er så ren som mulig.




Sampling

Impulsene vi har sett på så langt har blitt brukt til grunnleggende former
for lyd og bølger. En enslig impuls gir alle tilgjengelige frekvenser på en gang. Uendelig mange på rad gir en flat direkte-strøm som ikke er en bølge engang, helt uten frekvens. Til slutt, annenhver impuls på og og av gir en sinus med maksfrekvensen til systemet. Selvsagt er det også mulig å skape alle slags verdier mellom disse ekstremene!

En sample betyr en stikkprøve. Ved å digitalisere en lang rekke stikkprøver etter hverandre kan en rekke verdier lagres som et sett med tall etter hverandre. Når musikk blir stikkprøvet finner man spennings-verdien til den sammenhengende lydkurven på et lite avgrenset tidspunkt og gir denne spenningen en positiv eller negativ tallverdi som lagres i datamaskinen. Hver for seg selv gir tallene bare en enkelt impuls med varierende volum, men settes de sammen etter hverandre, med alle de små svingningne langt utover til begge sider fra midtpunktet, kan summen av både den høye toppen på midten og alle de små og store positive og negative svingningene rundt alle impulsene anta alle tenkelige og utenkelige kombinasjoner. Periodiske funksjoner som triangel, firkant og sagtann er selvsagt enkelt å lage. Vi kan også hente hente informasjonen om nivået til hver enkelt impuls fra virkeligheten, ved å bruke en analog til digital konverterer.


Begrensningene i et samplet system ligger i to faktorer; hvor fort tallene kommer etter hverandre og hvor mange siffer vi kan gi til hvert tall.

Hastigheten på klokken som styrer tidspunktet for hver sampling setter en øvre grense for den kjappeste sinusen som er mulig å sample. Under vises samplingspunktene på en 2222Hz og en 8888Hz sinus i et system som jobber med 44100 samples i sekundet:

Kurven til venstre ser kanskje mer normal ut enn den til høyre, men i virkeligheten beskriver de begge en helt ren sinus. Årsaken til at det ser så rart ut til høyre er at dataprogrammet tegner linjer mellom samplepunktene i stedet for å se på det større bildet som summen av de mange impulsene egentlig utgjør. Når dottene ligger tettere gir det et mykere bilde rent visuelt, men den egentlige kurven bir ikke noe mykere av den grunn. Den er allerede så myk som den kan bli, den er jo en sinus! I et digitalt instrument som viser bølger trengs det minst ti ganger bølgefrekvensen for å få et rimelig korrekt bilde bølgen. Det betyr ikke at bølgen er mer eller mindre firkantet jo høyere samplefrekvensen blir, det er bare visningen på skjermen som endrer seg. Under vises samme frekvensene med en rekonstruert bølge mellom samplepunktene:



Når de rette linjene erstattes med impulser med samme toppnivå som sample-dottene, vil summen bli den flytende sinusen samplepunktene egentlig representerer. Alle de små toppene og bunnene rundt impulsene summer seg perfekt opp til en myk og sammenhengde kurve. Dottene bryr seg ikke om hvor på linjen de havner, summen blir uansett en perfekt kontinuerlig bølge. Starten er vanskelig. Det blir litt vreng i begynnelsen, de første millisekundene, før summen begynner å ligne originalen. Derfra og utover i de neste millionene og milliardene med samplepunkter er summen av de filtrerte impulsene garantert å være likt originalen så lenge klokken er dønn stabil. Over ble det laget en ren sinus ved å la annenhver sample være på og av! Dette er maksfrekvensen i systemet. Med klokke på 44100Hz vil det teoretiskt kunne samples signaler opp til 22050Hz. I praksis trengs det ørlittegranne mer enn to samples per syklus.

Grunnen til at det må være littegranne mer enn to samples per syklus finner du også i sinusen vi laget av impulser et lite stykke over. Ved å kombinere impulser som gikk annenhver på og av ble summen en sinus. Dette fungerer utmerket så lenge signalene er på maks og minimums-verdi, men hva om de ligger helt midt på kurven? Da vil de sample en null-verdi hver eneste gang og resultatet vil bli en flat strøm med nuller! Om signalet som samples har nesten nøyaktig halvparten av klokkefrekvensen vil det derfor oppstå en feil med volumet. Ved å øke frekvensen på samplingen eller senke hastigheten til sinusen littegranne unngås problematikken. Det digitale systemet vil gjenngi den flytende bølgen med garantert presisjon.


Samplingsteorien er så perfekt at det er vakkert, men i praksis er det ikke bare maksimal sinus-hastighet som setter maksimal frekvens i systemet. For at sampleren skal fungere som tiltenkt må alle frekvenser som overstiger halvparten av klokke-hastigheten filtreres ut. Filtre bruker en hel del båndbredde fra de begynner å drepe lyd til all lyden er dempet. Punktet hvor de dreper -3dB er som oftest det som blir oppgitt som filterfrekvensen, derfra forsvinner lyden med X decibel per oktav, per dobling av frekvensen, oppover i registeret. Et vanlig synth-filter med 24dB per oktav vil med et -3dB punkt på 20kHz fortsatt ha -27dB lyd igjen på 40kHz og -51dB på 80kHz! Det finnes mange lure løsninger rundt dette og alle involverer at det brukes en høyere klokkefrekvens i samplingssystemet for å overkomme problemet med å få filtrert ut de unødvendige frekvensene. Alle nyere samplingssystemer er av den over-samplede typen systemer som bruker fra 2 til 256 ganger vanlig klokkefrekvens. Ved å sample i megahertz-området kan det analoge filteret som ligger før digitaliseringen være et svært enkelt filter med en veldig svak kurve. Sampling på slike hastigheter er svært unøyaktig og gir ikke mange bits. Et digitalt filter bytter hastighet mot presisjon og gjør om de få bit'ene i mHz hastighet til et 24 bits ord i vanlig samplingshastighet som sendes videre til neste enhet i rekken.

Filtrerings-problemet gjelder utelukkende lokalt i selve konverteringsprosessen mellom de analoge og de digitale rikene. Når signalet først er blitt samplet er det egentlig ingen grunn til å bruke vanvittig høye samplerates. Mennesket hører uansett bare opp til 20kHz! Når den oversamplede sampleren har gjort jobben sin i høy hastighet blir signalet digitalt filtrert og sendt videre i et mer levelig tempo tilpasset dagens lydstandarder, f.eks. 44.1kHz, 96kHz eller 192kHz. En samplerate rundt 60kHz ville vært ideelt for både å gi plass til god filtrering og minske mengden ubrukelig informasjon, men med dagens valg på lydformat er 88.2 eller 96kHz det nærmeste vi kommer. Mer enn dette er unødvendig på alle måter og vil faktisk gi dårligere resultater. I sampleren skal elektronene i det analoge signalet rekke å stabilisere seg, bli lest av som en digital verdi og bli tømt igjen fra bufferen før neste verdi skal leses av. 192kHz er rett og slett for kjapt til at elektroniske kretser kan få tid til å gjøre en ordentlig måling av signalet i høy oppløsning .


Klokkefrekvensen begrenser altså hastighets-oppløsningen, eller hvor kjappe endringer vi kan registrere, langs Y aksen, bortover i tid. Så lenge klokken er mer enn to ganger fortere enn signalet som ska samples blir det gjenngitt i sin fulle helhet som en myk og flytende bølge. Hver enkelt sample har et visst antall siffer som settter plasseringen på X aksen, oppover i signalnivå. Dette er støyforholdet i systemet. Med 8 bits er det bare 2 opphøyd i 8, 256, steg å velge mellom når nivået på kurven skal leses av analog til digital konvertereren(ADC). Alle verdier mellom disse stegene blir plassert på nærmeste tilgjengelige plass. Skal tallet bestemmes mer nøyaktig må det mer bits til. Forskjellen mellom den egentlige verdien på signalet og verdien som blir valgt av ADC'en utgjør en feil, såkalt kvantiserings-støy. Feil-mengden er maksimalt lik halvparten av verdien på den minste bit'en. For hver ekstra bit som legges til i tallet dobler det i størrelse og øker dermed evnen til å skille mellom forskjellige verdier med 6dB. Kvantiseringsstøyen dempes tilsvarende med 6dB for hver ekstra bit. 8 bit har 48dB dynamikk, 16 bit har 96dB og 24 bit gir et spenn fra toppen til støygulvet på 144dB. Denne kvantiserings-støyen er en følge av at den flytende bølgen blir stykket opp i begrensede verdier langs den vertikale aksen, volumet på signalet. I utgangspunktet er denne støyen svært ubehagelig, men den kan elegant unngås ved å bruke dithering, som vist i signalnivå og dithering artikelen.



Et samplet system kan være en nøyaktig serie impulser med varierende verdi, som vist over. Hver enkelt sample skyter fra null til toppverdien sin og tilbake til null igjen, hengende løst i tid med tomrom mellom hver sample. Såkalt Return To Zero sampling. Det kan også være en firkantet sammenhengende bølge der hver sampleverdi blir holdt på sin verdi frem til neste sampleverdi kommer. Non Return To Zero sampling. Bildet under viser 2222 og 8888 Hz sinusene i 44.1kHz samplern med firkantblokker tegnet i grått. Bølgen blir holdt flatt på samme verdien frem til neste samplepunkt hvor den plutselig skifter nivå momentant.


Disse sprangene er litt lik impulsene i det at blir en haug med overtoner av det. Bevegelsene over er små og kraftige og lager svært høye frekvenser! Den fine sammenhengende bølgen er gått fra å flyte mellom punktene til å bli firkantet og langt i fra en ren sinus. Kvantisering langs Y axen, på volumet, er reel. Det er derimot ikke kvantiseringen bortover i tid, på X aksen, som det er snakk om her. Riktignok er signalet nå utvilsomt rett og slett fullt av søppel, det er tydelig. Heldigvis ligger all støyen på frekvenser over grunnbåndet av interesse!

Alle overtonene som oppstår er hendig nok nøyaktige speilinger av spekteret til original-signalet. Frekvensbåndet i en ideel 44.1kHz sampler går fra null opp til 22050. Rundt punktet på 22050 speiler frekvensene seg og et speilbilde av originalregisteret brer seg opp til 44100 hvor det begynner på null igjen. Der ligger det en perfekt kopi av originalregisteret fra bass til diskant, opp til 66150hz. Der blir det igjen speilvendt og daler ned mot bassen på 88200, hvorpå overtonene igjen går vanlig vei fra bass til diskant opp til 110250, og så videre i det uendelige. Bildet under viser en tenkt sample med et frekvensregister som speiler og kopierer seg selv oppover i registeret:


Teoretisk sett trengs det ikke filter på utgangen av en digital->analog konverterer på 44.1kHz eller høyere klokkefrekvens. Alt som er hørbart er det første frekvens-spekteret, alt annet ligger langt over menneskets lytteevner. I praksis liker ikke resten av utstyret å få radiofrekvente signaler inn i seg. Det gir ofte rare støyfenomener i det hørbare registeret. Filtreringen må skje et sted i kjeden, energien kan ikke bare forisvinne av seg selv. Høytalerne spiller i hvert fall ikke ultralyd. Derfor brukes det også oversampling og filtrering på utgangen, for å få kontroll på prosessen og gjøre det på en hensiktsmessig måte.

På inngangen er det derimot enormt viktig med filtrering! Om originalen ikke er filtrert nok vil spekteret i det originale signalet strekke seg inn i speilbildet i det digitaliserte signalet. Sampleren prøver da å sample med mindre enn to ganger signalets frekvens. Alle speilbildene er lik hverandre, om en av disse endrer seg vil også alle andre, inkludert originalen, endre seg. Dette er veldig hørbart og opptrer som et såkalt alias signal som daler nedover i frekvensregisteret jo lenger inn i speilbildet signalet går. Ta for eks en 32050Hz tone i dette systemet som har en begrensning på 22050Hz. Tonen på 32050 ligger 10000Hz
inn i speilbildet og i det hørbare registeret vil det komme en speilet tone på 22050 minus 10kHz, 12050Hz.



Digitale prosesser har en tendens til å skape høyfrekvent energi ved å gjøre skarpe endringer på lydkurven. Om disse ikke filtreres ut vil det slå inn i original-signalet som alias frekvenser. For eksempel er det mange populære limitere som skaper mye aliasing. Disse alias over- og undertonene som kommer inn i signalet er avhengig av klokkefrekvensen, ikke originalsignalet. Det blir totalt dis-harmonisk i forhold til nesten ethvert tenkelig signal! I motsetning til vanlig vreng som gir overtoner med matematisk perfekt dobling, tredobling, firedobling, osv av originalfrekvensene. Alias låter per definisjon surt og skarpt. Det gjør også det meste av de andre feilene som kan oppstå i sampling og digital signalbehandling.

Alle bildene av filter-prosesser i denne artikkelen er laget med et lavpass-filter med nær umiddelbar demping av lyden over filterfrekvensen. Gir en god illustrasjon av hvordan de øverste tonene blir filtrert ned til sinuser som opptar mye større plass både i tid og høyde enn originalen. I samplingsteorien er en totalt ideel lavpass respons, med umiddelbar demping over filterfrekvensen, en del av regnestykket. Utslagene ville vært mye mindre ved bruk av et slakere filter. I de fleste virkelige filtre er heldigvis ikke dette noe stort problem da det unngås ved å bruke oversampling.

Samplede systemer er så og si perfekt. Helt til det skal skje noe med lyden, da er det plutselig veldig vanskelig. Som et rent opptaks og avspillings system er det ikke så krevende å ha nær perfekt prestanda på den digitale siden. Det er bare å flytte på masse data uten å ødelegge noe. Den store forskjellen i kvaliteten i samplings-systemer ligger i den analoge elektronikken på inn og utgangene. Her er det enorme variasjoner fra de billigste til de dyreste. Som med all annen elektronikk er det svært krevende å lage gode kretser.

Ekstremt høye klokkefrekvenser er unødvendig for opptak og avspilling, men mange digitale effekter har godt av å jobbe på høye frekvenser. Mange prosessorer har nå mulighet for 2 og 4 ganger oversampling internt i prosessen. Oversamplingen er i seg selv ikke så lett å få til, men om den er god nok vil det som oftest gi langt bedre resultater å jobbe med effekter på høyere frekvenser. Dette er spesielt tydelig i kompressorer, limetere og andre såkalt ikke-lineære prosesser. Se denne linken for et eksempel på alias-artifakter i et par populære limitere. Det største problemet er at det krever enorm datakraft. Svært få maskiner har regnekraft nok til å jobbe under optimale forhold og brukerne legger ofte stor vekt på CPU-bruken. De aller fleste digitale prosesser blir kodet med prioritet på hastighet, ikke nøyaktighet. Digital lyd er i dag et minefelt. Forhåpentligvis har denne artikkelen gitt et litt bedre grunnlag for å finne frem i terrenget.





Andreas Nordenstam

Mye av stoffet i denne artikkelen er basert på Dan Lavrys eminente introduksjon til Sampling

Lenker:

notam02.no/../bok.html - Grundig innføring i lydfenomener på Norsk av Øyvind Hammer ved Notam
howstuffworks.com/analog-digital enkle forklaringer på det meste av praktiske fenomener, her litt samplingsteori
Rane.com: Digital Dharma of Audio A/D Converters - Rane note om sampling
national.com/an/../AN-236.pdf - an introduction to the sampling theorem fra National Semiconductor


* Hete søkeord i denne sammenhengen er bl.a.Sine Wave, Unit Circle, wave motion, deciBel, loudness, fourier, Dirac Impulse, audio filter, sampling frequency og sinc.

** Bildene som er brukt i denne artikelen er laget i et vanlig lydredigeringsprogram med signal-generator, volumkontroll og et fase-lineært filter. Klokkefrekvensen i programmet varierer fra 44.1kHz på noen bilder til 192kHz på de fleste. Den unødvendig høye frekvensen er valgt for å få et bedre bilde rent visuelt, men det er fortsatt et godt stykke fra å være et perfekt bilde av hvordan bølgen blir rekonstruert når den kommer ut av datamaskinen. Et oscilloscop er det beste verktøyet for å se på bølgene. Presisjonen i redigeringen er svært lav. Mange av bildene er fjernt fra å være så nøyaktig som de blir i et ekte system. Det gir grove tilnærminger til de perfekte visuelle resultatet som ville oppstått ved å bruke et rent matematisk verktøy. Det samme kan sies om forklaringene, som egentlig best beskrives med regnestykker. Forhåpentligvis blir det veid opp av at denne vinklingen gir en familiær kobling til lyd. Det er mulig for alle som er interessert å selv gjennskape alle disse bølgene med et vanlig redigeringsprogram. Noen programmer, som Cool Edit/Audition, viser en oversamplet bølge mellom samplepunktene som gir et presist visuelt bilde av den samplede kurven.









All tekst og bilde på denne siden er (C) Andreas Nordenstam