INF2310 vår 2011 - UKEOPPGAVER 8

Disse oppgavene omhandler 2D Fourier-transform -- del II.

Oppgave 1 - Vindusfunksjoner og visuell inspeksjon av spektre

Last inn bildet lena.png. Generer et todimensjonalt Hamming-vindu med samme størrelse som bildet (se gjerne forelesningsnotater s. 9). Inspiser vinduet visuelt. Benytt kommandoen fft2 (se forrige ukes forelesningsnotater s. 38), og studer bildets spekter, både ved bruk av vinduet og uten. Verifiser at bidragene langs aksene er redusert. Gi en forklaring på fenomenet.

Oppgave 2 - Konvolusjonfiltre og frekvensrespons

  1. Hva sier konvolusjonsteoremet?
  2. Hvordan kan vi (rent praktisk) bruke en diskret Fouriertransform (DFT) til å finne hvilke frekvenser et konvolusjonsfilter demper og hvilke det slipper igjennom?
  3. Under ser dere frekvensresponsene (spektrene) til (de nullutvidede) filterkjernene [1 2 1]' og [1 0 -1]. Fremvisningen er slik at null-frekvensen er midt i bildet og lyst indikerer høy verdi mens mørkt indikerer lav verdi. Hvilke konvolusjonskjerner og spektre hører sammen? Begrunn. (' indikerer transponert)
  4. Hvis vi multipliserer de to (nullutvidede) filtrenes Fourier-transformer element for element får vi spekteret under - hvilken konvolusjonskjerne svarer dette spekteret til?

Oppgave 3 - Enkle/"Ideelle" filtre i frekvensdomenet

Lag et program som utfører lavpassfiltrering ved å sette alle koeffisienter i DFT-transformen for frekvenser u,v høyere enn en gitt terskel til 0. Hvilke artifakter kan vi ofte se i det filtrerte bildet, og hvordan kan vi begrense disse? [Ta gjerne utgangspunkt i eksempelet på forelesningsnotat s. 22.]

Oppgave 4 - Vanlige filtre og frekvensrespons

Ta et sett med kjente konvolusjonsfiltre, studer deres spektre og gi en forklaring på hva dere ser. Prøv å gjenskape frekvensspekterne fra forelesning. [Tips: fft2-funksjonen kan gjøre nullutvidelsen automatisk ved å sende med ny, nullutvidet filterstørrelse som parameter: fft2(im, N, M); der N og M er henholdsvis antall rader og kolonner.]

Oppgave 5 - Resampling

Last inn bildet forresampling.png, og studer bildets spekter. Dann et sett med resamplede bilder hvor vi velger ut hver n-te sample: imr = im(1:n:end,1:n:end); for n=1,2,3,4. Studer bildene visuelt og legg merke til tydelig aliasingeffekter ved n>2. Studer bildenes spektre, og legg merke til fremveksten av tydelig "falske" frekvenser etter hvert som de høyeste og mest dominerende frekvensene i originalbildet ikke lenger kan representeres med den gitte samplingsfrekvensen.

Oppgave 6 (ekstraoppgave) - Konvolusjonsteoremet -- øke forståelsen litt ved hjelp av Matlab

For å gjøre ting litt lettere, ser vi på det endimensjonale tilfellet. Lag to N=512 lange sekvenser med henholdsvis (heltallige) frekvenser u1 og u2. ( N = 512; i = 0:N-1; x1 = sin( -2*pi*u1.*i/N ); x2 = sin( -2*pi*u2.*i/N ); )

  1. Anta først at u1=u2. Hva blir resultatet om vi sirkel-konvolverer de to sekvensene? Verifiser visuelt at frekvensen på det resulterende signalet er lik u1 (og u2). Benytt funksjonen cconv (sirkelkonvolusjon). Feks: x = cconv(x1,x2,N);
  2. La så u1 være ulik u2. Hva blir resultatet av konvolusjonen da?
  3. La oss så si at sekvensene våre, x1 og x2, består av et sett med frekvenser. Linearitetsegenskapen til konvolusjonsfiltre sier at man enten kan ta våre originale sekvenser og konvolvere de sammen, eller man kan dekomponere sekvensene, konvolvere alle kombinasjoner, for så å legge sammen resultatet. Forklar med ord hva dette innebærer ved dekomponering ved hjelp av DFT.
  4. La oss si at sekvensen x er resultatet etter konvolusjonen av x1 med x2, og X = fft(x). Basert på hva vi kom frem til i a) og b), hvilke "konvolusjons-frekvenskombinasjoner" bidrar til koeffisienten i (for eksempel) X(5)?
  5. Hvordan kan disse resultatene bidra til å forklare at en konvolusjon i det romlige domenet kun er enkle multiplikasjoner i frekvensdomenet?
Publisert 9. mars 2011 11:16 - Sist endret 14. mars 2011 11:31