Re: Hur många av er har kommit i kontakt med avancerade mätmetoder? Sensorfusion
Postat: 12 september 2022, 09:38:49
Nu är jag ingen expert på partikelfilter, som sagt bara kommit i kontakt med det under mina studier. Men jag skulle säga att dina pseudopunkter 1-4 är identiska för ett partikelfilter.
Partikelfiltret kan också beskrivas med en mätuppdatering och tidsuppdatering, precis som Kalman filtret.
Ett PF kräver inte mer mätdata än ett KF.
Jag tror däremot att jag förstår vad det är som får dig till att tro annat så jag ska göra ett försök att förklara.
KF och PF kräver en modell, ett KF antar gaussiskt processbrus och man måste ge kovariansen för detta, ofta Q som sedermera ofta är en av designvariablerna.
För ett PF måste du dels ha systemmodellen men du måste också beskriva täthetsfunktionen för processbruset och du måste kunna dra samples från denna.
KDE (Kernel Density Estimation) är en metod för att estimera täthetsfunktionen, sen finns det metoder för att dra samples från den estimerade täthetsfunktionen eller att man kanske identifierar en känd täthetsfunktion som ser ut att passa in på beskrivningen av processbruset. När filtret sen kör så används inte KDE, KDE hör till förarbetet av implementationen.
Så i modelleringsarbetet kan det vara så att du får lägga ner mer energi för ett PF än ett KF, däremot kan du ju applicera PF på samma modell som i KF dvs gaussiskt processbrus, medelvärde 0 och kovarians Q. Då bör förarbetet vara densamma.
Nu har ju partikelfiltret en hel del partiklar men man tar helt enkelt det skattade tillståndet, drar en massa slumpmässiga partiklar med hjälp av den modellen man har.
Man gör en prediktionen av dessa partiklar (som kan vara säg 1000 st) och när ett mätvärde kommer då skattar man sannolikheten varje partikel har för det mätvärdet och detta blir vikten. Sedan väljer man den partikeln med högst sannolikhet som sitt skattade tillstånd.
Sen predikterar man med sina partiklar än en gång och ett nytt mätvärde kommer in och man skattar på nytt sannolikheten för varje partikel osv. Däremot så har partiklarna en tendens till att dö ut, dvs de blir väldigt osannolika, därför brukar man resampla beroende på något kriterie, t ex en threshold på vikterna i kombination med antalet partiklar. När man anser att för många partiklar dött ut då slänger man de partiklarna man har och tar sin modell och genererar nya partiklar precis som i början men nu utgår allt från det nuvarande skattade tillståndet.
PF är mer beräkningstungt och det blir ju en hel del funktionsevalueringar av modellen då man måste hålla koll på alla partiklarna men partiklarna kommer inte från mätvärden utan de är genererade m.h.a modellen och man evaluerar allteftersom mätvärden kommer in hur sannolika varje partikel är och i varje tidssteg väljer den mest sannolika som sin tillståndsskattning (man skulle kunna se dom som parallella simuleringar av systemet).
Partikelfiltret kan också beskrivas med en mätuppdatering och tidsuppdatering, precis som Kalman filtret.
Ett PF kräver inte mer mätdata än ett KF.
Jag tror däremot att jag förstår vad det är som får dig till att tro annat så jag ska göra ett försök att förklara.
KF och PF kräver en modell, ett KF antar gaussiskt processbrus och man måste ge kovariansen för detta, ofta Q som sedermera ofta är en av designvariablerna.
För ett PF måste du dels ha systemmodellen men du måste också beskriva täthetsfunktionen för processbruset och du måste kunna dra samples från denna.
KDE (Kernel Density Estimation) är en metod för att estimera täthetsfunktionen, sen finns det metoder för att dra samples från den estimerade täthetsfunktionen eller att man kanske identifierar en känd täthetsfunktion som ser ut att passa in på beskrivningen av processbruset. När filtret sen kör så används inte KDE, KDE hör till förarbetet av implementationen.
Så i modelleringsarbetet kan det vara så att du får lägga ner mer energi för ett PF än ett KF, däremot kan du ju applicera PF på samma modell som i KF dvs gaussiskt processbrus, medelvärde 0 och kovarians Q. Då bör förarbetet vara densamma.
Nu har ju partikelfiltret en hel del partiklar men man tar helt enkelt det skattade tillståndet, drar en massa slumpmässiga partiklar med hjälp av den modellen man har.
Man gör en prediktionen av dessa partiklar (som kan vara säg 1000 st) och när ett mätvärde kommer då skattar man sannolikheten varje partikel har för det mätvärdet och detta blir vikten. Sedan väljer man den partikeln med högst sannolikhet som sitt skattade tillstånd.
Sen predikterar man med sina partiklar än en gång och ett nytt mätvärde kommer in och man skattar på nytt sannolikheten för varje partikel osv. Däremot så har partiklarna en tendens till att dö ut, dvs de blir väldigt osannolika, därför brukar man resampla beroende på något kriterie, t ex en threshold på vikterna i kombination med antalet partiklar. När man anser att för många partiklar dött ut då slänger man de partiklarna man har och tar sin modell och genererar nya partiklar precis som i början men nu utgår allt från det nuvarande skattade tillståndet.
PF är mer beräkningstungt och det blir ju en hel del funktionsevalueringar av modellen då man måste hålla koll på alla partiklarna men partiklarna kommer inte från mätvärden utan de är genererade m.h.a modellen och man evaluerar allteftersom mätvärden kommer in hur sannolika varje partikel är och i varje tidssteg väljer den mest sannolika som sin tillståndsskattning (man skulle kunna se dom som parallella simuleringar av systemet).