Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen

Relevanta dokument
Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen. Marcus Björk Doktorand i Signalbehandling, Systemteknik (IT)

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen

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

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen. Marcus Björk Doktorand i Signalbehandling, Systemteknik (IT)

Spektralanalys - konsten att hitta frekvensinnehållet i en signal

Projektinstruktion: Spektralanalys med hjälp av den diskreta Fouriertransformen

Projektinstruktion: Spektralanalys med hjälp av den diskreta Fouriertransformen

TEM Projekt Transformmetoder

Flerdimensionella signaler och system

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Beräkningsverktyg HT07

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

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

MAM283 Introduktion till Matlab

Introduktion till MATLAB

Datorövning 1 Fördelningar

TANA17 Matematiska beräkningar med Matlab

Spektrala Transformer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Matriser och Inbyggda funktioner i Matlab

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

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

TAIU07 Matematiska beräkningar med Matlab

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

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Signalanalys med snabb Fouriertransform

TSBB14 Laboration: Intro till Matlab 1D

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Matriser och Inbyggda funktioner i Matlab

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

Mer om funktioner och grafik i Matlab

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Projekt 3: Diskret fouriertransform

1.1 MATLABs kommandon för matriser

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Matriser och vektorer i Matlab

Datorövning 1: Fördelningar

Beskrivning av signaler i frekvensdomänen - sammanfattning

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

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

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

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

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

Inledning. Initiering av miljön. Att köra MatLab. Labrapporten

Linjär algebra med tillämpningar, lab 1

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Matriser och linjära ekvationssystem

Du kan söka hjälp efter innehåll eller efter namn

Laboration 1: Linjär algebra

BE MATLAB. (Matrix Laboratory) matlab.ico. för SIGNALER SYSTEM

Spektrala Transformer

REGLERTEKNIK W3 & ES3 BERÄKNINGSLABORATION 1

Instruktion för laboration 1

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Matlabövning 1 Funktioner och grafer i Matlab

Laboration: Grunderna i MATLAB

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

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

Matematisk Modellering

MATLAB övningar, del1 Inledande Matematik

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

Laboration i Fourieroptik

FOURIERANALYS En kort introduktion

Matlabövning 1 Funktioner och grafer i Matlab

Matriser och vektorer i Matlab

Funktioner och grafritning i Matlab

Funktionsteori Datorlaboration 2

Datorövning 1 Introduktion till Matlab Fördelningar

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

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

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

Mer om funktioner och grafik i Matlab

SIGNALANALYS I FREKVENSRUMMET

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

TANA17 Matematiska beräkningar med Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

Beräkningsvetenskap föreläsning 2

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Lab 1 Analog modulation

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Mer om linjära ekvationssystem

Tidsdiskreta stokastiska signaler

Matlabföreläsningen. Lite mer och lite mindre!

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Laboration i Fourieroptik

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

DT1130 Spektrala transformer Tentamen

Transkript:

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen Marcus Björk Doktorand i Signalbehandling, Systemteknik (IT)

Översikt Kort om projektet Vad är spektralanalys? Koppling till Transformmetoder (teori) Mer om projektets genomförande Projektets delar MATLAB Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 2

Kort om projektet (1hp) Grupper: max 4/grupp, anmälan på studentportalen Material: Instruktion, teori, data, MATLAB-kod, checklista Projektet: görs på egen tid (utom 5/12 kl 13-15) Examination: Kortfattad rapport Deadline (för kompl.): 10/1 2014, kl 23:59 Inlämning: studentportalen: Inlämningar / Projektrapport W Syfte: Få se några tillämpningar av Transformmetoderkursen. Lära sig om den diskreta Fouriertransformen som används i praktiken. Använda och lära sig lite mer om MATLAB. Få övning i teknisk rapportskrivning. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 3

Vad är spektralanalys? Analys av frekvensinnehållet i en tidsserie/signal. Vad innebär Analys av frekvensinnehållet? Vad är en tidsserie/signal? Tidsserie: mätning av någon storhet under tid, t.ex. börskurs, ljud, ljusstyrka hos en avlägsen stjärna, antalet personer i det här rummet. Signal: mer generellt uttryck och måste inte vara en mätning över tid (t.ex. en bild) Frekvensinnehåll: Hur effekten eller energin i signalen är fördelad över olika frekvenser. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 4

Vitt brus - Ljudexempel Anledningen att man kallar det vitt är, i analogi med synligt ljus, att det är vitt om det innehåller alla frekvenser. Vitt brus har alltsa samma energi vid alla frekvenser. Vi lyssnar på Vitt brus: Lågpassfiltrerat: Högpassfiltrerat: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 5

Lena - Bildexempel Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 6

Lena - Bildexempel Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 7

Lena - Bildexempel Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 8

Exempel på spektralanalys Antalet solfläckar Topp för f 0.09 cykler per år => Period = 11 år Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 9

Ytterligare spektralanalys MRI Exoplaneter Spektroskopi Radar/Sonar Empirisk Modellering (W5) & Reglerteknik (nästa period)! Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 10

Frekvensinnehåll Fouriertransform: Spektrum: Parsevals/Plancherels formel: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 11

Problem: Kan ej mäta en signal kontinuerligt! Måste sampla! Samplingsfrekvens: f s = 1/T s Samplad (tidsdiskret) signal: t=nt s ger: x[n] = x c (nt s ) n = 0, ±1, ±2, Normaliserad frekvens: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 12

Tidsdiskreta Fouriertransformen (DTFT) DTFT: Periodisk funktion (pga att n är heltal ovan) då Spektrum: Parsevals/Plancherels formel: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 13

Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 14 Tolkning av Fourier Signalen representeras i frekvensdomän En sinus ger en topp i spektrum Med flera sinusar kan vi bygga upp ett mer avancerat spektrum. Fourierserier säger att vi kan beskriva alla (periodiskt utvidgade) signaler som en summa av sin och cos. Transformen som en projektion på e -iω. Analogt med linjär algebra för R n. Skalärprodukt = = = = = = = 1 0 1) ( ] [ ) ( 1, 1] [ [0] N n n i N i i i i T e n x p e b N x x a a b b a b a p ω ω ω

Diskreta Fouriertransformen (DFT) Problem: Kan ej mäta oändligt länge! Vi använder de mätningar vi har (fönster): Kan ej evaluera funtionen för alla frekvenser! Använd L punkter, uniformt utspridda öven en period: Normalt sätter vi N=L, vilket ger DFTn: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 15

Zeropadding Om nu L N så kan vi skriva: X[ k] = L 1 n= 0 x[ n] e k i2π n L Då vi definierar x[n]=0 för n N Vi får s.k. Zeropadding. Fler punkter på frekvensaxeln. Ingen ny information läggs till. Men kan bli visuellt tydligare. Det är signalens längd i tid (NT s ) som bestämmer den maximala upplösningen! Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 16

Periodogrammet Skattning av spektrum i praktiken med DFT Periodogrammet: Kan göras mycket snabbt: O(N log 2 N) istället för O(N 2 ), m.h.a. the Fast Fourier Transform, FFT. Signalvektor x av längd N. Diskreta Fouriertransformen i N frekvenspunkter ges av MATLAB genom: X = fft(x); Med zero-padding L>N: X = fft(x,l); ger transformen i L frekvenspunkter. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 17

Bartletts metod Mycket mätbrus (hög varians på mätbruset) i kombination med relativt få sampel, ger ett brusigt spektrum. Vi har alltså en osäkerhet i själva skattningen. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 18

Bartletts metod (2) Enkel metod: Bartletts metod. Dela upp tidsserien i P = N/M delar: Räkna ut spektrumet för varje del och medelvärdesbilda: MATLAB-kod finns Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 19

Bartletts metod (3) Exempel: Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 20

Projektets utförande Allt material finns på hemsidan (inklusive dessa slides). http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht13 Projektbeskrivningen beskriver uppgifterna. Del III innehåller det ni behöver kunna om MATLAB. Det finns ett teorikompendie som beskriver teorin bakom projektet och anknyter till Transformmetod-kursen i övrigt (det vi gått igenom idag i mer detalj). Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 21

Redovisning Kortfattad, men korrekt skriven, rapport på svenska eller engelska. Lägg fokus på hur ni gjort och era resultat och slutsatser! Ni behöver inte beskriva de färdiga metoderna i detalj. Det finns en checklista för rapporten på hemsidan. Mer utförlig instruktion för rapportskrivning finns i Att skriva en teknisk rapport en kort instruktion. Skriv så att någon som läst kursen men inte gjort projektet kan förstå vad ni gjort (utan tillgång till instruktionen). Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 22

Deadline Deadline: Fredag 10/1 2014, kl 23:59. Efter denna deadline kommer inga rester att ges Försök att bli godkända innan dess! Rapporter inlämnade innan den 10/1 kommer att rättas löpande och feedback ges vid behov. Gruppindelning på studentportalen! Rapporten lämnas in via studentportalen: Inlämning, Projektrapporter W. Alla rester ges också via inlämningsfunktionen i studentportalen! Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 23

Allmänt Spektralanalys med hjälp av den diskreta Fouriertransformen Omfattning: 1hp Hemsida med allt material: http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht13 Arbeta i grupper om 4 personer (högst). Ni väljer själva. Projektet görs till största del på egen hand. Det finns ett schemalagt tillfälle för frågor i datorsal torsdag 5/12, kl 13:15. Kontakt vid frågor etc: marcus.bjork@it.uu.se Pollax, hus 2, rum 2337 Det finns flera roliga kurser på Systemteknik (IT) som tillämpar transformmetoder: Reglerteknik, Empirisk modellering etc. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 24

Projektet Består av 4 delar 1) Enkelt inledande exempel: Undersök vilka frekvenser som bygger upp en signal ni får av mig (från hemsidan) med hjälp av periodogrammet. Vad är fördelen med att titta på en signal i frekvensdomänen istället för tidsdomänen? 2) Studera upplösningen hos periodogrammet (med och utan zeropadding). Varför och när bör man använda zeropadding? Hur bra kan upplösningen bli? 3) Hur kan vi minska bruset av spektrumskattningen. Studera variansen hos periodogrammet samt Barletts metod. Vad händer med upplösningen och variansen för olika försterbredder M? Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 25

Del 4 Välj en av följande: a) Frekvensanalys av ljudsignal. b) Analys av data för detektion av spängämnen. c) Analys av data från magnetresonansspektroskopi (MRS). d) Analys av elförbrukningen i Sverige 2011. Använd det ni lärt er i uppgifterna 1-3. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 26

Del 4a) Spela in ett ljud (alternativt hitta ett lämpligt ljud att analysera) Ex: instrument, vissling, motor, fläkt, dammsugare, eltandborste etc. Ljudet måste vara stationärt, dvs inte förändras avsevärt. Det är bra om ni kan gissa vilken frekens ni bör få. Lagra filen som.wav-fil. Läs in filen i Matlab med wavread-kommandot. Gör spektralanalys och jämför med vad ni förväntat er. Ex: Vilken frekvens har ett A? Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 27

Del 4b) Mätning från King s College London på TNT m.h.a. NQRteknik. Studera två dataset för att bestämma var bomben finns! I ena datasetet finns bara brus och interferens, i det andra finns även tydliga indikationer på närvaro av TNT. NQR-spektrum av TNT: 4 toppar, läget beror på temperaturen, men på ett känt vis. Leta efter topparna och bestäm temperaturen vid mätningen! Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 28

Del 4c) Magnetresonansspektroskopi (MRS). Studera data från MR-skann av hjärnan. Ladda ned MRS-dataserien. Notera att datat är komplex-värt (man mäter i 2 dimensioner!) Gör spektralanalys på den för att se vilka fosforbaserade ämnen som syns på skannen. Jfr. med tabell 1 i projektbeskrivningen för att se vilka ämnen som är närvarande. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 29

Del 4d) Statistik över Sveriges elförbrukning under 2012 hämtat från Svenska Kraftnäts hemsida. Analysera hur vår elförbrukning varierar med spektralanalys. Fundera först över vilka periodiciteter ni förväntar er. Datat är samplat varje timme så att man kan följa dygnsvariationerna. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 30

Frågor? Slides och allt material ligger på projekthemsidan: http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht13 Finns även en länk på studentportalen (under länkar) Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 31

MATLAB Numeriskt beräkningsverktyg och programmeringsspråk. Ej symboliskt! (Finns även en symbolisk del som inte skall användas) MATLAB använder vektorer och matriser. Innehåller massor av färdiga funktioner, som ex. FFT(x). Skriv egna funktioner och script i m-filer (filnamn.m). Koden behöver inte kompileras. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 32

MATLAB Variabler (hamnar i workspace): Skapas då de tilldelas ett värde (inga deklarationer) x=1 En skalär (eg. en matris med ett element) x=[1 2 3] En radvektor x=[1;2;3] En kolonnvektor A=[1 2 3;4 5 6;7 8 9] En matris A(1,:) Första raden i A A(:,1) Första kolonnen i A t=0:1:10 Radvektorn [0 1 2... 10] Operationer: Rätt dimension på variablerna krävs C=A+(-)B Elementvis addition (subtraktion) C=A*B Matrisprodukt C=A Transponat och komplexkonjugering x=a\b Löser ekvationssystemet Ax=b (LS om överbest) Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 33

MATLAB Elementvisa opertationer: C=A.*B Produkt C=A./B Division C=A. Transponat (ej konjugering!) C=A.^k Exponent Funktioner: y=abs(x) Absolutbelopp (elementvis) y=length(x) Ger längden av en vektor x y=sin(t) Räknar ut sinus av en vektor t (elementvis) y=randn(k) Vektor av längd k med normalfördelade slumptal y=fft(x) Beräknar diskreta Fouriertransformen av x C=inv(A) Beräknar inversen av den kvadratiska matrisen A y=linspace(a,b,n) Skapar en vektor från a till b i N punkter. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 34

MATLAB Grafik: plot(y) Plottar vektorn y (mot dess index). plot(x,y) Plottar y mot x. figure Öppnar ett tomt figurfönster. hold on Nästkommande plottar hamnar i samma figur. legend( graf1,... ) Namnger kurvorna i din figur. title(... ) Sätter en titel på grafen. xlabel(...') Sätter namn på en x-axeln (ylabel för y-axeln). Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 35

MATLAB I m-filer kan man spara kod man skrivit. Filen kan sedan köras genom att dess namn skrivs i kommandoraden (om du är i rätt mapp) save filnamn Spara alla variabler i workspace save filnamn A x b Sparar bara variablerna A, x och b. load filnamn Laddar in alla variablerna i MATLAB clear Raderar alla variabler clear A Tar bort variabeln A ur workspace. Det går även att skriva satser med if, for, while etc. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 36

MATLAB Om ni känner er osäkra: Sitt med Del III av projektinstruktionen och testa lite MATLAB. Det är ganska enkelt då man bara förstått tänket med vektorer och att det INTE är symboliskt. Det viktigaste: ANVÄND HJÄLPEN! help kommando Skriver ut en massa hjälp om det aktuella kommandot Fråga mig om ni fastnar på något. (Mycket går att göra utan att använda kommandoraden också, hjälp i menyn osv.) Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 37