30.07.2013 Views

FYS2130 Svingninger og bølger, Prosjektoppgave V2011

FYS2130 Svingninger og bølger, Prosjektoppgave V2011

FYS2130 Svingninger og bølger, Prosjektoppgave V2011

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong>, <strong>Prosjektoppgave</strong><br />

<strong>V2011</strong><br />

Kandidatnummer 49


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

<strong>Prosjektoppgave</strong> <strong>FYS2130</strong> <strong>V2011</strong><br />

Oppgave 1<br />

a) Vi skal aller først se på beregninger av elektromagnetiske <strong>bølger</strong> (“stråling”) fra<br />

mobiltelefoniantenner. Vi tenker her på basestasjoner for mobiltelefoni som vist på hhv. figur<br />

1 <strong>og</strong> figur 2.<br />

Figur 1 i : Basestasjon for mobiltelefoni på industribygg ved Ensjø T-banestasjon.<br />

Figur 2 ii : To ulike antennetyper brukes for to ulike frekvensområder. Fra bildet (<strong>og</strong> fra figur 1) kan man<br />

se at de er tiltet noen grader oppover.<br />

Side 1 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Disse bildene er tatt på nordøstveggen av et industribygg like ved Ensjø T-banestasjon i Oslo.<br />

Videre finnes det to størrelser på denne typen antenner, <strong>og</strong> fra oppgaveteksten har vi oppgitt<br />

at noen er 2.6 m lange <strong>og</strong> brukes for 900 , <strong>og</strong> noen er 1.3 m lange <strong>og</strong> brukes for 1.8 <br />

kommunikasjon – noe vi skal bruke i beregningene våre.<br />

Først ønsker vi å beregne <strong>og</strong> plott et antennediagram for 900 , i et vertikalt snitt som<br />

forventes dersom antennen lages på aller enkleste måte. Den aller enkleste antennen vi kan<br />

lage er en dipolantenne med to identiske ladninger, men med motsatt fortegn. Disse<br />

ladningene vil være plassert litt fra hverandre <strong>og</strong> vil danne elektriske felt normalt på<br />

strømretningen.<br />

Fra læreboken iii har vi gitt at intensitetsfordelingen for et dipol er gitt på samme måte som<br />

diffraksjon fra én spalt. Tanken er her at vi ser for oss en enkel spalt som belyses fra en side <strong>og</strong><br />

fordeles deretter. Fra figur 3 ser vi en forventet intensitetfordeling ved diffraksjon fra en spalt.<br />

Tilsvarende vil vi kunne forvente for feltet rundt et dipol.<br />

Figur 3: Forventet intensitetsfordeling for et dipol. Se pr<strong>og</strong>ramvedlegg 1 for detaljer rundt generering<br />

denne figuren.<br />

Videre kan vi bruke formelen for intensitetsfordelingen for å lage et antennediagram for<br />

dipolet. Vi bruker da formelen<br />

hvor<br />

, , <br />

2<br />

Side 2 av 21<br />

<br />

<br />

/ <br />

<br />

/<br />

<br />

1<br />

. 2


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

er her bølgelengden <strong>og</strong> er vinkelen fra mellom dipolet <strong>og</strong> feltet. Videre ønsker vi å finne<br />

effektiviteten, , med hensyn på . Vi bruker her<br />

,<br />

, / <br />

, <br />

/<br />

<br />

, Side 3 av 21<br />

<br />

Deretter gjør vi om til Decibel-skalaen. Dette gjøres på formen<br />

/ <br />

<br />

/<br />

<br />

. 3<br />

10·l<strong>og</strong> 4<br />

med utgangspunkt i effektiviteten som er uten benevnelse. Videre finner vi <strong>og</strong>så<br />

bølgelenden ved<br />

<br />

5<br />

<strong>og</strong> vi bruker lengden som er gitt i oppgaveteksten. Med dette kan vi så plotte dataen i et<br />

polardiagram. Da dette diagrammet vil være symmetrisk om vertikalen, plotter pr<strong>og</strong>rammet<br />

først høyre side, for så å plotte samme data på venstre side. Resultatet av dette kan du se i figur<br />

4. Antennediagrammet er skalert til 40 som er det valgte dynamiske området mellom<br />

minimal <strong>og</strong> maksimal effekt.<br />

Figur 4: Antennediagrammet i vertikalplan med et dynamisk område på 40 .<br />

Pr<strong>og</strong>rammet som lager både polardiagrammet <strong>og</strong> fordelingsdiagrammet er å finne i<br />

pr<strong>og</strong>ramvedlegg 1.


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

b) Videre kan vi påpeke likheter <strong>og</strong> forskjeller mellom polardiagrammet vi genererte i oppgave<br />

1a) <strong>og</strong> den virkelige antennens diagram som vist i figur 5.<br />

Den største forskjellen vi ser mellom disse er symmetrien om den vertikale <strong>og</strong> horisontale<br />

aksen. Det vi <strong>og</strong>så ser er at mens vår enkle modell er like sterk på begge sider av<br />

vertikalplanet, er den faktiske modellen mer konsentrert på den ene siden. Det er med andre<br />

ord veldig lav intensitetsprofil på den siden av antennen som er vendt inn mot en vegg.<br />

Samtidig ser vi <strong>og</strong>så at strålingen er konsentrert vinkelrett ut fra antennen <strong>og</strong> at strålingen<br />

langs antennen er lav sammenlignet med strålingen ellers.<br />

270<br />

300<br />

240<br />

330<br />

210<br />

Figur 5: Antennediagram i et vertikalplan i stråleretningen for en svært vanlig antenne for GSM 900.<br />

Antennens er en Kathrein 80010621 antenne.<br />

Når det kommer til likheter ser vi at begge diagrammene har et sentralt maksimum normalt på<br />

strømretningen, likevel skiller det enkle diagrammet seg ut da den har et maksimum i alle<br />

retninger vinkelrett på strømretningen (<strong>og</strong> ikke bare på en side).Vi ser <strong>og</strong>så at begge<br />

diagrammenes intensitet reduseres sterk parallelt med antennen.<br />

c) Videre kan vi beregne den relative intensiteten på bakken i antennens antennens stråleretning<br />

for en rekke punkter i avstand 10 til 2000 vekk fra veggen der antennen er plassert.<br />

Antennes høyde over bakken estimerer vi ved hjelp av bildet i figur 1 <strong>og</strong> høyden på huset<br />

finner vi til å være 13.05 ved hjelp av bildeanalyse. Prosessen er gjort ved hjelp av<br />

MATLAB, <strong>og</strong> pr<strong>og</strong>rammet finnes i pr<strong>og</strong>ramvedlegg 2. Den relative intensiteten er deretter<br />

funnet med geometri <strong>og</strong> plottet i figur 6. Pr<strong>og</strong>rammet som ble brukt for å gjøre dette finnes<br />

som pr<strong>og</strong>ramvedlegg 3. Ved hjelp av vinklene funnet med dette pr<strong>og</strong>rammet ble det manuelt<br />

0<br />

180<br />

Side 4 av 21<br />

3<br />

10<br />

20<br />

30<br />

30<br />

150<br />

60<br />

120<br />

90


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

lagt til relative intensiteter for de avstandene som ble valgt ut. Disse intensitetene ble lest av<br />

diagrammene for de to antennemodellene.<br />

Vi har her valgt å sammenligne den enkle modellen med den faktiske modellen for å se<br />

forskjellen mellom disse to. Dette skyldes forskjellen i signalkonsentrasjon som kan være<br />

fornuftig å se på. Vi antar i denne beregningen at terrenget er horisontalt i den angitte<br />

retningen.<br />

Figur 6: Relative intensiteter for den forenklede <strong>og</strong> den faktiske antennen med hensyns på avstand fra<br />

disse.<br />

Fra figur 6 ser vi at den relative intensiteten til den enkle modellen er høyere enn den faktiske<br />

modellen ved en avstand på 10 . Dipolmodellen oppnår raskere full intensitet, mens den<br />

faktiske antennen gradvis blir sterkere etter et par hundre meter. Ved 1500 er intensiteten til<br />

de to modellene tilnærmet like.<br />

d) Fra fot<strong>og</strong>rafiet i figur en ser vi at antennene er montert slik at de vippes litt ut fra veggen<br />

nederst sammenlignet med øverst. Vi får <strong>og</strong>så oppgitt at antennene ofte er vippet opp cirka 5<br />

grader i forhold til loddlinjen, <strong>og</strong> at de iblandt vippes nedover <strong>og</strong>så. Grunnen til dette kan<br />

være at feltet er konsentrert slik at man kan dekke en ønsket ge<strong>og</strong>rafisk område ved å endre<br />

retningen. Terrenget kan selvsagt ha mye å si det <strong>og</strong>så. Antar vi for eksempel at en basestasjon<br />

er lokalisert på en bakketopp, vil det være naturlig å vippe antennen nedover slik at delen med<br />

størst intensitetprofil treffer det ønskede området.<br />

e) Det har vært mye debatt rundt plassering av basestasjoner. Blant annet blir det mye frustrasjon<br />

når basestasjoner settes opp på for eksempel høye master like i nærheten av idrettsbaner eller<br />

lekeplasser. Mange mener at antennene burde vært plassert lengre unna, men ut fra resultatene<br />

i deloppgave 1) ser vi fra den relative intensitetskurven at det er lite eller ingen stråling rett<br />

under basestasjonen. Faktisk ser det ut som om at strålingen ikke blir betydelig før etter cirka<br />

Side 5 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

100 meter, noe som betyr at strålingen idrettsbaner <strong>og</strong> lekeplasser blir utsatt for er minimal i<br />

forhold til hovedfeltene som sendes ut fra basestasjonene.<br />

Med andre ord kan vi konkludere med at kort avstand til en basestasjon ikke nødvendigvis<br />

betyr at man blir utsatt for mye stråling. Hvor mye stråling man blir utsatt for er kommer ann<br />

på hvor nærme man befinner seg, <strong>og</strong> vinkelen mellom deg <strong>og</strong> basestasjonen. Da feltene fra en<br />

basestasjon er konsentrert, kan man – i teorien – befinne seg like under en basestasjon uten å<br />

bli utsatt for stråling.<br />

f) Fra Helse- <strong>og</strong> Omsorgsdepartementets nettsider for Elektromagnetiske felt <strong>og</strong> helse iv har vi at<br />

<br />

<br />

hvor er lengden på antennen <strong>og</strong> er bølgelengden. Fra dette ser vi at for antenner brukt<br />

ved 900 kun er avhengig av lengden på antennen. Tar vi utgangspunkt i antennen som<br />

er 2.6 (vertikalt) ser vi fra 6 at en antenne som er fjerdeparten så lang ville hatt en lavere<br />

intensitet, mens en antenne som er fire ganger så lang ville gitt en høyere intensitet.<br />

g) I bystrøk er de høyeste intensitetene vi i praksis finner ofte betydelig lavere enn de høyeste<br />

intensitetene vi finner i grisgrent strøk. Dette kan komme av flere faktorer. En betydelig faktor<br />

er basestasjontetthetene <strong>og</strong> brukergrensesnittet/kapasiteten på hver av disse. For et bystrøk vil<br />

vi kunne anta at brukertettheten er større enn i et grisgrent strøk, <strong>og</strong> at det er en begrensning på<br />

antall brukere på hver basestasjon. Med andre ord trengs det flere basestasjoner for å kunne<br />

behandle alle brukerne i byområdet enn på et grisgrent område.<br />

Her kommer vi til det andre punktet. Dersom det er flere basestasjoner i nærheten som dekker<br />

samme område, vil den enkeltes stråleintensitet bidra til en stråleintensitet som er unødvendig<br />

høy. Det vil derfor være bedre å begrense intensiteten slik at områdene ikke overlappes i like<br />

stor grad som de ellers ville gjort, eller at de overlappes med en minimal effekt.<br />

Til sammenligning trengs det kanskje bare en basestasjon med høyere intensitet for å gi<br />

brukerne i et gresgrent område dekning. Disse faktorene kan føre til at effekten i et bystrøk<br />

ligger lavere enn foreslåtte grenseverdier.<br />

Side 6 av 21<br />

6


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Oppgave 2<br />

a) Resten av prosjektoppgaven dreier seg om waveletanalyse, <strong>og</strong> vi skal begynne med å betrakte<br />

en Morlet wavelet. Denne kan gis på formen<br />

Ψ , , <br />

Side 7 av 21<br />

<br />

<br />

<br />

<br />

hvor er frekvensen vi ønsker å analysere signalet for. Videre er denne waveleten beskrevet<br />

som en funksjon av tiden , <strong>og</strong> midtpunktet for waveleten finnes ved tiden . er her en<br />

bølgetallsparameter som angir omtrentlig antall periodetider der er plass til innenfor<br />

omhyllingskurven for waveleten. Konstanten kan gis på mange ulike måter, men her bruker<br />

vi<br />

√ <br />

<br />

der er som ovenfor <strong>og</strong> er samplingsfrekvensen for et konkret signal. Det kan <strong>og</strong>så<br />

påpekes at waveleten må beskrives i samme tidsoppløsning som det samplede signalet.<br />

Det første vi ønsker å gjøre er å betrakte Morlet waveleten. Det vi ønsker å undersøke er om<br />

fourierspekteret til waveleten endrer seg med posisjonen for midtpunktet. Vi er da<br />

interessert i å sjekke realdel, imaginærdel <strong>og</strong> absoluttverdien av frekvensspekteret. For å gjøre<br />

dette bruker vi MATLAB, <strong>og</strong> pr<strong>og</strong>rammet ligger vedlagt som pr<strong>og</strong>ramvedlegg 4. I tillegg<br />

bruker vi <strong>og</strong>så funksjonen morlet.m (v1.0) som beregner 7 <strong>og</strong> 8 med hensyn på . Fra<br />

pr<strong>og</strong>rammet får vi figurene 7-11 med forskjellig .<br />

Figur 7: Plottet til venstre viser morlet wavelet ved 2 . Til høyre er et utsnitt fra tilhørende<br />

fourierspekter med realdel, imaginærdel <strong>og</strong> absoluttverdi.<br />

7<br />

8


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 8: Plottet til venstre viser morlet wavelet ved 1 . Til høyre er et utsnitt fra tilhørende<br />

fourierspekter med realdel, imaginærdel <strong>og</strong> absoluttverdi.<br />

Figur 9: Plottet til venstre viser morlet wavelet ved 0 . Til høyre er et utsnitt fra tilhørende<br />

fourierspekter med realdel, imaginærdel <strong>og</strong> absoluttverdi.<br />

Figur 10: Plottet til venstre viser morlet wavelet ved 1 . Til høyre er et utsnitt fra tilhørende<br />

fourierspekter med realdel, imaginærdel <strong>og</strong> absoluttverdi.<br />

Side 8 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 11: Plottet til venstre viser morlet wavelet ved 1 . Til høyre er et utsnitt fra tilhørende<br />

fourierspekter med realdel, imaginærdel <strong>og</strong> absoluttverdi.<br />

Fra figurene 7-11 ser vi at hverken realdel, imaginærdel eller absoluttverdien av disse<br />

forandrer seg ved varierende . Større versjoner av plottene i figur 9 vises i hhv. figur 12 <strong>og</strong><br />

13.<br />

Figur 12: Plottet av en morlet wavelet ved 0 .<br />

Side 9 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 13: Utsnitt av fourierspekteret til morlet wavelet vist i figur 12 .<br />

Videre ønsker vi <strong>og</strong>så å sjekke om absoluttverdien til den fourieromvendte waveleten svarer til<br />

det matematiske uttrykket for den fourieromvendte av en Morlet-wavelet definert ved<br />

hvor 1/ der<br />

Ψ <br />

<br />

Side 10 av 21<br />

9<br />

1 10<br />

<br />

er det -te elementet i arrayen . er her definert ved 1,2,3, … , . Igjen bruker vi<br />

MATLAB, <strong>og</strong> pr<strong>og</strong>rammet er å finne i samme pr<strong>og</strong>ramvedlegg. I tillegg bruker vi her<br />

funksjonen fomorlet.m (v1.0). Resultatet av dette er vist i figur 14.


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 14: Sammenligning av absoluttverdien til den fourieromvendte waveleten <strong>og</strong> det matematiske<br />

uttrykket for den fourieromvendte av en Morletwavelet .<br />

Fra resultatene vist i figur 14, ser vi at absoluttverdien til den fourieromvendte waveleten er<br />

tilnærmet lik det matematiske uttrykket for den fourieromvendte av en Morlet-wavelet.<br />

b) Videre skal vi sammenligne to waveletransformasjoner. Den ene kan gjøres med brute force<br />

etter formelen<br />

, ∑ Ψ, ,t <br />

11<br />

hvor er signalet som skal analyseres. Den alternative måten er å først fourieromvende <br />

slik at vi får et frekvensspekter . Deretter multipliseres dette med den fourieromvendte til<br />

waveleten gitt ved 10, før man foretar en invers fast fourier transform av produktet. Deretter<br />

tas absoluttverdien av resultatet. Vi ønsker her å sammenligne de to måtene med hensyn på<br />

resultat <strong>og</strong> tid. Vi har her valgt 100 <strong>og</strong> bruker pr<strong>og</strong>rammet funnet i pr<strong>og</strong>ramvedlegg 5 til<br />

å analysere signalet i datafilen testdata1.txt, samplet ved 10000 (2 8192 punkter). Vi<br />

har her modifisert funksjonene morlet.m <strong>og</strong> fomorlet.m slik at de leser inn flere parametre, <strong>og</strong><br />

markert disse som v1.1.<br />

Ved kjøring av pr<strong>og</strong>rammet får vi at tiden det tar å gjennomføre med brute force er 19.2997<br />

sekunder, mens tiden det tar å gjennomføre på den alternative måten er 0.0020 sekunder. Med<br />

andre ord vil den alternative metoden lønne seg dersom det er snakk om<br />

wavelettransformasjon for mange forskjellige frekvenser, da denne bruker mye mindre tid.<br />

Resultatet før absoluttverdien ble tatt er vist i figur 15, <strong>og</strong> gjelder for begge metodene.<br />

Figurene 16 <strong>og</strong> 17 viser resultatet når absoluttverdien er tatt.<br />

Side 11 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 15: , før absoluttverdien er tatt. Dette plottet blir likt for begge metodene .<br />

Figur 16: , for brute force når absoluttverdi er tatt.<br />

Side 12 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 16: , for den alternative transformasjonen etter at absoluttverdien er tatt.<br />

Vi ser fra figurene 15 <strong>og</strong> 16 at de to metodene gir samme analyseresultat, men beregner dette<br />

med forskjellig tid. Den alternative metoden er mye raskere enn det brute force-metoden er.<br />

c) Vi utvider så pr<strong>og</strong>rammet med hensyn på den alternative metoden, slik at vi får et generelt<br />

pr<strong>og</strong>ram for waveletanalyse der vi kan angi hvilket frekvensområde som skal analyseres <strong>og</strong><br />

antall perioder innenfor omhyllingskurven . Vi tar <strong>og</strong>så hensyn til at stereolydfil i wavformat<br />

med to kanaler. Vi har her valgt å videreføre pr<strong>og</strong>rammet til en funksjon som kan<br />

kalles ved å definere variable.<br />

waveletanalyse(navn,famin,famax,K,ds,N,nstart,df)<br />

I denne funksjonen er navn filnavnet på signalet som skal analyseres, famin er nedre<br />

frekvensgrense for signalet <strong>og</strong> famax er øvre grense. Videre er K bølgetallet, ds er<br />

nedsamplingsraten for billedbehandling <strong>og</strong> N angir antall punkter som kan analyseres fra<br />

nstart som er punktet vi analyserer fra. Til slutt har vi df som angir hvilke som skal velges<br />

mellom famin <strong>og</strong> famax. Denne funksjon ligger vedlagt som pr<strong>og</strong>ramvedlegg 6. Vi<br />

pr<strong>og</strong>rammet for å se at det fungerer tilfredstillende ved å kjøre kommandoen<br />

>> waveletanalyse('gjok.wav',0,6000,6,128,0,2^15,8)<br />

i MATLAB. I figur 17 ser vi hvordan hele signalet ser ut, <strong>og</strong> i figur 18. Ser vi det valgte<br />

utsnittet for en kanal. Signalet er et stereokanal, så vi plukker ut en av disse kanalene for<br />

analyse. Vi har her valgt ut et litt spennende område.<br />

Side 13 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 17: Visualisering av signalet gjok.wav med hensyn på tid.<br />

Figur 18: Visualisering av signatutsnittet fra gjok.wav med hensyn på tid. Vi ser her på en kanal.<br />

Side 14 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Fra figurene 17 <strong>og</strong> 18 ser vi hvordan det hentes ut et utsnitt fra hele signalet. Videre analyseres<br />

dette signalet for forskjellige frekvenser, her for hver åttende . Resultatet av dette er vist i<br />

figur 19 <strong>og</strong> 20, hvor sistnevnte viser den relative intensiteten med hensyn på .<br />

Figur 19: Wavelettransformasjon av filen gjok.wav for en spesifisert del av hele signalet.<br />

Figur 20: Intensitetsprofil med hensyn på . Vi ser fra dette at en topp rundt cirka 800 .<br />

Side 15 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Fra figur 20 ser vi at det er en intensitetstopp rundt cirka 800 . Vi kan igjen bruke<br />

pr<strong>og</strong>rammet til å plukke ut denne spennende delen.<br />

>> waveletanalyse('gjok.wav',0,1500,6,128,0,2^15,2)<br />

Dette gir et plott som er ganske likt som i figur 19, men for frekvensintervallet fra 0 til<br />

1500 .<br />

Figur 21: Wavelettransformasjon for utsnitt av filen gjok.wav for 0,1500.<br />

Vi kan med dette anta at at pr<strong>og</strong>rammet fungerer tilfredsstillende, <strong>og</strong> bruke dette videre for å<br />

analysere lydfiler.<br />

d) Videre bruker vi pr<strong>og</strong>rammet fra forrige deloppgave på filen Bokfink4.wav. Vi ønsker med<br />

dette å komme frem til en optimalisert analyse av signalet med hensyn til frekvensområde <strong>og</strong><br />

parameteren . Vi må derfor plukke ut et område i filen som virker interessant. Da<br />

pr<strong>og</strong>rammet visualiserer hele signalet, kan vi velge den delen som virker mest interessant. Når<br />

det gjelder parameteren er dette noe vi må prøve oss frem til. En større betyr at hele<br />

waveleten strekker seg over et større tidsintervall enn for en mindre . Dette vil føre til at en<br />

en skarp detalj i signalutsnittet vil bli mer uklar for en stor enn for en liten . Likevel er det<br />

slik at både en for lav eller for høy -verdi vil gjøre signalet mer uklart. Vi finner derfor den<br />

optimale løsningen ved å prøve oss frem.<br />

Vi kan begynne med å kjøre pr<strong>og</strong>rammet for en lav <strong>og</strong> høy -verdi for å vise forskjellen har<br />

for analysen. Figur 22 viser hele signalet, <strong>og</strong> figur 23 viser utsnittet vi ser på med forskjellige<br />

verdier for .<br />

Side 16 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 22: Visualisering av signalet Bokfink4.wav.<br />

Figur 23: Signalutsnitt fra Bokfink4.wav som vi bruker for å optimalisere analysen.<br />

Vi kjører først for en lav -verdi, <strong>og</strong> ser hvordan resultatene blir. Resultatene for dette er vist i<br />

figur 24. For en høy verdi ser vi resultatene i figur 25. Kommandoene vi gir i MATLAB er<br />

følgende:<br />

Side 17 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

>> waveletanalyse('Bokfink4.wav',0,15000,6,128,2^17,2^15,2^6)<br />

>> waveletanalyse('Bokfink4.wav',0,15000,10000,128,2^17,2^15,2^6)<br />

Figur 24: Resultater for 6.<br />

Figur 25: Resultater for 10000 (kanskje i overkant høyt tall, men det demonstrerer forskjellen).<br />

Fra figurene 24 <strong>og</strong> 25 ser vi tydelige eksempler på analyser som er uklare. I figur 24 blir<br />

frekvensene glattet ut, mens vi i figur 25 ser at detaljene i signalutsnittet er dratt ut <strong>og</strong> diffuse.<br />

Den optimale analysen befinner seg med andre ord et sted mellom disse, <strong>og</strong> den finner vi ved å<br />

prøve oss frem. Vi ser <strong>og</strong>så at det ikke er nødvendig å se på intervallet så langt som til<br />

15000 , slik at vi kan begrense intervallet til 0,10000 .<br />

Med litt prøving finner vi at 100 er den verdien vi bør velge for å få en optimal analyse.<br />

Her ser man fortsatt detaljene i signalet, samtidig som frekvensspekteret gir detaljer om<br />

signalet. Wavelettransformasjonen er vist i figur 26, <strong>og</strong> det tilhørende frekvensspekteret er vist<br />

i figur 27. Vi kjører kommandoen<br />

>> waveletanalyse('Bokfink4.wav',0,10000,100,128,1024*32*4,2^15,2^5)<br />

i MATLAB, hvor vi velger hver 2 frekvens i intervallet 0,10000 , <strong>og</strong> bruker en<br />

nedsamplingsrate på 128 punkter.<br />

Side 18 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

Figur 26: Wavelettransformasjon for 100.<br />

Figur 27: Frekvensspekter 100.<br />

Fra figurene over ser vi at signalet fortsatt er detaljert, samtidig som frekvensene er mer<br />

tydelige enn for en lavere . Det må likevel påpekes at det for analyse av mindre områder<br />

(frekvens eller tid) i signalet bør velges en mindre for å beholde de minste detaljene i<br />

signalet, men dette må man prøve seg frem til. vil <strong>og</strong>så variere for forskjellige lydfiler.<br />

Side 19 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

e) Vi analyser så en vedvarende lyd fra en trompet (trompet3.wav). Vi bruker samme funksjon<br />

som i forrige oppgave <strong>og</strong> kjører kommandoen<br />

waveletanalyse('trompet3.wav',0,10000,50,128,1024*32*4,2^15,2^5)<br />

hvor vi har valgt 50. I figur 28 vises hele signalet <strong>og</strong> utsnittet vi har valgt.<br />

Wavelettransformasjonen vises i figur 29.<br />

Figur 28: Plottet til venstre hele signalet, mens plottet til høyre viser utsnittet av dette som skal<br />

analyseres.<br />

Figur 29: Wavelettransformasjon av utsnittet ved 50.<br />

Fra analysen ovenfor ser vi mange aspekter som kun kan vises ved hjelp av<br />

wavelettransformasjon, <strong>og</strong> som ikke er mulig å få ut av fouriertransformasjon eller signalet.<br />

Disse aspektene er at vi kan ha flere frekvenser samtidig <strong>og</strong> at vi ser frekvensbildet med<br />

hensyn på tid. Wavelettransformasjon gir <strong>og</strong>så et fint visuelt bilde av både frekvensutviklingen<br />

<strong>og</strong> tiden i samme plot. I figur 30 ser vi <strong>og</strong>så den relative intensitetsprofilen med hensyn på<br />

frekvensen .<br />

Side 20 av 21


<strong>FYS2130</strong> <strong>Svingninger</strong> <strong>og</strong> <strong>bølger</strong> <strong>Prosjektoppgave</strong> <strong>V2011</strong> Kand. nr. 49<br />

f) -<br />

Figur 30: Relativ intensitetsprofil for wavelettransformasjon ved 50.<br />

Til sammenligning kan vi påpeke at vi med fouriertransformasjon bare ser på frekvensene<br />

som forekommer i signalet – det eksisterer med andre ord ikke et tidsperspektiv ved en slik<br />

analyse. Dersom man ønsker å kartlegge frekvensene for et relativt stort signal kan det likevel<br />

være greit å bare bruke fouriertransformasjon da dette er en mindre krevende metode. Ved<br />

bruk av wavelettransformasjon som vi her har gjort (i figurene 28-30) er det større<br />

begrensninger ved behandling av et signal, enn det er ved fouriertransformasjon (dersom vi<br />

ønsker en figur lik resultatet i figur 30).<br />

i Bilde <strong>og</strong> figurtekst fra prosjektoppgaven <strong>FYS2130</strong>.<br />

"http://www.uio.no/studier/emner/matnat/fys/<strong>FYS2130</strong>/v11/<strong>Prosjektoppgave</strong>2011d.pdf." onsdag. 5 mai 2011.<br />

ii Bilde <strong>og</strong> figurtekst fra prosjektoppgaven <strong>FYS2130</strong>.<br />

"http://www.uio.no/studier/emner/matnat/fys/<strong>FYS2130</strong>/v11/<strong>Prosjektoppgave</strong>2011d.pdf." onsdag. 5 mai 2011.<br />

iii Vistnes, Arnt Inge. <strong>Svingninger</strong> <strong>og</strong> Bølger. Prøveutgave Oslo: Tapir Akademisk Forlag, 2011.<br />

iv Elektromagnetiske felt <strong>og</strong> helse, "http://www.regjeringen.no/nb/dep/hod/dok/nouer/1995/nou-1995-<br />

20/16/4.html?id=337710" lørdag 7. Mai 2011<br />

Side 21 av 21


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 1<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % Oppgave 1a<br />

7<br />

8 % Variabler<br />

9 Imax = 1;<br />

10 Lambda = 3e8/(900e6); % Bølgelengde<br />

11 L = 2.6; % Antennestørrelse<br />

12<br />

13 % Intensitetsfordeling<br />

14 th = -pi:0.01:pi;<br />

15 B = 2*pi*L*sin(th)/Lambda;<br />

16 I = Imax*((sin(B/2))./(B/2)).^2;<br />

17<br />

18 figure();<br />

19 plot(th,I); title('Intensitetsfordeling'); set(gca,'Xticklabel',[]);<br />

20 xlabel('vinkel (\theta)'); ylabel('Relativ intensitet');<br />

21<br />

22 % Data<br />

23 N = 361; % Antall punkter<br />

24 th = linspace(-(pi/2),(pi/2),N);<br />

25 th = th(2:N-1); % Fjerne th=-pi/2 and th=pi/2<br />

26 dyn=40; % Grense<br />

27 b=1; % Linjebredde<br />

28<br />

29 % Beregne effekt (dB)<br />

30 B = 2*pi*L*sin(th)/Lambda;<br />

31 g = Imax*((sin(B/2))./(B/2)).^2;<br />

32<br />

33 c = 1 / max(g); % Normaliseringsfaktor<br />

34 th = [-pi/2, th, pi/2]; % Legge til th=-pi/2 and th=pi/2<br />

35 g = [0, c*g, 0]; % g-data<br />

36<br />

37 gdb = 10 * l<strong>og</strong>10(g); % Gjøre om til dB<br />

38<br />

39 % Plotte antennediagrammet i et polardiagram<br />

40 figure()<br />

41 sty = ':'; % stil<br />

42 Nf = 10; % Fontstørrelse<br />

43 gdb = (gdb + dyn)/dyn; % Skalerer til maksimumsverdi - 40 dB<br />

44<br />

45 x = gdb .* cos(th);<br />

46 y = gdb .* sin(th);<br />

47<br />

48 % Sirkel<br />

49 Nstep = 400;<br />

50 phi0 = (0:Nstep) * 2*pi / Nstep;<br />

51 x0 = sin(phi0);<br />

52 y0 = cos(phi0);<br />

53<br />

54 % Plott data<br />

55 plot(x, y, 'Color', 'b', 'LineWidth', b);<br />

56 hold on;<br />

57 plot(-x, y, 'Color', 'b', 'LineWidth', b);<br />

58<br />

59 % Plott akse


60 hold on;<br />

61 plot(x0, y0,'Color', 'k', 'LineWidth', b);<br />

62 plot(0.75*x0, 0.75*y0, sty, 0.50*x0, 0.50*y0, sty, 0.25*x0, 0.25*y0, sty);<br />

63<br />

64 axis square;<br />

65 R = 1.1;<br />

66 axis([-R, R, -R, R]);<br />

67 axis off;<br />

68<br />

69 % Linje (akse)<br />

70 line([0,0],[-1,1],'Color', 'k');<br />

71 line([-1,1],[0,0],'Color', 'k');<br />

72 x1 = 1/sqrt(2); y1 = 1/sqrt(2);<br />

73 line([-x1,x1], [-y1,y1],'Color', 'k', 'linestyle', sty);<br />

74 line([-x1,x1], [y1,-y1],'Color', 'k', 'linestyle', sty);<br />

75<br />

76 % Figurinformasjon<br />

77 text(0, 1.02, '270^o', 'fontsize', Nf, 'horiz', 'center', 'vert', 'bottom');<br />

78 text(0, -0.99, '90^o', 'fontsize', Nf, 'horiz', 'center', 'vert', 'top');<br />

79 text(1, 0.01, '180^o', 'fontsize', Nf, 'horiz', 'left', 'vert', 'middle');<br />

80 text(-1.02, 0.01, '\theta = 0^o', 'fontsize', Nf, 'horiz', 'right', 'vert',<br />

'middle');<br />

81<br />

82 text(1.04*x1, y1, '225^o', 'fontsize', Nf, 'horiz', 'left', 'vert',<br />

'bottom');<br />

83 text(0.98*x1, -0.98*y1, '135^o', 'fontsize', Nf, 'horiz', 'left', 'vert', 'top');<br />

84 text(-0.97*x1, 1.02*y1, '315^o', 'fontsize', Nf, 'horiz', 'right', 'vert',<br />

'bottom');<br />

85 text(-1.01*x1, -1.01*y1, '45^o', 'fontsize', Nf, 'horiz', 'right', 'vert', 'top');<br />

86<br />

87 label1 = sprintf('-%d', 0.25*dyn);<br />

88 label2 = sprintf('-%d', 0.50*dyn);<br />

89 label3 = sprintf('-%d', 0.75*dyn);<br />

90<br />

91 text(0.765, 0.125, label1, 'fontsize', Nf, 'horiz', 'left', 'vert', 'top');<br />

92 text(0.515, 0.125, label2, 'fontsize', Nf, 'horiz', 'left', 'vert', 'top');<br />

93 text(0.265, 0.125, label3, 'fontsize', Nf, 'horiz', 'left', 'vert', 'top');<br />

94 text(0.55, -0.005, 'dB', 'fontsize', Nf, 'horiz', 'left', 'vert', 'top');<br />

95<br />

96 title('Antennediagram for 900 MHz (vertikalt snitt)');


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 2<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % Oppgave 1c<br />

7<br />

8 % Hent data<br />

9 data = imread('oppgave1c.png');<br />

10 figure()<br />

11 data=data(:,:,1);<br />

12 imagesc(data);<br />

13<br />

14 % Høyde på huset i px<br />

15 px = 0;<br />

16 for i=1:380<br />

17 if data(i,200) 98 && data(i,169) < 150)<br />

25 len = len + 1;<br />

26 end<br />

27 end<br />

28<br />

29 % Beregn høyde i m<br />

30 mpx = 2.6/len;<br />

31 height = px*mpx<br />

32<br />

33 % height = 13.0491


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 3<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % Oppgave 1c forts.<br />

7<br />

8 % Data<br />

9 h = 13.0491; % m<br />

10 L = 2.6; % m<br />

11 mp = h - L/2; % m<br />

12 l = [10, 20, 50, 100, 500, 1000, 1500, 2000]; % m<br />

13<br />

14 % Pytagoras for beregning av lengde fra senter av mast<br />

15 h = sqrt(mp^2 + l.^2); % m<br />

16<br />

17 % Beregne theta<br />

18 th = asind(l./h) % grader fra senit<br />

19<br />

20 % Fra dette leser vi av verdier som er relativ intensitet<br />

21 % katval = 10*l<strong>og</strong>(gdb) = 10*l<strong>og</strong>(I/Imax)<br />

22 katval = [12 3 20 19 35 39 40 40]; % db<br />

23<br />

24 % Data fra oppgave 1a)<br />

25 dipval = [12 20 25 35 40 40 40 40]; % db<br />

26<br />

27 % Plott figurer<br />

28 figure(1);<br />

29 plot(l, katval, '*--r', l, dipval, '*--b');<br />

30 title('Relativ intensitet på bakken');<br />

31 legend('Kathrein 80010621','Enkel dipolmodell');<br />

32 xlabel('meter (m)'); ylabel('decibel (db)');<br />

33 axis([0 2100 0 45]);<br />

34<br />

35 figure(2);<br />

36 katval = katval/max(katval);<br />

37 dipval = dipval/max(dipval);<br />

38 plot(l, katval, '*--r', l, dipval, '*--b');<br />

39 title('Relativ intensitet på bakken');<br />

40 legend('Kathrein 80010621','Enkel dipolmodell');<br />

41 xlabel('meter (m)'); ylabel('I/max(I)');<br />

42 axis([0 2100 0 1.1]);


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 4<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % oppgave 2a<br />

7<br />

8 %--------------------------------------------------------%<br />

9 % Del 1 - Undersøk om [...]<br />

10 %--------------------------------------------------------%<br />

11<br />

12 % Betrakter forflyttning fra t'=0 til t=(n-1)<br />

13 n=2;<br />

14<br />

15 for index=-2:n;<br />

16<br />

17 % Hent data for wavelet<br />

18 [psi t] = morlet(index); % v1.0<br />

19 n = length(psi);<br />

20 fourier = fft(psi,n)/n;<br />

21 y = 0:(n-1);<br />

22 figure(); plot(t, psi);<br />

23 txt=sprintf('Morlet wavelet ved t_m = %.1f',(index));<br />

24 title(txt); legend('\psi(f_a, t_m, K)');<br />

25 xlabel('Tid (s)'); ylabel('Amplitude');<br />

26<br />

27 % Generer fourierspekter for data<br />

28 %figure(); plot(y(1:50),fourier(1:50), 's-');<br />

29 %txt=sprintf('Fourierspekter for n = %.1f',index);<br />

30 %title(txt);<br />

31<br />

32 % Plott realdel<br />

33 figure();<br />

34 plot(y(1:50),real(fourier(1:50)), '-b');<br />

35<br />

36 % Plott imaginærdel<br />

37 hold('on');<br />

38 plot(y(1:50),imag(fourier(1:50)), '-r');<br />

39<br />

40 % Plott absoluttverdi<br />

41 plot(y(1:50),abs(fourier(1:50)), '-g');<br />

42<br />

43 % Sett på labels o.l. på fourierdata<br />

44 txt=sprintf('Realdel, imaginærdel <strong>og</strong> absoluttverdi for n = %.1f',index);<br />

45 title(txt); legend('Realdel','Imaginærdel','Absoluttverdi');<br />

46 xlabel('Datanummer'); ylabel('Amplitude');<br />

47 hold('off');<br />

48 end<br />

49<br />

50 %--------------------------------------------------------%<br />

51 % Del 2 - Sjekk <strong>og</strong>så at [...]<br />

52 %--------------------------------------------------------%<br />

53<br />

54 % Omvendt fourier<br />

55 clear all; figure();<br />

56 [y x] = fomorlet(0); % v1.0<br />

57 [psi t] = morlet(0); % v1.0<br />

58 psi2 = abs(fft(psi));<br />

59 n=length(x); % n=length(t)=length(x)


60 array = 0:(n-1); % x-akse<br />

61<br />

62 % Plott resultat<br />

63 plot(array(1:50),y(1:50),'s', array(1:100), psi2(1:100), 's');<br />

64 title('Sammenligning av wavelets'); xlabel('datanummer'); ylabel('Amplitude');<br />

65 legend('Matematisk uttrykk for fourieromvendte \psi','Absoluttverdien til<br />

fourieromvendt \psi');


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 5<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % oppgave 2b<br />

7<br />

8 % Importer data<br />

9 data = load('testdata1.txt');<br />

10 g=zeros(1,length(data));<br />

11 g(1,:) = data(:,1);<br />

12<br />

13 % Variabler<br />

14 fa = 100;<br />

15 N = 2^13;<br />

16 fs = 10000;<br />

17 K = 4;<br />

18 t = N/fs;<br />

19 dt = t/N;<br />

20 tmax = t;<br />

21<br />

22 %--------------------------------------------------------%<br />

23 % % Brute force<br />

24 %--------------------------------------------------------%<br />

25<br />

26 % Tid s1 <strong>og</strong> beregn for bf<br />

27 ticID = tic;<br />

28 k = 0;<br />

29 for i=1:N<br />

30 [psi t] = morlet(fs,fa,N,K,k,tmax); % v1.1<br />

31 wk(i) = sum(g.*psi);<br />

32 k= k+dt;<br />

33 end<br />

34<br />

35 % Stopp s1<br />

36 s1 = toc(ticID);<br />

37<br />

38 figure();<br />

39 plot(t, wk);<br />

40 title('Brute force'); legend('w_k(t_m,f_a)');<br />

41 xlabel('Tid (s)'); ylabel('Amplitude');<br />

42 figure();<br />

43 plot(t, abs(wk));<br />

44 title('Brute force'); legend('abs(w_k(t_m,f_a))');<br />

45 xlabel('Tid (s)'); ylabel('Amplitude');<br />

46<br />

47<br />

48 %--------------------------------------------------------%<br />

49 % % Alternativ transformasjon<br />

50 %--------------------------------------------------------%<br />

51<br />

52 % Tid s2 <strong>og</strong> beregn for at<br />

53 ticID = tic;<br />

54 fg = fft(g);<br />

55 [psi t] = fomorlet(fs,fa,K,N); % v1.1<br />

56 wk = fg.*psi;<br />

57 wk = ifft(wk);<br />

58<br />

59 % Stopp s2


60 s2 = toc(ticID);<br />

61<br />

62 figure();<br />

63 plot(t, abs(wk));<br />

64 title('Alternativ transformasjon'); legend('Alternativ abs(w_k)');<br />

65 xlabel('Tid (s)'); ylabel('Amplitude');<br />

66<br />

67 % Vis s1 <strong>og</strong> s2<br />

68 s1<br />

69 s2<br />

70<br />

71 %--------------------------------------------------------%<br />

72 % % Resultater for s1 <strong>og</strong> s2<br />

73 %--------------------------------------------------------%<br />

74<br />

75 % s1 = 19.2997<br />

76 % s2 = 0.0020


1 %--------------------------------------------------------%<br />

2 % % Pr<strong>og</strong>ramvedlegg 6<br />

3 %--------------------------------------------------------%<br />

4<br />

5<br />

6 % oppgave 2c<br />

7<br />

8 function waveletanalyse(navn,famin,famax,K,ds,N,nstart,df)<br />

9<br />

10 % navn er filnavnet på filen vi henter data fra (-)<br />

11 % famin er laveste frekvens vi ønsker å analysere (Hz)<br />

12 % famax er høyeste frekvens vi ønsker å analysere (Hz)<br />

13 % K er bølgetallet (-)<br />

14 % ds er nedsamplingsraten, ds = 0 gir ingen nedsampling<br />

15 % N er antall punkter, ved N=0 velges det 1024*32 punkter<br />

16 % nstart er startpunkt i fil<br />

17 % df er antall frekvenser som velges<br />

18 % e.g.: >> waveletanalyse('gjok.wav',0,6000,6,128,0,2^15,4)<br />

19<br />

20 % Data for plott av hele signalet<br />

21 [khel, fs, type] = wavread(navn);<br />

22 t = linspace(0,length(khel)/fs,length(khel));<br />

23<br />

24 % Variabler<br />

25 if N == 0<br />

26 N = 1024*32; % Antall punkter<br />

27 end<br />

28 nslutt = nstart+N-1; % Sluttpunkt i fil<br />

29<br />

30 % Hent data<br />

31 [k, fs, type] = wavread(navn, [nstart nslutt]);<br />

32<br />

33 g = zeros(1,N); % Tom array for en kanal<br />

34 g(1,:) = k(:,1); % Legger inn en kanal<br />

35 %wavplay(g,Fs); % Tester signal<br />

36 %T = N/fs; % Total tid<br />

37 Tstart = nstart/fs; % Starttid<br />

38<br />

39 % plotter hele signalet<br />

40 figure()<br />

41 plot(t,khel(:,1))<br />

42 title('Signalplott'); legend('Lest signal');<br />

43 xlabel('Tid (s)'); ylabel('Amplitude');<br />

44<br />

45 %--------------------------------------------------------%<br />

46 % % Alternativ transformasjon<br />

47 %--------------------------------------------------------%<br />

48<br />

49 frek = famin:df:famax;<br />

50 frekval = zeros(length(frek),1);<br />

51 data = zeros(length(frek),N);<br />

52 di = 0; % Arrayindeks<br />

53 for index=famin:df:famax<br />

54 fg = fft(g);<br />

55 [psi t] = fomorlet(fs,index,K,N); % v1.1<br />

56 wk = fg.*psi;<br />

57 wk = ifft(wk);<br />

58 di = di + 1; % neste element<br />

59 data(di,:) = sqrt(abs(wk)); % Beregner sqrt(abs)


60 frekval(di) = sum(abs(wk)); % Beregner sum(abs)<br />

61 end<br />

62<br />

63 % Downsampling med korresponderende array<br />

64 if ds < 1<br />

65 g = g(1:ds:length(g));<br />

66 data = data(:,1:ds:N);<br />

67 t = t(1:ds:length(t));<br />

68 end<br />

69<br />

70 % faktor for relativ intensitet<br />

71 frekk = max(frekval);<br />

72 frekrel = frekval/frekk;<br />

73<br />

74 % Dataplott<br />

75 figure(); plot(t+Tstart,g,'-b');<br />

76 title('Signalutsnitt'); legend('Signalutsnitt (monosignal)');<br />

77 xlabel('Tid (s)'); ylabel('Amplitude');<br />

78 figure(); imagesc(t+Tstart,frek,real(data));<br />

79 title('Alternativ transformasjon'); legend('Alternativ abs(w_k)');<br />

80 xlabel('Tid (s)'); ylabel('Frekvens');<br />

81 figure(); plot(frek,frekrel,'-b');<br />

82 title('Relativ intensitetsprofil'); legend('Relativ intensitet');<br />

83 xlabel('Frekvens'); ylabel('Intensitet');<br />

84 end


1 %--------------------------------------------------------%<br />

2 % % Morlet v1.0, ligning (1) <strong>og</strong> (2)<br />

3 %--------------------------------------------------------%<br />

4<br />

5 function [psi,t]=morlet(tm)<br />

6<br />

7 % tm er midtpunkt (s)<br />

8<br />

9 % Beregne variabler<br />

10 N = 2^8;<br />

11 fs = 2^10;<br />

12 t = linspace(tm-0.125,tm+0.125,N);<br />

13 K = 4;<br />

14 fa = 65;<br />

15 n = 0:(N-1);<br />

16<br />

17 t = linspace(min(t), max(t), N); % t med hensyn på N<br />

18<br />

19 % Beregne verdier<br />

20 C1 = sqrt((sqrt(2*pi)*fa/(K*fs)));<br />

21 psi = C1*exp(i*2*pi*fa*(t-tm)).*exp(-0.5*(2*pi*fa*(t-tm)/K).^2);<br />

22 end


1 %--------------------------------------------------------%<br />

2 % % Morlet v1.1, ligning (1) <strong>og</strong> (2)<br />

3 %--------------------------------------------------------%<br />

4<br />

5 function [psi,t]=morlet(fs,fa,N,K,tm,tmax)<br />

6<br />

7 % fs er samplingsfrekvens (Hz)<br />

8 % fa er frekvensen vi ønsker å analysere (Hz)<br />

9 % N er antall punkter (-)<br />

10 % K er bølgetallet (-)<br />

11 % tm er midtpunkt (s)<br />

12<br />

13 % Beregne variabler<br />

14 t = linspace(0,tmax,N);<br />

15 n = 0:(N-1);<br />

16<br />

17 t = linspace(min(t), max(t), N); % t med hensyn på N<br />

18<br />

19 % Beregne verdier<br />

20 C1 = sqrt((sqrt(2*pi)*fa/(K*fs)));<br />

21 psi = C1*exp(i*2*pi*fa*(t-tm)).*exp(-0.5*(2*pi*fa*(t-tm)/K).^2);<br />

22 end


1 %--------------------------------------------------------%<br />

2 % % Fomorlet v1.0, ligning (3) <strong>og</strong> (4)<br />

3 %--------------------------------------------------------%<br />

4<br />

5 function [psi,t]=fomorlet(tm)<br />

6<br />

7 % tm er midtpunkt (s)<br />

8<br />

9 % Beregne variabler<br />

10 N = 2^8;<br />

11 fs = 2^10;<br />

12 t = linspace(tm-0.125,tm+0.125,N);<br />

13 K = 4;<br />

14 fa = 65;<br />

15 n = 0:(N-1);<br />

16<br />

17 t = linspace(min(t), max(t), N); % t med hensyn på N<br />

18<br />

19 % Beregne verdier<br />

20 C1 = sqrt((sqrt(2*pi)*fa/(K*fs)));<br />

21 C2 = 1/C1;<br />

22 eta = ((K*fs)/((N+1)*fa))*(n-1);<br />

23 psi = C2*exp(-0.5.*(K-eta).^2);<br />

24 end


1 %--------------------------------------------------------%<br />

2 % % Fomorlet v1.1, ligning (3) <strong>og</strong> (4)<br />

3 %--------------------------------------------------------%<br />

4<br />

5 function [psi,t]=fomorlet(fs,fa,K,N)<br />

6<br />

7 % fs er samplingsfrekvens (Hz)<br />

8 % fa er frekvensen vi ønsker å analysere (Hz)<br />

9 % K er bølgetallet (-)<br />

10 % N er antall punkter (-)<br />

11<br />

12 % Beregne variabler<br />

13 t = N/fs;<br />

14 t = linspace(0,t,N); % t med hensyn på N<br />

15 n = 1:length(t); % generere ny n<br />

16<br />

17 % Beregne verdier<br />

18 C1 = sqrt((sqrt(2*pi)*fa/(K*fs)));<br />

19 C2 = 1/C1;<br />

20 eta = ((K*fs)/((N+1)*fa))*(n-1);<br />

21 psi = C2*exp(-0.5.*(K-eta).^2);<br />

22 end

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!