Optimal Signalbehandling Datorövning 1 och 2

Relevanta dokument
Flerdimensionella signaler och system

Digital Signalbehandling i Audio/Video

Föreläsning 1: Signaler, matriser och processer. Leif Sörnmo 28 augusti 2009

Laboration i tidsdiskreta system

DT1130 Spektrala transformer Tentamen

Faltningsreverb i realtidsimplementering

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

Demonstration av laboration 2, SF1901

Signalanalys med snabb Fouriertransform

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

Datorövning 1: Fördelningar

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

System. Z-transformen. Staffan Grundberg. 8 februari 2016

DT1130 Spektrala transformer Tentamen

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

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Tentamen i ESS 010 Signaler och System E3 V-sektionen, 16 augusti 2005, kl

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

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

Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser

Övningar med Digitala Filter med exempel på konstruktion och analys i MatLab

Implementering av digitala filter

Datorövning 1 Fördelningar

REGLERTEKNIK Laboration 5

TSBB16 Datorövning A Samplade signaler Faltning

Adaptiva Filter. Johan Haarala Signaler och System

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

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1

TSRT62 Modellbygge & Simulering

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Exercises Matlab/simulink V

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

bli bekant med summor av stokastiska variabler.

Tillämpning av komplext kommunikationssystem i MATLAB

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

Mätningar med avancerade metoder

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Homework Three. Farid Bonawiede Samer Haddad Michael Litton Alexandre Messo. 28 november Time series analysis

3 Maximum Likelihoodestimering

Spektrala Transformer

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 15-18, 30/11-12/

Lab 4: Digital transmission Redigerad av Niclas Wadströmer. Mål. Uppstart. Genomförande. TSEI67 Telekommunikation

DT1120/DT1130 Spektrala transformer Tentamen

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

TSDT15 Signaler och System

Digitala filter. FIR Finit Impulse Response. Digitala filter. Digitala filter. Digitala filter

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen

Ämnesområde Hörselvetenskap A Kurs Signalteori, 7,5 hp Kurskod: HÖ1007 Tentamenstillfälle

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

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1

DATORÖVNING 2 MATEMATISK STATISTIK FÖR D, I, PI OCH FYSIKER; FMSF45 & MASB03. bli bekant med summor av stokastiska variabler.

TEM Projekt Transformmetoder

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

2.1 Mikromodul: stokastiska processer

Tentamen ssy080 Transformer, Signaler och System, D3

Digital signalbehandling Digitalt Ljud

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

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

Flerdimensionell signalbehandling SMS022

Liten MATLAB introduktion

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

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Analys av egen tidsserie

Autokorrelation och Durbin-Watson testet. Patrik Zetterberg. 17 december 2012

Miniräknare, formelsamling i signalbehandling.

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Vad är spektralanalys? Spektralanalys. Frekvensinnehåll. Enkelt exempel

Vi har en ursprungspopulation/-fördelning med medelvärde µ.

Laboration 4: Lineär regression

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Föreläsning 10, Egenskaper hos tidsdiskreta system

Rapportexempel, Datorer och datoranvändning

Analys/syntes-kodning

Funktionsteori Datorlaboration 2

Konvergens för iterativa metoder

Grundläggande signalbehandling

Grundläggande matematisk statistik

DT1130 Spektrala transformer Tentamen

Signal- och bildbehandling TSBB14

Kap 10 - Modeller med störningar. Hur beskriva slumpmässiga störningar?

Datorövning 1: Fördelningar

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

4 Laboration 4. Brus och termo-emk

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

TMV156 Inledande matematik E, 2010 DATORÖVNING 2 ANONYMA FUNKTIONER, FUNKTIONSGRAFER OCH LITE OPTIMERING

Laboration i Automationsteknik FK: Del 1: Polplacering. Del 2: Markovkedjor

Modellering av en Tankprocess

Föreläsning 8: Konfidensintervall

2 Matrisfaktorisering och lösning till ekvationssystem

Diskussionsproblem för Statistik för ingenjörer

Välkomna till TSRT19 Reglerteknik Föreläsning 10

Signal- och bildbehandling TSBB14

Enkel och multipel linjär regression

Miniräknare och en valfri formelsamling i signalbehandling eller matematik. Allowed items: calculator, DSP and mathematical tables of formulas

2F1120 Spektrala transformer för Media Tentamen

Transkript:

Institutionen för Elektro- och Informationsteknik Lunds Universitet Lunds Tekniska Högskola Optimal Signalbehandling Datorövning 1 och 2 Leif Sörnmo Martin Stridh 2011 Department of Electrical and Information Technology, Lund University, Sweden

1 DATORÖVNING 1: SIGNALMODELLERING INVERSFILTRERING 2 1 Datorövning 1: Signalmodellering inversfiltrering Syfte Att öka förstelsen för hur man designar filter m.h.a. minsta-kvadrat metoden och att belysa de problem som är förknippade med design av inversfilter. Förberedelse Innehållet i Kapitel 4 är en förutsättning för denna datorövnings genomförande; speciell tonvikt ges åt Kap. 4.4.5 har som handlar om design av minsta-kvadrat inversfilter med FIR struktur. Datorövningen bygger på m-filen spike.m vars kod återfinns i Figur 4.15. Det är utomordentligt viktigt att ha en förståelse för vad denna m-fil gör även om den råkar finnas tillgänglig i färdigpaketerat format. Studera noggrant lösningen på problem 4.19. Detta problem kommer gås igenom på räkneövningen som föregår denna datorövning. Bakgrund På föreläsning 2 beskrevs kortfattat en speciell typ av signalbehandling som används flitigt inom reflektionsseismologi s.k. inversfiltrering. Denna typ av signalbehandling är ofta baserad på en modell för hur den observerade signalen y(n) är relaterad till signalkällans och reflektionssekvensens utsee. Denna modell kan naturligtvis också ta hänsyn till ev. förekomst av mätbrus. Signalkällan beskrivs m.h.a. impulssvaret g(n) cos(0.2[n 25]) exp{ 0.01[n 25] 2 } 0 n 50 g(n) = 0 för övrigt och reflektionssekvensen modelleras som ett icke ekvidistant pulsståg, 10 x(n) = x(k)δ(n n k ) k=1 och innehåller den information, d.v.s. amplitud och tidsläge, som skall skattas från den observerade signalen. Värdena för n k och x(k) ges av följande tabell, n k 25 40 55 65 85 95 110 130 140 155 x(k) 1 0.8 0.7 0.5 0.7 0.2 0.9 0.5 0.6 0.3 Uppgift 1.1 Plotta den observerade signalen y(n) = g(n) x(n) och uppskatta visuellt hur pass noga man kan bestämma amplituden och tidsläget för impulserna i x(n) genom att studera topparna i y(n). % skapa impulssvar - g(n) n = (0:50) - 25; g = cos(0.2*n).* exp(-0.01*n.^2); % skapa impulssekvens - x(n) nk = [25 40 55 65 85 95 110 130 140 155] ; a = [1 0.8 0.7 0.5 0.7 0.2 0.9 0.5 0.6 0.3] ; x = zeros(200,1); x(nk) = a.* ones(length(nk),1); % beräkna utsignalen - y(n)

1 DATORÖVNING 1: SIGNALMODELLERING INVERSFILTRERING 3 y = conv(x,g); plot(x), hold on, plot(y, r ) axis([0 300-0.5 1]) Uppgift 1.2 Designa ett minsta-kvadrat (MK) inversfilter med längden N = 50 genom att använda m-filen spike.m (Hayes sid 172, finns i labdatorerna och kan hämtas direkt från OSB:s hemsida). Välj den filterfördröjning som resulterar i minimalt fel. % design av MK inversfilter - val av optimal filterfördröjning N = 50; for n0 = 1:N [h(:,n0),err(n0)] = spike(g,n0,n); % välj det filter som svarar mot minimalt fel [tmp,j] = min(err); h = h(:,j); Uppgift 1.3 Plotta frekvensfunktionen för g(n) respektive h(n) och jämför dessa kurvors utsee. Vilken slutsats kan dras redan på detta stadie, dvs innan den observerade signalen har filtrerats? subplot(211), plot(abs(fft(g))) subplot(212), plot(abs(fft(h))) Uppgift 1.4 Inversfiltrera y(n) med det optimala filtret från uppgift 1.2 och plotta utsignalen från filtret, dvs ˆx(n) = h N (n) y(n). Skatta pulsernas amplitud och tidsläge från utsignalen. % inversfiltering xhat = conv(y,h); % plotta observerad respektive inversfilterad signal figure plot(j+1:j+length(x),x, : ),hold plot(xhat, g ) axis([0 300-0.5 1]) Uppgift 1.5 Resultaten i uppgift 1.4 utgår från att den observerade signalen är brusfri. Antag nu att dessa är observationer är brusiga, ỹ(n) = g(n) x(n) + v(n) där v(n) är vitt, normalfördelat brus med mv noll och varians σ 2 v. Upprepa uppgift 1.4 för ỹ(n) för några olika brusnivåer, t.ex. σ 2 v = 0.00001 och σ 2 v = 0.001. Kommentera noggrannheten i skattningen av pulsernas tidsläge.

1 DATORÖVNING 1: SIGNALMODELLERING INVERSFILTRERING 4 % välj brusnivå sigma_v2 =... % generera brusig signal ("randn" ger normalfördelade tal N(0,1)) y = conv(x,g); y = y + randn(size(y)) * sqrt(sigma_v2); % bestäm inversfilter för olika fördröjningar for n0 = 1:N [h(:,n0), err(n0)] = spike(g,n0,n); [tmp,j] = min(err); h = h(:,j); xhat = conv(y,h); % plotta observerad respektive inversfilterad signal figure plot(j+1:j+length(x),x, : ),hold plot(xhat, g ) axis([0 300-0.5 1]) Uppgift 1.6 Skriv en m-fil spike2.m som implementerar det modifierade inversfilter framräknat i Problem 4.19 (Duplicera spike.m och spara som spike2.m). Utöka inargumenten till denna funktion så att den inkluderar designparametern α. Studera detta filters prestanda på signaler med olika brusnivå (även utan brus!). % välj brusnivå (antingen 0 eller >0) sigma_v2 =... % välj designparameter alpha = 0.8; % generera signal y = conv(x,g); y = y + randn(size(y)) * sqrt(sigma_v2); % bestäm modifierat inversfilter m.h.a. funktionen "spike2". for n0 = 1:N [h(:,n0),err(n0)] = spike2(g,n0,n,alpha); [tmp,j] = min(err); h = h(:,j); xhat = conv(y,h); % plotta observerad respektive inversfilterad signal figure plot(j+1:j+length(x),x, : ),hold

1 DATORÖVNING 1: SIGNALMODELLERING INVERSFILTRERING 5 plot(xhat, g ) axis([0 300-0.5 1])

2 DATORÖVNING 2: LEVINSON-DURBIN REKURSION OCH BURGS ALGORITM 6 2 Datorövning 2: Levinson-Durbin rekursion och Burgs algoritm Denna datorövning går ut på att från en given signal skatta en polmodell med lämplig modellordning. I de tre första uppgifterna skapas en okänd signal. I de följande uppgifterna försöker vi från denna signal skatta den modell som användes för att skapa signalen. Betrakta följande andra ordningen AR process x(n) x(n) = a 1 x(n 1) a 2 x(n 2) + v(n) (1) där a 1 och a 2 är AR koefficienter och innovationsprocessen v(n) är vitt brus med medelvärde noll och varians σ 2 v. Parametrarna har följande värden a 1 = 1 (2) a 2 = 0.8 (3) σ 2 v = 2.56 (4) Uppgift 2.1: Plotta spektraltätheten, S x (z) för AR-processen x(n) i (1). Vi vet att spektraltätheten kan skrivas S x (z) = σ 2 v H(z) 2 (5) där H(z) är överföringsfunktionen från innovationsprocessen v(n) till AR-processen x(n). Denna beräknas lätt ur (1) och blir I MATLAB-kod: H(z) = 1 1 + a 1 z 1 + a 2 z 2 = 1 1 z 1 + 0.8z 2 (6) a=[1-1 0.8]; % Vektor som representerar nämnaren b=1; % Vektor som representerar täljaren [Hz,f]=freqz(1,a,1024); % H(z) kan sedan beräknas med hjälp av kommandot freqz Sx=2.56*abs(Hz).^2; % Beräkning av spektraltätheten Plotta funktionen med hjälp av dessa rader: figure subplot(211) plot(f,10*log10(sx), b ); % Skapar ny figur % Väljer övre halvan % Plottar med logaritmisk skala i blå färg Uppgift 2.2: Producera en 128 sampel lång normalfördelad sekvens, v(n), med medelvärde noll, varians σv 2 = 2.56 och autokorrelation r v (k) = 0 för alla k 0. v=sqrt(2.56)*randn(128,1); % Varians 2.56 betyder amplitud sqrt(2.56) Uppgift 2.3: Skapa nu AR-processen x(n) med hjälp av funktionen filter. Plocka sedan bort de 100 första samplen vilket eliminerar transienterna som fås vid filtreringen (IIR filter). Använd alltså fortsättningsvis ast de kvarvarnde 28 samplen. x=filter(b,a,v); x=x(101:128); % Filtrera v(n) med H(z) som representeras av polynomen a och b % Nya x är de 28 sista samplen av gamla x Nu antar vi att signalen x(n) ovan är en okänd AR-process. Syftet med följande uppgifter är att ta reda på hur modellen ser ut (dvs modellordning och AR-koefficienter).

2 DATORÖVNING 2: LEVINSON-DURBIN REKURSION OCH BURGS ALGORITM 7 Uppgift 2.4: Hämta hem Burgs algoritm. Skatta sedan med algoritmens hjälp AR-processens effektspektrum för de två gissade modellordningarna 5 och 14 (Vi vet egentligen att modellordningen är 2). Funktionen burgs är skriven så att den baserat på signalen x(n) skattar ett givet antal reflexionskoefficienter. Dessutom ger den felenergin P i varje Lattice-steg. Baserat på felet i varje steg beräknas också felkriteriet Final Prediction Error (FPE) för varje Lattice-steg. [gamma5,p5,fpe5]=burgs(x,5); % Burgs algoritm för ordning 5 [gamma14,p14,fpe14]=burgs(x,14); % Burgs algoritm för ordning 14 Från reflexionskoefficienterna vill vi nu beräkna AR-parametrarna. Detta kan som vi vet göras med hjälp av Levinson-Durbin step-up rekursion som ekv. 5.14 i Hayes. a5=[1]; for m=1:5 a5=[a5;0]+gamma5(m)*[0;a5(m:-1:1)]; % Levinson-Durbin step-up rekursion i matrisform a14=[1]; for m=1:14 a14=[a14;0]+gamma14(m)*[0;a14(m:-1:1)]; % Levinson-Durbin step-up rekursion i matrisform Nu kan vi på samma sätt som tidigare beräkna och plotta tillhörande men nu skattade spektraltätheter [H5,f]=freqz(1,a5,1024); S5=P5(5)*abs(H5).^2; [H14,f]=freqz(1,a14,1024); S14=P14(14)*abs(H14).^2; För att plotta dessa på kurvor i samma figur kan dessa rader användas hold on plot(f,10*log10(s5), r,f,10*log10(s14), g ) title( Sx - blå, Sx_{5} - röd, Sx_{14} - grön ) % Samma axlar % Plotta dessa två kurvor i rött och grönt % Skriv titel Uppgift 2.5: Bestäm optimal modellordning med hjälp av FPE-kriteriet (läs noga sid. 445-447). Funktionen burgs beräknar FPE enligt ekv. 8.126. Eftersom de första 5 länkarna är samma i Latticefiltret av ordning 14 som i det av ordning 5, så räcker det att titta på FPE för det längsta filtret subplot(212) % Nedre halvan plot(fpe14) title( Final Prediction Error ) Mo=2; % Förhoppningsvis ser ni ett minima vid 2 Uppgift 2.6: Plotta AR-processens effektspektrum för den optimala modellordningen. Börja med att köra step-up rekursion för modellordning 2. Burgs algoritm behöver inte köras om eftersom de två första reflexionskoefficinterna är samma för alla ordningar ao=[1]; for m=1:mo ao=[ao;0]+gamma14(m)*[0;ao(m:-1:1)]; % Levinson-Durbin step-up rekursion i matrisform ao

2 DATORÖVNING 2: LEVINSON-DURBIN REKURSION OCH BURGS ALGORITM 8 Beräkna skattad spektraltäthet [Ho,f]=freqz(1,ao,1024); So=P14(Mo)*abs(Ho).^2; och plotta i översta axlarna subplot(211) hold on plot(f,10*log10(so), y ) title( Sx - blå, Sx_{5} - röd, Sx_{14} - grön, Sx_{opt} - gul ) Uppgift 2.7: Jämför de tre olika skattade effektspektra med det teoretiskt beräknade och kommentera eventuella olikheter.