Laajennettujen Kalman-suotimien soveltaminen epäkoherentin sironnan spektritiheysfunktion estimoinnissa

Samankaltaiset tiedostot
9. Tila-avaruusmallit

805306A Johdatus monimuuttujamenetelmiin, 5 op

Cubature Integration Methods in Non-Linear Kalman Filtering and Smoothing (valmiin työn esittely)

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Numeeriset menetelmät

Dynaamiset regressiomallit

Moniulotteisia todennäköisyysjakaumia

Sallitut apuvälineet: MAOL-taulukot, kirjoitusvälineet, laskin sekä itse laadittu, A4-kokoinen lunttilappu. f(x, y) = k x y, kun 0 < y < x < 1,

4.0.2 Kuinka hyvä ennuste on?

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

Inversio-ongelmien laskennallinen peruskurssi Luento 7

Lause 4.2. Lineearinen pienimmän keskineliövirheen estimaattoi on lineaarinen projektio.

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista

1. Jatketaan luentojen esimerkkiä 8.3. Oletetaan kuten esimerkissä X Y Bin(Y, θ) Y Poi(λ) λ y. f X (x) (λθ)x

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

P (X B) = f X (x)dx. xf X (x)dx. g(x)f X (x)dx.

Todennäköisyyden ominaisuuksia

2. Teoriaharjoitukset

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen

Harha mallin arvioinnissa

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

Ennustaminen ARMA malleilla ja Kalmanin suodin

Tilastollinen aineisto Luottamusväli

Osa 2: Otokset, otosjakaumat ja estimointi

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

3.6 Su-estimaattorien asymptotiikka

Numeeriset menetelmät TIEA381. Luento 4. Kirsi Valjus. Jyväskylän yliopisto. Luento 4 () Numeeriset menetelmät / 44

Maximum likelihood-estimointi Alkeet

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Mallipohjainen klusterointi

2. Uskottavuus ja informaatio

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Kuva 3.1: Näyte Gaussisesta valkoisest kohinasta ε t N(0, 1) Aika t

6. Tietokoneharjoitukset

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

MS-C1340 Lineaarialgebra ja

0 3 y4 dy = 3 y. 15x 2 ydx = 15. f Y (y) = 5y 4 1{0 y 1}.

Luento 8: Epälineaarinen optimointi

4.2.2 Uskottavuusfunktio f Y (y 0 X = x)

Sovellettu todennäköisyyslaskenta B

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Sovellettu todennäköisyyslaskenta B

Epälineaaristen yhtälöiden ratkaisumenetelmät

x 4 e 2x dx Γ(r) = x r 1 e x dx (1)

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Lineaariset kongruenssiyhtälöryhmät

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

HY, MTO / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIa, syksy 2018 Harjoitus 3 Ratkaisuehdotuksia.

Viikko 2: Ensimmäiset ennustajat Matti Kääriäinen

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

6.2.3 Spektrikertymäfunktio

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

Inversio-ongelmien laskennallinen peruskurssi Luento 4

Todennäköisyyslaskennan ja tilastotieteen peruskurssi Esimerkkikokoelma 3

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

Numeeriset menetelmät

l (φ; y) = l(θ(φ); y) Toinen derivaatta saadaan tulon derivaatan laskusäännöllä Uudelleenparametroidun mallin Fisherin informaatio on

Luento 8: Epälineaarinen optimointi

Dynaamiset regressiomallit

Regressioanalyysi. Kuusinen/Heliövaara 1

Sovellettu todennäköisyyslaskenta B

Estimointi. Vilkkumaa / Kuusinen 1

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Paikannuksen matematiikka MAT

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Luku 10. Bayesläiset estimaattorit Bayesläiset piste-estimaatit. Lasse Leskelä Aalto-yliopisto 18. lokakuuta 2017

8.1 Ehdolliset jakaumat

Tilastotieteen kertaus. Kuusinen/Heliövaara 1

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

Parametrien estimointi sovellettuna Pandora-instrumentin mittauksiin

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Sallitut apuvälineet: kirjoitusvälineet, laskin sekä käsinkirjoitettu, A4-kokoinen lunttilappu ja MAOL taulukkokirjaa

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

Jatkuvat satunnaismuuttujat

Satunnaismuuttujat Satunnaismuuttuja kuvaa kokeen tuloksen reaaliakselille Satunnaismuuttuja on siis funktio X(s) joka saa reaalisia arvoja Koe s

Matemaattisten tieteiden kandiohjelma / MTL Todennäköisyyslaskenta IIb Kurssikoe (kesto 2h 30 min)

Ortogonaaliprojektio äärellisulotteiselle aliavaruudelle

2. Uskottavuus ja informaatio

Koodausteoria, Kesä 2014

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Satunnaismuuttujien muunnokset ja niiden jakaumat

pitkittäisaineistoissa

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Johdatus todennäköisyyslaskentaan Satunnaismuuttujien muunnokset ja niiden jakaumat. TKK (c) Ilkka Mellin (2004) 1

Transkriptio:

Laajennettujen Kalman-suotimien soveltaminen epäkoherentin sironnan spektritiheysfunktion estimoinnissa Pro Gradu -tutkielma Karjalainen Joni 2112129 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2016

Sisältö Johdanto 2 1 Stokastiset prosessit 3 2 Lineaarinen Kalman-suodin 7 2.1 Tila-avaruusmallit......................... 8 2.2 Kalman-suotimen johto...................... 9 3 Kalman-suotimen laajennuksia 12 3.1 Laajennettu Kalman-suodin................... 12 3.2 Hajustamaton Kalman-suodin.................. 18 3.3 Hiukkassuodin........................... 21 4 Spektritiheysfunktion estimointi 24 4.1 Ongelman muotoilu........................ 24 4.2 Levenberg-Marquardt -menetelmä................ 27 4.3 Tulokset.............................. 29 Lähdeluettelo 40 Liitteet 41 A EKF 41 B EKF2 44 C UKF 48 D BF 54 E LM 57 1

Johdanto Tutkimusongelmana tälle työlle on soveltaa laajennettuja Kalman-suotimia ionosfääriin liittyvän käänteisen sirontaongelman parametrien estimointiin. Ionosfääristä antennilla vastaanotetusta signaalista voidaan muodostaa autokovarianssi- ja spektritiheysfunktiot. Näistä voidaan saada selville erilaisia ionosfäärin ominaisuuksia. Tässä työssä rajoitutaan tarkastelemaan vain spektritiheysfunktioita. Vastaanotetun signaalin spektritiheysfunktion plasmaparametrit muuttuvat eri ionosfäärin korkeuksilla. Tutkimusaiheena on käyttää lineaarisen Kalman-suotimen laajennuksia näiden parametrien estimointiin. Spektritiheysfunktioita simuloidaan aidon datan sijaan Lorentz-käyrien avulla. Suotimien toimivuutta verrataan aiemmin estimoinnissa käytettyyn Levenberg- Marquardt-menetelmään. Työn runkona on käytetty lähdettä [6]. Matemaattiset merkinnät on pyritty pitämään pääosin samoina tämän lähteen kanssa. Liitteenä on estimoinnin tarpeisiin muokattujen menetelmien R-koodit. Kiitokset Sodankylän Geofysikaalisen Observatorion väelle, joka auttoi tämän Pro Gradu -tutkielman tekemisessä. 2

1 Stokastiset prosessit Tässä kappaleessa käydään läpi stokastisiin prosesseihin, erityisesti Markovin ketjuihin liittyvää teoriaa. Tämä kappale sisältää esitietoja eri Kalmansuotimiin liittyen. Kappale on koottu lähteistä [2] [5], ja [6]. Määritelmä 1.1. Olkoon annettu todennäköisyysavaruus (Ω, F, P) ja mitallinen avaruus (S, Σ). Olkoon T täysin järjestetty indeksijoukko. S-arvoinen stokastinen prosessi X on perhe {X k : k T } S-arvoisia satunnaismuuttujia avaruudessa Ω. Joukkoa S kutsutaan stokastisen prosessin X tila-avaruudeksi ja sen alkioita x X tiloiksi. Mikäli indeksijoukko T on diskreetti, sanotaan stokastisen prosessin olevan diskreettiaikainen, ja jos T on jatkuva, sanotaan stokastisen prosessin olevan jatkuva-aikainen. Stokastisen prosessin realisaatiota {x k0, x k1,...}, kutsutaan aikasarjaksi. Joukko T tulkitaan usein aikapisteiden joukoksi. Merkitään jatkossa äärellistä aikasarjaa x k0 :k n := {x k0,..., x kn, k n < } yksinkertaisuuden vuoksi. Käytetään merkintää p(x k0 :k n ) := p(x k0 = x k0,..., X kn = x kn ) tiheysfunktion p arvolle tiloissa x k0,..., x kn, ja merkintää p(x x k0 :k n ) := p(x = x X k0 = x k0,..., X kn = x kn ) ehdolliselle tiheysfunktiolle. Tässä työssä keskitytään jatkossa tarkastelemaan diskreettiaikaisia stokastisia prosesseja. Määritelmä 1.2. Olkoon X stokastinen prosessi, T siihen liittyvä diskreetti indeksijoukko ja k, l T. Stokastisen prosessin X autokovarianssifunktio on C(k, l) := Cov(X k, X l ) = E[(X k E[X k ])(X l E[X l ])] olettaen, että vaaditut odotusarvot ovat olemassa. 3

Kyseessä on siis stokastisen prosessin X kovarianssi itsensä kanssa kaikilla ajanhetkillä. Määritelmä 1.3. Olkoon diskreettiaikaisen stokastisen prosessin X autokovarianssifunktio C(k, l) hyvin määritelty ja C(k, l) <. k,l T Tällöin voidaan määritellä stokastisen prosessin X spektritiheysfunktio muunnoksena S(f) = 1 2π C(k, l)e i(k l)f, k,l T missä < f < on taajuus ja i on imaginaariyksikkö. Kyseessä on siis autokovarianssifunktion diskreetti Fourier-muunnos. Autokovarianssifunktion avulla aikasarjaa tarkastellaan aikaulottuvuuden kautta, kun taas spektritiheysfunktiota tarkastellaan taajuusulottuvuuden kautta. Kyseessä ovat siis eri tavat karakterisoida aikasarja. Lisää tietoa spektritiheysfunktioista saa lähteestä [2]. Spektritiheysfunktioita tarkastellaan tarkemmin kappaleessa 4, missä estimoidaan plasmaparametrejä laajennetuilla Kalman-suotimilla. Lause 1.4. Olkoot x 0,..., x k stokastisen prosessin X tiloja. Tällöin p(x 0:k ) = p(x 0 )p(x 2 x 1 ) p(x k x 1:k 1 ), (1) olettaen että ylläolevat ehdolliset todennäköisyydet on hyvin määritelty. Yhtälöä (1) kutsutaan kertolaskukaavaksi. Määritelmä 1.5. Diskreettiaikaista stokastista prosessia {X k : k = 0, 1,...} kutsutaan 1. kertaluvun Markovin ketjuksi mikäli kaikilla k N ja tiloilla (x 0,..., x k ) S k+1 pätee p(x k x 0:k 1 ) = p(x k x k 1 ), (2) mikäli kyseiset ehdolliset todennäköisyydet ovat olemassa. 4

Jatkuva-aikaista stokastista prosessia {X k : k 0}, joka toteuttaa ehdon (2) kutsutaan Markovin jonoksi. Sitä, että Markovin ketju unohtaa kaikki muut tilat paitsi viimeisen kaavan (2) mukaisesti, kutsutaan Markovin ominaisuudeksi. Markovin ketjut ovat usein tärkeitä sovellusten kannalta, koska ne yksinkertaistavat laskentaa, jossa tarvitaan kertolaskukaavaa (1). Johdetaan seuraavaksin eräs tärkeä tulos tilojen laskemiseksi. Lause 1.6. Olkoon X Markovin ketju. Markovin ketjun tiheysfunktioille pätee p(x k y 1:k 1 ) = p(x k x k 1 )p(x k 1 y 1:k 1 )dx k 1, (3) missä k N +. Todistus. Tilojen x k ja x k 1 yhteisjakauma, kun y 1:k 1 on annettu, on p(x k, x k 1 y 1:k 1 ) = p(x k x k 1, y 1:k 1 )p(x k 1 y 1:k 1 ) = p(x k x k 1 )p(x k 1 y 1:k 1 ), missä on käytetty Markovin ominaisuutta mittauksen y 1:k 1 poistamiseen. Marginaalijakaumaan (3) päästään tästä, kun integroidaan viimeinen yhtälö muuttujan x k 1 suhteen. Yhtälöä (3) kutsutaan Chapman-Kolmogorovin yhtälöksi. Lisää tietoa Markovin ketjuista voi saada lähteestä [5]. Määritelmä 1.7. Satunnaisvektori x R n noudattaa multinormaalijakaumaa odotusarvolla m R n ja kovarianssilla P R n n, jos sen tiheysfunktio on muotoa N (x m, P) = 1 (2π) n 2 P 1 2 ( exp 1 ) 2 (x m)t P 1 (x m). (4) Tässä P on kovarianssimatriisin P determinantti. Satunnaisvektori x ositetaan usein kahteen osaan: x = ( x1 5 x 2 ),

jolloin myös odotusarvo m ja kovarianssimatriisi P jakaumassa (4) jaetaan osiin: m = ( m1 m 2 ) ( ) P11 P 12, P =. P 21 P 22 Teoriasta tiedetään, että kovarianssimatriisin P täytyy olla symmetrinen ja positiivisesti deniitti. Kovarianssimatriisin komponenteille pätee siis P 12 = P T 21. Satunnaisvektorin osituksen tarkoituksena on Kalman-suotimiin liittyen ilmaista dynaamisen systeemin tilat ja mittaukset saman jakauman avulla. Kalman-suotimien johtamiseksi tarvitaan johtaa muutama multinormaalijakaumaan liittyvä aputulos. Käydään nämä läpi seuraavaksi. Lemma 1.8. Jos satunnaisvektorit x ja y noudattavat yhteistodennäköisyysjakaumana multinormaalijakaumaa ( ) ( ( ) ( ) ) x a A C N,, y b C T B niin reunajakaumat noudattavat multinormaalijakaumaa seuraavasti: x N (a, A), y N (b, B). Ehdolliset jakaumat satunnaisvektoreille x ja y noudattavat multinormaalijakaumaa seuraavasti: x y N (a + CB 1 (y b), A CB 1 C T ), y x N (b + C T A 1 (x a), B C T A 1 C). Lemma 1.9. Olkoon x R n ja y R m satunnaisvektoreita ja x N (m, P), y x N (Hx + u, R). Tällöin satunnaisvektorien x ja y yhteistiheysfunktio on ( ) ( ( ) ( ) ) x m P PH T N,, y Hm + u HP HPH T + R ja satunnaisvektorin y reunajakauma on y N (Hm + u, HPH T + R). 6

Määritelmä 1.10. Olkoon x R n ja y R m, missä n, m N +, satunnaisvektoreita. Oletetaan, että yhtälö p(x y) = p(y x)p(x) p(y) (5) on hyvin määritelty. Yhtälöä (5) kutsutaan Bayesin kaavaksi tiheysfunktioille. Ehdollista tiheysfunktiota p(x y) kutsutaan posterioritodennäköisyystiheysfunktioksi, ehdollista tiheysfunktiota p(y x) uskottavuusfunktioksi ja tiheysfunktiota p(y) prioritodennäköisyystiheysfunktioksi. Yhtälön (5) oikean puolen nimittäjässä oleva lauseke p(y) = p(y x)p(x)dx on nollasta eroava normitusvakio. Bayesin kaavaa (5) käytetään Kalman-suotimien johtamisessa rekursiivisesti siten, että päivittämällä datavektori y käytetään uutta prioritodennäköisyystiheysfunktiota ja uskottavuusfunktiota posterioritodennäköisyystiheysfunktion laskemiseksi. Määritelmä 1.11. Gaussisessa approksimaatiossa posteriorijakaumaa arvioidaan multinormaalijakaumalla. Merkitään tätä p(x y) N (x m, P), (6) missä x R n ja y R m ; n, m N +, ja m R n on satunnaisvektorin x odotusarvo ja P kovarianssi. 2 Lineaarinen Kalman-suodin Tässä kappaleessa johdetaan lineaarinen Kalman-suodin, joka on rekursiivinen ratkaisu tietyntyyppiselle satunnaiselle dynaamiselle systeemille. 7

2.1 Tila-avaruusmallit Kalman-suodinten tapauksessa käytetään niin sanottuja Markovin piilomalleja. Tällöin estimoitavia systeemin tiloja {x k, k T } ei voida suoraan mitata, va an niitä on tarkasteltava epäsuorien mittausten {y k, k T } avulla. Bayesilaisessa suodatuksessa tarkoituksena on saada laskettua jakauma p(x k y 1:k ), eli nykyisen tilan x k jakauma, kun aiempien ajanhetkien mittausten arvot tunnetaan. Tämän jakauman laskeminen Bayesin kaavalla ei ole usein käytännössä mahdollista laskennallisen monimutkaisuuden kasvaessa mittausten määrän vuoksi. Rajoittamalla laskenta reunajakaumiin ja olettamalla dynaamisten mallien luokan olevan Markovin jonoja laskenta muuttuu kevyemmäksi. Tältä pohjalta voidaan kehittää seuraava satunnainen tila-avaruusmalli : x 0 p(x 0 ), x k p(x k x k 1 ), (7) y k p(y k x k ), missä jakaumaa p(x k x k 1 ) kutsutaan evoluutiomalliksi ja jakaumaa p(y k x k ) havaintomalliksi. Näitä jakaumia voidaan käyttää apuna Bayesilaisen suodatuksen jakauman laskemiseen. Merkitään jatkossa parametrivektoria θ:lla. Parametrien estimointi tapahtuu Bayesilaisessa suodatuksessa siten, että asetetaan parametreille priorijakauma p(θ) ja pidetään parametreja ylimääräisinä satunnaismuuttujina tilamallissa (7). Näin saadaan parametrien estimoinnille seuraava satunnainen tila-avaruusmalli: θ p(θ), x 0 p(x 0 θ), x k p(x k x k 1, θ), y k p(y k x k, θ). Tila-avaruusmallia (7) voidaan käyttää jakauman p(x k y 1:k ) laskemiseen. Seuraava algoritmi antaa keinon tähän. 8

Algoritmi 2.1.1. Tiheysfunktiot p(x k y 1:k 1 ) ja p(x k y 1:k ) saadaan laskettua seuraavien vaiheiden avulla: 1. Aloitetaan rekursio alustamalla priorijakauma p(x 0 ). 2. Chapman-Kolmogorovin yhtälöistä (3) saadaan p(x k y 1:k 1 ) = p(x k x k 1 ) p(x k 1 y 1:k 1 ) dx k 1. 3. Lasketaan p(x k y 1:k ) = 1 Z k p(y k x k ) p(x k y 1:k 1 ), missä Z k = p(y k x k ) p(x k y 1:k 1 ) dx k on normitusvakio. 2.2 Kalman-suotimen johto Määritelmä 2.2.1. Lineaarinen Kalman-suodin on suljettu ratkaisu Bayesilaisiin suodatusyhtälöihin, kun evoluutiomalli ja havaintomalli ovat lineaarisia, eli muotoa x k = A k 1 x k 1 + q k 1, y k = H k x k + r k, (8) missä x k R n on tila, y k R m on mittaus, q k 1 N (0, Q k 1 ) on prosessin kohina, r k N (0, R k ) on mittausvirhe ja priorijakauma on gaussinen x 0 N (n 0, P 0 ). Matriisi A k 1 on evoluutiomallin siirtomatriisi ja H k mittausmallin matriisi. Käyttämällä Gaussista approksimaatiota evoluutiomalliin ja havaintomalliin, voidaan tila-avaruusmalli (8) kirjoittaa jakaumamallina p(x k x k 1 ) = N (x k A k 1 x k 1, Q k 1 ), p(y k x k ) = N (y k H k x k, R k ). Esitetään seuraavaksi lineaarinen Kalman-suodin. 9

Lause 2.2.2. Ratkaisuna yhtälöihin (8) saadaan Bayesilaisen suodatuksen posterioritodennäköisyydet p(x k y 1:k 1 ) = N (x k m k, P k ), p(x k y 1:k ) = N (x k m k, P k ), p(y k y 1:k 1 ) = N (y k H k m k, S k), missä m k = A k 1m k 1, P k = A k 1P k 1 A T k 1 + Q k 1, (9) ja m k = m k + P k HT k (H k P k HT k + R k ) 1 [y k H k m k ], P k = P k P k HT k (H k P k HT k + R k ) 1 H k P k. (10) Todistus. Ideana todistuksessa on käyttää algoritmia 2.1.1. Johdetaan ensin parametrien (9) yhtälöt. Lemmasta 1.9 saadaan p(x k 1, x k y 1:k 1 ) = p(x k x k 1 ) p(x k 1 y 1:k 1 ) = N (x k A k 1 x k 1, Q k 1 )N (x k 1 m k 1, P k 1 ) ( ( ) ) xk 1 = N m, P. x k Tässä ( mk 1 ) m =, A k 1 m k 1 ( ) P Pk 1 P k 1 A T k 1 = A k 1 P k 1 A k 1 P k 1 A T k 1 + Q. k 1 Vektorin x k reunajakauma on Lemman 1.8 mukaan p(x k y 1:k 1 ) = N (x k m k, P k ). Tässä m k = A k 1m k 1, P k = A k 1P k 1 A T k 1 + Q k 1. 10

Johdetaan seuraavaksi parametrien (10) yhtälöt. Lemmasta 1.9 saadaan vektorien x k ja y k yhteistodennäköisyys: Tässä missä p(x k, y k y 1:k 1 ) = p(y k x k ) p(x k y 1:k 1 ) m = Lemmasta 1.8 saadaan = N (y k H k x k, R k )N (x k m k, P k ( ( ) ) xk ) = N m, P. y k ( ) ( m k P, P k = H k m k H k P k p(x k y k, y 1:k 1 ) = p(x k y 1:k ) P k HT k H k P k HT k + R k = N (x k m k, P k ), m k = m k + P k HT k (H k P k HT k + R k ) 1 [y k H k m k ], P k = P k P k HT k (H k P k HT k + R k ) 1 H k P k. ). Algoritmi 2.2.3. Lineaarinen Kalman-suodin jaetaan algoritmiltaan usein kahteen vaiheeseen. 1. Ennustevaiheessa lasketaan ennusteparametrit m k = A k 1m k 1, P k = A k 1P k 1 A T k 1 + Q k 1. 2. Päivitysvaiheessa lasketaan matriisit v k = y k H k m k, S k = H k P k HT k + R k, K k = P k HT k S 1 k, m k = m k + K kv k, P k = P k K ks k K T k, jotka saadaan hajottamalla matriisit (10) sopivasti. 11

3. Aloitetaan seuraava kierros. Lineaarisen Kalman-suotimen idea on siis laskea ensin ennustevaiheessa tilan estimaatti. Tämän jälkeen tätä estimaattia verrataan mittauksiin ja korjataan sopivasti päivitysvaiheessa. Korjattua estimaattia käytetään tämän jälkeen uutena ennusteena. Kalman-suodin toimii näin ollen rekursiivisena estimaattorina. Matriisia K k kutsutaan vahvistusmatriisiksi, ja se kertoo, miten paljon odotusarvoa ja kovarianssia pitää päivitysvaiheessa skaalata. Epälineaarisille suodatusyhtälöille lineaarisella Kalman-suotimella ei saa yleensä tarkkoja ratkaisuja lineaarisuudesta johtuvan epätarkkuuden vuoksi. Tätä tarkoitusta varten on kehitetty erilaisia Kalman-suotimen laajennuksia. 3 Kalman-suotimen laajennuksia Tässä kappaleessa käydään läpi laajennettu Kalman-suodin, hajustamaton Kalman-suodin ja hiukkassuodin. 3.1 Laajennettu Kalman-suodin Johdetaan ensin laajennettu Kalman-suodin. Tämä menetelmä saadaan arvioimalla epälineaaristen suodatusyhtälöiden funktioita Taylorin kehitelmällä, jolloin voidaan käyttää lineaarista Kalman-suodinta tavalliseen tapaan. Tarkastellaan satunnaisvektorin x muunnosta x N (m, P), y = g(x), missä x R n, y R m ja g : R n R m on jokin epälineaarinen funktio. Tätä muunnosta tarvitaan laajennetun Kalman-suotimen johtamisessa. Johdetaan seuraavaksi pari tulosta. Määritelmä 3.1.1. Olkoon x = m + δx, missä δx N (0, P). Oletetaan, että funktion g : R n R m n:nnen asteen osittaisderivaatat ovat olemassa. 12

Tällöin g(m + δx) g(m) + G x (m)δx + i 1 2 δxt G (i) xx(m)δxe i +..., (11) missä [G x (m)] j,j = g j(x) x j, x=m xx(m)] j,j = 2 g i (x) x j x j [G (i) x=m ja e i = (0,..., 0, 1, 0,..., 0) on vektori, jonka i:s komponentti on 1. Yhtälön (11) oikean puolen sarjaa kutsutaan funktion g(x) Taylorin kehitelmäksi. Lemma 3.1.2. Olkoon x = m + δx, missä δx N (0, P). Olkoon funktion g : R n R m ensimmäisen kertaluvun osittaisderivaatat olemassa. Funktion g ensimmäisen kertaluvun Taylorin kehitelmän g(x) g(m) + G x (m)δx, missä merkintä tarkoittaa, että funktion g(x) oletetaan olevan likimääräisesti oikean puolen lauseke, odotusarvo on E[g(x)] g(m). Toisaalta kovarianssille pätee arvio Todistus. Odotusarvo on nyt Cov[g(x)] G x (m)pg T x(m). E[g(x)] E[g(m) + G x (m)δx] = g(m) + G x (m) E[δx] = g(m). 13

Funktion g(x) kovarianssiksi saadaan Cov[g(x)] = E [ (g(x) E[g(x)])(g(x) E[g(x)]) T ] E [ (g(x) g(m))(g(x) g(m)) T ] E [ (g(m) + G x (m)δx g(m))(g(m) + G x (m)δx g(m)) T ] = E [ (G x (m)δx)(g x (m)δx) T ] = G x (m) E[δxδx T ]G T x(m) = G x (m)pg T x(m). Laajennetun Kalman-suotimen johdossa tarvitaan muunnosta x N (m, P), q N (0, Q), y = g(x) + q, (12) missä q on riippumaton muuttujasta x. Satunnaismuuttujien x ja y yhteisjakauma saadaan seuraavan lemman avulla. Lemma 3.1.3. Muunnoksessa (12) muuttujien x ja y yhteistodennäköisyysjakauma on ( ) ( ( ) ( ) ) x m P CL N,, T y µ L C L S L missä µ L = g(m), S L = G x (m)pg T x (m) + Q, C L = PG T x (m). Toisen asteen laajennetun Kalman-suotimen johtamiseen tarvitaan seuraavaa lemmaa. Lemma 3.1.4. Toisen kertaluvun Taylorin approksimaatio muunnokselle (12) on ( ) ( ( ) ( ) ) x m P CQ N,, y µ Q 14 C T Q S Q

missä µ Q = g(m) + 1 2 S Q = G x (m)pg T x (m) + 1 2 i e i tr ( G (i) xx(m)p ), i,i e i e T i tr ( G (i) xx(m)pg (i ) xx (m)p ), C Q = PG T x (m). Tässä G x (m) on funktion g Jacobin matriisi pisteessä m, G (i) xx(m) on funktion g i Hessin matriisi pisteessä m, e i on yksikkävektori,jonka i:s komponentti on 1, ja operaatio tr() on matriisin jälki. Määritelmä 3.1.5. Oletetaan, että prosessin ja mittauksen kohinat ovat additiivisia. Laajennettu Kalman-suodin on ratkaisu Bayesilaisiin suodatusyhtälöihin, kun tila-avaruusmalli on muotoa x k = f(x k 1 ) + q k 1, y k = h(x k ) + r k, (13) missä x k R n on tila, y k R m on mittaus, q k 1 N (0, Q k 1 ) on evoluutiomallin virhe, r k N (0, R k ) on havaintomallin virhe ja f ja h ovat epälineaarisia funktioita. Kuten lineaarisen Kalman-suotimenkin tapauksessa, tarkoituksena on laskea Bayesilaisen suodatuksen jakaumat. Esitetään seuraavaksi laajennetun Kalman-suotimen ratkaisu. Lause 3.1.6. Suodatusjakaumat ovat laajennetun Kalman-suotimen tapauksessa muotoa p(x k y 1:k 1 ) = N (x k m k, P k ), p(x k y 1:k ) = N (x k m k, P k ), (14) p(y k y 1:k 1 ) = N (y k H k m k, S k). Tarvittavat parametrit yhtälöihin (14) ovat m k = f(m k 1), P k = F x(m k 1 )P k 1 F T x(m k 1 ) + Q k 1, (15) 15

ja v k = y k h(m k ), S k = H x (m k )P k HT x(m k ) + R k, K k = P k HT x(m k )S 1 k, m k = m k + K kv k, P k = P k K ks k K T k, (16) missä F x (m k 1 ) on funktion f Jacobin matriisi pisteessä m k 1 ja H x (m k ) on funktion h Jacobin matriisi pisteessä m k. Todistus. Sovelletaan lemmaa 3.1.3 funktioon f(x k 1 ) + q k 1. Tästä saadaan Gaussinen approksimaatio ( ( ) ) xk 1 f(x k 1, x k y 1:k 1 ) N x m, P, k missä ) ( xk 1 m =, x k ( ) P Pk 1 P k 1 F T x =. F x P k 1 F x P k 1 F T x + Q k 1 Jacobin matriisi F x lasketaan pisteessä x = m k 1. Nyt m k = f(m k 1), P k = F xp k 1 F T x + Q k 1. Sovelletaan nyt lemmaa 3.1.3 funktioon h(x k ) + r k. Tästä saadaan Gaussinen approksimaatio 16

missä ( ( ) ) xk f(x k, y k y 1:k 1 ) N m, P, y k ( ) m m k = h(m k ), ( ) P P k P k = HT x. H x P k H x P k HT x + R k Jacobin matriisi H x lasketaan pisteessä x = m k Lemman (1.8) perusteella saadaan f(x k y k, y 1:k 1 ) N (x k m k, P k ), missä m k = m k + P k HT x(h x P k HT x + R k ) 1 [y k h(m k )m k ], P k = P k P k HT x(h x P k HT x + R k ) 1 H x P k. (17) Yhtälöiden (17) laskenta voidaan hajoittaa vastaavasti kuin lineaarisen Kalman-suotimen tapauksessa. Laajennetun Kalman-suotimen algoritmi voidaan siis kirjoittaa vastaavasti kuin lineaarinen versio 2.2.3. Sovellettaessa toisen asteen Taylorin approksimaatiota epälineaariseen tila-avaruusmalliin (13) lemman 3.1.4 mukaisesti, saadaan muodostettua niin kutsuttu toisen asteen laajennettu Kalman-suodin. Esitetään kyseinen algoritmi seuraavaksi. Algoritmi 3.1.7. Toisen asteen laajennettu Kalman-suodin saadaan ratkaistua seuraavien ennustus-ja päivitysvaiheiden avulla. 1. Ennustetaan odotusarvo ja kovarianssi: m k = f(m k 1) + 1 e i tr(f (i) 2 xx(m k 1 )P k 1 ), i P k = F x(m k 1 )P k 1 F T x(m k 1 ) + 1 e i e T i 2 tr(f(i) xx(m k 1 )P k 1 F (i ) xx (m k 1 )P k 1 ) + Q k 1. i,i 17

2. Päivitetään odotusarvo ja kovarianssi mittausten avulla: v k = y k h(m k ) 1 e i tr(h (i) 2 xx(m k )P k ), i S k = H x (m k )P k HT x(m k ) + 1 e i e T i 2 tr(h(i) xx(m k )P k 1H (i ) xx (m k )P k 1) + R k, i,i K k = P k HT x(m k )S 1 k, m k = m k + K kv k, P k = P k K ks k K T k. 3. Aloitetaan seuraava kierros. Tässä F (i) xx on funktion f Hessin matriisi ja H (i) xx on funktion h Hessin matriisi. 3.2 Hajustamaton Kalman-suodin Hajustamaton Kalman-suodin on eräs menetelmä epälineaarisen suodatusyhtälön (13) ratkaisemiseksi. Ideana on arvioida posteriorijakauman odotusarvoa ja kovarianssia kiinteiden pisteiden avulla, jotka ovat sijoitettu kohdejakaumaan nähden sopivasti. Pisteiden sijoittelu voidaan muodostaa niin kutsutulla hajustamattomalla muunnoksella. Määritellään tämä seuraavaksi. Määritelmä 3.2.1. Hajustamaton muunnos muodostaa Gaussisen approksimaation (6) seuraavien vaiheiden kautta. Ensin muodostetaan 2n + 1 kappaletta sigmapisteitä X (0) = m, X (i) = m + [ P ] n + λ, i X (i+n) = m [ P ] n + λ, i = 1,..., n, missä merkintä [ ] i tarkoittaa matriisin saraketta i, m on odotusarvon estimaatti, n on odotusarvovektorin dimensio, matriisin P neliöjuuri määritellään P P = P, i 18

ja λ on skaalausparametri λ = α 2 (n + κ) n. Tässä parametrit α ja κ määrittävät sigmapisteiden hajonnan keskiarvon ympärillä. Seuraavaksi monistetaan sigmapisteet epälineaarisen funktion avulla: Y (i) = g(x (i) ), i = 0,..., 2n. Muunnetun muuttujan odotusarvo ja kovarianssi lasketaan seuraavasti: E[g(x)] µ U = Cov[g(x)] S U = 2n i=0 2n i=0 W (m) i Y (i) W (c) i (Y (i) µ U )(Y (i) µ U ) T, missä painot W (m) i ja W (c) i saadaan seuraavasti: W (m) 0 = λ n + λ, W (c) 0 = λ n + λ + (1 α2 + β), W (m) i = W (c) i = 1, 2(n + λ) i = 1,..., 2n, 1, 2(n + λ) i = 1,..., 2n. (18) Algoritmi 3.2.2. Bayesilaiset suodatusyhtälöt voidaan nyt muodostaa käyttämällä hajustamatonta muunnosta. Tuloksena saadaan seuraava hajustamattoman Kalman-suotimen algoritmi. 1. Lasketaan ennuste: X (0) k 1 = m k 1, X (i) k 1 = m k 1 + [ Pk 1 ] n + λ, i = m k 1 [ Pk 1 ] n + λ, i = 1,..., n, X (i+n) k 1 19 i

2. Monistetaan sigmapisteet evoluutiomallilla: ˆX (i) k = f(x (i) k 1 ), i = 0,..., 2n. 3. Lasketaan ennustettu keskiarvo ja ennustettu kovarianssi: m k P k = 2n i=0 = 2n missä painot W (m) i i=0 W (m) i ˆX (i) k, W (c) (i) i ( ˆX k m (i) k )( ˆX k m k )T + Q k 1, ja W (c) i määriteltiin yhtälöissä (18). 4. Päivitetään estimaatit: Muodostetaan sigmapisteet: X (0) k = m k, X (i) k X (i+n) k = m k + [ P ] n + λ, k i = m k [ P ] n + λ, i = 1,..., n, k 5. Monistetaan sigmapisteet mittausmallilla: Ŷ (i) k = h(x (i) k ), i = 0,..., 2n. 6. Lasketaan odotettu keskiarvo, mittauksen odotettu kovarianssi ja mittauksen tilan ristikovarianssi: µ k = S k = C k = 2n i=0 2n i=0 2n i=0 W (m) i Ŷ (i) k, W (c) i (Ŷ(i) k µ k )(Ŷ(i) k µ k ) T + R k, W (c) (i) i ( ˆX k m k )(Ŷ(i) k µ k ) T. 7. Lasketaan vahvistusmatriisi, tilan odotusarvo ja kovarianssi ehdollistettuna mittaukselle: K k = C k S 1 k, m k = m k + K k(y k µ k ), P k = P k K ks k K T k. 20 i

8. Aloitetaan seuraava kierros. Laajennetuista Kalman-suotimista poiketen hajustamattomassa versiossa ei tarvitse laskea epälineaaristen funktioiden derivaattoja. Erona hiukkassuotimiin hajustamattomassa Kalman-suotimessa odotusarvoa ja kovarianssia estimoidaan kiinteillä ennaltamäärätyillä pisteillä satunnaisten otosten sijaan. Hajustamaton Kalman-suodin on erikoistapaus niin kutsutuista Gaussisista suotimista. Lisää näistä voi lukea lähteestä [6]. 3.3 Hiukkassuodin Tietyissä tilanteissa Bayesilaisia suodatusyhtälöitä p(x k y 1:k 1 ), p(x k y 1:k ) ja p(y k y 1:k 1 ) ei kannata ratkaista Gaussisen approksimaation avulla. Esimerkiksi jakaumien ollessa monihuippuisia menetetään tarkkuutta jakauman valinnasta johtuen. Tällaisissa tilanteissa Monte Carlo -approksimaatio toimii usein paremmin. Tarkoituksena on laskea odotusarvo E[g(x) y 1:T ] = g(x)p(x y 1:T )dx, (19) missä g : R n R m on mielivaltainen funktio ja p(x y 1:T ) on posteriorijakauman tiheysfunktio. Monte Carlo -menetelmän ideana on ottaa N kappaletta riippumattomia satunnaisotoksia x (i) p(x y 1:T ), i = 1,..., N ja arvioidaan odotusarvoa (19) summalla 1 N N g(x (i) ). i=1 Käytännössä ei ole kuitenkaan usein mahdollista ottaa otoksia suoraan posteriorijakaumasta p(x y 1:T ). Tämän vuoksi pyritään ottamaan otoksia niin sanotusta tärkeysjakaumasta π(x y 1:T ), jota on helpompi käsitellä. Ehtona tärkeysjakauman valinnalle on, että sen tukialue on suurempi tai yhtäsuuri kuin posteriorijakaumalla. Odotusarvoa (19) voidaan arvioida tärkeysjakaumien avulla seuraavasti. Nyt g(x)p(x y 1:T )dx = [ g(x) p(x y 1:T ) π(x y 1:T ) 21 ] π(x y 1:T )dx.

Ottamalla N otosta tärkeysjakaumasta voidaan muodostaa arvio missä painot määritellään E[g(x) y 1:T ] 1 N = N i=1 p(x (i) y 1:T ) π(x (i) y 1:T ) g(x(i) ) N w (i) g(x (i) ), i=1 w (i) = 1 N Tätä menettelyä kutsutaan tärkeysotannaksi. p(x (i) y 1:T ) π(x (i) y 1:T ). (20) Jotta painot (20) voitaisiin laskea, täytyy pystyä laskemaan posterioritodennäköisyystiheysfunktion arvo p(x (i) Bayesin kaavan avulla muotoon p(x (i) y 1:T ) = p(y 1:T x (i) )p(x (i) ) p(y1:t x)p(x)dx. y 1:T ). Tämä voidaan kirjoittaa Nimittäjässä olevaa vakiota ei usein pystytä laskemaan. Muodostamalla tärkeysotanta myös tälle vakiolle voidaan odotusarvo (19) saada muotoon E[g(x) y 1:T ] = g(x)p(x y 1:T ) missä w (i) = N j=1 N w (i) g(x (i) ), i=1 p(y 1:T x (i) )p(x (i) ) π(x (i) y 1:T ) Johto painojen kaavalle löytyy lähteestä [6]. p(y 1:T x (j) )p(x (j) ) π(x (j) y 1:T ) Jaksollisessa tärkeysotannassa muodostetaan tärkeysotannan avulla approksimaatiot Bayesilaisille suodatusyhtälöille, kun tila-avaruusmalli voidaan kirjoittaa muodossa x k p(x k x k 1 ), y k p(y k x k ). 22.

Suodatusyhtälöt estimoidaan niin kutsuttujen hiukkasten {(w (i) k, x(i) k ) : i = 1,..., N} avulla. Ideana on ottaa otoksia x (i) k tärkeysjakaumasta ja laskea näille painot w (i) k ajanhetkellä k. Tällä tavoin voidaan laskea odotusarvo jokaisella ajanhetkellä k. E[g(x k ) y 1:k ] N i=1 w (i) k g(x(i) k ) Jaksollinen tärkeysuudelleenotanta, eli hiukkassuodin on muuten samanlainen menetelmä hiukkasten laskemiseksi kuin jaksollinen tärkeysotanta, mutta tietyillä kierroksilla suoritetaan uudelleenotanta. Tämä pyrkii estämään tilanteen, joissa vain muutamalla hiukkasella on merkittävät painot. Tällöin lisätään suurien painojen omaavien hiukkasten lukumäärää otoksessa pitämällä tiloja x (i) k diskreetin satunnaismuuttujan arvoina ja painoja w (i) k vastaavina todennäköisyyksinä. Se, millä kierroksella uudelleenotanta suoritetaan, päätetään usein laskemalla niin kutsuttu hiukkasten efektiivinen määrä n eff kaavalla n eff 1 N ( (i) i=1 w k ja vertaamalla tätä vakioon n N. Mikäli efektiivinen määrä on pienempi, suoritetaan uudelleenotanta. Esitetään seuraavaksi hiukkassuotimen ja uudelleenotannan algoritmit. Algoritmi 3.3.1. Hiukkassuodin voidaan kirjoittaa seuraavien vaiheiden avulla: 1. Otetaan N otosta priorijakaumasta ja asetetaan w (i) 0 = 1 N ) 2 x (i) 0 p(x 0 ), i = 1,..., N, kaikille i = 1,..., N. 2. Jokaiselle ajanhetkelle (k = 1,..., T ) suoritetaan seuraavat vaiheet: A Otetaan otoksia x (i) k tärkeysjakaumista x (i) k = π(x k x (i) k 1, y 1:k), i = 1,..., N. 23

B Lasketaan uudet painot seuraavasti: w (i) k Nämä normalisoidaan. w (i) p(y k x (i) k )p(x(i) k x (i) k 1 π(x (i) k x (i) k 1, y 1:k) k 1 ) C Mikäli hiukkasten efektiivinen määrä on vähäinen, niin suoritetaan uudelleenotanta. Algoritmi 3.3.2. Uudelleenotanta suoritetaan seuraavien vaiheiden avulla:. 1. Muodostetaan painot w (i) k : i = 1,..., N}. {x (i) k todennäköisyyksinä saada indeksi i joukosta 2. Otetaan N otosta tästä diskreetistä jakaumasta ja korvataan vanha otosjoukko tällä. 3. Asetetaan kaikki painot vakioksi: w (i) k = 1 N. Hiukkassuotimen algoritmin johto löytyy lähteestä [6]. Niin kutsutussa bootstrap-suotimessa tärkeysjakaumana π(x k x k 1, y 1:k ) käytetään evoluutiomallia p(x k x k 1 ). Tämän jakauman tehottomuuden vuoksi joudutaan yleensä käyttämään suurempaa määrää hiukkasia kuin tehokkaamman tärkeysjakauman tapauksessa. Bootstrap-suotimessa uudelleenotanta suoritetaan yleensä joka kierroksella. 4 Spektritiheysfunktion estimointi Tässä kappaleessa sovelletaan laajennettuja Kalman-suotimia plasmaparametrien estimoimiseen. Kappale on koottu lähteistä [1], [3] ja [4]. 4.1 Ongelman muotoilu Ionosfääristä saadaan havaittua epäkoherenttia sirontaa, kun siihen lähetetään signaali sirontatutkalla. Muuttunut signaali vastaanotetaan toisella asemalla. Tästä vastaanotetusta signaalista voidaan muodostaa autokovarianssi- 24

Kuva 1: Asema A lähettää signaalin, joka vastaanotetaan asemalla B. Signaalissa tapahtuneet muutokset kertovat ionosfäärin ominaisuuksista. ja spektritiheysfunktiot [3]. Niiden avulla saadaan tietoa ionisoituneen plasman ominaisuuksista, kuten elektronitiheydestä ja lämpötilasta [4]. Keskitytään jatkossa pelkästään spektritiheysfunktioiden tarkasteluun. Nämä riippuvat niin kutsutuista plasmaparametreista, joita pyritään estimoimaan. Tutkalla mittaukset tehdään usein usealle eri korkeudelle. Olkoon annettu spektritiheysfunktioparvi S(f, θ(h)), missä f on taajuus ja θ(h) on parametrivektori, joka riippuu korkeudesta h. Ongelmana on löytää parametrien θ(h) estimaatit tietyillä korkeuksilla Kalman-suotimen laajennuksien avulla. Käytetään spektritiheysfunktion simulointiin Lorentz-käyrää. Se on muotoa 1 1 + ( f 0 f ω/2 missä f 0 on huipun kohta, f on taajuus ja ω on puoliarvoleveys, eli sellaisten pisteiden välinen välimatka, jotka ovat arvoltaan puolet käyrän maksimiarvosta. Laskemalla yhteen kaksi Lorentz-käyrämuotoa voidaan simuloida 25 ) 2,

kaksihuippuista spektritiheysfunktiota. Tällöin saadaan funktio muotoa L(f, θ(h)) := 1 1 + ( f 1,h f ω 1,h /2 ) 2 + 1 1 + ( f 2,h f ω 2,h /2 ) 2, (21) missä f 1,h ja f 2,h ovat huippujen kohdat, ω 1,h on ensimmäisen ja ω 2,h toisen käyrän puoliarvoleveys. Parametrivektori on nyt muotoa θ(h) = (f 1,h, ω 1,h, f 2,h, ω 2,h ). Intensiteetti 0.0 0.2 0.4 0.6 0.8 1.0 Intensiteetti 0.0 0.2 0.4 0.6 0.8 1.0 10 0 5 10 Taajuus 10 0 5 10 Taajuus Kuva 2: Lorentz-käyrä (yksihuippuinen käyrä) ja kaksi eri Lorentz-käyrää summaamalla muodostettu kaksihuippuisen spektritiheysfunktion simulaatio. Tarkastellaan yhtä korkeutta. Käytetään ongelman mallintamiseen tilaavaruusmallia θ k = θ k 1 + N (0, Q k 1 ), y f,k = L(f, θ k ) + N (0, R k ), 26

missä θ k = (f 1,k, ω 1,k, f 2,k, ω 2,k ) on parametrivektori, y f,k on mittaus, L on määritelty kaavalla (21), Q k 1 = σ k 1 I, missä σ k 1 on vakio ja I on yksikkömatriisi, ja R k on havaintomallin virheen varianssi. Spektritiheysfunktion plasmaparametreja on tähän mennessä estimoitu Levenberg-Marquardt (LM) -menetelmällä. Johdetaan tämä seuraavaksi. 4.2 Levenberg-Marquardt -menetelmä Olkoon annettu epälineaarinen yhtälöryhmä G(θ) = d, missä θ on n-dimensioinen parametrivektori, vektori d on m-dimensioinen datavektori ja G on epälineaarinen kuvaus. Pyrkimyksenä on löytää sopiva parametrivektori θ niin, että residuaalien normi minimoituu. Oletetaan, että mittauksen virhetermit ovat normaalijakautuneita keskivirheillä σ i, i = 1... m. Tarkoituksena olisi minimoida lauseke missä f(θ) = m fi 2 (θ), (22) i=1 f i (θ) = G(θ) i d i σ i, i = 1... m, on keskivirheillä painotettu residuaali. Käytetään minimoimiseen Newtonin menetelmää. Newtonin menetelmä on nyt H(f(θ k )) θ = f(θ k ), (23) missä k on iteraatiokierros, H(f(θ k )) on funktion f Hessin matriisi pisteessä θ k, θ on tarkan ja likimääräisen ratkaisun erotus iteraatiokierroksella k: θ = θ θ k ja f(θ k ) on funktion f gradientti pisteessä θ k. Johdon Newtonin menetelmälle voi lukea lähteestä [1]. Funktion f(θ) gradientti voidaan kirjoittaa m f(θ) = ( f i (θ) 2). Gradientin f(θ) komponentit voidaan kirjoittaa m ( f(θ)) j = 2f i (θ)( f i (θ)) j, i=1 i=1 27

mikä voidaan kirjoittaa matriisimerkinnöin muodossa missä J(θ) on Jacobin matriisi f 1 (θ) θ 1 J(θ) =.... f m(θ) θ 1 ja matriisi F(θ) on muotoa f(θ) = 2J(θ) T F(θ), (24) f 1 (θ) θ n. f m(θ) θ n f 1 (θ) F(θ) =.. f m (θ), Vastaavasti voidaan funktion f(θ) Hessen matriisi kirjoittaa kaavaa (22) käyttäen H(f(θ)) = = m H(f i (θ) 2 ) i=1 m H i (θ), missä matriisi H i (θ) on funktion f i (θ) 2 Hessen matriisi. Hessen matriisin H i (θ) j:nnen rivin ja k:nnen sarakkeen alkio on Näin ollen Hj,k(θ) i = 2 (f i (θ) 2 ) θ j θ k = θ j ( fi (θ) = 2 θ j i=1 ( 2f i (θ) f i(θ) θ k f i (θ) θ k ) ) + f i (θ) 2 f i (θ). θ j θ k H(f(θ)) = 2J(θ) T J(θ) + Q(θ), (25) missä m Q(θ) = 2 f i (θ)h(f i (θ)). i=1 28

Niin sanotussa Gauss-Newton menetelmässä Hessin matriisia arvioidaan jättämällä termi Q(θ) pois yhtälöstä (25), jolloin saadaan H(f(θ)) 2J(θ) T J(θ). (26) Tämä arvio voidaan tehdä, koska kertoimien f i (θ) voidaan olettaa olevan pieniä, kun lähestytään optimaalisia parametrien θ arvoja. Sijoittamalla gradientti (24) ja Hessin matriisi (26) Newtonin menetelmään (23) saadaan iteraatioyhtälö missä k on iteraatioindeksi. J(θ k ) T J(θ k ) θ = J(θ k ) T F(θ k ), (27) Levenberg-Marquardt -menetelmä (LM) saadaan, kun muokataan yhtälö (27) muotoon (J(θ k ) T J(θ k ) + λi) θ = J(θ k ) T F(θ k ), (28) missä I on yksikkämatriisi ja parametri λ R + on positiivinen reaaliluku, joka päivitetään joka kierroksella iteraatiojonon (θ) k suppenemisen varmistamiseksi. Parametrien θ päivittäminen tapahtuu ratkaisemalla muutos θ kaavasta (28) sopivalla numeerisella menetelmällä ja laskemalla uuden kierroksen parametrit kaavalla θ k+1 = θ k + θ. Termin λi lisääminen pyrkii takaamaan, että matriisi J(θ k ) T J(θ k ) + λi olisi säännöllinen. Menetelmän toimivuus riippuu näin ollen keskeisesti parametrin λ valinnasta. Eräs idea on päivittää kyseistä parametria joka kierroksella riippuen residuaalin euklidisen normin G(θ) i d i σ i, i = 1... m suuruudesta. Mikäli kyseinen normi pienenee, pienennetään parametrin arvoa ja päinvastoin. Tarkastellaan seuraavaksi estimointiongelmasta saatuja tuloksia. 4.3 Tulokset Lasketaan spektritiheysfunktion parametrien arvot yhdellä korkeudella laajennetulla, hajustamattomalla- ja bootstrap-suotimella. Verrataan näiden 29

menetelmien tarkkuutta LM -menetelmästä saatuihin tuloksiin. Estimointia varten muokatut algoritmit on toteutettu R-ohjelmointikielellä. Koodit ovat liitteinä. Tarkastellaan edellä määriteltyä spektritiheysfunktion simulaatiota L, joka on määritelty kaavalla (21). Olkoon parametrien oikeat arvot θ = (f 1, ω 1, f 2, ω 2 ) = (1, 2, 1, 2). Olkoon alkuarvaus parametreille θ 0 = (0.5, 1.5, 0.5, 1.5). Asetetaan evoluutiomallin ja priorijakauman kovarianssimatriisin alkuarvoksi Q 0 = P 0 = 0.01 I ja havaintomallin varianssin alkuarvoksi R 0 = 0.01. Asetetaan hajustamattomaan muunnokseen tarvittavat parametrit α = 0.001, β = 1 ja κ = 0.1. Olkoon bootstrap-suotimen hiukkasten lukumäärä N = 5000. Olkoon LM-menetelmässä λ 0 = 1. Käytetään viimeiseltä kierrokselta saatua arvoa estimaattina kyseiselle korkeudelle. Ensimmäisen asteen laajennetulla Kalman-suotimella saadut estimaatit olivat pyöristettynä θ 201 = (0.8905, 1.9608, 0.9509, 1.8299). Parametrien absoluuttiset virheet olivat θ θ 201 = ( f 1 f 1, ω 1 ω 1, f 2 f 2, ω 1 ω 1 ) = (0.1095, 0.0392, 0.0491, 0.1701). Aikaa menetelmän algoritmin suorittamiseen kului 0.01 sekuntia. Vastaavasti toisen asteen laajennetulla Kalman-suotimella saadut estimaatit olivat θ 201 = (0.8917, 1.9602, 0.9486, 1.830). Menetelmästä saadut virheet olivat (0.1083, 0.0398, 0.0514, 0.1700). Algoritmin suorittaminen kesti 0.03 sekuntia. Hajustamattomalla Kalman-suotimella saadut estimaatit olivat θ 201 = (0.8917, 1.9603, 0.9487, 1.8300). Tästä menetelmästä saadut virheet olivat (0.1083, 0.0397, 0.0513, 0.1700). Aikaa algoritmin suorittamiseen kului 1.40 sekuntia. Bootstrap-suotimella ratkaisuna saatiin estimaattien arvot θ 200 = (1.1474, 1.8576, 1.0868, 2.1525). Estimaattien virheet tällä menetelmällä olivat (0.1474, 0.1424, 0.0868, 0.1525). Aikaa suorittamiseen kului 12.75 sekuntia. 30

LM-menetelmää käyttäen oikeat parametrien arvot saavutettiin viidennellä kierroksella. Aikaa algoritmin suorittamiseen kului 0.11 sekuntia. Estimoinnin kulku eri menetelmillä voidaan nähdä seuraavista kuvista. f1 f2 0.4 0.6 0.8 1.0 1.0 0.8 0.6 0.4 0 50 100 150 200 Aika 0 50 100 150 200 Aika w1 w2 1.4 1.6 1.8 2.0 1.4 1.6 1.8 2.0 0 50 100 150 200 Aika 0 50 100 150 200 Aika Kuva 3: Parametrien estimaatit ensimmäisen asteen laajennetulla Kalmansuotimella. Oikea parametrin arvo punaisella ja estimaatti sinisellä viivalla. 31

f1 f2 0.4 0.6 0.8 1.0 1.0 0.8 0.6 0.4 0 50 100 150 200 Aika 0 50 100 150 200 Aika w1 w2 1.4 1.6 1.8 2.0 1.4 1.6 1.8 2.0 0 50 100 150 200 Aika 0 50 100 150 200 Aika Kuva 4: Estimaatit toisen asteen laajennetulla Kalman-suotimella. Oikea parametrin arvo punaisella ja estimaatti sinisellä viivalla. 32

f1 f2 0.4 0.6 0.8 1.0 1.0 0.8 0.6 0.4 0 50 100 150 200 Aika 0 50 100 150 200 Aika w1 w2 1.4 1.6 1.8 2.0 1.4 1.6 1.8 2.0 0 50 100 150 200 Aika 0 50 100 150 200 Aika Kuva 5: Parametrien estimaatit hajustamattomalla Kalman-suotimella. Oikea parametrin arvo punaisella ja estimaatti sinisellä viivalla. 33

f1 f2 0.2 0.4 0.6 0.8 1.0 1.2 1.2 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0 50 100 150 200 Aika 0 50 100 150 200 Aika w1 w2 1.2 1.4 1.6 1.8 2.0 2.2 1.2 1.4 1.6 1.8 2.0 2.2 0 50 100 150 200 Aika 0 50 100 150 200 Aika Kuva 6: Parametrien estimaatit bootstrap-suotimella. Oikea parametrin arvo punaisella ja estimaatti sinisellä viivalla. 34

f1 f2 0.4 0.6 0.8 1.0 1.2 1.2 1.0 0.8 0.6 0.4 1 2 3 4 5 6 7 Iteraatiokierros 1 2 3 4 5 6 7 Iteraatiokierros w1 w2 1.4 1.6 1.8 2.0 2.2 1.4 1.6 1.8 2.0 2.2 1 2 3 4 5 6 7 Iteraatiokierros 1 2 3 4 5 6 7 Iteraatiokierros Kuva 7: Parametrien estimaatit Levenberg-Marquardt -menetelmällä. Oikea parametrin arvo punaisella ja estimaatti sinisellä viivalla. Edellä olevassa esimerkissä parametrien arvojen alkuarvaus oli melko huono. Hyvällä alkuarvauksella saadaan kaikilla suotimilla suhteellisen tarkat estimaatit. Esimerkiksi hajustamatonta- ja bootstrap-suodinta verrattaessa estimaatit edelliselle ongelmalle alkuarvauksella θ = (0.9, 1.9, 0.9, 1.9) olivat (0.9880, 1.9772, 0.9870, 1.9735) ja (1.005, 1.9915, 1.0245, 2.0210). Vastaavat virheet näille suotimille olivat nyt (0.0120, 0.0228, 0.0130, 0.0265) ja (0.0050, 0.0085, 0.0245, 0.0210). LM-menetelmällä oikeat parametrien arvot 35

saavutettiin neljännellä kierroksella. Tarkastellaan seuraavaksi parametrien estimointia usealla korkeudella. Käytetään satunnaishyppyä θ h 1 + 1 10 θ h θ h 1 N (0, I) priorina korkeuden h parametreille, missä normi on määritelty, kuten aikaisemmin parametrien etäisyyksien tarkastelussa. Alustetaan kohinoiden kovarianssimatriisit alkuperäisiksi korkeuden vaihtuessa. Lasketaan estimaatit kuudella korkeudella priorin kanssa. Käytetään laskentaan toisen asteen laajennettua Kalman-suodinta, bootstrap-suodinta ja LM-menetelmää. Parhaiten estimoinnissa onnistuttiin LM-menetelmällä. Huonoimmat estimaatit saatiin bootstrap-menetelmällä. Estimoinnin kuvat löytyvät seuraavalta sivulta. Yhteenvetona saatujen tulosten perusteella LM-menetelmä vaikuttaa olevan tarkempi tarkasteltuihin Kalman-suotimiin verrattuna. Se vaikuttaa olevan myös algoritmiltaan kevyempi kuin hajustamaton- ja bootstrap-suodin. Haittapuolena LM-menetelmässä on Jacobin matriisin laskenta, mikä voi olla työlästä, mikäli spektritiheysfunktion malli on monimutkainen. Tällöin hajustamaton Kalman-suodin tai hiukkassuodin saattaa olla parempi ratkaisu, jos tarkkuudesta voidaan tinkiä. 36

f1 f2 0.5 1.0 1.5 2.0 1.5 1.0 0.5 0.0 0 200 400 600 800 1000 1200 Aika 0 200 400 600 800 1000 1200 Aika w1 w2 1.5 2.0 2.5 3.0 1.5 2.0 2.5 3.0 0 200 400 600 800 1000 1200 Aika 0 200 400 600 800 1000 1200 Aika Kuva 8: Estimaatit toisen asteen laajennetulla Kalman-suotimella kuudelta korkeudelta. Oikeat parametrien arvot punaisella ja estimaatit sinisellä viivalla. 37

f1 f2 0.0 0.5 1.0 1.5 2.0 1.5 1.0 0.5 0.0 0 200 400 600 800 1000 1200 Aika 0 200 400 600 800 1000 1200 Aika w1 w2 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 0 200 400 600 800 1000 1200 Aika 0 200 400 600 800 1000 1200 Aika Kuva 9: Parametrien estimaatit bootstrap-suotimella kuudelta korkeudelta. Oikeat parametrien arvot punaisella ja estimaatit sinisellä viivalla. 38

f1 f2 0.5 1.0 1.5 2.0 1.5 1.0 0.5 0.0 0 10 20 30 40 Iteraatiokierros 0 10 20 30 40 Iteraatiokierros w1 w2 1.5 2.0 2.5 3.0 1.5 2.0 2.5 3.0 0 10 20 30 40 Iteraatiokierros 0 10 20 30 40 Iteraatiokierros Kuva 10: Parametrien estimaatit LM-menetelmällä kuudelta korkeudelta. Oikeat parametrien arvot punaisella ja estimaatit sinisellä viivalla. 39

Lähdeluettelo [1] Richard C Aster, Brian Borchers, and Cliord H Thurber. Parameter estimation and inverse problems. Academic Press, 2013. [2] David R Brillinger. Time series: data analysis and theory, volume 36. Siam, 2001. [3] Baylie Damtie. New Incoherent Scatter Radar Measurement Techniques and Data Analysis Methods. Citeseer, 2004. [4] W. E. Gordon. Incoherent scattering of radio waves by free electrons with applications to space exploration by radar. Proceedings of the IRE, 46(11):18241829, Nov 1958. [5] Emanuel Parzen. Stochastic processes, volume 24. Siam, 1999. [6] Simo Särkkä. Bayesian ltering and smoothing, volume 3. Cambridge University Press, 2013. 40

Liitteet A EKF 1 ############################################################### 2 3 # Function : EKF ( F i r s t order Extended Kalman f i l t e r ) 4 5 # Input : 6 7 # L : Measurement v e c t o r 8 # m: Number o f Lorentzian s p e c t r a 9 # f : Frequency i n t e r v a l 10 # h d i s t d i f f : D i f f e r e n c e between h e i g h t s 11 # theta0 : I n i t i a l value f o r parameters o f form ( f1, f2, w1, w2) 12 # P0 : C o e f f i c i e n t o f covariance matrix Pk 13 # Q0 : I n i t i a l e r r o r 14 # R0 : I n i t i a l measurement model e r r o r variance 15 16 # Output : 17 18 # thetak : Parameter estimate v e c t o r 19 20 ############################################################### 21 22 EKF < f u n c t i o n (L,m, f, h d i s t d i f f, theta0, P0, Q0, R0){ 23 24 # I n i t i a l i z i n g 25 26 27 # Define the Jacobian Hf : 28 29 Hf < f u n c t i o n ( f l, theta0 ){ 30 31 J < mat. or. vec ( 1, 4 ) 32 41

33 W1 < ( ( theta0 [1] f l ) / ( theta0 [ 3 ] / 2))^2 34 W2 < ( ( theta0 [2] f l ) / ( theta0 [ 4 ] / 2))^2 35 36 J [ 1 ] < W1/ ( ( theta0 [1] f l ) (1+W1)^2) 37 J [ 2 ] < W2/ ( ( theta0 [2] f l ) (1+W2)^2) 38 39 J [ 3 ] < W1/ ( theta0 [ 3 ] (1+W1)^2) 40 J [ 4 ] < W2/ ( theta0 [ 4 ] (1+W2)^2) 41 42 J < 2 J 43 44 return ( J ) 45 46 } 47 48 # Define the Lorentzian spectrum : 49 50 spec < f u n c t i o n ( f l, theta0 ){ 51 52 x1 < ( theta0 [1] f l ) / ( theta0 [ 3 ] / 2) 53 x2 < ( theta0 [2] f l ) / ( theta0 [ 4 ] / 2) 54 55 return ( ( 1 /(1+(x1 ^2))) + (1 /(1+(x2 ^ 2 ) ) ) ) 56 57 } 58 59 i < 1 60 61 Qk < Q0 diag ( 4 ) 62 63 Pk < P0 diag ( 4 ) 64 65 66 thetak < mat. or. vec (4, length (L) ) 67 68 Kk < mat. or. vec ( 4, 1 ) 69 70 42

71 f l < rep ( f, length. out = length (L) ) 72 73 a l t i t < seq ( length (L) /m, length (L), by = length (L) /m) 74 75 76 # Main loop 77 78 79 f o r ( l in 1 : length (L) ) { 80 81 # P r e d i c t i o n : 82 83 i f ( ( l %in% a l t i t ) && ( l!= a l t i t [ length ( a l t i t ) ] ) ) { 84 85 i < i + 1 86 87 theta0 < theta0 + 1/10 abs ( h d i s t d i f f [ i ] ) 88 rnorm ( 4, 0, 1 ) 89 90 Qk < Q0 diag ( 4 ) #i n i t i a l i z i n g 91 92 Pk < P0 diag ( 4 ) 93 94 Kk < mat. or. vec ( 4, 1 ) 95 96 } 97 98 99 # Update : 100 101 102 Hftemp < Hf ( f l [ l ], theta0 ) 103 104 vk < L [ l ] spec ( f l [ l ], theta0 ) 105 106 107 Sk < Hftemp % % Pk % % t ( Hftemp ) + R0 108 Kk < (Pk % % t ( Hftemp ) )% % (1 /Sk ) 43

109 theta0 < theta0 + (Kk vk ) 110 Pk < Pk (Kk % % Sk % % t (Kk) ) 111 112 thetak [, l ] < theta0 113 114 } 115 116 117 118 return ( thetak ) 119 120 } B EKF2 1 ############################################################### 2 3 # Function : EKF2 ( Second order Extended Kalman f i l t e r ) 4 5 # Input : 6 7 # L : Measurement v e c t o r 8 # m: Number o f Lorentzian s p e c t r a 9 # f : Frequency i n t e r v a l 10 # h d i s t d i f f : D i f f e r e n c e between h e i g h t s 11 # theta0 : I n i t i a l value f o r parameters o f form ( f1, f2, w1, w2) 12 # P0 : C o e f f i c i e n t o f covariance matrix Pk 13 # Q0 : I n i t i a l e r r o r c o e f f i c i e n t 14 # R0 : I n i t i a l measurement model e r r o r variance 15 16 # Output : 17 18 # thetak : Parameter estimate v e c t o r 19 20 ############################################################### 21 22 44

23 EKF2 < f u n c t i o n (L,m, f, h d i s t d i f f, theta0, P0, Q0, R0){ 24 25 # I n i t i a l i z i n g 26 27 # Define the Jacobian Hf : 28 29 Hf < f u n c t i o n ( f l, theta0 ){ 30 31 J < mat. or. vec ( 1, 4 ) 32 33 W1 < ( ( theta0 [1] f l ) / ( theta0 [ 3 ] / 2))^2 34 W2 < ( ( theta0 [2] f l ) / ( theta0 [ 4 ] / 2))^2 35 36 J [ 1 ] < W1/ ( ( theta0 [1] f l ) (1+W1)^2) 37 J [ 2 ] < W2/ ( ( theta0 [2] f l ) (1+W2)^2) 38 39 J [ 3 ] < W1/ ( theta0 [ 3 ] (1+W1)^2) 40 J [ 4 ] < W2/ ( theta0 [ 4 ] (1+W2)^2) 41 42 J < 2 J 43 44 return ( J ) 45 46 } 47 48 49 # Define the Hessian matrix Hff : 50 51 Hff < f u n c t i o n ( f l, theta0 ){ 52 53 J < mat. or. vec ( 4, 4 ) 54 55 F1 < theta0 [1] f l 56 F2 < theta0 [2] f l 57 58 W1 < 4 ( ( F1/ theta0 [ 3 ] ) ^ 2 ) 59 W2 < 4 ( ( F2/ theta0 [ 4 ] ) ^ 2 ) 60 45

61 ww1 < theta0 [ 3 ] (1+W1) 62 ww2 < theta0 [ 4 ] (1+W2) 63 64 J [ 1, 1 ] < ( ( 8 W1 8)/ ( (ww1^2) (1+W1) ) ) + 65 (W1/ ( ( F1 (1+W1) ) ^ 2 ) ) 66 J [ 2, 2 ] < ( ( 8 W2 8)/ ( (ww2^2) (1+W2) ) ) + 67 (W2/ ( ( F2 (1+W2) ) ^ 2 ) ) 68 69 J [ 3, 3 ] < ( ( 8 (F1^2) (W1^2 1 ) ) / (ww1^4)) 70 ( (W1/ (ww1^2))) 71 J [ 4, 4 ] < ( ( 8 (F2^2) (W2^2 1 ) ) / (ww2^4)) 72 ( (W2/ (ww2^2))) 73 74 J [ 1, 3 ] < (F1 (8 W1 8 ) ) / ( ww1^3 ) 75 J [ 3, 1 ] < J [ 1, 3 ] 76 77 J [ 2, 4 ] < (F2 (8 W2 8 ) ) / ( ww2^3 ) 78 J [ 4, 2 ] < J [ 2, 4 ] 79 80 J < 2 J 81 82 return ( J ) 83 84 } 85 86 87 # Define the Lorentzian spectrum : 88 89 spec < f u n c t i o n ( f l, theta0 ){ 90 91 x1 < ( theta0 [1] f l ) / ( theta0 [ 3 ] / 2) 92 x2 < ( theta0 [2] f l ) / ( theta0 [ 4 ] / 2) 93 94 return ( ( 1 /(1+(x1 ^2))) + (1 /(1+(x2 ^ 2 ) ) ) ) 95 96 } 97 98 i < 1 46

99 100 Qk < Q0 diag ( 4 ) 101 102 Pk < P0 diag ( 4 ) 103 104 105 thetak < mat. or. vec (4, length (L) ) 106 107 Kk < mat. or. vec ( 4, 1 ) 108 109 110 f l < rep ( f, length. out = length (L) ) 111 112 a l t i t < seq ( length (L) /m, length (L), by = length (L) /m) 113 114 115 116 # Main loop 117 118 f o r ( l in 1 : length (L) ) { 119 120 # P r e d i c t i o n : 121 122 i f ( ( l %in% a l t i t ) && ( l!= a l t i t [ length ( a l t i t ) ] ) ) { 123 124 i < i + 1 125 126 theta0 < theta0 + 1/10 abs ( h d i s t d i f f [ i ] ) 127 rnorm ( 4, 0, 1 ) 128 129 Qk < Q0 diag ( 4 ) #i n i t i a l i z i n g 130 131 Pk < P0 diag ( 4 ) 132 133 Kk < mat. or. vec ( 4, 1 ) 134 135 } 136 47

137 # Update : 138 139 140 Hftemp < Hf ( f l [ l ], theta0 ) 141 142 Hfftemp < Hff ( f l [ l ], theta0 ) 143 144 vk < L [ l ] spec ( f l [ l ], theta0 ) 145 0. 5 (sum( diag ( Hfftemp % % Pk ) ) ) 146 147 148 Sk < ( Hftemp % % Pk % % t ( Hftemp ) ) + 149 0. 5 sum( diag ( Hfftemp% %Pk% %Hfftemp % %Pk))+ R0 150 Kk < (Pk % % t ( Hftemp ) )% % (1 /Sk ) 151 theta0 < theta0 + (Kk vk ) 152 Pk < Pk (Kk % % Sk % % t (Kk) ) 153 154 thetak [, l ] < theta0 155 156 } 157 158 return ( thetak ) 159 160 } C UKF 1 ############################################################### 2 3 # Function : UKF ( Unscented Kalman f i l t e r ) 4 5 # Input : 6 7 # L : Measurement v e c t o r 8 # m: Number o f Lorentzian s p e c t r a 9 # f : Frequency i n t e r v a l 10 # h d i s t d i f f : D i f f e r e n c e between h e i g h t s 48

11 # theta0 : I n i t i a l value f o r parameters o f form ( f1, f2, w1, w2) 12 # P0 : C o e f f i c i e n t o f covariance matrix Pk 13 # Q0 : I n i t i a l e r r o r c o e f f i c i e n t 14 # R0 : I n i t i a l measurement model e r r o r variance 15 # Parameters f o r the unscented transform : alpha, kappa, beta 16 17 # Output : 18 19 # thetak : Parameter estimate v e c t o r 20 21 ############################################################### 22 23 24 UKF < f u n c t i o n (L,m, f, h d i s t d i f f, theta0, P0, Q0, R0, 25 alpha, kappa, beta ){ 26 27 # I n i t i a l i z i n g 28 29 j < 1 30 31 f l < rep ( f, length. out = length (L) ) 32 33 thetak < mat. or. vec (4, length (L) ) 34 35 Pk < P0 diag ( 4 ) 36 Qk < Q0 diag ( 4 ) 37 38 39 n < dim ( theta0 ) [ 1 ] 40 CHI < mat. or. vec (n, (2 n) +1) 41 Y < mat. or. vec (1, (2 n) +1) 42 43 a l t i t < seq ( length (L) /m, length (L), by = length (L) /m) 44 45 # C o e f f i c i e n t s 46 47 lambda < ( alpha ^2) (n+kappa ) n # S c a l i n g parameter 48 49

49 Wm < mat. or. vec (1, (2 n) +1) 50 51 Wm[ 1, ] < 1/ (2 (n + lambda ) ) 52 Wc < Wm 53 54 Wm[, 1 ] < lambda/ (n + lambda ) 55 Wc[, 1 ] < Wm[, 1 ] + (1 ( alpha ^2) + beta ) 56 57 s q c o e f < s q r t (n+lambda ) 58 59 # Define the Lorentzian spectrum 60 61 62 spec < f u n c t i o n ( f l, f1, f2, w1, w2){ 63 64 x1 < ( f1 f l ) / (w1/ 2) 65 x2 < ( f2 f l ) / (w2/ 2) 66 67 return (1 /(1+x1 ^2) + 1/(1+x2 ^2)) 68 69 } 70 71 72 cat ( c ( "\n", "Number o f a l t i t u d e s computed : ", "\n", "\n" ) ) 73 74 75 # Main loop 76 77 f o r ( l in 1 : length (L) ) { 78 79 # P r e d i c t i o n : 80 81 CHI [, 1 ] < theta0 82 83 i f ( ( l %in% a l t i t ) && ( l!= a l t i t [ length ( a l t i t ) ] ) ) { 84 85 j < j + 1 86 50

87 CHI [, 1 ] < theta0 + 1/10 abs ( h d i s t d i f f [ j ] ) 88 rnorm ( 4, 0, 1 ) 89 90 Qk < Q0 diag ( 4 ) #i n i t i a l i z i n g 91 92 Pk < P0 diag ( 4 ) 93 94 Kk < mat. or. vec ( 4, 1 ) 95 96 } 97 98 99 sqp < try ( matrix ( as. numeric ( sqrtm (Pk ) ), 4, 4 ), s i l e n t = TRUE) 100 101 102 f o r ( i in 2 : ( n+1)){ 103 104 CHI [, i ] < CHI [, 1 ] + ( s q c o e f sqp [, i 1]) 105 CHI [, i+n ] < CHI [, 1 ] ( s q c o e f sqp [, i 1]) 106 107 } 108 109 110 theta0 < matrix ( c ( 0, 0, 0, 0 ), 4, 1 ) 111 112 113 f o r ( i in 1 : ( 2 n + 1)){ 114 115 theta0 < theta0 + (Wm[, i ] CHI [, i ] ) 116 117 } 118 119 # Pkline : 120 121 122 Pk < mat. or. vec ( 4, 4 ) 123 124 51

125 f o r ( i in 1 : ( 2 n + 1)){ 126 127 Pk < Pk + (Wc[, i ] (CHI [, i ] theta0 ) % % 128 t (CHI [, i ] theta0 ) ) 129 130 } 131 132 133 # Update : 134 135 136 # Predicted matrices : 137 138 # mkline : 139 140 CHI [, 1 ] < theta0 141 142 s q P l i n e < try ( matrix ( as. numeric ( sqrtm (Pk ) ), 4, 4 ), 143 s i l e n t = TRUE) 144 145 146 f o r ( i in 2 : ( n+1)){ 147 148 CHI [, i ] < CHI [, 1 ] + ( s q c o e f s q P l i n e [, i 1]) 149 CHI [, i+n ] < CHI [, 1 ] ( s q c o e f s q P l i n e [, i 1]) 150 151 } 152 153 # Propagate the sigma p o i n t s : 154 155 156 157 f o r ( i in 1 : ( 2 n + 1)){ 158 159 Y[, i ] < spec ( f l [ l ], CHI [ 1, i ], CHI [ 2, i ], CHI [ 3, i ], CHI [ 4, i ] ) 160 161 } 162 52

163 164 # The needed submatrices : 165 166 # muk : 167 168 muk < 0 169 170 f o r ( i in 1 : ( 2 n + 1)){ 171 172 muk < muk + (Wm[, i ] Y[, i ] ) 173 174 } 175 176 # Sk : 177 178 Sk < 0 179 180 f o r ( i in 1 : ( 2 n + 1)){ 181 182 Sk < Sk + (Wc[, i ] (Y[, i ] muk)^2 ) 183 184 } 185 186 Sk < Sk + R0 187 188 # Ck : 189 190 Ck < mat. or. vec ( 4, 1 ) 191 192 193 f o r ( i in 1 : ( 2 n + 1)){ 194 195 Ck < Ck + (Wc[, i ] (CHI [, i ] theta0 ) (Y[, i ] muk) ) 196 197 } 198 199 # C a l c u l a t i o n o f needed matrices : 200 53