/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
Kalman filter problem
Fra : Carsten Jørgensen


Dato : 26-09-07 10:24

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?



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"

a_k er en tidsligt varierende men kendt variabel. Forholdet mellem meget
og lidt støj er kendt og i omegnen af 100-1000.


For at skrive mine Kalman ligninger op på standard form bliver mine
målinger nødt til kun at afhænge af min tilstandsvariabel. En
"indlysende" idé er da at inkludere x_k-1 i tilstandsmatricen så den
bliver 2-dimensionel. Men en sådan direkte afhængighed mellem to
tilstandsvariable har jo ingen støj, og dermed bliver kovariansmatricen
for støjen singulær (og det samme for state transition matrix) hvilket
jo ikke er så heldigt i forhold til Kalman filteret...

Idéer modtages gerne...

/Carsten

 
 
Knud Soerensen (26-09-2007)
Kommentar
Fra : Knud Soerensen


Dato : 26-09-07 19:51

Carsten Jørgensen wrote:
> 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?
>
>
>
> 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.

Forstår jeg dig ret at du måler både x og dx/dt=v ??
For så er dit input allerede 2 dimensional.



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"
>
> a_k er en tidsligt varierende men kendt variabel. Forholdet mellem meget
> og lidt støj er kendt og i omegnen af 100-1000.
Kunne det ikke tyde på at støjen på de to følgenden målinger ikke er
uafhængig ?
Måske har du et systematisk udsving på støjen.


>
>
> For at skrive mine Kalman ligninger op på standard form bliver mine
> målinger nødt til kun at afhænge af min tilstandsvariabel. En
> "indlysende" idé er da at inkludere x_k-1 i tilstandsmatricen så den
> bliver 2-dimensionel. Men en sådan direkte afhængighed mellem to
> tilstandsvariable har jo ingen støj, og dermed bliver kovariansmatricen
> for støjen singulær (og det samme for state transition matrix) hvilket
> jo ikke er så heldigt i forhold til Kalman filteret...
>
> Idéer modtages gerne...
>
> /Carsten

Carsten Jørgensen (26-09-2007)
Kommentar
Fra : Carsten Jørgensen


Dato : 26-09-07 20:24

Knud Soerensen skrev:
> Forstår jeg dig ret at du måler både x og dx/dt=v ??

Ikke helt; jeg måler z2 hver del af til to forskellige tidspunkter og
tager "differencen" der så er modelleret som skrevet; grunden til at jeg
gør det på denne måde er for at få diverse common-mode fejl til at
forsvinde. Selvom z1 og z2 ligner hinanden (udover differencen) er det
to forskellige uafhængige målinger.

>> a_k er en tidsligt varierende men kendt variabel. Forholdet mellem meget
>> og lidt støj er kendt og i omegnen af 100-1000.
> Kunne det ikke tyde på at støjen på de to følgenden målinger ikke er
> uafhængig ?

Nej, støjen på de to følgende målinger er uafhængig.

Jeg tror jeg bliver nødt til at skrive z2 om til

z2_k = a_k*x_k + c + "lidt støj"

Og så ellers tilføje c (common-mode fejlen) til mine tilstandvariable;
det vil godt nok være ret besværligt da antallet af målinger per tid
godt kan svinge og dermed vil antallet af tilstandsvariable (der er
forskellige c'er for hver måling) også komme til at svinge...

/Carsten

Rasmaus (27-09-2007)
Kommentar
Fra : Rasmaus


Dato : 27-09-07 15:27

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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste