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
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.
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.
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.
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.
|
|
|
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).
Vi skal nå se nærmere på effekten av ulike samplingsrater på samme lydsignal.
| tale1.wav |
tale2.wav |
tale3.wav |
tale4.wav |
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.
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