INF1040 - Oblig2

Del I: Sinussignaler

Som utgangspunkt for denne delen av oppgaven har vi valgt et signal sammensatt av tre sinuser med frekvensene f1=220Hz, f2=440Hz og f3=660Hz. Det kombinerte signal = 1*sin(2PI220*t)+1*sin(2PI440*t)+1*sin(2PI660*t). En grafisk representasjon av dette signalet kan sees i figur 1.


Fig.1: Signal bestående av tre sinuser med frekvensene 220Hz, 440Hz og 660Hz

Kurven viser det kombinerte signal ved en endring av t fra 0 til 6ms. Vi kan se at signaler i fase øker den totale amplitude, mens signaler i motfase opphever hverandre, og reduserer dermed den totale amplitude.

Periodetiden for de tre frekvensene er henholdsvis 4.5ms, 2.25ms og 1.5ms. Med andre ord, i løpet av et tidsintervall på 4.5ms vil vi ha nøyaktig en periode av f1, to perioder av f2 og tre perioder av f3, som vist i figur 2.


Fig.2: Signal bestående av tre sinuser med frekvensene 220Hz, 440Hz og 660Hz

Signalets frekvensspekter vises i figur 3.


Fig.3: Frekvensspekter for signalet i fig. 1

Spektrumanalysen viser (skulle vist) topper ved henholdsvis 220, 440 og 660. Toppene er nøyaktig like høye fordi vi har valgt identisk amplitude for alle tre oscillatorer.

Ved å kombinere bildet fra oscilloscopet med bildet fra spektrumanalysatoren i ett tredimensjonalt bilde kan vi få et bilde som vist i figur 4 (N.B. dette bildet representerer ikke vårt opprinnelige signal).


Fig.4: 3-D representasjon avsignal/frekvensspekter





Del II: Sampling og kvantisering av lydsignaler

Prosessen fra å omgjøre et analogt lydsignal til digital informasjon er todelt. Disse to prosessene kalles sampling og kvantisering, og gjør det mulig for en datamaskin å gjengi et lydsignal basert på digital informasjon med utgangspunkt i et analogt lydsignal fra den "virkelige" verden.

Et analogt lydsignal inneholder uendelige mengder med informasjon, ettersom signalet kan sies å være kontinuerlig. Mellom to punkter på et lydsignal finnes det et uendelig antall punkter. Som vi vet makter ikke en datamaskin å ivareta uendelige mengder informasjon, den forholder seg til en definert informasjonsmengde. Sampling og kvantisering dreier seg derfor om å omgjøre den uendelige mengden informasjon fra et lydsignal til en begrenset informasjonsmengde som vi kan representere digitalt.

Sampling

Sampling er første del av prosessen med å omgjøre det analoge signalet til digital informasjon. Når vi sampler gjøres det kontinuerlige signalet diskret i tid. Som nevnt ovenfor består et lydsignal av lydbølger som kan representeres i kurver (funksjoner av sinus og cosinus jmf Fourier). Når vi digitaliserer lyden, forsøker vi å gjengi disse kurvene digitalt. Det vil si at vi angir verdiene i kurven til lydsignalet ved gitte tidspunkt og etter gitte intervaller. Jo oftere vi angir punktene, desto høyere samplingrate og mindre samplingsintervall opererer vi med, og desto mer presis gjengivelse av kurven får vi.

Samplingraten defineres av hvor mange samples pr sekund vi gjør av lydsignalet. Med andre ord hvor mange punkter vi pr sekund vi lagrer. Sunn fornuft forteller oss at jo høyere samplingsrate, dess mer informasjon, dess høyere kvalitet. Imidlertid er det ikke nødvendigvis slik at regelen bør være "jo høyere jo bedre". Tommelfingerregelen for all sampling er at samplingsraten bør være minst dobbelt så stor som verdien på den øverste frekvensen for at man skal få en perfekt1 digital gjengivelse av lydsignalet (1 i forhold til hva mennesker klarer å høre). Denne regelen kalles Nyquist-teoremet. Dersom vi bruker en samplingrate som er lavere enn dette minimumskravet, klarer vi ikke ta vare på den informasjonen vi trenger for å gi en korrekt gjengivelse av lyden for mennesklige ører, og vi får en annen lyd. Dette kaller vi aliasing. Som nevnt bør det derfor være grunn til å tro at man bare må fylle på med samplingsrate for å få en best mulig gjengivelse. Når vi bruker en samplingsrate som er høyere enn minimumskravet, kaller vi dette oversampling. Vi vet imidlertid at jo høyere samplingsrate vi bruker, jo flere bits og bytes behøves for å lagre informasjonen. Derfor risikerer vi å ta opp mye unødvendig plass om vi sampler på høyere kvalitet enn vi behøver. Likevel er det slik at jo høyere samplingsrate vi bruker, jo enklere er det å konvertere tilbake fra digitalt til analogt signal. Hvilken samplingsrate vi ønsker å bruke blir derfor i bunn og grunn et spørsmål om hvilke behov vi har.

Samplingsintervallet forteller oss avstanden i tid mellom hvert sampel vi gjør, fra ett punkt på kurven til neste punkt. Samplingintervallet henger derfor naturlig nok sammen med samplingsraten vi bruker. Forholdet mellom samplingsintervallet og samplingsraten samvarierer. Jo høyere samplingsrate, jo mindre samplingsintervall. For å regne ut samlingsintervallet bruker vi formelen T=(1/f). Bruker vi for eksempel en samplingsrate på 1.000Hz, blir samplingsintervallet = (1/1000)s = 1 millisekund.

Kvantisering

Med samplingsrate og samplingsintervall har vi definert hvor ofte vi ønsker å gjengi punkter på en lydkurve. Dette er første trinn i omgjøringen av analogt til digitalt lydsignal. Deretter må vi bestemme hvilken verdi i amplitude vi ønsker for hvert punkt på kurven. Som vi vet inneholder en kurve et uendelig antall verdier, den er kontinuerlig. Når vi skal gjengi et punkt på en kurve må vi derfor gjøre et valg i forhold til hvor nærme den opprinnelige verdien vi ønsker å gå, og så omgjøre den analoge verdien til en digital verdi. Denne prosessen kalles kvantisering, og gjøres gjennom en "analog-to-digital converter (ADC)".

Som nevnt må vi gjøre et valg i forhold til hvor nøyaktig vi ønsker å gjengi verdien. Med andre ord må vi velge hvor mange bits vi ønsker å bruke. Med bruk av 4 bits kan vi representere inntil 24 = 16 verdier. Tilsvarende kan vi gjengi 256 verdier med 8 bit eller 65.536 verdier med 16 bit. 16 bit er standard for bruk på musikk-CD'er, men kjennere av musikk hevder at det er mulig å høre forskjell på enda høyere nivå, og mange bruker derfor 24 bit som standard når de sampler og lager musikk digitalt (over 16 millioner verdier!) Forskjellen mellom informasjonen vi har fra det analoge signalet, til informasjonen vi finner i det digitale signalet kalles kvantiseringsstøy. Jo flere bits vi bruker, jo mindre forskjell i informasjonsmendge, og jo mindre kvantiseringsstøy.

Eksempler

Vi skal nå se nærmere på noen eksempler på digitaliseringen av lyd. Nedenfor følger en illustrasjon som er et grafisk utsnitt av lydsignalet tale1.wav.


Fig. 5: Utsnitt av lydsignalet "tale1.wav" i amplitude over tid.


Fig. 6: Frekvensspekteret til utsnittet av lydsignalet "tale1.wav" vist i figur 5.


Her ser vi hvordan lydsignalet varierer over tid. Signalet vi ser her er summen av alle sinus-kurvene i signalet i dette tidsintervallet, sammlagt i en kurve. Alle frekvensene som inngår i denne figuren, er vist i figur 6 på høyre side. I fig.5 viser den venstre aksen amplituden på lydsignalet, mens x-aksen viser hvordan amplituden varierer over tid. Utfra tidligere utredning av sampling og kvantisering, kan vi vise at samplingsraten og samplingsintervallet forholder seg til x-aksen(tid), mens kvantiseringen forholder seg til y-aksen (amplitude).

Effekten av ulik samplingsrate

Vi skal nå se nærmere på effekten av ulike samplingsrater på samme lydsignal.
tale1.wav tale2.wav tale3.wav tale4.wav
tale1.wav er samplet med en samplingsrate på 44100. Vi regner normalt at det mennesklige øre kan høre frekvenser opp til 20.000Hz, og at vi i henhold til Nyquist-teoremet derfor trenger 40.000Hz for å lage en perfekt lydgjengivelse av hvilket som helst lydsignal. For å være på den sikre siden, og for å gjøre overgangen fra digital til analog lettere, brukes 44100 Hz som standard. Vi kan derfor si at tale1.wav skal være en perfekt digital gjengivelse av den originale stemmen.

tale2.wav er den samme lydfilen samplet på 22050 Hz. Vi kan derfor høre en viss forskjell i kvalitet, enda forskjellen ikke er slående. Dette er fordi en mennesklig stemme normalt ikke overstiger 5000 Hz, og at vi derfor burde klare å gjengi det meste med en samplingsrate på litt over 10.000Hz.

Det er derfor at vi fremdeles får noe fornuftig ut av tale3.wav, som er samplet med en samplingsrate på 11.025Hz. Vi hører likevel en større forskjell i kvalitet sammenliknet med tale2.wav. Dette skyldes at signalets båndbredde er redusert, noe som i praksis medfører færre overtoner i lydsignalet.

Imidlertid demonstrerer tale4.wav at for lav samplingsrate gjør merkbare forskjeller. Her er det brukt 8.000Hz som samplingsrate, noe som er i stand til å gjengi frekvenser opp til 40.00Hz. Vi vet at dette er for lavt til å gjengi en mennesklig stemme nøyaktig, og vi hører derfor dette som konsekvens i avspillingen av dette lydsignalet.

Denne analysen forutsetter imidlertid at vi bruker samme samplingsrate når vi konverterer fra digital til analog som brukes for å konvertare fra analog til digital. Dersom vi bruker en høyere avspillingsrate enn samplingsraten, må vi interpolarisere. Dette betyr at vi benytter en eller flere algoritmer for å beregne de verdiene som ligger mellom samplingene.


Kvantiseringsstøy

tale1.wav er en ukomprimert lydfil, samplet ved 44100Hz med en oppløning på 16bit. Når den spilles av i samme format ser et vilkårlig utsnitt av signalet ut som vist i figur 7.


Fig.7: tale1.wav med 16-bit oppløsning


Når vi reduserer oppløsningen under avspilling til 6bit ser et tilsvarende utsnitt av signalet ut som vist i fugyr 8.


Fig.8: tale1.wav med 6-bit oppløsning


Kurvens "hakkete" natur er et resultat av at vi har reduseret anntall representerbare nivåer i det kontinuerlige signal fra 216 (65.536) til 26 (64). Med 6bit oppløsning kan vi tydelig se at verdiene på y-aksen rundes av til nærmeste representerbare verdi (range-center).

Vi har valgt å benytte plott av signalet til å demonstrere dette fordi tilsvarende plott av frekvensspekteret riktignok ville vise at signalet endres, men ikke hvorfor og hvordan. Det en signalspekteranalyse ville vist var hvilke nye frekvenser som oppstår som resultat av kvantiseringsstøyen vist i figur 8.

Det skal også nevnes at hvordan denne effekten vil høres ut når signalet avspilles via en lydavspiller avhenger av hvilke interpolarisasjonsteknikk som benyttes i DACen. Grafen vist i figur 8 illustrerer en linær interploarisasjon.

© 2003 - espesko&janfst