Oppgave1 i Oblig2


I denne første oppgaven skal vi ved hjelp av programmet SumOfSignals lage ett lydsignal sombestår av treforskjellige frekvenser og amplituder.Signalet blir altså em sum av disse tre.Tre forskjellige signaler (sinuskomponenter med forskjellige frekvenser) kan vi kalle et periodisk signal når de summeres og utgjør en sammensatt lyd.Forskjellen på sinus og cosinus er starttidspunktet. Det er bare faseforskyvningen som er forskjellig. Sinus starter på 0, mens cosinus går fra 1 til -1. cos = PII/2. Dette kan summeres på denne måten:
y(t)=Pa1*sin(2PIf1)t+Pa2*sin(2PIf2)t+Pa3*sin(2PIf3)t
Den generelle formelen for å summere N sinoider (fellesnavn for funksjonene sin(x)og cos(x) Læreboka s.121:

Første plott skulle lages ved Signal i D/A. Jeg valgte meg følgende
signaler å summere:

  1.   A = 8000Pa og f = 2000Hz
  2. A = 2000Pa og f = 600Hz
  3.   A = 4000Pa og f = 1200Hz

Puttet inn i formelen over får vi:

Dette gir følgende signal i D/A plottet:

Signal-in-D/A

Jeg skal nå prøve å forklare signalplottet: Den høyeste amplituden (max. trykkutslag i sin./cos.-funksjonen)får vi når de tre funksjonene faller på samme (t).Summen av amplitudene blir i nærheten av 14000Pa, noe det høyeste utslaget i plottet viser at det er i nærheten av.


Signalet gitt ved formelen:

gir følgende frekvensspekter:

Spectrum

Forklaring på frekvensspekter:
Jeg ser tre tydelige topper i spekteret som jeg mener må indikere de tre sterkeste frekvensene. Siden jeg har valgt tre sinusoider (som er de tre kjente som signalet er satt sammen av) mener jeg at toppene stammen fra dem.Det kan dessuten se ut som toppen med høyest frekvens også har den største amplituden og minst amplitude for minste frekvens.


Oppgave 2

Sampling: I denne oppgaven skal vi beskrive sampling og kvantifisering av lyd.Dette skal blant annet gjøres ved at vi skal ta for oss 4 definerte lydfiler som er gitt i oppgaven.Lydilene har forskjellige kvaliteter.Vi har et orginalsignal og tre kopier det er gjort noe med.Vi skal forklare hva som er gjort med disse gjennom å presentere plott av signalene.
Hva er sampling?
Sampling er det første steget vi tar når vi skal konvertere lyd fra analog til digital.Dette foregår ved at man tar ut representative prøver av lyden utfra faste tidsintervaller og sitter derved igjen med en sekvens av signalverdier som også kalles diskretisering.Siden avstanden mellom hver sampel her blir lik, kalles dette en uniform sampling.Vi får en frekvens som måles i Hz og forteller oss noe om antall svingninger eller sampler det er pr.sek.
Videre må vi velge en standard for å få nok (men ikke mer)informasjon til å gjengi eller rekonstruere det opprinnelige signalet.Vi må ha nok informasjon for å sikre kvaliteten og kontrollen på signalet, men ikke mer enn vi trenger da vi ønsker å spare plass.
En vanlig standard er Nyquist-teoremet som uttrykkes gjennom formelen: fs = 2*fmaks.Hvis man da sampler mer enn 2*fmaksvil vi få en oversampling.Det skjer ikke noe annet enn at det lagres flere verdier enn det som er nødvendig.Det motsatte tilfelle er verre. Da får vi for få sampler og vi vil ikke oppnå å få det opprinnlige signalet rekonstruert. Dette kalles aliasing?

Kvantisering: Er det siste steget fra analog til digital konvertering.Her avrunder man amplitudeverdiene til samplene i ett kontinuerlig signal, til bestemte diskrete verdier innenfor et gitt verdiområde. Dermed tildeler man hver av samplene den bitmengde som trengs.(Det gjøres ved at man deler inn y-aksen i N-kvantiseringsnivåer for å slippe å ta vare på unødvendige y-verdier.) Kvantiseringsintervallene bestemmes av antall bit dataene er representert med. Hvis signalet ikke får gitt de bitene det trenger får vi kvantiseringsfeil, noe som vil skje hvis vi prøver å presse mange intervaller inn i få bit.Kvantifiseringsfeil kan når feilen blir stor registreres som firkantete topper i grafen istedet for javne og avrundet.
N må være så stor at kvantiserigsfeilen til y-verdien ikke blir hørbar.

Jeg skal først lage et plott til Tale1.wav:

biteksempel1
Kurvene på y-aksen viser trykkutslaget eller amplituden. x-aksen viser tiden. Amplituden i dB som det står må da bli et uttrykk for Amp som en sekvens av tiden. I oppgaveteksten står det at DACSimulator kan hjelpe oss med å forklare hva som er gjort med orginalsignalet for å lage de andre signalene. Min DACSimulator fortalte meg at tale1.wav har blitt samplet med 11025Hz og at den var blitt representert med 16 bit.Vi hører noe forvrengning, men i mine ører er det akseptabelt i forhold til at det er tale. Tale ligger mellom 100 og 8000Hz. Vi trenger altså minst 16000Hz for å representere tale ved sampling. Orginalfila er på bare 11050Hz og er for lite i utgangspunktet.

Linker til de tre andre lydsignalene:
Tale2.wav:
Her viser DACSimulator oss at tale2.wav er samplet på 22050Hz og også her representert med 16 bit. Jeg hører liten forskjell i forhold til lyden på tale3.wav. Kanskje en liten susing er tilstede. Dette er nok til å lage god lyd selv om det er en halvering i forhold til tale3. Men det er en fordobling i forhold til orginalsignalet og det kan høres.

Tale3.wav:
Min DACSimulator viste meg at tale3.wav var samplet på 44100Hz Da vi her har med en enkel stemme å gjøre er dette veldig mye da en menneskestemme normalt ikke går høyere enn 8000Hz. Vi skulle således klare oss med 16000Hz (Nyquist). Her har det ikke blitt spart på plassen!Men dette høres for meg klart best ut.

Tale4.wav:
Samplet med 8000Hz og med 16 bit.Høres greit ut og burde holde, men det er en halvert sampling i forhold til orginalen og lyden er ullen med lite diskant.Undersampling kan kanskje forklare at lyden ikke er tilfredsstillende.Likner ganske mye på orginalsignalet. Signalet burde vært samplet med det dobbelte i følge Nyquist teoremet, altå 16.000Hz. Her har vi en halvering som i praksis vil rekonstruere signalet som 4000Hz. Dette er aliasing.


Vi skulle nå lage et plott av tale1.wav med ulikt antall sampler pr. bit for å representere ikke hørbare og hørbare kvantiseringseffekter. Jeg må derfor velge minst to plott og velger meg to plott for tale1.wav, et med 16 bit og et med 5 bit.Grunnen til disse valgene er at tester med DACSimulator på gruppetime indikerte at jeg ville havne i ønsket område med disse verdiene.

16 bit

biteksempel1

Representasjon med 16 biter gir 65536 kvantifiseringsnivåer. Det skal derfor godt gjøres å både se og høre kvantifiseringsfeil i et slikt samplet signal. 16 bits sampling er vanlig å bruke innen lydindustrien, for dette er mer enn nok til at kvantiseringsstøyen ikke høres.

5 bit

biteksempel2
Vi kan tydelig se effekten av lite bits på kurven som nå er blitt helt kantete og klipper av signalet. Dekantete kurvene representerer kvantiseringstrinn som nå lett lar seg telle. Vi ser at vi har fått et signal som ikke er bra. Fortsetter vi å senke antall bits vil antall kvantiseringsnivåer fortsette å minke. Velger vi 1 bit vil vi ha to nivåer å velge mellom, 1 og 0.


På universitetet stilles det strenge krav til akademisk redelighet. Vi blir derfor pålagt å stå inne for en egenerklæring. Den kommer her:"Jeg har lest og forståttt reglene som er gitt i dokumentet "Krav til innleverte oppgaver ved Institutt for Informatikk" på: http://www.ifi.uio.no/studinf/skjemaer/egenerklaring.pdf

Litteratur som er brukt er lysark fra forelesninger og boka Digital representasjon:Albrgtsen og Skagestein:2006

Oppdatert 3.November 2006 av steijoh@ifi.uio.no

Valid XHTML 1.0 Strict