Redigerer
Kalmanfilter
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
'''Kalmanfilter''' er en [[algoritme]] som bruker forskjellige målinger over tid, og produserer et estimat av en mer nøyaktig måling. Disse målingene kan inneholde [[Støy (elektronikk)|støy]] og andre unøyaktigheter, og Kalmanfilteret vil gjennom en [[rekursiv]] metode beregne et [[statistisk]] optimalt estimat av målingen. Filteret har fått sitt navn fra [[Rudolf E. Kálmán|Rudolf (Rudy) E. Kálmán]], som var delaktig i utviklingen av filteret på slutten av 1950- og begynnelsen av 1960-tallet. Kalmanfilteret har flere bruksområder i teknologisk sammenheng. [[Navigasjon]] i [[Sjøfart|sjø]]-, [[Luftfart|luft]]- og [[romfart]] er ett område der Kalmanfilter brukes for å forbedre estimater av posisjoner til [[Kjøretøy|kjøretøyer]], [[fartøy]], [[fly]] og [[romskip]]. Filteret kan benyttes for å samle data fra forskjellige uavhengige kilder til å produsere et mer nøyaktig og helhetlig estimat enn kildene kan produsere hver for seg. ==Implementasjon== Formelt sett er Kalmanfilteret en rekursiv tilstandsestimator til en prosess som er forutsatt påvirket av [[Stokastisk|stokastiske]] (tilfeldige) forstyrrelser og av stokastisk (tilfeldig) støy (herunder [[hvit støy]] ([[Normalfordeling|normalfordelt]])). Det finnes flere varianter av Kalmanfilteret (utvided Kalmanfilter, EKF, UKF og flere), men i utledningene under brukes den opprinnelige versjonen utviklet av [[Rudolf E. Kálmán|Rudolf (Rudy) E. Kálmán]] som er beregnet for bruk på [[Lineær|lineære]] systemer. [[Algoritme|Algoritmen]] blir gjennomført i to steg som kjøres om hverandre i en løkke. Det første steget produserer tilstandsestimater ut i fra nåværende tilstand og observasjoner som ble gjort. Deretter blir disse korrigert ved hjelp av en [[kovarians]]rest som blir beregnet og oppdatert ved hver [[iterasjon]] ved hjelp av målingene som blir gjort. Følgende forkortelser brukes i formlene: * <math>\hat{x}_{k\mid k-1}</math> beskriver tilstandsestimatet ved tidssteget ''k'' før den ''k''-ende målingen blir gjennomført, gitt at en kjenner tilstandsestimater ved tidssteget k-1. * <math>P_{k\mid k-1}</math> er den tilhørende usikkerheten i modellen, gitt at en kjenner usikkerheten ved tidssteget k-1. * '''F'''<sub>''k''</sub> er tilstandsovergangmodellen; * '''H'''<sub>''k''</sub>, er målingsmodellen; * '''Q'''<sub>''k''</sub>, er kovariansen av prosesstøy; * '''R'''<sub>''k''</sub>, er kovariansen av målestøy og * '''B'''<sub>''k''</sub> er pådraget. * z<small>k</small> =? Disse kan variere over tid eller være konstante. === Prediksjon === {| |- | width="50%" | Anslått (''a priori'') tilstandsestimat ved tidssteget ''k'' | <math>\hat{\textbf{x}}_{k\mid k-1} = \textbf{F}_{k}\hat{\textbf{x}}_{k-1\mid k-1} + \textbf{B}_{k} \textbf{u}_{k} </math> |- | Predikerte (''a priori'') anslått kovarians ved tidssteget ''k'' | <math>\textbf{P}_{k\mid k-1} = \textbf{F}_{k} \textbf{P}_{k-1\mid k-1} \textbf{F}_{k}^{\text{T}} + \textbf{Q}_{k} </math> |} === Korrigeringer === {| |- | width="60%" | Innovasjonssteget | <math> \tilde{\textbf{y}}_k = \textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k\mid k-1} </math> |- | Rest-kovarians | <math>\textbf{S}_k = \textbf{H}_k \textbf{P}_{k\mid k-1} \textbf{H}_k^\text{T} + \textbf{R}_k </math> |- | ''Optimal'' Kalman forsterkning | <math>\textbf{K}_k = \textbf{P}_{k\mid k-1}\textbf{H}_k^\text{T}\textbf{S}_k^{-1}</math> |- | Korrigerte (''a posteriori'') tilstandsestimat | <math>\hat{\textbf{x}}_{k\mid k} = \hat{\textbf{x}}_{k\mid k-1} + \textbf{K}_k\tilde{\textbf{y}}_k</math> |- | Korrigerte (''a posteriori'') kovariansestimat | <math>\textbf{P}_{k|k} = (I - \textbf{K}_k \textbf{H}_k) \textbf{P}_{k|k-1}</math> |} == Optimalitet og ytelse == Det er kjent fra teorien at Kalmanfilteret er optimalt ved følgende forutsetninger:{{tr}} * modellen passer perfekt til det underliggende systemet * støyen er normalfordelt * kovariansene av støyen er nøyaktig kjent Flere fremgangsmåter for støy- og kovarians-estimering har blitt foreslått gjennom årene. Etter at kovariansene er identifisert, er det nyttig å vurdere ytelsen av filteret, det vil si om det er mulig å forbedre kvaliteten til tilstandsestimasjonene. Det er velkjent at dersom Kalmanfilteret fungerer optimalt, er innovasjonsekvensen normalfordelt støy. En av fordelene til Kalmanfilteret er at kjøretiden og minnebruk på datamaskiner er uavhengig av datamengden. Dette vil si at minneforbruket er konstant og ikke øker over tid og at algoritmen har samme beregningskompleksitet på alle datamålinger som blir brukt. Det er flere mulige feilkilder som:<ref>Harveen Singh: Extended Kalman Filter: Why do we need an Extended Version? - https://towardsdatascience.com/extended-kalman-filter-43e52b16757d?gi=15685331f5ff Besøkt 9.4.2019.</ref> * Ikke-lineære prosesser * Ikke normalfordelte prosesser * Avhengigheter mellom datakildene * Støyen er helt eller delvis ikke tilfeldige (det vil si systematisk) * Støyen er frekvensavhengig == Noter == <references/> == Referanser == * [http://www.cs.unc.edu/~welch/kalman/kalmanPaper.html A New Approach to Linear Filtering and Prediction Problems], av R. E. Kalman, 1960 * [https://web.archive.org/web/20140520141602/http://home.hit.no/~hansha/documents/control/Documents/Lecture%20Notes/Kalmanfilter%20-%20Forelesningsnotater.pdf Høyskolen i Telemark innføring i Kalman Filter, 2012] {{Autoritetsdata}} [[Kategori:Algoritmer]] [[Kategori:Reguleringsteori]] [[Kategori:Statistisk signalbehandling]] [[Kategori:Filterteori]] [[Kategori:Markovmodeller]] [[Kategori:Stokastiske differensiallikninger]] <!-- statistiske / stokastiske modeller -->
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:Autoritetsdata
(
rediger
)
Mal:Fix
(
rediger
)
Mal:Fix/category
(
rediger
)
Mal:Ifsubst
(
rediger
)
Mal:Main other
(
rediger
)
Mal:Tr
(
rediger
)
Mal:Trenger referanse
(
rediger
)
Modul:Check for unknown parameters
(
rediger
)
Modul:External links
(
rediger
)
Modul:External links/conf
(
rediger
)
Modul:External links/conf/Autoritetsdata
(
rediger
)
Modul:Genitiv
(
rediger
)
Modul:Unsubst
(
rediger
)
Denne siden er medlem av 1 skjult kategori:
Kategori:Artikler som trenger referanser
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon