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