UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: mai 2002 IN 155 Digital Signalbehandling Tid for eksamen: 6. mai 9.00 21. mai 12.00 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: Ingen Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Husk at både regneoppgaver og programmeringskode skal kunne leses og forstås av sensor, uten for mye besvær. Det vil derfor bli lagt vekt på at regneoppgavene er klart besvart, at de har en klar logisk oppbygging og at det er lett å finne hva som er endelig svar. Innlevert Java-kode vil bli vurdert med hensyn på korrekthet, struktur, oversiktlighet, dokumentasjon og eleganse. Retningslinjer for eksamen ligger på kursets hjemmeside www.ifi.uio.no/inf155 (Fortsettes på side 2.)
Eksamen i IN 155, mai 2002 Side 2 Oppgave 1 Kontinuerlige og diskrete signaler 1a Vi har gitt signalene x 1 (t) = cos(ω 0 t + π/3) og x 2 (t) = 2cos(ω 0 t π/6) Finn uttrykket for x 3 (t) = x 1 (t) + x 2 (t) uttrykt som Acos(ω 0 t + φ). 1b Vi sampler x 3 (t) med samplingsintervall T s og får sekvensen x 3 [n] = x 3 (nt s ). Hva er den største verdien på T s vi kan tillate oss uten å få aliasing? 1c Nå velges T s = π 4ω 0 og vi sampler nå x 4 (t) = cos(8ω 0 t + π/3) med dette samplingsintervallet og får x 4 [n] som resultat. Skisser absoluttverdien av spekteret for x 4 [n]. 1d Sekvensen x 4 [n] omgjøres til et kontinuerlig signal ved hjelp av av en ideell interpolator ( D-to-C converter ). Hvilken frekvens har det resulterende kontinuerlige signalet? (Fortsettes på side 3.)
Eksamen i IN 155, mai 2002 Side 3 Oppgave 2 Filtrering Vi innfører sekvensen x[n] = { 0, n < 0; cos(ˆωn + π/3), n 0. og filtrerer x[n] med et FIR filter med utgang y[n] = 0.5x[n] + x[n 1] + 0.5x[n 2] 2a Er dette filteret kausalt, lineært og tidsinvariant? Hvilken orden har det? Hvilken lengde har det? 2b Finn analytiske uttrykk for y[ 1], y[0] og y[1]. 2c Finn frekvensresponsen H(ˆω). Er dette filteret et lavpass, høypass, båndpass eller båndstopp filter? 2d Betrakt fasen til frekvensresponsen og forklar hvorfor det er rimelig å si at dette filteret har lineær fase. 2e Forklar hvorfor denne fasen fører til at y[n] har en konstant forsinkelse sammenliknet med x[n] for n 2 uansett verdien av ˆω. Hvor mange tidsskritt er forsinkelsen? 2f Vi ser nå på filteret z[n] = 0.5x[n] + x[n 1] 0.5x[n 2] Finn frekvensresponsen. Hva slags filter er dette? Hva er sammenhengen mellom de to filtrene i denne oppgaven? (Fortsettes på side 4.)
Eksamen i IN 155, mai 2002 Side 4 Oppgave 3 Frekvensrespons 3a Det er gitt et rektangulært filter med impulsrespons b 0, b 1,..., b L 1 = 1/L. Anta at det påtrykkes et konstant signal (DC). Vis at dette filteret da gir ut det samme som man putter inn, når en antar at inngangssignalet har vært påtrykt i lang tid i forhold til lengden på filteret. Finn frekvensresponsen, R(ˆω), til det rektangulære filteret. 3b Hann-filteret er definert ved: { 0.5[1 cos(2πn/l)], når 0 n L 1; h[n] = a 0, ellers; Finn konstanten a slik at filteret gir ut det samme som man putter inn når inngangssignalet er en konstant. 3c Anta et filter med impulsrespons a[n] som har frekvensrespons A( ˆω). Multipliser så koeffisientene med en kompleks eksponensial, e j ˆω 0n, og vis at den nye frekvensresponsen da blir A(ˆω ˆω 0 ). 3d Finn et uttrykk for Hann-filterets frekvensrespons. Tips: Bruk resultatet for frekvensresponsen til det rektangulære vinduet i kombinasjon med egenskapen utledet over. 3e Anta at man har en filterbank som brukes ved analyse av signaler. Filterene som brukes er enten det rektangulære filteret eller Hann-filteret. Sammenlign de to og angi fordeler og ulemper med dem. (Fortsettes på side 5.)
Eksamen i IN 155, mai 2002 Side 5 Oppgave 4 Filtrering i Java 4a Lag en Java-klasse som implementerer et generelt FIR-filter av lengde L, med like symmetri (som i oppgave 2: første og siste koeffisient er like osv.). Lengden L er alltid et oddetall. Klassen skal samtidig filtrere med både filteret og dets komplementære filter (som i 2f, ved å snu annethvert fortegn), og koden skal lages slik at antall tidkrevende regneoperasjoner (multiplikasjon, divisjon, modulo) pr utgangssample blir færrest mulig. Anta at inngangssignalet er langt i forhold til filteret. Foruten kode som implementerer filtreringen skal klassen inneholde metoder for å endre og lese av filter og inngangssignal, samt lese av utgangs-signal. Dere skal ikke bruke klasser fra inf155-pakken i denne del-oppgaven. 4b Tenk deg at du har fått i oppgave å lage Java-klassen over for en kunde. Kunden vil gjerne bli overbevist om at filteret fungerer riktig og at det oppfyller spesifikasjonene over. Legg fram det du ville hatt med deg i et møte med kunden for å overbevise om at ditt program er korrekt. Dere kan ved behov benytte klasser fra inf155-pakken i denne del-oppgaven.