Hejsa,
Nu er det godtnok et stykke tid siden jeg har beskæftiget mig med Kalman
filtre, men måske flg. kommentarer kan hjælpe
Carsten Jørgensen skrev:
> Hej alle, jeg har et lille problem med et Kalman filter jeg gerne ville
> lave. Selve tilstanden jeg ønsker at estimere er kun 1-dimensional og
> problemet burde derfor være nemt; desværre er målingerne på tilstanden
> afhængig af både tilstanden til det diskrete tidspunkt k og det
> foregående tidspunkt k-1. Så hvordan håndterer jeg det i min kalman
> filter formulering hvor målingen jo kun skal afhænge af tilstandsmatricen?
>
Det lyder som om din tilstandsmatrice varierer over tid, hvormed et
standard Kalman filter ikke dur. Har du prøvet at se på Extended Kalman
filtre? Det kræver godtnok en linearisering af din system model omkring
et arbejdspunkt, og er normalt lidt mere komplicerede at have med at
gøre, men det kunne måske løse problemet.
>
>
> Lidt flere detaljer (og for at eksemplificere problemstilingen):
>
> k: Tiden
> x_k: Den basale (1-dimensionelle) tilstandsvariabel jeg ønsker at
> estimere til tiden k
> z_k: Observationer til tiden k
>
> Jeg kan lave to målinger (i det aktuelle problem kan jeg lave flere, men
> for at simplificere) af processen, en absolut og en (tidslig)
> differentiel; den absolutte er meget støjfuld mens den differentielle er
> meget nøjagtig. Disse er givet som:
>
> z1_k = a_k*x_k + "meget støj"
> z2_k = a_k*x_k - a_k-1*x_k-1 + "lidt støj"
>
Normalt er din målevektor, Z, givet ved en "målematrice" H og tilstanden
x, men her skriver du a_k og omtaler den som om det er systemmatricen.
Når du har to sensorer der basalt set måler det samme signal (eller
tilstand) er jeg ikke helt sikker på du blot kan antage at dit A er fra
system modellen direkte. Der er helt sikkert korrelation mellem de to
målesignaler der skal tages højde for i din "målematrice". Jeg vil prøve
at læse lidt litteratur omkring sensor fusion, for det virker på mig som
det er det du i virkeligheden vil.
> a_k er en tidsligt varierende men kendt variabel. Forholdet mellem meget
> og lidt støj er kendt og i omegnen af 100-1000.
>
Ud fra den model du skriver er det, for mig, også helt forventeligt at
der er mindre støj på z2_k, da det er 1. ordens filtreret via
a_k-1*x_k-1, eller hvad? Og i så fald, hvorfor så ikke blot bruge det
signal? Det andet signal bliver jo filtreret igennem Kalman filtret
alligevel, så hvis du har brug for båndbredde så ryger der jo alligevel
noget i z1_k, eller har jeg misforstået?
Du skriver også i et senere svar, at du tager z1 og z2 på forskellige
tidspunkter. Det tror jeg ikke Kalman filtret kan lide
Kort sagt, som
standard er det ikke ligefrem designet til sampling på forskellige
tidspunkter, så det punkt bør du nok også se lidt nærmere på.
Håber det hjælper.
Mvh. Rasmus