|
|
.. 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.