Signalanalys med snabb Fouriertransform



Relevanta dokument
Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

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

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

Fouriermetoder MVE295 - bonusuppgifter

FOURIERANALYS En kort introduktion

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

4 Laboration 4. Brus och termo-emk

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

Reglerteori, TSRT09. Föreläsning 4: Kalmanfiltret & det slutna systemet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

TSRT09 Reglerteori. Sammanfattning av Föreläsning 3. Sammanfattning av Föreläsning 3, forts. Sammanfattning av Föreläsning 3, forts.

Inlämningsuppgift 4 NUM131

Lektionsanteckningar 2: Matematikrepetition, tabeller och diagram

Processidentifiering och Polplacerad Reglering

Laboration i Fourieroptik

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

Tentamen i Signaler och kommunikation, ETT080

Laboration 1, M0039M, VT16

2E1112 Elektrisk mätteknik

Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Omtentamen i DV & TDV

Spektralanalys - konsten att hitta frekvensinnehållet i en signal

Tentamen ssy080 Transformer, Signaler och System, D3

Reglerteknik M3, 5p. Tentamen

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

GRUNDKURS I SIGNALBEHANDLING (454300), 5sp Tentamen

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

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

Tentamen SSY041 Sensorer, Signaler och System, del A, Z2

Tenta Elektrisk mätteknik och vågfysik (FFY616)

LABORATION ENELEKTRONSPEKTRA

TAIU07 Matematiska beräkningar med Matlab

Tentamen i TTIT07 Diskreta Strukturer

Flerdimensionella signaler och system

Datorövning: Fouriertransform med Python

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06

Polarisation laboration Vågor och optik

Ickelinjära ekvationer

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS

Spektrala Transformer

Funktionsteori Datorlaboration 2

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

REGLERTEKNIK KTH. REGLERTEKNIK AK EL1000/EL1110/EL1120 Kortfattade lösningsförslag till tentamen , kl

Samtidig visning av alla storheter på 3-fas elnät

2D1210, Numeriska Metoder, GK I för V 2.

Spektrala Transformer

TSBB16 Datorövning A Samplade signaler Faltning

Anders Logg. Människor och matematik läsebok för nyfikna 95

SF1635, Signaler och system I

Bonusmaterial till Lära och undervisa matematik från förskoleklass till åk 6. Ledning för att lösa problemen i Övningar för kapitel 5, sid

Tentamen i Krets- och mätteknik, fk - ETEF15

Kurvlängd och geometri på en sfärisk yta

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

Datorlaboration 2 Konfidensintervall & hypotesprövning

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

Tekniskt basår. Projektkurs i fysik MVE285 VT2016. Information om kursen

1 Syfte. 2 Moment hos och faltning av fördelningar MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT Angående grafisk presentation

Diskret matematik: Övningstentamen 4

Transformer och differentialekvationer M3, 2010/2011 Ett par tillämpningar av Fourieranalys.

DT1130 Spektrala transformer Tentamen

Att göra investeringskalkyler med hjälp av

Kryssproblem (redovisningsuppgifter).

Laboration 2. Grafisk teknik (TNM059) Digital Rastrering. S. Gooran (VT2007)

MATEMATIK Datum: Tid: förmiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Christo er Standar, Tel.

TATA42: Föreläsning 10 Serier ( generaliserade summor )

Tentamen STA A10 och STA A13, 9 poäng 19 januari 2006, kl

Spektrala Transformer

TNM011 Grafisk teknik Laboration 3 - Färg

Approximation av funktioner

Begrepp :: Determinanten

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

Sannolikhetslära. 1 Grundläggande begrepp. 2 Likformiga sannolikhetsfördelningar. Marco Kuhlmann

Transformer och differentialekvationer (MVE100)

Svar och arbeta vidare med Student 2008

Två gränsfall en fallstudie

Tentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

R AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002

TATM79 Matematisk grundkurs, 6hp Kurs-PM ht 2015

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

ANDREAS REJBRAND Matematik Numeriska serier. Andreas Rejbrand, april /29

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen

Reglerteknik M3. Inlämningsuppgift 3. Lp II, Namn:... Personnr:... Namn:... Personnr:...

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

Tentamen i Matematisk statistik Kurskod S0001M

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Signal- och bildbehandling TSBB14

Sensorer och brus Introduktions föreläsning

Försättsblad till skriftlig tentamen vid Linköpings universitet KÅRA T1 T2 U2 U4

Signaler & Signalanalys

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Laboration 2 Ordinära differentialekvationer

Betygskriterier Matematik E MA p. Respektive programmål gäller över kurskriterierna

En trafikmodell. Leif Arkeryd. Göteborgs Universitet. 0 x 1 x 2 x 3 x 4. Fig.1

BASFYSIK BFN 120. Laborationsuppgifter med läge, hastighet och acceleration. Epost. Namn. Lärares kommentar

75059 Stort sorteringsset

Transkript:

Laboration i Fourieranalys, MVE030 Signalanalys med snabb Fouriertransform Den här laborationen har två syften: dels att visa lite på hur den snabba Fouriertransformen fungerar, och lite om vad man bör tänka på när den används; dels att verkligen testa den på ett par exempel. Laborationen består av flera delar. Naturligtvis är det bäst att göra dem alla, men att göra en del av dem är bättre än att inte göra någon. De olika delarna är 1. Att analysera en ren sinussignal med olika samplingsfrekvens, och olika antal sampel. 2. Att studera överföringsfunktionen för ett linjärt filter, och sedan se hur brus passerar filtret 3. Att studera effekter av ickelinjäriteter i filter. Allmänt om diskret och snabb Fouriertransform (Detta är en mycket kortfattad beskrivning; läs också i boken) Låt f (t) :R! R vara en signal, och låt ^f(!) = Z 1 ;1 f (t)e ;i!t dt (1) vara dess Fouriertransform. Vi skall först anta att f är bandbegränsad, d.v.s. att det finns en konstant så att ^f(!) = 0 om j!j. Samplingssatsen säger då att om man känner f (t n ) i punkterna t n = n, d.v.s. i praktiken måste man ha minst två sampel per period för den högsta tillåtna frekvensen. Om det dessutom är så att man bara är intresserad av f (t) i ett begränsat intervall, säg 0 t T, räcker det alltså att betrakta N = T = sampelpunkter (antalet måste naturligtvis anpassas så att det blir ett heltal). Om vi med detta menar att funktionen är 0 utanför detta intervall, måste antagandet om bandbegränsning vara felaktigt: ingen funktion som är noll utanför en begränsat intervall kan vara bandbegränsad; men under lämpliga förutsättningar blir inte felet så stort. Nu antar vi att f (t) =0utanför intervallet [0 T]. Då borde samplingssatsen innebära att det skulle räcka att veta ^f(! n ) för! n = n 2 T, för alla j! nj. För att snabbt komma fram till den diskreta Fouriertransformen väljer vi N och sätter a n = f (nt=n ) ^a m = n=n;1 a n e ;i2mn=n (2) och hoppas, som Folland, att, åtminstone för jmj << N skall ^a m vara en bra approximation av ^f(! m ). Man ser i alla händelser enkelt att ^a m är periodisk med period N och därför räcker det att betrakta ^a m, 0 m N ; 1.

Och precis som for Fouriertransformen finns det en formel för att beräkna a m om ^a m är kända: a n = 1 N N;1 m=0 e i2mn=n (3) Problemet är nu att för man skall få någon noggrannhet i beräkningarna krävs det att N är stort, och då blir det kostsamt att utföra beräkningarna: det är N koefficienter att beräkna, och för varje n skall en summa med N termer beräknas, i allt N 2 operationer. Men det finns ett sätt att göra beräkningarna mycket snabbare, det som kallas snabb Fouriertransform (FFT). Antag först att N är delbart med 2, N =2N 1. Då kan man skriva ^a m = = N 1;1 N 1;1 a 2n e ;i2m2n=2n1 + N 1;1 a 2n e ;i2mn=n1 + e ;i2m=n N 1;1 a 2n+1 e ;i2m(2n+1)=2n1 (4) a 2n+1 e ;i2mn=n1 (5) Om man tittar efter ser man att den första summan är en diskret Fouriertransform av de N 1 jämna koefficienterna a 2n, och den andra summan av de N 1 udda koefficienterna a 2n+1. Om vi skriver a j n och a u n för de udda respektive jämna koefficienterna, och motsvarande för DFT-versionen, så får vi ^a m =^a j m + e;i2m=n ^a u m för 0 m N 1 ; 1=N=2 ; 1 (6) och (eftersom ^a j m och ^a u m är periodiska med period N 1 ) ^a m =^a j m;n 1 + e ;i2m=n ^a u m;n 1 för N 1 m N ; 1: (7) Kostnaden för att beräkna ^a j m och ^au m är i storleksordningen 2N 2 1 = N 2 =2 operationer. Förutom det går det åt en multiplikation och en addition per m, alltså sammanlagt N 2 =2+N operationer ( en operation räknas i dessa sammanhang ofta som en addition och en multiplikation). Kostnaden har halverats. Men den stora vinsten gör man om N 1 i sin tur är ett jämnt tal, så att även ^a j m och ^a u m kan beräknas på liknande sätt, och så vidare. Optimalt resultat får man om N =2 k, sämst får man om N är ett primtal (för då kan man inte göra något alls åt kostnaden). Av detta skäl vill man ofta välja N som en tvåpotens, och om man har ett antal sampelvärden som ligger nära en tvåpotens kan det se ut som en god ide att helt enkelt fylla på med så många nollor som behövs. Det görs i alla händelser ofta i praktiken ibland. Men i matlab faktoriseras istället N i så många primfaktorer som möjligt, och vinner den beräkningstid som går.

Laborationsuppgift 1 Det enklaste är att göra dessa uppgifter med hjälp av matlab, och jag har anpassat denna beskrivning till det. Men den som är intresserad av mer komplicerade programmeringsuppgifter får gärna göra det på annat sätt. Denna del av laborationen handlar bara om att bekanta sig med fft i matlab. Börja med att starta matlab och läsa manualbladet till fft 1. Sampla signalen f (t) = sin(10t)+2cos(15t) N gånger i intervallet 0 t<t, där T =100, i.e. skapa en vektor x = [x(1), x(2),..., x(n)], där x(k+1) är det k-te stickprovet ( samplet ) av signalen. Observera att numreringen av vektorelement i matlab alltid startar med 1. Beräkna den diskreta Fouriertransformen av x med hjälp av funktionen fft, och plotta realdel, imaginärdel och absolutbelopp av resultatet. Välj ett antal olika N (stora och små) och se hur resultatet förändras. Förklara utseendet på graferna. 2. Två klassiska sätt att modulera en radiovåg för att överföra till exempel tal är amplitudmodulation och frekvensmodulation. Låt oss som ett exempel betrakta en bärfrekvens på = 30 MHz (alltså kortvågsbandet), och antag att talet, den signal man vill överföra består av signalen (t). Den modulerade signalen kommer då att ha utseendet f A (t) = cos(t)(1 + (t)) (am), och (8) f F (t) = cos(t + (t)) (fm) : (9) I båda fallen är en konstant som bestämmer modulationsgraden. Låt nu =50, och låt =0:2, och antag att (t) = sin(4t) + 0:5 cos(8t): (10) Plotta den modulerade signalen, och dess spektrum (med hjälp av fft) för amplitud- och frekvensmodulation.

Laborationsuppgift 2 En vanlig typ av signal är brus. Det innebär att (t) på något sätt är slumpvis fördelat. En samplad signal som vi är intresserade av här kan ha olika beteende. Ett är att (t n ) är helt oberoende av varandra, till exempel normalfördelade. Med matlab kan en sådan brussignal (med N sampel) genereras genom phi = randn(1,n). En annan slags brus uppstår om istället (t n+1 ) ; (t n ) är oberoende slumptal. I matlab kan man skriva t.ex. psi(1) = phi(1); for j=2:n, psi(j)=psi(j-1)+phi(j); end (För att få ett mer realistiskt brus borde man här egentligen byta phi(j) i summan mot phi(t)*sqrt(dt), där dt= t = t n+1 ; t n, men det ger bara ett fel med en konstant faktor, och för vårt ändamål spelar det ingen roll. Jämför resultaten mellan föregående exempel och: psi(1) = phi(1); for j=2:n, psi(j)=phi(j-1)+phi(j); end Skapa en brussignal phi(n) och psi(n) enligt ovanstående. Plotta tidsserierna, och studera även spektrum med hjälp av FFT-algoritmen (i Matlab, till exempel). Med hjälp av spektralanalys kan man försöka hitta signaler i brus. På kurshemsidan finns en länk till en fil som innehåller sampel från en brusig signal, samplad över ett tidsintervall på 10 sekunder. Hämta hem den, läs in den i matlab, och undersök om det finns något i den som liknar en signal. Ange i så fall tydliga frekvenser, och deras relativa amplitud. OBS. Datafilerna genereras individuellt till var och en som hämtar den. Följ instruktionerna för nedhämtning. I laborationsrapporten skall identfikationstalet ftal anges. Ett enkelt filter kan modelleras med en differentialekvation v 00 (t) +2kv 0 (t) +! 2 v(t) =f (t) (11) här är f (t) insignalen, och v(t) utsignalen. Denna deluppgift består i att mata in den bruset (t) som beskrivits ovan och plotta spektrum för utsignalen. I matlab kan man göra det på detta sätt:

Konstruera en matlabfunktion, en fil odedef.m, som innehåller definitionen av differentialekvationen, enligt function out1 = odedef(t,y) global tlist flist; % tlist är vektorer som % innehåller sampeltidpunkter % och sampelvärden för % insignalen a=0.3; % dämpning b=110.0; % omega^2 out1 = [y(2);... interp1(tlist,flist,t)... % detta skapar en interpolerad % funktion av (tlist, flist) -a*y(2)-b*y(1)]; Skapa sen en matlab skriptfil till exempel så här: % globala deklarationer global tlist flist N = 10000; Tmax = 10.0; dt = Tmax / N; tlist = dt : dt : Tmax; % skapa en insignal... flist = 10*randn(1,N); [ T, v ] = ode45( odedef, tlist, [0, 0]); Efter körning av denna fil, innehåller v(j,1) lösningen vid tid t j, och v(j,2) innehåller lösningens derivata.

Laborationsuppgift 3 Denna del av laborationen handlar om ickelinjäriteter och hur dessa påverkar spektrum. En förstärkare skall idealt sett vara linjär, utsignalen v(t) skall vara proportionell mot insignalen f (t): v(t) =Kf(t) : (12) En riktig förstärkare kan tänkas istället ge en utsignal på formen v(t) =Kf(t) +bf (t) 2 + cf (t) 3 (13) Låt f (t) = cos(10t) eller f (t) = cos(10t) + sin(13t), och studera utsignalens spektrum för olika värden på b och c. Gör också en teoretisk analys för att förklara resultatet. Vi går tillbaka till filtrets differentialekvation, men modifierar den en aning: v 00 (t) +bv(t)(1 + v(t) 2 )=A cos(!t) (14) I denna ekvation har dämpningen tagits bort, men en ickelinjär (kubisk) term har tillkommit. Ekvationen brukar kallas Duffingekvationen. Studera spektrum av lösningen v(t) som ovan, för olika kombinationer av b,,! och A. Studera också vad som händer om högerledet ersätts av en summa av två cosinusfunktioner med olika frekvens. Försök att motivera resultatet teoretiskt. Rapport och bedömning av laboration Laborationen är inte obligatorisk, men kan ge högst 6 (2/uppgift) bonuspoäng vid tentamen. Även en delvis utförd laboration ger viss poäng. För att få betyg 5 i kursen som helhet krävs, förutom de vanliga kraven vid tentamenstillfället, även att laborationen har utförts. Rapporten skall innehålla en beskrivning av den utförda laborationen, utskrifter av plottar i den mån som behövs för att förklara resultaten, samt de beräkningar som behövs för att motivera resultaten. Rapporterna får gärna vara handskrivna under förutsättning att de skrivs med läslig handstil!. Rapporterna skall vara inlämnade absolut senast tisdagen 11.mars.