Signal- och Bildbehandling, TSBB14. Laboration 2: Sampling och rekonstruktion. DFT.

Relevanta dokument
Signal- och Bildbehandling, TSBB14. Laboration 2: Sampling och Tidsdiskreta signaler

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Medicinska Bilder, TSBB31. Lab3: Mätvärden på Medicinska Bilder

Medicinska Bilder, TSBB31. Lab: Mätvärden på Medicinska Bilder

Medicinska Bilder, TSBB31. Lab: Mätvärden på Medicinska Bilder

MR-laboration: design av pulssekvenser

7 Olika faltningkärnor. Omsampling. 2D Sampling.

Spektrala Transformer

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSEA70

Signal- och bildbehandling TSBB03

Signal- och bildbehandling TSBB03

Signal- och Bildbehandling FÖRELÄSNING 4. Multiplikationsteoremet. Derivatateoremet

Signal- och bildbehandling TSEA70

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSBB03, TSBB14

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSBB03

SF1635, Signaler och system I

TSBB16 Datorövning A Samplade signaler Faltning

DT1130 Spektrala transformer Tentamen

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

7. Sampling och rekonstruktion av signaler

Teori... SME118 - Mätteknik & Signalbehandling SME118. Johan Carlson 2. Teori... Dagens meny

Laboration i tidsdiskreta system

Signal- och Bildbehandling FÖRELÄSNING 7. En bild är en 2D signal. För en digital bild gäller. Fig. 2.1

Lösning till tentamen i Medicinska Bilder, TSBB31, DEL 1: Grundläggande 2D signalbehandling

Spektrala Transformer

Flerdimensionella signaler och system

Datorövning: Fouriertransform med Python

Signal- och bildbehandling TSBB03 och TSEA70

Signal- och bildbehandling TSEA70

Spektrala Transformer

Signal- och Bildbehandling, TSBB14 Laboration 1: Kontinuerliga signaler

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

Spektrala Transformer

Vad gör vi när vi bara har en mätserie och ingen elegant matematisk funktion? Spektrum av en samplad signal. Trunkering i tiden

Projekt 3: Diskret fouriertransform

Flerdimensionell signalbehandling SMS022

Signal- och bildbehandling TSEA70

Ulrik Söderström 19 Jan Signalanalys

Spektrala Transformer

Medicinska bilder. Programkurs 6 hp Medical Images TSBB31 Gäller från: 2018 VT. Fastställd av. Fastställandedatum

Laboration i Fourieranalys för F2, TM2, Kf2 2011/12 Signalanalys med snabb Fouriertransform (FFT)

Laplace, Fourier och resten varför alla dessa transformer?

TSBB31 Medicinska bilder Föreläsning 3

Laboration: Grunderna i Matlab

Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl

Spektralanalys - konsten att hitta frekvensinnehållet i en signal

Föreläsning 11. Reglerteknik AK. c Bo Wahlberg. 8 oktober Avdelningen för reglerteknik Skolan för elektro- och systemteknik

Signal- och bildbehandling TSBB14

Ulrik Söderström 20 Jan Signaler & Signalanalys

Tentamen ssy080 Transformer, Signaler och System, D3

Lösning till tentamen i Medicinska Bilder, TSBB31, DEL 1: Grundläggande 2D signalbehandling

Signal- och bildbehandling TSEA70

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Tentamen ssy080 Transformer, Signaler och System, D3

Föreläsning 11 Reglerteknik AK

Signalanalys med snabb Fouriertransform

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1(17) TERE(1)

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Mer om funktioner och grafik i Matlab

DT1120/DT1130 Spektrala transformer Tentamen

2 Laborationsutrustning

DT1120 Spektrala transformer för Media Tentamen

Signal- och bildbehandling

2 Ortogonala signaler. Fourierserier. Enkla filter.

1. Vi har givet två impulssvar enligt nedan (pilen under sekvenserna indikerar den position där n=0) h 1 (n) = [ ]

REGLERTEKNIK Laboration 5

Fig. Exempel på en B-mode ultraljudsbild av ett hjärta.

TSBB14 Laboration: Intro till Matlab 1D

Signaler, information & bilder, föreläsning 14

Signaler, information & bilder, föreläsning 14

Bildbehandling i frekvensdomänen

TEM Projekt Transformmetoder

DT1130 Spektrala transformer Tentamen

Laboration i Fourieranalys för F2, TM2, Kf2 2013/14 Signalanalys med snabb Fouriertransform (FFT)

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Lösning till tentamen i Medicinska Bilder, TSBB31, DEL 1: Grundläggande 2D signalbehandling

Signal- och bildbehandling TSBB14

Lösning till tentamen i Medicinska Bilder, TSBB31, DEL 1: Grundläggande 2D signalbehandling

RÄKNEEXEMPEL FÖRELÄSNINGAR Signaler&System del 2

FÖRELÄSNING 13: Analoga o p. 1 Digitala filter. Kausalitet. Stabilitet. Ex) på användning av analoga p. 2 filter = tidskontinuerliga filter

SF1635, Signaler och system I

DT1130 Spektrala transformer Tentamen

GRUNDKURS I SIGNALBEHANDLING (454300), 5sp Tentamen

Signaler, information & bilder, föreläsning 12

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Laplace, Fourier och resten varför alla dessa transformer?

TSRT91 Reglerteknik: Föreläsning 5

Föreläsning 6: Spektralskattning: icke parametriska metoder. Leif Sörnmo 4 oktober 2009

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Vad gör vi när vi bara har en mätserie och ingen elegant matematisk funktion?

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Instruktion för laboration 1

Matriser och Inbyggda funktioner i Matlab

Facit till Signal- och bildbehandling TSBB

Transkript:

Signal- och Bildbehandling, TSBB4 Laboration : Sampling och rekonstruktion. DFT. Maria Magnusson, 7-8 Avdelningen för Datorseende, Institutionen för Systemteknik, Linköpings Universitet Laboration. Förberedelser inför laborationen Läs igenom hela laborationshandledningen noggrant. Läs i kurslitteraturen om sampling, rekonstruktion och DFT. Lös om möjligt förberedelseuppgifterna i labhandledningen innan laborationstillfället! De är markerade med en pekande hand.. Introduktion Figur visar hur den kontinuerliga signalen g(t), den impulstågssamplade signalens(t) och den med avkänning samplade signaleng d (n) förhåller sig till varandra. Figuren visar också hur deras fouriertransformer, TDFT och DFT förhåller sig till varandra. FRÅGA : Hur lyder samplingsteoremet?

Signaldomän Fourierdomän g(t) s(t) g d (n) g d (n) SAMPLA T NT NT t t F F TDFT G(f) s(t) = g(t) T III( ) t S(f) G(f)/T T S(f) g d (n) = g(nt) N g d (n) = g(nt) n G T (Ω) G D (k) DFT N N n T T N T G T (Ω) = S ( ) ( Ω πt G Ω πt) /T π π N f f Ω G D (k) = S ( ) ( k NT G k NT) /T k Figur : Samband mellan kontinuerlig fouriertransform, samplad kontinuerlig fouriertransform, TDFT och DFT. FRÅGA : Vilken beteckning har samplingsfrekvensen i Figur? FRÅGA 3: Vilket samband gäller mellanωoch f i Figur? FRÅGA 4: Vilket samband gäller mellank och f i Figur? FRÅGA 5: Vilken skalfaktor på höjden skiljer mellang D ( ) och G( )?

.3 Start av laboration Börja med att logga in och öppna ett terminal-fönster från bakgrunden. Ge därefter följande kommandon: module add prog/matlab matlab &.4 Experiment med en cosinus-signal Kopiera in nedanstående kommandon i en MATLAB -fil, t ex SampleCosine.m. Alternativt finns filen att hämta från kurshemsidan. Kör MATLAB -scriptet och kontrollera att figurer så som i Figur och Figur 3 dyker upp. % Sätt upp aktuella axlar % ======================= N = 8; % antal sampel n = -N/:N/-; % diskret axel i signaldomänen T =.; % sampelavstånd [s] t = n*t; % tidsaxel [s] k = -N/:N/-; % diskret axel i fourierdomänen N9 = N*9; % 9 ggr fler sampel n9 = -N9/-4:N9/-5; % 9 ggr större diskret axel i signaldomänen t9 = n9 * T/9; % tidsaxel, 9 ggr tätare [s] pos =.7; % -start and stop-position för plot [s] % Sampla funktionen % ================= gd = cos(5*pi*n*t); % Beräkna DFT % =========== GD = fftshift(fft(ifftshift(gd))); % Visa funktionen med tidsaxel och sampelpunkter indikerade % ========================================================= figure() subplot(,,), plot(t,gd, --ob ); title( sampelpunkter från g(t) ) xlabel( t [s] ) axis([-pos pos - ]) % Visa funktionen med diskret axel i signal- och DFT-domän % ======================================================== figure() subplot(,,), plot(n,gd, --ob ); title( g_d(n) ) xlabel( n ) subplot(,,), plot(k,imag(gd), --or,k,real(gd), --ob ); 3

legend( imaginary, real ) title( G_D(k) ) xlabel( k ) % Rekonstruera signalen genom att falta med ett rekonstruktionsfilter % I matlab visar vi detta genom att falta fram % 9 ggr tätare med sampelpunkter. % Matlabs plot-funktion drar sedan räta linjer mellan samplen. % ==================================================================== % Skapa ett rekonstruktionsfilter % =============================== x = -6:/9:6; triangelfkn = ( - abs(x)).*(abs(x)<); % triangel sincfkn = sin(pi*x+eps)./(pi*x+eps); % trunkerad sinc %reconfilt = triangelfkn; reconfilt = sincfkn; % Visa rekonstruktionsfiltret % =========================== figure() subplot(,,), plot(x,reconfilt,.-b ); title( rekonstruktionsfilter ) % Rekonstruera % ============ g = zeros(,n9); % Skapa en noll-vektor, 9 ggr större g(5:9:end) = gd; % Fördela ut sampelpunkterna jämnt; g = conv(g, reconfilt, same ); % falta med reconfilt % Visa den rekonstruerade funktionen % ================================== figure() subplot(,,), plot(t9,g, -b ); title( g\wedge(t) ) xlabel( t [s] ) axis([-pos pos - ]) Programmet samplar alltså signalen g(t) = cos(5πt) med sampelavståndet T =. s till g d (n). Sedan beräknas G D (k) = DFT[g d (n)]. Därefter sker rekonstruktion med hjälp av faltning med ett rekonstruktionsfilter, en (trunkerad) sinc. FRÅGA 6: Bestäm fouriertransformen av g(t) = cos(5πt) genom tabellslagning. Ange också vilken frekvens f denna cosinus har. Följdaktligen, vilken maxfrekvens har g(t) = cos(5πt)? 4

FRÅGA 7: Läs av värdena på N och T i koden. Använd sedan sambandet mellank ochf som ni tog fram i en tidigare uppgift och beräkna cosinusens diskreta frekvens, k. Kontrollera att den stämmer genom att titta och klicka i plotten av G D (k). FRÅGA 8: Öka nu sampelavståndet i omgångar från T =. till T =. och vidare till T =.3 i koden. Vilken blir cosinusens motsvarande diskreta frekvenser? Kontrollera att de stämmer genom att titta och klicka i plotten av G D (k). Notera att cosinusen g(t) samplas glesare och glesare. Vad gäller för kvaliteten på den rekonstruerade signalen ĝ(t) i de tre fallen? FRÅGA 9: Enligt samplingsteoremet ska samplingsfrekvensen f s = /T vara minst gånger större äng(t):s maximala frekvens. Sätt sampelavståndet T så samplingsteoremet precis inte är uppfyllt. Vilket T väljer du? Testa och kommentera resultatet. Byt sedan cosinusen mot en sinus. Testa och kommentera resultatet. FRÅGA : FörT =.5 bör vi få en tydlig vikningsdistorsion. Gör först en grafisk lösning för att ta reda på vilken kontinuerlig frekvens f [Hz] som vikningsdistorsionen ligger på. Tekniken ska vara samma som i Ex) sist i föreläsning 5. Skriv också upp vilken diskret frekvens,k detta motsvarar. FRÅGA : Sätt nut =.5 i MATLAB -scriptet och kör det. Stämmer värdet på k som du räknade ut i förra uppgiften? Mät periodtiden T på ĝ(t) genom att t ex klicka i MATLAB -fönstret på närliggande toppar. Överensstämmer detta med värdet på f som du räknade ut i förra uppgiften? 5

sampelpunkter från g(t).5 -.5 - -.6 -.4 -...4.6 t [s] g (t).5 -.5 - -.6 -.4 -...4.6 t [s] Figur : Originalsignaleng(t) och den rekonstruerade signalenĝ(t). g d (n).5 -.5 - -8-6 -4-4 6 8 n G D (k) 5 imaginary real -8-6 -4-4 6 8 k 6 Figur 3: Den diskreta signaleng d (n) och dess DFTG D (k).

Återställ MATLAB -scriptet till vad vi hade från början, dvs cosinus ocht =.. Titta på rekonstruktionsfiltret, den (något trunkerade) sinc:en i MAT- LAB -fönstrets Figure. Den är ju ganska lång och därmed beräkningskrävande att falta med. Låt oss prova den enklare triangel-funktionen. Gå in i MATLAB -scriptet och flytta ett %-tecken så att reconfilt = triangelfkn; aktiveras istället för reconfilt = sincfkn; FRÅGA : Öka nu sampelavståndet i omgångar frånt =. tillt =. och vidare till T =.3 i koden på samma sätt som vi gjorde i en tidigare uppgift. Vad gäller för kvaliteten på den rekonstruerade signalen ĝ(t) i de tre fallen? Slutsats: Ett enklare rekonstruktionsfilter är tillräckligt då samplingsfrekvensen är mycket högre än minsta möjliga samplingsfrekvens, men otillräckligt annars..5 Experiment med avtagande sinus-puls Vi ska nu studera signalen g(t) = sin(πt) e 5t u(t) = { sin(πt) e 5t, t,, t <. () som visas i Figur 4. Dess fouriertransform är G(f) och amplitudspektrum G(f) och fasspektrumarg(g(f)) visas i Figur 5. FRÅGA 3: Bestäm G(f), den kontinuerliga fouriertransformen av signalen i ekvation () genom tabellslagning. Beräkna sedan G(), G(± ) och maxvärdet på högra puckeln G() och kontrollera om det stämmer med Figur 5! Gör nu följande ändringar i MATLAB -koden: Återställ MATLAB -scriptet SampleCosine.m till vad vi hade från början, dvs sättt=. och aktiverareconfilt = sincfkn;. Kopiera sedansamplecosine.m tillsamplepulse.m. 7

ISamplePulse.m: Ändra till: N = 5; pos =.8; gd = sin(*pi*t).*exp(-5*t).*(t>); FRÅGA 4: Kör MATLAB -scriptet SamplePulse.m och kontrollera att ĝ(t) i MATLAB :s Figure liknar Figur 4. En mycket liten skillnad syns. Beskriv hur den ser ut. Orsaken är att sampling och rekonstruktion inte är helt perfekt. FRÅGA 5: Nederst i MATLAB :s Figure plottas realdelen och imaginärdelen avg D (k). Lägg till kod isamplepulse.m så absolutvärde och argument (fas) av G D (k) visas i MATLAB :s Figure 3. Ledning: Använd MATLAB kommandonaabs,angle elleratan. Jämför resultatet med Figur 5. De ska likna varandra, men axlarna ska vara skalade i förhållande till varandra. Visa figuren och/eller koden för läraren. FRÅGA 6: I Figur 5 syns att puckeln i G(f) ligger påf = Hz och dess höjd är.. Vad motsvarar det förk och G D (k)? (Titta tillbaka på svaret på fråga 4 och 5.) Kontrollera också att värdena stämmer med plotten i förra frågan. FRÅGA 7: Vi har alltså samplingsavståndett =. s. Nu ska vi testa att sampla lite glesare. Signalen är inte perfekt bandbegränsad så vi kommer tyvärr att få lite vikningsdistorsion hur vi än gör. Låt oss dock anse att maxfrekvensen ligger approximativt på W = 3 Hz. Är det rimligt? Ge då en lämplig samplingsfrekvens, f s och samplingsavstånd T för denna maxfrekvens. Ändra T i MATLAB -scriptet och kör det. Kontrollera att ĝ(t) i MATLAB :s Figure liknar Figur 4. Beskriv skillnaden. 8

g(t).5 -.5 - -.5 - -.5 - -.5.5.5.5 t [s] Figur 4: Signalen g(t).. G(f).5-5 -4-3 - - 3 4 5 f [Hz] arg(g(f) 4 - -4-5 -4-3 - - 3 4 5 f [Hz] 9 Figur 5: Amplitudspektrum G(f) och fasspektrumarg(g(f)).

FRÅGA 8: Vi ska nu öka samlingsavståndet stegvis enligt: T = [.,.,.3,.4,.5,.6,.7] s. Kan ni se att högra sidan på högra puckeln abs(g D ) höjs relativt vänstra sidan på högra puckeln då T ökar från. s till. s till.3 s till.4 s? Det beror på att vikningsdistorsionen ökar. Titta också på hur ĝ(t) förändras. Jämför med ursprungssignaleng(t) i Figur 4. Hur lika de är i form? Svänger de i samma takt (med samma frekvens)? Ser ni vikningsdistorsionen i abs(g D )?... T =.: Mycket lika i form. Svänger i samma takt. T =.: T =.3: T =.4: T =.5: T =.6: T =.7: Då signalen inte länge svänger i samma takt betyder det att den viktigaste frekvensen, den vid puckeln, har vikts in till en lägre frekvens!.6 Fönstring med rektangelfönster DFT:n är den transform som är praktiskt användbar i datorsammanhang. För att kunna beräkna fouriertransformen av en signal krävs att man trunkerar den i tidsdomänen vilket innebär att man begränsar signalens utsträckning. Trunkering motsvarar multiplikation med en rektangelfunktion. Detta kallas också fönstring med rektangelfönster. Det finns flera andra fönster, t ex Hanning-, Hamming- och Blackman-fönstren. Principen är densamma för alla fönster. Kör ert program SampleCosine.m igen och kontrollera att det uppför sig normalt. För att se G D tydligare, ändra plotten enligt: %subplot(,,), plot(k,imag(gd), --or,k,real(gd), --ob ); subplot(,,), plot(k,imag(gd), -r,k,real(gd), -b ); FRÅGA 9: Ser ni den samplade cosinusen i g d och de två diskreta diracpulserna i G D? Eftergd = cos(5*pi*n*t); i MATLAB -koden, lägg till: rectwin = (abs(t)<=.3); hannwin = (cos(*pi*t/.8)).^.* (abs(t)<=.3); gd = gd.* rectwin;

och kör MATLAB -scriptet igen. FRÅGA : Trunkering motsvarar alltså multiplikation med en rektangelfunktion i signaldomänen. Vad motsvarar detta i fourierdomänen? FRÅGA : Använd svaret på förra frågan för att förklara det deformerade utseendet av G D efter trunkering. FRÅGA : Gör en liten ändring i MATLAB -koden så att Hanning-fönstret (hannwin) används istället. Hur förändras huvudloben och hur förändras sidoloberna då Hanning-fönster används istället för rekangel-fönster?