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

Relevanta dokument
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

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

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

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

Flerdimensionella signaler och system

Beräkningsverktyg HT07

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

Introduktion till MATLAB

Datorövning 1 Fördelningar

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

Spektrala Transformer

MAM283 Introduktion till Matlab

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

TANA17 Matematiska beräkningar med Matlab

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

Signalanalys med snabb Fouriertransform

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

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

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

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

1.1 MATLABs kommandon för matriser

TSBB14 Laboration: Intro till Matlab 1D

TAIU07 Matematiska beräkningar med Matlab

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

Beskrivning av signaler i frekvensdomänen - sammanfattning

Matriser och Inbyggda funktioner i Matlab

Projekt 3: Diskret fouriertransform

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

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Datorövning 1: Fördelningar

Mer om funktioner och grafik i Matlab

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

Matriser och vektorer i Matlab

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

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

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

Ulrik Söderström 20 Jan Signaler & Signalanalys

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

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 =

Ulrik Söderström 19 Jan Signalanalys

Spektrala Transformer

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

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

Linjär algebra med tillämpningar, lab 1

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

Laboration 1: Linjär algebra

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

MATLAB övningar, del1 Inledande Matematik

Spektrala Transformer

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

FOURIERANALYS En kort introduktion

Matriser och linjära ekvationssystem

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

SIGNALANALYS I FREKVENSRUMMET

Matlabövning 1 Funktioner och grafer i Matlab

REGLERTEKNIK W3 & ES3 BERÄKNINGSLABORATION 1

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

Laboration: Grunderna i MATLAB

Matematisk Modellering

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

Instruktion för laboration 1

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

Matlabövning 1 Funktioner och grafer i Matlab

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

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

Funktioner och grafritning i Matlab

Funktionsteori Datorlaboration 2

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

Datorövning 1 Introduktion till Matlab Fördelningar

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

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

Matriser och vektorer i Matlab

TANA17 Matematiska beräkningar med Matlab

Mer om funktioner och grafik i 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?

Laboration i Fourieroptik

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

Lab 1 Analog modulation

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Mer om linjära ekvationssystem

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

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

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

Tidsdiskreta stokastiska signaler

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

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

Introduktion till Matlab

DT1130 Spektrala transformer Tentamen

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Transkript:

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

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. 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 2

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 3

Enkelt exempel 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 4

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 5

Frekvensinnehåll Fouriertransform: X c Spektrum: Φ c ( ) ( t) e dt Parsevals/Plancherels formel: x x ( ) X ( ) c (t) 2 dt c c 1 2 it 2 Φ ( ) d c Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 6

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: f t 2 ft 2 fnts 2 f s n Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 7

Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 8 Tidsdiskreta Fouriertransformen (DTFT) DTFT: Periodisk funktion (pga att n är heltal ovan) då Spektrum: Parsevals/Plancherels formel: n s n i f f e n x X 2, ] [ ) ( 2 ) ( ) ( X Φ )d ( 2 1 ] [ 2 Φ n x n Z m X m X ), ( ) 2 (

Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 9 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): X ( ) N 1 n0 x[ n] e i n Kan ej evaluera funtionen för alla frekvenser! Använd L punkter, uniformt utspridda öven en period: k 2 k, k 0,1,..., L 1 L Normalt sätter vi N=L, vilket ger DFTn: X[ k] N 1 n0 x[ n] e k i2 n N Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 10

Zeropadding Om nu L N så kan vi skriva: X[ k] L 1 n0 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 11

Periodogrammet Skattning av spektrum i praktiken Φˆ[ k] 1 N N 1 n0 x[ n] e k i2 N n 2 k 0,, N 1 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 12

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 13

Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 14 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: P p M m m M p x m x p, 1 1, 0, ], 1) [( ] [ 2 1 0 2 ] [ 1 ] [ ˆ M m m N k i p p e m x M k Φ P p p B k Φ P k Φ 1 ] [ ˆ 1 ] [ ˆ

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

Projektets utförande Allt material finns på hemsidan (inklusive dessa slides). http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht12 Projektbeskrivningen beskriver uppgifterna. Del III innehåller det ni behöver kunna om MATLAB. Det finns ett teorikompendie som beskriver den teori ni behöver för projektet och anknyter till kursen i övrigt. 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 16

Redovisning Kortfattad, men korrekt skriven, rapport på svenska eller engelska. Ni behöver inte beskriva metoderna ni använder er av särskilt noga. Lägg krutet på hur ni gjort och era resultat och slutsatser! 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). Rapporten och eventuella rester skall mailas som en pdf. Deadline: Tis 15/1 2012, kl 24:00. Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 17

Sammanfattning Spektralanalys med hjälp av den diskreta Fouriertransformen Omfattning: 1hp Hemsida med allt material: http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht12 Deadline: Tis 15/1, kl 24:00. Arbeta i grupper om 4 personer (högst). Ni väljer själva. Det finns ett schemalagt tillfälle för frågor i datorsal fredag 7/12, kl 15:15. I övrigt löses uppgifterna på egen hand. Kontakta mig via email vid frågor etc: marcus.bjork@it.uu.se Rapporten mailas som pdf-fil in till: transformproj.it.w.frist@gmail.com 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 18

Projektet Består av 4 uppgifter 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 19

Uppgift 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 20

Uppgift 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 låta lika helatiden. 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 21

Uppgift 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 22

Uppgift 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 23

Uppgift 4d) Statistik över Sveriges elförbrukning under 2011 hämtat från Svenska Kraftnäts hemsida. Analysera hur vår elförbrukning varierar med spektralanalys. Fundera först över vilka periodiciteter ni tror att ni borde se. 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 24

Jag sitter i rum P2337 om ni behöver fråga något. E-post: marcus.bjork@it.uu.se Frågor? Slides och allt material ligger på projekthemsidan: http://www.it.uu.se/katalog/marbj996/transformmetoder/p2ht12 (Kommer även finnas en länk från Bo s hemsida) Uppsala University, Department of Information Technology www.it.uu.se Marcus Björk marcus.bjork@it.uu.se 25

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 26

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 27

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 28

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 29

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 30

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 Fråga mig om ni fastnar på något. Skriver ut en massa hjälp om det aktuella kommandot (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 31